Costfluent Docs
  • Pricing
  • Changelog
  • costfluent.com
  • Documentation
  • Guides
  • API Reference
Product
  • Pricing
  • Security
  • Changelog
Developers
  • API reference
  • Terraform
  • llms.txt
Legal
  • Privacy
  • Terms
  • Imprint
Information
Workspaces
    List workspacesgetCreate workspacepostGet workspacegetUpdate workspaceputDelete workspacedelete
Workspace Providers
    List workspace providersgetCreate workspace providerpostGet workspace providergetUpdate workspace providerputDelete workspace providerdelete
Virtual Tags
    List virtual tagsgetCreate virtual tagpostGet virtual taggetDelete virtual tagdeleteUpdate virtual tagpatch
Utility
    Get current token infogetHealth checkget
Users
    List usersgetInvite userpostGet userget
Teams
    List teamsgetCreate teampostGet teamgetUpdate teamputDelete teamdeleteAdd team memberpostUpdate team memberputRemove team memberdeleteList team workspace accessgetSet team workspace accessputRemove team workspace accessdelete
Tags
    Get tag keygetDelete tag keydeleteList tag keysget
Saved Filters
    List saved filtersgetCreate saved filterpostGet saved filtergetUpdate saved filterputDelete saved filterdelete
Providers
    List providersgetConnect providerpostGet providergetUpdate providerputDelete providerdeleteGet available providersgetGet the AWS connectorgetGet provider sync historygetProvision the GCP service accountpostTest provider connectionpostTrigger provider syncpost
Kubernetes
    Report Kubernetes usagepost
Folders
    List foldersgetCreate folderpostGet foldergetUpdate folderputDelete folderdeleteSet folder saved filterput
Exchange Rates
    Get available currenciesgetGet exchange rategetGet the workspace's exchange rate policygetList exchange ratesget
Dashboards
    List dashboardsgetCreate dashboardpostCreate dashboard widgetpostGet dashboardgetUpdate dashboardputDelete dashboarddeleteGet dashboard widgetgetUpdate dashboard widgetputDelete dashboard widgetdeleteSet dashboard saved filterput
Custom Provider
    List uploadsgetUpload cost filespostGet uploadgetDelete uploaddeleteSubmit costs batchpost
Report Notifications
    Activate report notificationpostList report notificationsgetCreate report notificationpostDeactivate report notificationpostGet report notificationgetDelete report notificationdeleteUpdate report notificationpatch
Cost Reports
    List cost reportsgetCreate cost reportpostGet cost reportgetUpdate cost reportputDelete cost reportdeleteGet cost report dataget
Cost Filters
    Translate a cost filterget
Cost Data
    Get cost datagetGet cost forecastgetGet cost summaryget
Cost Alerts
    List cost alertsgetCreate cost alertpostGet cost alertgetUpdate cost alertputDelete cost alertdeleteGet cost alert eventsgetPause cost alertpostResume cost alertpost
Contracting
    Get the data processing agreement statusget
Business Metrics
    List business metricsgetCreate business metricpostGet business metricgetUpdate business metricputDelete business metricdeleteList business metric valuesgetImport business metric valuespost
Budgets
    List budgetsgetCreate budgetpostGet budgetgetUpdate budgetputDelete budgetdelete
Billing
    Get the account's entitlementgetGet the account's metered usageget
Audit Logs
    List audit logget
Apps
    List appsgetCreate apppostGet appgetUpdate appputDelete appdelete
Anomalies
    Acknowledge anomalypostList anomaliesget
Allocation
    List allocation rulesgetCreate an allocation rulepostUpdate an allocation ruleputDelete an allocation ruledeleteReorder the allocation rule setpostRead allocation coveragegetList segmentsgetCreate a segmentpostUpdate a segmentputDelete a segmentdeletePreview an allocation rulepost
Schemas
Costfluent Public API
Costfluent Public API

Apps

Download schema

List apps

GET
https://api.costfluent.com
/v1/apps
Bearer (API token)

Returns the organization's notification channels: email, Slack, Teams and webhooks. Needs an organization token.

List apps › query Parameters

page
​integer · int32 · required
limit
​integer · int32 · required

List apps › Responses

Success

PaginatedResponseOfAppResponse
​PaginationLinks · required
​AppResponse[] · required
GET/v1/apps
curl 'https://api.costfluent.com/v1/apps?page=<number>&limit=<number>' \ --header 'Authorization: Bearer <token>'
Example Responses
{ "links": { "self": "self", "first": "first", "prev": "prev", "next": "next", "last": "last" }, "data": [ { "id": "id", "key": "email", "name": "name", "config": { "key": {} }, "isEnabled": true, "createdAt": "2024-08-25T15:00:00Z" } ] }
json
application/json

