Skip to main content
The integration endpoints provide configuration management and operational visibility for Flux administrators. They cover the Azure tenant and subscription scope, on-demand synchronization, cost data completeness ledgers, budget configuration, and the health center that surfaces source, worker, and recommendation status without requiring log access.

GET /api/integrations/azure

Auth: admin Returns the current Azure integration settings, including name, tenant ID, auth mode, and the list of configured subscription scopes.

Example response


PUT /api/integrations/azure

Auth: admin Saves Azure integration settings. Changes take effect on the next synchronization.

Request body (AzureIntegrationUpdate)

Each subscription scope object:

Example request


POST /api/integrations/azure/sync

Auth: admin Starts an on-demand synchronization of inventory, Azure Advisor, Flux Intelligence, and Azure Policy sources. Returns 202 Accepted immediately; the sync runs asynchronously via the queue-backed worker.
Cost Management is deliberately excluded from this endpoint to avoid competing for the tenant’s Cost Management QPU quota. Cost data is collected by its own independently scheduled daily jobs.

Responses

Example response


GET /api/integrations/cost-reconciliation

Auth: reader Returns a comparison of current, historical, and commitment coverage per subscription — useful for identifying subscriptions with missing or incomplete cost exports before drawing conclusions from cost totals.

GET /api/integrations/cost-history

Auth: reader Returns the daily cost-history collection ledger: each run’s completion state, retry attempts, and per-scope status. Use this to verify that cost data is being collected and to identify scopes that have fallen behind or are retrying.

GET /api/integrations/cost-coverage

Auth: reader Returns a day-level completeness ledger showing expected versus ingested days per scope. Useful for identifying coverage gaps before trusting historical cost trends.

GET /api/integrations/telemetry-coverage

Auth: reader Returns estate telemetry coverage with uncovered VMs ranked by spend. Identifies which VMs lack sufficient telemetry for right-sizing classification, and the cost exposure of those gaps.

GET /api/integrations/finops-toolkit

Auth: reader Returns the imported FinOps Toolkit open-data status: versions, checksums, row counts, and import provenance. Flux uses checksum-pinned Microsoft FinOps Toolkit v14 reference datasets.

GET /api/integrations/budget-groups

Auth: reader Returns budget groups, each representing a named collection of subscriptions with an annual budget amount and currency.

PUT /api/integrations/budget-groups

Auth: admin Saves the full set of budget groups, replacing any previously configured groups.

Request body (BudgetGroupsUpdate)

Each budget group (BudgetGroup):

Example request


GET /api/integrations/budgets

Auth: admin Returns the configured budget targets — monthly amounts per scope (estate-wide or per subscription).

PUT /api/integrations/budgets

Auth: admin Saves the full set of budget targets, replacing any previously configured targets.

Request body (BudgetTargetsUpdate)

Each target (BudgetTarget):

Example request


GET /api/integrations/allocation

Auth: admin Returns the current cost allocation configuration: cost-center tags, shared resource values, and unit economics label settings.

PUT /api/integrations/allocation

Auth: admin Saves the cost allocation configuration.

Request body (AllocationConfigUpdate)


GET /api/operations/health

Auth: admin Returns a consolidated operational health report covering source freshness, worker status, cost completeness, and recommendation health for all sources. Use this endpoint to answer “is the pipeline healthy?” without log access.

Response areas

Example response (truncated)


GET /api/operations/pipeline

Auth: admin Returns end-to-end data-pipeline status in a single call: sync queue and claim ages, publication currency, staged-apply backlog, shared throttle state, and the active snapshot version. Use this to assess whether the pipeline is moving without requiring log access.

GET /api/operations/slo

Auth: admin Returns current SLO evaluations with tracked transition state. Each objective includes its current value, threshold, breach state, and a runbook reference. The flux-alerts job notifies transitions to the configured webhook.

GET /api/admin/jobs

Auth: admin Returns the status of all collection jobs, including their last run time, next expected run, and whether they can be triggered on demand. The triggerSource field is set for jobs that can be started via /api/admin/jobs/run.

POST /api/admin/jobs/run

Auth: admin Enqueues an on-demand run for a triggerable source. Returns 202 Accepted. Triggerable sources:

Request body (JobRunRequest)

Responses


GET /api/admin/ai-config

Auth: admin Returns the current AI intelligence configuration: active provider, fast and deep model names, whether an admin override is active, and masked API key status for each provider.

PUT /api/admin/ai-config

Auth: admin Saves an AI provider and model override. Takes effect immediately for new requests.

Request body (AiIntelligenceConfigUpdate)


GET /api/admin/audit

Auth: admin Returns the configuration audit log — an ordered list of admin-initiated changes to integration settings, budget targets, virtual tag dimensions, and AI configuration, each with actor attribution and timestamp.

GET /api/admin/database-health

Auth: admin Returns internal DuckDB health diagnostics: file size, table row counts, last vacuum, and write-lock contention metrics.

GET /api/admin/retention

Auth: admin Returns the configured data-retention windows as a read-only view of retention policies that are otherwise environment-variable only. Useful for compliance audits without requiring shell access.

Example response


POST /api/dev/seed

Auth: admin Triggers a one-off demo data seed for development and staging environments. Returns 204 No Content on success. Returns 404 when the FLUX_DEV_SEED environment variable is not enabled — this endpoint is a no-op guard in production deployments where demo seeding is disabled.

Responses