Costfluent Docs
  • Documentation
  • API Reference
Information
Workspaces
    List workspacesgetCreate workspacepostGet workspacegetUpdate workspaceputDelete workspacedeleteGet the workspace's exchange rate policyget
Virtual Tags
    Activate virtual tagpostList virtual tagsgetCreate virtual tagpostDeactivate virtual tagpostGet virtual taggetDelete virtual tagdeleteUpdate virtual tagpatch
Virtual-Tags
    Activate virtual tagpostList virtual tagsgetCreate virtual tagpostDeactivate virtual tagpostGet virtual taggetDelete virtual tagdeleteUpdate virtual tagpatch
Utility
    Get current token infogetHealth checkget
Me
    Get current token infoget
Ping
    Health checkget
Tags
    Get tag keygetDelete tag keydeleteList tag keysget
Tag-Keys
    Get tag keygetDelete tag keydeleteList tag keysget
Saved Filters
    List saved filtersgetCreate saved filterpostGet saved filtergetUpdate saved filterputDelete saved filterdelete
Saved-Filters
    List saved filtersgetCreate saved filterpostGet saved filtergetUpdate saved filterputDelete saved filterdelete
Providers
    List providersgetConnect providerpostGet providergetDelete providerdeleteGet available providersgetGet provider sync historygetTest provider connectionpostTrigger provider syncpostUpdate providerput
Folders
    List foldersgetCreate folderpostGet foldergetUpdate folderputDelete folderdelete
Exchange Rates
    Get available currenciesgetGet exchange rategetGet the workspace's exchange rate policygetList exchange ratesget
Exchange-Rates
    Get available currenciesgetGet exchange rategetList exchange ratesget
Dashboards
    List dashboardsgetCreate dashboardpostGet dashboardgetUpdate dashboardputDelete dashboarddelete
Custom Provider
    Submit costs batchpost
Custom-Providers
    Submit costs batchpost
Report Notifications
    Activate report notificationpostList report notificationsgetCreate report notificationpostDeactivate report notificationpostGet report notificationgetDelete report notificationdeleteUpdate report notificationpatch
Cost-Report-Subscriptions
    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-Reports
    List cost reportsgetCreate cost reportpostGet cost reportgetUpdate cost reportputDelete cost reportdeleteGet cost report dataget
Cost Data
    Get cost datagetGet cost forecastgetGet cost summaryget
Costs
    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
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
Budgets
    List budgetsgetCreate budgetpostGet budgetgetUpdate budgetputDelete budgetdelete
Billing
    Get the account's entitlementgetGet the account's metered usageget
Entitlement
    Get the account's entitlementget
Usage
    Get the account's metered usageget
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
Segments
    List segmentsgetCreate a segmentpostUpdate a segmentputDelete a segmentdelete
Schemas
Costfluent Public API
Costfluent Public API

Providers

Server
Download schema

List providers

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

Returns all connected providers for the authenticated organization

List providers › query Parameters

page
​integer · int32 · required
limit
​integer · int32 · required
type
​string | null

List providers › Responses

Success

CostfluentPublicApiModelsV1CommonPaginatedResponseOfProviderResponse
​CostfluentPublicApiModelsV1CommonPaginationLinks · required
​CostfluentPublicApiModelsV1ResponsesProviderResponse[] · required
GET/v1/providers
curl 'https://api.costfluent.com/v1/providers?page=<number>&limit=<number>' \ --header 'Authorization: Bearer <token>'
Example Responses
{ "links": { "self": "self", "first": "first", "prev": "prev", "next": "next", "last": "last" }, "data": [ { "id": { "Value": "Value" }, "type": "type", "key": "key", "name": "name", "description": "description", "status": "status", "parentProviderId": { "Value": "Value" }, "externalId": "externalId", "lastSyncAt": "2024-08-25T15:00:00Z", "lastSyncStatus": "lastSyncStatus", "lastSyncError": "lastSyncError", "nextSyncAt": "2024-08-25T15:00:00Z", "syncFrequencyMinutes": 0, "createdAt": "2024-08-25T15:00:00Z", "updatedAt": "2024-08-25T15:00:00Z" } ] }
json
application/json

Connect provider

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

Connects a new cloud provider, platform, or integration for cost monitoring

Connect provider › Request Body