Create app

POST
https://api.costfluent.com
/v1/apps
Bearer (API token)

Creates a notification channel that budgets, cost alerts and report notifications can deliver to

Create app › Request Body

CreateAppRequest
key
​AppKey · enum · required
Enum values:
email
slack
teams
webhook
name
​string · minLength: 0 · maxLength: 200 · required
​object · minLength: 1 · required

Create app › Responses

Created

AppResponse
id
​AppPublicId · pattern: ^app_[A-Za-z0-9_-]{2… · required
name
​string · required
​object · required
key
​AppKey · enum
Enum values:
email
slack
teams
webhook
isEnabled
​boolean
createdAt
​string · date-time
POST/v1/apps
curl https://api.costfluent.com/v1/apps \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "key": "email", "name": "name", "config": { "key": {} } }'
Example Request Body
{ "key": "email", "name": "name", "config": { "key": {} } }
json
Example Responses
{ "id": "id", "key": "email", "name": "name", "config": { "key": {} }, "isEnabled": true, "createdAt": "2024-08-25T15:00:00Z" }
json
application/json

Get app

GET
https://api.costfluent.com
/v1/apps/{appId}
Bearer (API token)

Returns a notification channel with its credentials redacted

Get app › path Parameters

appId
​AppPublicId · pattern: ^app_[A-Za-z0-9_-]{2… · required

Get app › Responses

Success

AppResponse
id
​AppPublicId · pattern: ^app_[A-Za-z0-9_-]{2… · required
name
​string · required
​object · required
key
​AppKey · enum
Enum values:
email
slack
teams
webhook
isEnabled
​boolean
createdAt
​string · date-time
GET/v1/apps/{appId}
curl https://api.costfluent.com/v1/apps/:appId \ --header 'Authorization: Bearer <token>'
Example Responses
{ "id": "id", "key": "email", "name": "name", "config": { "key": {} }, "isEnabled": true, "createdAt": "2024-08-25T15:00:00Z" }
json
application/json

Update app

PUT
https://api.costfluent.com
/v1/apps/{appId}
Bearer (API token)

Renames a notification channel or replaces its configuration. A webhook's secret left out of the new configuration, or sent back as ***, keeps the stored one; null removes it. The kind cannot change.

Update app › path Parameters

appId
​AppPublicId · pattern: ^app_[A-Za-z0-9_-]{2… · required

Update app › Request Body

UpdateAppRequest
name
​string | null · minLength: 0 · maxLength: 200
​object | null

Update app › Responses

Success

AppResponse
id
​AppPublicId · pattern: ^app_[A-Za-z0-9_-]{2… · required
name
​string · required
​object · required
key
​AppKey · enum
Enum values:
email
slack
teams
webhook
isEnabled
​boolean
createdAt
​string · date-time
PUT/v1/apps/{appId}
curl https://api.costfluent.com/v1/apps/:appId \ --request PUT \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "name": "name", "config": { "key": {} } }'
Example Request Body
{ "name": "name", "config": { "key": {} } }
json
Example Responses
{ "id": "id", "key": "email", "name": "name", "config": { "key": {} }, "isEnabled": true, "createdAt": "2024-08-25T15:00:00Z" }
json
application/json

Delete app

DELETE
https://api.costfluent.com
/v1/apps/{appId}
Bearer (API token)

Deletes a notification channel and skips its pending deliveries. The channel is taken out of every cost alert, budget, workspace anomaly routing and report subscription that used it, and the response names each one, since one left with no channel sends nothing until it is given another.

Delete app › path Parameters

appId
​AppPublicId · pattern: ^app_[A-Za-z0-9_-]{2… · required

Delete app › Responses

Success

AppDeletedResponse
detachedCostAlertIds
​CostAlertPublicId[] · required
detachedBudgetIds
​BudgetPublicId[] · required
detachedWorkspaceIds
​WorkspacePublicId[] · required
detachedSubscriptionIds
​CostReportSubscriptionPublicId[] · required
DELETE/v1/apps/{appId}
curl https://api.costfluent.com/v1/apps/:appId \ --request DELETE \ --header 'Authorization: Bearer <token>'
Example Responses
{ "detachedCostAlertIds": [ "string" ], "detachedBudgetIds": [ "string" ], "detachedWorkspaceIds": [ "string" ], "detachedSubscriptionIds": [ "string" ] }
json
application/json

Audit LogsAnomalies