Costfluent Docs
  • Pricing
  • Changelog
  • costfluent.com
  • Documentation
  • Guides
  • API Reference
Product
  • Pricing
  • Security
  • Changelog
Developers
  • API reference
  • Terraform
  • llms.txt
Legal
  • Privacy
  • Terms
  • Imprint
Get started
Concepts
Connect a source
Reporting
Allocation
Planning
Optimization
Administration
Developers
    Public API authenticationPublic API versioningPublic API paginationPublic API errorsPublic API rate limitsPublic API data formatsWebhook notificationsTerraform
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
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 folderdelete
Exchange Rates
    Get available currenciesgetGet exchange rategetGet the workspace's exchange rate policygetList exchange ratesget
Dashboards
    List dashboardsgetCreate dashboardpostGet dashboardgetUpdate dashboardputDelete dashboarddelete
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
Budgets
    List budgetsgetCreate budgetpostGet budgetgetUpdate budgetputDelete budgetdelete
Billing
    Get the account's entitlementgetGet 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
Schemas
Developers

Public API errors

Read the one error body every Costfluent Public API operation answers with, and decide from its code whether to retry.

Every error, from a refused token to a failed validation, answers with the same body: RFC 7807 problem details, sent as application/problem+json, with a machine-readable code and whether a retry can succeed.

Code
{ "type": "about:blank", "title": "Validation Failed", "status": 400, "code": "validation_failed", "retryable": false, "traceId": "00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01", "errors": [ { "name": "amount", "reason": "\"1.123456789\" is not a decimal amount with at most 8 decimal places." } ] }

The fields

FieldMeaning
statusThe HTTP status, repeated in the body.
codeWhat went wrong, in snake case, such as not_found or validation_failed. It stays the same across releases; branch on it, never on the text.
retryableWhether repeating the same request later can succeed.
title, detailA summary and, when there is one, the specifics, for a person to read. The wording can change.
traceIdThe request's trace. Quote it when you contact support.
errorsThe individual failures: one entry per invalid field, with its name and reason, or one general entry.

Status codes

StatusWhen
400The request is malformed or a field is invalid; errors names each field.
401The token is missing, invalid, expired or revoked.
403The token lacks the operation's capability, or a workspace token names another workspace; see Authentication.
404The object does not exist or is not visible to this token.
409The request conflicts with the object's current state, or with a change made at the same moment. A deletion refused because something still uses the object, such as a budget measuring a cost report, answers in_use, and errors names what uses it.
412An If-Match names a version the object no longer has; read it again and retry. See Data formats.
422A business rule refuses the request, such as a limit of your plan.
429Too many requests; see Rate limits.
500An unexpected error. Quote the traceId.
503A dependency is briefly unavailable; retry after Retry-After.

How it behaves

  • retryable is true for rate_limit_exceeded, provider_unavailable and external_timeout. Retry those with a delay; retrying anything else repeats the same answer.
  • A 400 from a request body that is not valid JSON, or a field of the wrong type, carries the same shape as one from a failed rule.

Related

  • Rate limits
  • Data formats
  • API reference
Public API paginationPublic API rate limits
On this page
  • The fields
  • Status codes
  • How it behaves
  • Related
JSON