CostfluentPublicApiModelsV1RequestsConnectProviderRequest
key
​string · minLength: 1 · required
​object · minLength: 1 · required
name
​string | null · minLength: 0 · maxLength: 255
description
​string | null · minLength: 0 · maxLength: 1000
​
externalId
​string | null
​object | null
syncFrequencyMinutes
​integer · int32 · min: 60 · max: 1440

Connect provider › Responses

Success

CostfluentPublicApiModelsV1ResponsesProviderCreatedResponse
​CostfluentSharedKernelPublicIdsProviderPublicId · required
type
​string · required
key
​string · required
name
​string · required
POST/v1/providers
curl https://api.costfluent.com/v1/providers \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "key": "key", "name": "name", "description": "description", "parentProviderId": { "Value": "Value" }, "externalId": "externalId", "credentials": { "key": "string" }, "settings": { "key": "string" }, "syncFrequencyMinutes": 60 }'
Example Request Body
{ "key": "key", "name": "name", "description": "description", "parentProviderId": { "Value": "Value" }, "externalId": "externalId", "credentials": { "key": "string" }, "settings": { "key": "string" }, "syncFrequencyMinutes": 60 }
json
Example Responses
{ "id": { "Value": "Value" }, "type": "type", "key": "key", "name": "name" }
json
application/json

Get provider

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

Returns details of a specific provider

Get provider › path Parameters

​CostfluentSharedKernelPublicIdsProviderPublicId · required

Get provider › Responses

Success

CostfluentPublicApiModelsV1ResponsesProviderResponse
​CostfluentSharedKernelPublicIdsProviderPublicId · required
type
​string · required
key
​string · required
name
​string · required
status
​string · required
description
​string | null
​
externalId
​string | null
lastSyncAt
​string | null · date-time
lastSyncStatus
​string | null
lastSyncError
​string | null
nextSyncAt
​string | null · date-time
syncFrequencyMinutes
​integer · int32
createdAt
​string · date-time
updatedAt
​string | null · date-time
GET/v1/providers/{providerId}
curl https://api.costfluent.com/v1/providers/:providerId \ --header 'Authorization: Bearer <token>'
Example Responses
{ "id": { "Value": "Value" }, "type": "type", "key": "key", "name": "name", "description": "description", "status": "status", "parentProviderId": { "Value": "Value" }, "externalId": "externalId", "lastSyncAt": "2024-08-25T15:00:00Z", "lastSyncStatus": "lastSyncStatus", "lastSyncError": "lastSyncError", "nextSyncAt": "2024-08-25T15:00:00Z", "syncFrequencyMinutes": 0, "createdAt": "2024-08-25T15:00:00Z", "updatedAt": "2024-08-25T15:00:00Z" }
json
application/json

Delete provider

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

Disconnects and removes a provider. Associated cost data may be retained.

Delete provider › path Parameters

​CostfluentSharedKernelPublicIdsProviderPublicId · required

Delete provider › Responses

No Content

No data returned
DELETE/v1/providers/{providerId}
curl https://api.costfluent.com/v1/providers/:providerId \ --request DELETE \ --header 'Authorization: Bearer <token>'
Example Responses
No example specified for this content type

Get available providers

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

Returns all supported provider types and their configuration requirements

Get available providers › Responses

Success

​CostfluentPublicApiModelsV1ResponsesProviderDefinitionResponse[]
CostfluentPublicApiModelsV1ResponsesProviderDefinitionResponse
key
​string · required
type
​string · required
displayName
​string · required
requiredCredentialFields
​string[] · required
optionalSettingFields
​string[] · required
kind
​string · required
iconUrl
​string | null
requiresParentProvider
​boolean
GET/v1/providers/available
curl https://api.costfluent.com/v1/providers/available \ --header 'Authorization: Bearer <token>'
Example Responses
[ { "key": "key", "type": "type", "displayName": "displayName", "iconUrl": "iconUrl", "requiresParentProvider": true, "requiredCredentialFields": [ "string" ], "optionalSettingFields": [ "string" ], "kind": "kind" } ]
json
application/json

Get provider sync history

GET
https://api.costfluent.com
/v1/providers/{providerId}/sync-history
Bearer (API token)

Returns sync history for a provider

Get provider sync history › path Parameters

​CostfluentSharedKernelPublicIdsProviderPublicId · required

Get provider sync history › query Parameters

limit
​integer | null · int32

Get provider sync history › Responses

Success

CostfluentPublicApiEndpointsV1ProvidersSyncHistoryResponse
​CostfluentPublicApiEndpointsV1ProvidersSyncHistoryEntryResponse[]
GET/v1/providers/{providerId}/sync-history
curl https://api.costfluent.com/v1/providers/:providerId/sync-history \ --header 'Authorization: Bearer <token>'
Example Responses
{ "entries": [ { "startedAt": "2024-08-25T15:00:00Z", "completedAt": "2024-08-25T15:00:00Z", "status": "status", "recordsIngested": 0, "errorMessage": "errorMessage" } ] }
json
application/json

Test provider connection

POST
https://api.costfluent.com
/v1/providers/{providerId}/test
Bearer (API token)

Validates credentials and connectivity to the provider

Test provider connection › path Parameters

​CostfluentSharedKernelPublicIdsProviderPublicId · required

Test provider connection › Responses

Success

CostfluentPublicApiModelsV1ResponsesConnectionTestResponse
success
​boolean · required
message
​string | null
​object | null
POST/v1/providers/{providerId}/test
curl https://api.costfluent.com/v1/providers/:providerId/test \ --request POST \ --header 'Authorization: Bearer <token>'
Example Responses
{ "success": true, "message": "message", "metadata": { "key": {} } }
json
application/json

Trigger provider sync

POST
https://api.costfluent.com
/v1/providers/{providerId}/sync
Bearer (API token)

Initiates a cost data sync from the provider. Use fullSync=true for complete re-sync.

Trigger provider sync › path Parameters

​CostfluentSharedKernelPublicIdsProviderPublicId · required

Trigger provider sync › Request Body

CostfluentPublicApiModelsV1RequestsTriggerProviderSyncRequest
fullSync
​boolean

Trigger provider sync › Responses

Success

CostfluentPublicApiModelsV1ResponsesSyncTriggerResponse
triggered
​boolean · required
message
​string | null
POST/v1/providers/{providerId}/sync
curl https://api.costfluent.com/v1/providers/:providerId/sync \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "fullSync": true }'
Example Request Body
{ "fullSync": true }
json
Example Responses
{ "triggered": true, "message": "message" }
json
application/json

Update provider

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

Updates provider settings, credentials, or configuration

Update provider › path Parameters

​CostfluentSharedKernelPublicIdsProviderPublicId · required

Update provider › Request Body

CostfluentPublicApiModelsV1RequestsUpdateProviderRequest
description
​string | null · minLength: 0 · maxLength: 1000
externalId
​string | null
​object | null
​object | null
syncFrequencyMinutes
​integer | null · int32 · min: 60 · max: 1440

Update provider › Responses

Success

CostfluentPublicApiModelsV1ResponsesProviderResponse
​CostfluentSharedKernelPublicIdsProviderPublicId · required
type
​string · required
key
​string · required
name
​string · required
status
​string · required
description
​string | null
​
externalId
​string | null
lastSyncAt
​string | null · date-time
lastSyncStatus
​string | null
lastSyncError
​string | null
nextSyncAt
​string | null · date-time
syncFrequencyMinutes
​integer · int32
createdAt
​string · date-time
updatedAt
​string | null · date-time
PUT/v1/providers/{id}
curl https://api.costfluent.com/v1/providers/:id \ --request PUT \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "description": "description", "externalId": "externalId", "credentials": { "key": "string" }, "settings": { "key": "string" }, "syncFrequencyMinutes": 60 }'
Example Request Body
{ "description": "description", "externalId": "externalId", "credentials": { "key": "string" }, "settings": { "key": "string" }, "syncFrequencyMinutes": 60 }
json
Example Responses
{ "id": { "Value": "Value" }, "type": "type", "key": "key", "name": "name", "description": "description", "status": "status", "parentProviderId": { "Value": "Value" }, "externalId": "externalId", "lastSyncAt": "2024-08-25T15:00:00Z", "lastSyncStatus": "lastSyncStatus", "lastSyncError": "lastSyncError", "nextSyncAt": "2024-08-25T15:00:00Z", "syncFrequencyMinutes": 0, "createdAt": "2024-08-25T15:00:00Z", "updatedAt": "2024-08-25T15:00:00Z" }
json
application/json

Saved-FiltersFolders