Vantage

Cloud cost transparency platform

vantage.readme.io ↗
Version
2.0.0
OpenAPI
3.0.0
Endpoints
88
Schemas
79
84
Quality
Updated
3 days ago
Infrastructure infrastructure cost cloud
Use this API in your AI agent

Query structured spec data via REST or MCP. Get exactly what your agent needs.

Get API Key

Server URLs

https://api.vantage.sh/v2

Endpoints

Accessgrants 5 endpoints

GET /access_grants

Return all Access Grants that the current API token has access to.

operationId: AccessGrants_listAccessible

Parameters

Name In Required Type Description
page query optional integer

The page of results to return.

limit query optional integer

The amount of results to return. The maximum is 1000.

Responses

200
GET /access_grants
POST /access_grants

Create an Access Grant.

operationId: AccessGrants_createGrant

Request Body

required
application/json
schema createAccessGrant
Property Type Required
access string optional
team_token string required
resource_token string required

Responses

201
400

BadRequest

403

Forbidden

404

NotFound

406

NotAcceptable

422

UnprocessableEntity

POST /access_grants
DELETE /access_grants/{access_grant_token}

Delete an Access Grant.

operationId: AccessGrants_delete

Parameters

Name In Required Type Description
access_grant_token path required string

Responses

204
404

NotFound

DELETE /access_grants/{access_grant_token}
GET /access_grants/{access_grant_token}

Return a specific Access Grant.

operationId: AccessGrants_getSpecificGrant

Parameters

Name In Required Type Description
access_grant_token path required string

Responses

200
404

NotFound

GET /access_grants/{access_grant_token}
PUT /access_grants/{access_grant_token}

Update an AccessGrant.

operationId: AccessGrants_updateGrantToken

Parameters

Name In Required Type Description
access_grant_token path required string

Request Body

required
application/json
schema updateAccessGrant
Property Type Required
access string required

Responses

200
400

BadRequest

404

NotFound

PUT /access_grants/{access_grant_token}

Anomalyalerts 3 endpoints

GET /anomaly_alerts

Return all Anomaly Alerts that the current API token has access to.

operationId: AnomalyAlerts_listAccessible

Parameters

Name In Required Type Description
page query optional integer

The page of results to return.

limit query optional integer

The amount of results to return. The maximum is 1000.

Responses

200
GET /anomaly_alerts
GET /anomaly_alerts/{anomaly_alert_token}

Return an AnomalyAlert that the current API token has access to.

operationId: AnomalyAlerts_getByToken

Parameters

Name In Required Type Description
anomaly_alert_token path required string

Responses

200
404

NotFound

GET /anomaly_alerts/{anomaly_alert_token}
PUT /anomaly_alerts/{anomaly_alert_token}

Update an AnomalyAlert.

operationId: AnomalyAlerts_updateAlert

Parameters

Name In Required Type Description
anomaly_alert_token path required string

Request Body

required
application/json
schema updateAnomalyAlert
Property Type Required
status string required
feedback string optional

Responses

200
400

BadRequest

403

Forbidden

404

NotFound

422

UnprocessableEntity

PUT /anomaly_alerts/{anomaly_alert_token}

Anomalynotifications 5 endpoints

GET /anomaly_notifications

Return all Anomaly Notifications.

operationId: AnomalyNotifications_listAll

Parameters

Name In Required Type Description
page query optional integer

The page of results to return.

limit query optional integer

The amount of results to return. The maximum is 1000.

Responses

200
GET /anomaly_notifications
POST /anomaly_notifications

Create an Anomaly Notification for a Cost Report.

operationId: AnomalyNotifications_createCostReportNotification

Request Body

required
application/json
schema createAnomalyNotification
Property Type Required
threshold integer optional
user_tokens array optional
cost_report_token string required
recipient_channels array optional

Responses

201
400

BadRequest

POST /anomaly_notifications
DELETE /anomaly_notifications/{anomaly_notification_token}

Delete an Anomaly Notification.

operationId: AnomalyNotifications_deleteNotification

Parameters

Name In Required Type Description
anomaly_notification_token path required string

Responses

204
404

NotFound

DELETE /anomaly_notifications/{anomaly_notification_token}
GET /anomaly_notifications/{anomaly_notification_token}

Return an Anomaly Notification that the current API token has access to.

operationId: AnomalyNotifications_getByToken

Parameters

Name In Required Type Description
anomaly_notification_token path required string

Responses

200
404

NotFound

GET /anomaly_notifications/{anomaly_notification_token}
PUT /anomaly_notifications/{anomaly_notification_token}

Update an Anomaly Notification.

operationId: AnomalyNotifications_updateNotification

Parameters

Name In Required Type Description
anomaly_notification_token path required string

Request Body

required
application/json
schema updateAnomalyNotification
Property Type Required
threshold integer optional
user_tokens array optional
recipient_channels array optional

Responses

200
400

BadRequest

PUT /anomaly_notifications/{anomaly_notification_token}

Budgetalerts 5 endpoints

GET /budget_alerts

Return all BudgetAlerts.

operationId: BudgetAlerts_listAll

Parameters

Name In Required Type Description
page query optional integer

The page of results to return.

limit query optional integer

The number of results to return. The maximum is 1000.

Responses

200
GET /budget_alerts
POST /budget_alerts

Create a Budget Alert.

operationId: BudgetAlerts_createAlert

Request Body

required
application/x-www-form-urlencoded
schema BudgetAlertsCreateAlertRequest
Property Type Required
threshold integer required
user_tokens array optional
budget_tokens array required
period_to_track string optional
duration_in_days integer required
recipient_channels array optional

Responses

201
400

BadRequest

POST /budget_alerts
DELETE /budget_alerts/{budget_alert_token}

Delete a BudgetAlert.

operationId: BudgetAlerts_deleteAlert

Parameters

Name In Required Type Description
budget_alert_token path required string

Responses

204
404

NotFound

DELETE /budget_alerts/{budget_alert_token}
GET /budget_alerts/{budget_alert_token}

Return a BudgetAlert.

operationId: BudgetAlerts_getByToken

Parameters

Name In Required Type Description
budget_alert_token path required string

Responses

200
404

NotFound

GET /budget_alerts/{budget_alert_token}
PUT /budget_alerts/{budget_alert_token}

Updates an existing BudgetAlert.

operationId: BudgetAlerts_updateExistingAlert

Parameters

Name In Required Type Description
budget_alert_token path required string

Request Body

application/x-www-form-urlencoded
schema BudgetAlertsUpdateExistingAlertRequest
Property Type Required
threshold integer optional
user_tokens array optional
budget_tokens array optional
period_to_track string optional
duration_in_days integer optional
recipient_channels array optional

Responses

201
404

NotFound

PUT /budget_alerts/{budget_alert_token}

Budgets 5 endpoints

GET /budgets

Return all Budgets.

operationId: Budgets_getAll

Parameters

Name In Required Type Description
page query optional integer

The page of results to return.

limit query optional integer

The number of results to return. The maximum is 1000.

Responses

200
GET /budgets
POST /budgets

Create a Budget.

operationId: Budgets_createBudget

Request Body

required
application/json
schema createBudget
Property Type Required
name string required
periods array optional
amount number required
end_at string optional
start_at string required
workspace_token string optional
cost_report_token string optional

Responses

201
400

BadRequest

422

UnprocessableEntity

POST /budgets
DELETE /budgets/{budget_token}

Delete a Budget.

operationId: Budgets_deleteBudget

Parameters

Name In Required Type Description
budget_token path required string

Responses

204
404

NotFound

DELETE /budgets/{budget_token}
GET /budgets/{budget_token}

Return a Budget.

operationId: Budgets_getBudget

Parameters

Name In Required Type Description
budget_token path required string

Responses

200
404

NotFound

GET /budgets/{budget_token}
PUT /budgets/{budget_token}

Update a Budget.

operationId: Budgets_updateBudget

Parameters

Name In Required Type Description
budget_token path required string

Request Body

required
application/json
schema updateBudget
Property Type Required
name string optional
periods array optional
amount number required
end_at string optional
start_at string required
cost_report_token string optional

Responses

200
400

BadRequest

404

NotFound

PUT /budgets/{budget_token}

Businessmetrics 6 endpoints

GET /business_metrics

Return all BusinessMetrics that the current API token has access to.

operationId: BusinessMetrics_getAllMetrics

Parameters

Name In Required Type Description
page query optional integer

The page of results to return.

limit query optional integer

The amount of results to return. The maximum is 1000.

Responses

200
GET /business_metrics
POST /business_metrics

Create a new BusinessMetric.

operationId: BusinessMetrics_createNewMetric

Request Body

required
application/json
schema createBusinessMetric
Property Type Required
title string required
values array optional
date string required
amount number required
cost_report_tokens_with_metadata array optional
unit_scale string optional
cost_report_token string required

Responses

201
400

BadRequest

403

Forbidden

404

NotFound

422

UnprocessableEntity

POST /business_metrics
DELETE /business_metrics/{business_metric_token}

Deletes an existing BusinessMetric.

operationId: BusinessMetrics_deleteExistingMetric

Parameters

Name In Required Type Description
business_metric_token path required string

Responses

204
403

Forbidden

404

NotFound

DELETE /business_metrics/{business_metric_token}
GET /business_metrics/{business_metric_token}

Return a specific BusinessMetrics.

operationId: BusinessMetrics_getMetricById

Parameters

Name In Required Type Description
business_metric_token path required string

Responses

200
404

NotFound

GET /business_metrics/{business_metric_token}
PUT /business_metrics/{business_metric_token}

Updates an existing BusinessMetric.

operationId: BusinessMetrics_updateExistingMetric

Parameters

Name In Required Type Description
business_metric_token path required string

Request Body

required
application/json
schema updateBusinessMetric
Property Type Required
title string optional
values array optional
date string required
amount number required
cost_report_tokens_with_metadata array optional
unit_scale string optional
cost_report_token string required

Responses

200
400

BadRequest

403

Forbidden

404

NotFound

422

UnprocessableEntity

PUT /business_metrics/{business_metric_token}
PUT /business_metrics/{business_metric_token}/values.csv

Updates the values for an existing BusinessMetric from a CSV file.

operationId: BusinessMetrics_updateValuesCsv

Parameters

Name In Required Type Description
business_metric_token path required string

Request Body

required
multipart/form-data
schema BusinessMetricsUpdateValuesCsvRequest
Property Type Required
csv string required

Responses

201
400

BadRequest

403

Forbidden

404

NotFound

422

UnprocessableEntity

PUT /business_metrics/{business_metric_token}/values.csv

Costs 6 endpoints

GET /cost_reports

Return all CostReports.

operationId: Costs_getAllCostReports

Parameters

Name In Required Type Description
page query optional integer

The page of results to return.

limit query optional integer

The amount of results to return. The maximum is 1000.

Responses

200
GET /cost_reports
POST /cost_reports

Create a CostReport.

operationId: Costs_createReport

Request Body

required
application/json
schema createCostReport
Property Type Required
title string required
filter string optional
settings object optional
amortize boolean optional
include_tax boolean optional
unallocated boolean optional
include_credits boolean optional
include_refunds boolean optional
include_discounts boolean optional
groupings string optional
folder_token string optional
workspace_token string optional
saved_filter_tokens array optional
business_metric_tokens_with_metadata array optional
unit_scale string optional
business_metric_token string required

Responses

201
400

BadRequest

422

UnprocessableEntity

POST /cost_reports
DELETE /cost_reports/{cost_report_token}

Delete a CostReport.

operationId: Costs_deleteCostReport

Parameters

Name In Required Type Description
cost_report_token path required string

Responses

204
404

NotFound

DELETE /cost_reports/{cost_report_token}
GET /cost_reports/{cost_report_token}

Return a CostReport.

operationId: Costs_getCostReport

Parameters

Name In Required Type Description
cost_report_token path required string

Responses

200
404

NotFound

GET /cost_reports/{cost_report_token}
PUT /cost_reports/{cost_report_token}

Update a CostReport.

operationId: Costs_updateReport

Parameters

Name In Required Type Description
cost_report_token path required string

Request Body

required
application/json
schema updateCostReport
Property Type Required
title string optional
filter string optional
settings object optional
amortize boolean optional
include_tax boolean optional
unallocated boolean optional
include_credits boolean optional
include_refunds boolean optional
include_discounts boolean optional
groupings string optional
folder_token string optional
saved_filter_tokens array optional
business_metric_tokens_with_metadata array optional
unit_scale string optional
business_metric_token string required

Responses

200
400

BadRequest

404

NotFound

PUT /cost_reports/{cost_report_token}
GET /costs

Return all Costs for a CostReport.

operationId: Costs_listCostReport

Parameters

Name In Required Type Description
cost_report_token query required string

The CostReport token.

start_date query optional string

First date you would like to filter costs from. ISO 8601 formatted.

end_date query optional string

Last date you would like to filter costs to. ISO 8601 formatted.

groupings query optional array

Group the results by specific field(s). Defaults to provider, service, account_id. Valid groupings: account_id, billing_account_id, charge_type, cost_category, cost_subcategory, provider, region, resource_id, service, tagged, tag:. If providing multiple groupings, join as comma separated values: groupings=provider,service,region

order query optional string

Whether to order costs by date in an ascending or descending manner.

limit query optional integer

The amount of results to return. The maximum is 1000.

Responses

200
400

BadRequest

402

PaymentRequired

404

NotFound

GET /costs

Dashboards 5 endpoints

GET /dashboards

Return all Dashboards.

operationId: Dashboards_getAll

Parameters

Name In Required Type Description
page query optional integer

The page of results to return.

limit query optional integer

The amount of results to return. The maximum is 1000.

Responses

200
GET /dashboards
POST /dashboards

Create a Dashboard.

operationId: Dashboards_createDashboard

Request Body

required
application/json
schema createDashboard
Property Type Required
title string required
date_bin string optional
end_date string required
start_date string optional
date_interval string optional
widget_tokens array optional
workspace_token string optional
saved_filter_tokens array optional

Responses

201
400

BadRequest

POST /dashboards
DELETE /dashboards/{dashboard_token}

Delete a Dashboard.

operationId: Dashboards_deleteDashboard

Parameters

Name In Required Type Description
dashboard_token path required string

Responses

204
404

NotFound

DELETE /dashboards/{dashboard_token}
GET /dashboards/{dashboard_token}

Return a specific Dashboard.

operationId: Dashboards_getSpecificDashboard

Parameters

Name In Required Type Description
dashboard_token path required string

Responses

200
404

NotFound

GET /dashboards/{dashboard_token}
PUT /dashboards/{dashboard_token}

Update a Dashboard.

operationId: Dashboards_updateDashboard

Parameters

Name In Required Type Description
dashboard_token path required string

Request Body

required
application/json
schema updateDashboard
Property Type Required
title string optional
date_bin string optional
end_date string required
start_date string optional
date_interval string optional
widget_tokens array optional
saved_filter_tokens array optional

Responses

200
400

BadRequest

404

NotFound

PUT /dashboards/{dashboard_token}

Filters 5 endpoints

GET /saved_filters

Return all SavedFilters that can be applied to a CostReport.

operationId: Filters_getCostReportFilters

Parameters

Name In Required Type Description
page query optional integer

The page of results to return.

limit query optional integer

The amount of results to return. The maximum is 1000.

Responses

200
GET /saved_filters
POST /saved_filters

Create a SavedFilter for CostReports.

operationId: Filters_createSavedFilterForCostReports

Request Body

required
application/json
schema createSavedFilter
Property Type Required
title string required
filter string optional
workspace_token string optional

Responses

201
400

BadRequest

422

UnprocessableEntity

POST /saved_filters
DELETE /saved_filters/{saved_filter_token}

Delete a SavedFilter for CostReports.

operationId: Filters_deleteSavedFilter

Parameters

Name In Required Type Description
saved_filter_token path required string

Responses

204
404

NotFound

DELETE /saved_filters/{saved_filter_token}
GET /saved_filters/{saved_filter_token}

Return a specific SavedFilter.

operationId: Filters_getSavedFilter

Parameters

Name In Required Type Description
saved_filter_token path required string

Responses

200
404

NotFound

GET /saved_filters/{saved_filter_token}
PUT /saved_filters/{saved_filter_token}

Update a SavedFilter for CostReports.

operationId: Filters_updateSavedFilterForCostReports

Parameters

Name In Required Type Description
saved_filter_token path required string

Request Body

required
application/json
schema updateSavedFilter
Property Type Required
title string optional
filter string optional

Responses

200
400

BadRequest

404

NotFound

422

UnprocessableEntity

PUT /saved_filters/{saved_filter_token}

Financialcommitmentreports 3 endpoints

GET /financial_commitment_reports

Return all FinancialCommitmentReports.

operationId: FinancialCommitmentReports_getAllReports

Parameters

Name In Required Type Description
page query optional integer

The page of results to return.

limit query optional integer

The amount of results to return. The maximum is 1000.

Responses

200
GET /financial_commitment_reports
DELETE /financial_commitment_reports/{financial_commitment_report_token}

Delete a FinancialCommitmentReport.

operationId: FinancialCommitmentReports_deleteReport

Parameters

Name In Required Type Description
financial_commitment_report_token path required string

Responses

204
404

NotFound

DELETE /financial_commitment_reports/{financial_commitment_report_token}
GET /financial_commitment_reports/{financial_commitment_report_token}

Return a FinancialCommitmentReport.

operationId: FinancialCommitmentReports_get

Parameters

Name In Required Type Description
financial_commitment_report_token path required string

Responses

200
404

NotFound

GET /financial_commitment_reports/{financial_commitment_report_token}

Folders 2 endpoints

GET /folders

Return all Folders for CostReports.

operationId: Folders_listCostReports

Parameters

Name In Required Type Description
page query optional integer

The page of results to return.

limit query optional integer

The amount of results to return. The maximum is 1000.

Responses

200
GET /folders
POST /folders

Create a Folder for CostReports.

operationId: Folders_createFolderForCostReports

Request Body

required
application/json
schema createFolder
Property Type Required
title string required
workspace_token string optional
parent_folder_token string optional
saved_filter_tokens array optional

Responses

201
400

BadRequest

POST /folders

Schemas

object AccessGrant
{
  "type": "object",
  "properties": {
    "token": {
      "type": "string"
    },
    "access": {
      "type": "string",
      "description": "The access status of the AccessGrant."
    },
    "created_at": {
      "type": "string",
      "example": "2023-08-04T00:00:00Z",
      "description": "The date and time, in UTC, the AccessGrant was created. ISO 8601 Formatted."
    },
    "created_by": {
      "type": "string",
      "description": "The token for the User who created the AccessGrant."
    },
    "team_token": {
      "type": "string",
      "description": "The Team token for which an AccessGrant is applied to."
    },
    "resource_token": {
      "type": "string",
      "example": "rprt_abcd1234",
      "description": "The token for any resource the AccessGrant is applied to."
    }
  },
  "description": "AccessGrant model"
}
object AccessGrants
{
  "type": "object",
  "properties": {
    "links": {
      "type": "object"
    },
    "access_grants": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/AccessGrant"
      }
    }
  },
  "description": "AccessGrants model"
}
object AnomalyAlert
{
  "type": "object",
  "properties": {
    "token": {
      "type": "string"
    },
    "amount": {
      "type": "string",
      "description": "The amount observed."
    },
    "status": {
      "type": "string",
      "description": "The status of the AnomalyAlert."
    },
    "service": {
      "type": "string",
      "description": "The provider service causing the AnomalyAlert."
    },
    "category": {
      "type": "string",
      "description": "The category of the AnomalyAlert."
    },
    "feedback": {
      "type": "string",
      "description": "The user-provided feedback of why alert was ignored/archived."
    },
    "provider": {
      "type": "string",
      "description": "The provider of the service causing the AnomalyAlert."
    },
    "alerted_at": {
      "type": "string",
      "example": "2021-07-09T00:00:00Z",
      "description": "The date and time, in UTC, the AnomalyAlert is sent. ISO 8601 Formatted."
    },
    "created_at": {
      "type": "string",
      "example": "2021-07-09T00:00:00Z",
      "description": "The date and time, in UTC, the AnomalyAlert was created. ISO 8601 Formatted."
    },
    "previous_amount": {
      "type": "string",
      "description": "The previous amount observed."
    },
    "cost_report_token": {
      "type": "string",
      "description": "The token of the Report associated with the AnomalyAlert."
    },
    "seven_day_average": {
      "type": "string",
      "description": "The seven day average of the amount observed."
    }
  },
  "description": "AnomalyAlert model"
}
object AnomalyAlerts
{
  "type": "object",
  "properties": {
    "links": {
      "type": "object"
    },
    "anomaly_alerts": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/AnomalyAlert"
      }
    }
  },
  "description": "AnomalyAlerts model"
}
object AnomalyNotification
{
  "type": "object",
  "properties": {
    "token": {
      "type": "string"
    },
    "threshold": {
      "type": "integer",
      "format": "int32",
      "description": "The threshold amount that must be met for the notification to fire."
    },
    "created_at": {
      "type": "string",
      "example": "2023-08-04T00:00:00Z",
      "description": "The date and time, in UTC, the AnomalyNotification was created. ISO 8601 Formatted."
    },
    "updated_at": {
      "type": "string",
      "example": "2023-08-04T00:00:00Z",
      "description": "The date and time, in UTC, the AnomalyNotification was last updated at. ISO 8601 Formatted."
    },
    "user_tokens": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "The tokens of the users that receive the notification."
    },
    "cost_report_token": {
      "type": "string",
      "description": "The token for the CostReport the AnomalyNotification is associated with."
    },
    "recipient_channels": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "The channels that the notification is sent to."
    }
  },
  "description": "AnomalyNotification model"
}
object AnomalyNotifications
{
  "type": "object",
  "properties": {
    "links": {
      "type": "object"
    },
    "anomaly_notifications": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/AnomalyNotification"
      }
    }
  },
  "description": "AnomalyNotifications model"
}
object AttachedBusinessMetricForCostReport
{
  "type": "object",
  "properties": {
    "unit_scale": {
      "enum": [
        "per_unit",
        "per_hundred",
        "per_thousand",
        "per_million",
        "per_billion"
      ],
      "type": "string",
      "example": "per_hundred",
      "description": "Determines the scale of the BusinessMetric's values within a particular CostReport."
    },
    "business_metric_token": {
      "type": "string",
      "example": "bsnss_mtrc_1234",
      "description": "The token of the BusinessMetric that's attached to the CostReport."
    }
  }
}
object AttachedCostReportForBusinessMetric
{
  "type": "object",
  "properties": {
    "unit_scale": {
      "enum": [
        "per_unit",
        "per_hundred",
        "per_thousand",
        "per_million",
        "per_billion"
      ],
      "type": "string",
      "example": "per_hundred",
      "description": "Determines the scale of the BusinessMetric's values within a particular CostReport."
    },
    "cost_report_token": {
      "type": "string",
      "example": "rprt_1234",
      "description": "The token of the CostReport the BusinessMetric is attached to."
    }
  }
}
object Budget
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "example": "Acme123 Budget",
      "description": "The name of the Budget."
    },
    "token": {
      "type": "string"
    },
    "periods": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/BudgetPeriod"
      },
      "description": "The budget periods associated with the Budget."
    },
    "created_at": {
      "type": "string",
      "example": "2024-03-19T00:00:00Z",
      "description": "The date and time, in UTC, the Budget was created. ISO 8601 Formatted."
    },
    "user_token": {
      "type": "string",
      "description": "The token for the User who created this Budget."
    },
    "performance": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/BudgetPerformance"
      },
      "description": "The historical performance of the Budget."
    },
    "workspace_token": {
      "type": "string",
      "description": "The token for the Workspace the Budget is a part of."
    },
    "cost_report_token": {
      "type": "string",
      "description": "The token of the Report associated with the Budget."
    },
    "budget_alert_tokens": {
      "type": "array",
      "items": {
        "type": "string",
        "example": [
          "bdgt_alrt_c9cd4e1a7127461b"
        ]
      },
      "description": "The tokens of the BudgetAlerts associated with the Budget."
    }
  },
  "description": "Budget model"
}
object BudgetAlert
{
  "type": "object",
  "properties": {
    "token": {
      "type": "string"
    },
    "threshold": {
      "type": "string",
      "example": "75",
      "description": "Alerts only send if they reach this number (as a percentage). When threshold is 100, that means alerts are triggered once costs reach 100% of the budget."
    },
    "created_at": {
      "type": "string",
      "example": "2024-03-19T00:00:00Z",
      "description": "The date and time, in UTC, the Budget Alert was created. ISO 8601 Formatted."
    },
    "user_token": {
      "type": "string",
      "description": "The token for the User who created this BudgetAlert."
    },
    "user_tokens": {
      "type": "array",
      "items": {
        "type": "string",
        "example": [
          "usr_abcd1234",
          "usr_efgh5678"
        ]
      },
      "description": "The Users that receive the alert."
    },
    "budget_tokens": {
      "type": "array",
      "items": {
        "type": "string",
        "example": [
          "bdgt_22dc1ac6e000cd14",
          "bdgt_e045e8d2c739cb2c"
        ]
      },
      "description": "The tokens for the Budgets that the Budget Alert is monitoring to trigger alerts on."
    },
    "period_to_track": {
      "type": "string",
      "example": "start_of_the_month",
      "description": "The period tracked on the alert. Used with duration_in_days to determine the time window of the alert. Possible values: start_of_the_month, end_of_the_month."
    },
    "workspace_token": {
      "type": "string",
      "description": "The token for the Workspace the ResourceReport is a part of."
    },
    "duration_in_days": {
      "type": "string",
      "description": "The number of days from the start or end of the month to trigger the alert if the threshold is reached."
    },
    "recipient_channels": {
      "type": "string",
      "example": [
        "#budget-notifications",
        "#finance"
      ],
      "description": "The channels receiving the alerts. Requires an integration provider to be connected."
    },
    "integration_provider": {
      "type": "string",
      "example": "slack",
      "description": "The provider used for sending alerts. This must be configured in the console. Possible values are: slack, microsoft_graph."
    }
  },
  "description": "BudgetAlert model"
}
object BudgetAlerts
{
  "type": "object",
  "properties": {
    "links": {
      "type": "object"
    },
    "budget_alerts": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/BudgetAlert"
      }
    }
  },
  "description": "BudgetAlerts model"
}
object BudgetAlertsCreateAlertRequest
{
  "type": "object",
  "required": [
    "budget_tokens",
    "threshold",
    "duration_in_days"
  ],
  "properties": {
    "threshold": {
      "type": "integer",
      "format": "int32",
      "description": "The threshold amount that must be met for the alert to fire."
    },
    "user_tokens": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "The tokens of the users that receive the alert."
    },
    "budget_tokens": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "The tokens of the Budget that has the alert."
    },
    "period_to_track": {
      "type": "string",
      "description": "The period tracked on the alert. Used with duration_in_days to determine the time window of the alert. Defaults to start_of_the_month if not passed. Possible values: start_of_the_month, end_of_the_month."
    },
    "duration_in_days": {
      "type": "integer",
      "format": "int32",
      "description": "The number of days from the start or end of the month to trigger the alert if the threshold is reached.  For the full month, pass an empty value."
    },
    "recipient_channels": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "The channels receiving the alerts. Requires an integration provider to be connected."
    }
  }
}
object BudgetAlertsUpdateExistingAlertRequest
{
  "type": "object",
  "properties": {
    "threshold": {
      "type": "integer",
      "format": "int32",
      "description": "The threshold amount that must be met for the alert to fire."
    },
    "user_tokens": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "The tokens of the users that receive the alert."
    },
    "budget_tokens": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "The tokens of the Budget that has the alert."
    },
    "period_to_track": {
      "type": "string",
      "description": "The period tracked on the alert. Used with duration_in_days to determine the time window of the alert. Defaults to start_of_the_month if not passed. Possible values: start_of_the_month, end_of_the_month."
    },
    "duration_in_days": {
      "type": "integer",
      "format": "int32",
      "description": "The number of days from the start or end of the month to trigger the alert if the threshold is reached. For the full month, pass an empty value."
    },
    "recipient_channels": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "The channels receiving the alerts. Requires an integration provider to be connected."
    }
  }
}
object BudgetPerformance
{
  "type": "object",
  "properties": {
    "date": {
      "type": "string",
      "example": "2024-03-19T00:00:00Z",
      "description": "The date and time, in UTC, the Budget was created. ISO 8601 Formatted."
    },
    "actual": {
      "type": "string",
      "example": "2024-03-19T00:00:00Z",
      "description": "The date and time, in UTC, the Budget was created. ISO 8601 Formatted."
    },
    "amount": {
      "type": "string",
      "example": "100.00",
      "description": "The amount of the Budget Period as a string to ensure precision."
    }
  }
}
object BudgetPeriod
{
  "type": "object",
  "properties": {
    "amount": {
      "type": "string",
      "example": "100.00",
      "description": "The amount of the Budget Period as a string to ensure precision."
    },
    "end_at": {
      "type": "string",
      "example": "2024-03-19T00:00:00Z",
      "description": "The date and time, in UTC, the Budget was created. ISO 8601 Formatted."
    },
    "start_at": {
      "type": "string",
      "example": "2024-03-19T00:00:00Z",
      "description": "The date and time, in UTC, the Budget was created. ISO 8601 Formatted."
    }
  }
}
object Budgets
{
  "type": "object",
  "properties": {
    "links": {
      "type": "object"
    },
    "budgets": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Budget"
      }
    }
  },
  "description": "Budgets model"
}
object BusinessMetric
{
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "example": "Total Revenue",
      "description": "The title of the BusinessMetric."
    },
    "token": {
      "type": "string",
      "example": "bsnss_mtrc_1234",
      "description": "The token of the BusinessMetric."
    },
    "values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/BusinessMetricValue"
      },
      "description": "The dates and amounts for the BusinessMetric"
    },
    "created_by_token": {
      "type": "string",
      "example": "usr_1234",
      "description": "The token of the User who created the BusinessMetric."
    },
    "cost_report_tokens_with_metadata": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/AttachedCostReportForBusinessMetric"
      },
      "description": "The tokens for any CostReports that use the BusinessMetric, and the unit scale."
    }
  },
  "description": "BusinessMetric model"
}
object BusinessMetricValue
{
  "type": "object",
  "properties": {
    "date": {
      "type": "string",
      "example": "2024-03-01+00:00",
      "description": "The date of the Business Metric Value. ISO 8601 formatted."
    },
    "amount": {
      "type": "string",
      "example": "100.00",
      "description": "The amount of the Business Metric Value as a string to ensure precision."
    }
  }
}
object BusinessMetrics
{
  "type": "object",
  "properties": {
    "business_metrics": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/BusinessMetric"
      }
    }
  },
  "description": "BusinessMetrics model"
}
object BusinessMetricsUpdateValuesCsvRequest
{
  "type": "object",
  "required": [
    "csv"
  ],
  "properties": {
    "csv": {
      "type": "string",
      "format": "binary",
      "description": "CSV file containing BusinessMetric dates and amounts"
    }
  }
}
object Cost
{
  "type": "object",
  "properties": {
    "tag": {
      "type": "string",
      "example": "production",
      "description": "The tag attached to the cost that was incurred.\nDEPRECATED: does not support multiple tags."
    },
    "tags": {
      "type": "array",
      "items": {
        "type": "string",
        "example": [
          "environment:production",
          "aws:ecs:serviceName:frontend"
        ]
      },
      "description": "The tag pairs attached to the cost that was incurred."
    },
    "links": {
      "type": "object"
    },
    "amount": {
      "type": "string",
      "example": "4.25",
      "description": "The amount of the cost."
    },
    "region": {
      "type": "string",
      "example": "us-east-1",
      "description": "The region which incurred the cost."
    },
    "service": {
      "type": "string",
      "example": "Amazon Elastic Compute Cloud - Compute",
      "description": "The service which incurred the cost."
    },
    "currency": {
      "type": "string",
      "example": "USD",
      "description": "The currency of the cost."
    },
    "provider": {
      "enum": [
        "aws",
        "azure",
        "gcp",
        "snowflake",
        "databricks",
        "mongo",
        "datadog",
        "fastly",
        "new_relic",
        "opencost",
        "open_ai",
        "oracle",
        "confluent",
        "planetscale",
        "coralogix",
        "kubernetes"
      ],
      "type": "string",
      "example": "aws",
      "description": "The cost provider which incurred the cost."
    },
    "account_id": {
      "type": "string",
      "example": "9109237192",
      "description": "The cost provider's account id that incurred the cost."
    },
    "accrued_at": {
      "type": "string",
      "example": "2023-09-05+00:00",
      "description": "The date the cost was accrued. ISO 8601 Formatted."
    },
    "resource_id": {
      "type": "string",
      "example": "arn:aws:ec2:us-east-1:123456789012:instance/i-1234567890abcdef0",
      "description": "The resource id which incurred the cost."
    },
    "cost_category": {
      "type": "string",
      "example": "Data Transfer",
      "description": "The category for the cost."
    },
    "cost_subcategory": {
      "type": "string",
      "example": "DataTransfer-Regional-Bytes",
      "description": "The subcategory for the cost."
    },
    "billing_account_id": {
      "type": "string",
      "example": "9109237192",
      "description": "The cost provider's billing account id that incurred the cost."
    }
  }
}
object CostReport
{
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "example": "Production Environment",
      "description": "The title of the CostReport."
    },
    "token": {
      "type": "string"
    },
    "filter": {
      "type": "string",
      "description": "The filter applied to the CostReport. Additional documentation available at https://docs.vantage.sh/vql."
    },
    "settings": {
      "type": "object",
      "properties": {
        "amortize": {
          "type": "boolean",
          "default": true,
          "description": "Report will amortize."
        },
        "include_tax": {
          "type": "boolean",
          "default": true,
          "description": "Report will include tax."
        },
        "unallocated": {
          "type": "boolean",
          "default": false,
          "description": "Report will show unallocated costs."
        },
        "include_credits": {
          "type": "boolean",
          "default": false,
          "description": "Report will include credits."
        },
        "include_refunds": {
          "type": "boolean",
          "default": false,
          "description": "Report will include refunds."
        },
        "include_discounts": {
          "type": "boolean",
          "default": true,
          "description": "Report will include discounts."
        }
      },
      "description": "Report settings."
    },
    "groupings": {
      "type": "string",
      "example": "provider, service",
      "description": "The grouping aggregations applied to the filtered data."
    },
    "created_at": {
      "type": "string",
      "example": "2021-07-09T00:00:00Z",
      "description": "The date and time, in UTC, the report was created. ISO 8601 Formatted."
    },
    "folder_token": {
      "type": "string",
      "description": "The token for the Folder the CostReport is a part of."
    },
    "workspace_token": {
      "type": "string",
      "description": "The token for the Workspace the CostReport is a part of."
    },
    "saved_filter_tokens": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "The tokens for the SavedFilters assigned to the CostReport."
    },
    "business_metric_tokens_with_metadata": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/AttachedBusinessMetricForCostReport"
      },
      "description": "The tokens for the BusinessMetrics assigned to the CostReport, and the unit scale."
    }
  },
  "description": "CostReport model"
}
object CostReports
{
  "type": "object",
  "properties": {
    "links": {
      "type": "object"
    },
    "cost_reports": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CostReport"
      }
    }
  },
  "description": "CostReports model"
}
object Costs
{
  "type": "object",
  "properties": {
    "costs": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Cost"
      }
    },
    "links": {
      "type": "object"
    },
    "total_cost": {
      "type": "string",
      "description": "The sum of all costs for the CostReport for the requested period, rounded to 2 decimal places, alongside the ISO 4217 currency code."
    }
  },
  "description": "Costs model"
}
object Dashboard
{
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "example": "AWS Dashboard",
      "description": "The title of the Dashboard."
    },
    "token": {
      "type": "string",
      "example": "dshbrd_abcd1234567890"
    },
    "date_bin": {
      "enum": [
        "cumulative",
        "day",
        "week",
        "month"
      ],
      "type": "string",
      "description": "Determines how to group costs in the Dashboard."
    },
    "end_date": {
      "type": "string",
      "example": "2023-09-04",
      "description": "The end date for the date range for CostReports in the Dashboard. ISO 8601 Formatted. Overwrites 'date_interval' if set."
    },
    "created_at": {
      "type": "string",
      "example": "2023-08-04T00:00:00Z",
      "description": "The date and time, in UTC, the Dashboard was created. ISO 8601 Formatted."
    },
    "start_date": {
      "type": "string",
      "example": "2023-08-04",
      "description": "The start date for the date range for CostReports in the Dashboard. ISO 8601 Formatted. Overwrites 'date_interval' if set."
    },
    "updated_at": {
      "type": "string",
      "example": "2023-08-04T00:00:00Z",
      "description": "The date and time, in UTC, the Dashboard was created. ISO 8601 Formatted."
    },
    "date_interval": {
      "enum": [
        "this_month",
        "last_7_days",
        "last_30_days",
        "last_month",
        "last_3_months",
        "last_6_months",
        "custom",
        "last_12_months",
        "last_24_months",
        "last_36_months",
        "next_month",
        "next_3_months",
        "next_6_months",
        "next_12_months"
      ],
      "type": "string",
      "description": "Determines the date range in the Dashboard. Guaranteed to be set to 'custom' if 'start_date' and 'end_date' are set."
    },
    "widget_tokens": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "The tokens of the widgets displayed in the Dashboard. Currently only supports CostReport tokens."
    },
    "workspace_token": {
      "type": "string",
      "example": "wrkspc_abcd1234567890",
      "description": "The token for the Workspace the Dashboard is a part of."
    },
    "saved_filter_tokens": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "The tokens of the Saved Filters used in the Dashboard."
    }
  },
  "description": "Dashboard model"
}
object Dashboards
{
  "type": "object",
  "properties": {
    "links": {
      "type": "object"
    },
    "dashboards": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Dashboard"
      }
    }
  },
  "description": "Dashboards model"
}
object Errors
{
  "type": "object",
  "properties": {
    "links": {
      "type": "object"
    },
    "errors": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "description": "Errors model"
}
object FinancialCommitmentReport
{
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "example": "Acme123 Financial Commitment Report",
      "description": "The title of the FinancialCommitmentReport."
    },
    "token": {
      "type": "string"
    },
    "default": {
      "type": "boolean",
      "description": "Indicates whether the FinancialCommitmentReport is the default report."
    },
    "end_date": {
      "type": "string",
      "example": "2024-03-20",
      "description": "The end date for the FinancialCommitmentReport. Only set for custom date ranges. ISO 8601 Formatted."
    },
    "groupings": {
      "type": "string",
      "example": "cost_type, tag:account",
      "description": "The grouping aggregations applied to the filtered data."
    },
    "created_at": {
      "type": "string",
      "example": "2024-03-19T00:00:00Z",
      "description": "The date and time, in UTC, the report was created. ISO 8601 Formatted."
    },
    "start_date": {
      "type": "string",
      "example": "2024-03-01",
      "description": "The start date for the FinancialCommitmentReport. Only set for custom date ranges. ISO 8601 Formatted."
    },
    "user_token": {
      "type": "string",
      "description": "The token for the User who created this FinancialCommitmentReport."
    },
    "date_bucket": {
      "type": "string",
      "example": "month",
      "description": "How costs are grouped and displayed in the FinancialCommitmentReport. Possible values: day, week, month."
    },
    "date_interval": {
      "type": "string",
      "example": "last_month",
      "description": "The date range for the FinancialCommitmentReport. Only present if a custom date range is not specified."
    },
    "workspace_token": {
      "type": "string",
      "description": "The token for the Workspace the FinancialCommitmentReport is a part of."
    },
    "on_demand_costs_scope": {
      "type": "string",
      "example": "discountable",
      "description": "The scope for the costs. Possible values: discountable, all."
    }
  },
  "description": "FinancialCommitmentReport model"
}
object FinancialCommitmentReports
{
  "type": "object",
  "properties": {
    "links": {
      "type": "object"
    },
    "financial_commitment_reports": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/FinancialCommitmentReport"
      }
    }
  },
  "description": "FinancialCommitmentReports model"
}
object Folder
{
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "example": "Platform Team Reports",
      "description": "The title of the Folder."
    },
    "token": {
      "type": "string"
    },
    "created_at": {
      "type": "string",
      "example": "2023-08-04T00:00:00Z",
      "description": "The date and time, in UTC, the Folder was created. ISO 8601 Formatted."
    },
    "updated_at": {
      "type": "string",
      "example": "2023-08-04T00:00:00Z",
      "description": "The date and time, in UTC, the Folder was last updated at. ISO 8601 Formatted."
    },
    "workspace_token": {
      "type": "string",
      "description": "The token for the Workspace the Folder is a part of."
    },
    "parent_folder_token": {
      "type": "string",
      "description": "The token for the parent Folder, if any."
    },
    "saved_filter_tokens": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "The tokens for the SavedFilters assigned to the Folder."
    }
  },
  "description": "Folder model"
}
object Folders
{
  "type": "object",
  "properties": {
    "links": {
      "type": "object"
    },
    "folders": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Folder"
      }
    }
  },
  "description": "Folders model"
}
object KubernetesEfficiencyReport
{
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "example": "Acme123 Kubernetes Efficiency Metrics",
      "description": "The title of the KubernetesEfficiencyReport."
    },
    "token": {
      "type": "string"
    },
    "default": {
      "type": "boolean",
      "description": "Indicates whether the KubernetesEfficiencyReport is the default report."
    },
    "end_date": {
      "type": "string",
      "example": "2024-03-20",
      "description": "The end date for the KubernetesEfficiencyReport. Only set for custom date ranges. ISO 8601 Formatted."
    },
    "groupings": {
      "type": "string",
      "example": "cluster_id, namespace",
      "description": "The grouping aggregations applied to the filtered data."
    },
    "created_at": {
      "type": "string",
      "example": "2024-03-19T00:00:00Z",
      "description": "The date and time, in UTC, the report was created. ISO 8601 Formatted."
    },
    "start_date": {
      "type": "string",
      "example": "2024-03-01",
      "description": "The start date for the KubernetesEfficiencyReport. Only set for custom date ranges. ISO 8601 Formatted."
    },
    "user_token": {
      "type": "string",
      "description": "The token for the User who created this KubernetesEfficiencyReport."
    },
    "date_bucket": {
      "type": "string",
      "example": "month",
      "description": "How costs are grouped and displayed in the KubernetesEfficiencyReport. Possible values: day, week, month."
    },
    "aggregated_by": {
      "type": "string",
      "description": "How costs are aggregated by. Possible values: idle_costs, amount."
    },
    "date_interval": {
      "type": "string",
      "example": "last_month",
      "description": "The date range for the KubernetesEfficiencyReport. Only present if a custom date range is not specified."
    },
    "workspace_token": {
      "type": "string",
      "description": "The token for the Workspace the KubernetesEfficiencyReport is a part of."
    }
  },
  "description": "KubernetesEfficiencyReport model"
}
object KubernetesEfficiencyReports
{
  "type": "object",
  "properties": {
    "links": {
      "type": "object"
    },
    "kubernetes_efficiency_reports": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/KubernetesEfficiencyReport"
      }
    }
  },
  "description": "KubernetesEfficiencyReports model"
}
object Price
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "unit": {
      "type": "string",
      "example": "hour",
      "description": "The unit in which the amount is billed."
    },
    "amount": {
      "type": "number",
      "example": 1.324,
      "description": "The amount of money this specific product price costs."
    },
    "region": {
      "type": "string",
      "example": "us-east-1",
      "description": "The region the price is specific to."
    },
    "details": {
      "type": "object",
      "example": {
        "platform": "linux-enterprise",
        "lifecycle": "on-demand"
      },
      "description": "Service specific metadata."
    },
    "currency": {
      "type": "string",
      "example": "USD",
      "description": "The currency of the amount."
    },
    "rate_type": {
      "type": "string",
      "example": "compute",
      "description": "The part of the product the price applies to. (compute, transfer, etc..)"
    }
  },
  "description": "Price model"
}
object Prices
{
  "type": "object",
  "properties": {
    "links": {
      "type": "object"
    },
    "prices": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Price"
      }
    }
  },
  "description": "Prices model"
}
object Product
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "name": {
      "type": "string",
      "example": "EC2",
      "description": "The common name of the product."
    },
    "details": {
      "type": "object",
      "example": {
        "gpu": 0,
        "name": "M5 General Purpose 16xlarge",
        "vcpu": 64,
        "memory": 256,
        "clock_speed_ghz": 3.1,
        "physical_processor_description": "Intel Xeon Platinum 8175 (Skylake)",
        "network_performance_description": "20 Gigabit"
      },
      "description": "An object of metadata about the product."
    },
    "category": {
      "type": "string",
      "example": "compute",
      "description": "The category of the cloud product"
    },
    "service_id": {
      "type": "string",
      "example": "aws-ec2",
      "description": "A unique slug for the service the product belongs to."
    },
    "provider_id": {
      "type": "string",
      "example": "aws",
      "description": "A unique slug for the provider the product belongs to."
    }
  },
  "description": "Product model"
}
object Products
{
  "type": "object",
  "properties": {
    "links": {
      "type": "object"
    },
    "products": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Product"
      }
    }
  },
  "description": "Products model"
}
object ReportNotification
{
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "example": "Acme Report Notification",
      "description": "The title of the ReportNotification."
    },
    "token": {
      "type": "string"
    },
    "change": {
      "enum": [
        "percentage",
        "dollars"
      ],
      "type": "string",
      "example": "percentage",
      "description": "The type of change the ReportNotification is tracking."
    },
    "frequency": {
      "enum": [
        "daily",
        "weekly",
        "monthly"
      ],
      "type": "string",
      "example": "weekly",
      "description": "The frequency the ReportNotification is sent."
    },
    "user_tokens": {
      "type": "array",
      "items": {
        "type": "string",
        "example": [
          "usr_abcd1234",
          "usr_efgh5678"
        ]
      },
      "description": "The Users that receive the notification."
    },
    "cost_report_token": {
      "type": "string",
      "example": "rprt_abcd1234",
      "description": "The token for a CostReport the ReportNotification is applied to."
    },
    "recipient_channels": {
      "type": "array",
      "items": {
        "type": "string",
        "example": [
          "#notifications-channel"
        ]
      },
      "description": "The Slack or Microsoft Teams channels that receive the notification."
    }
  },
  "description": "ReportNotification model"
}
object ReportNotifications
{
  "type": "object",
  "properties": {
    "links": {
      "type": "object"
    },
    "report_notifications": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ReportNotification"
      }
    }
  },
  "description": "ReportNotifications model"
}
object ResourceReport
{
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "example": "Acme123 Active Resources",
      "description": "The title of the ResourceReport."
    },
    "token": {
      "type": "string"
    },
    "default": {
      "type": "boolean",
      "description": "Indicates whether the ResourceReport is the default report."
    },
    "created_at": {
      "type": "string",
      "example": "2024-03-19T00:00:00Z",
      "description": "The date and time, in UTC, the report was created. ISO 8601 Formatted."
    },
    "user_token": {
      "type": "string",
      "description": "The token for the User who created this ResourceReport."
    },
    "segment_token": {
      "type": "string",
      "description": "The token for the Segment the ResourceReport is a part of."
    },
    "workspace_token": {
      "type": "string",
      "description": "The token for the Workspace the ResourceReport is a part of."
    }
  },
  "description": "ResourceReport model"
}
object ResourceReports
{
  "type": "object",
  "properties": {
    "links": {
      "type": "object"
    },
    "resource_reports": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ResourceReport"
      }
    }
  },
  "description": "ResourceReports model"
}
object SavedFilter
{
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "example": "Platform Team Reports",
      "description": "The title of the SavedFilter."
    },
    "token": {
      "type": "string"
    },
    "filter": {
      "type": "string",
      "example": "costs.provider = 'azure'",
      "description": "The SavedFilter's filter, applied to any relevant CostReports. Additional documentation available at https://docs.vantage.sh/vql."
    },
    "created_at": {
      "type": "string",
      "example": "2023-08-04T00:00:00Z",
      "description": "The date and time, in UTC, the report was created. ISO 8601 Formatted."
    },
    "created_by": {
      "type": "string",
      "description": "The User who created the SavedFilter."
    },
    "workspace_token": {
      "type": "string",
      "description": "The token for the Workspace the SavedFilter is a part of."
    },
    "cost_report_tokens": {
      "type": "array",
      "items": {
        "type": "string",
        "example": [
          "rprt_abcd1234",
          "rprt_efgh5678"
        ]
      },
      "description": "The tokens for any CostReports the SavedFilter is applied to."
    }
  },
  "description": "SavedFilter model"
}
object SavedFilters
{
  "type": "object",
  "properties": {
    "links": {
      "type": "object"
    },
    "saved_filters": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/SavedFilter"
      }
    }
  },
  "description": "SavedFilters model"
}
object Segment
{
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "example": "OPEX",
      "description": "The title of the Segment."
    },
    "token": {
      "type": "string"
    },
    "filter": {
      "type": "string",
      "description": "The filter applied to the Segment. Additional documentation available at https://docs.vantage.sh/vql."
    },
    "priority": {
      "type": "integer",
      "format": "int32",
      "example": 100,
      "description": "Costs are assigned in priority order across all Segments with assigned filters."
    },
    "created_at": {
      "type": "string",
      "example": "2021-07-09T00:00:00Z",
      "description": "The date and time, in UTC, the Segment was created. ISO 8601 Formatted."
    },
    "description": {
      "type": "string",
      "example": "Operating expenses",
      "description": "The description of the Segment."
    },
    "report_settings": {
      "type": "object",
      "properties": {
        "amortize": {
          "type": "boolean"
        },
        "include_tax": {
          "type": "boolean"
        },
        "include_credits": {
          "type": "boolean"
        },
        "include_refunds": {
          "type": "boolean"
        },
        "include_discounts": {
          "type": "boolean"
        }
      },
      "description": "Report settings configurable on top-level Segments."
    },
    "workspace_token": {
      "type": "string",
      "description": "The token for the Workspace the Segment is a part of."
    },
    "track_unallocated": {
      "type": "boolean",
      "example": false,
      "description": "Track Unallocated Costs which are not assigned to any of the created Segments."
    },
    "parent_segment_token": {
      "type": "string",
      "description": "The token of the parent Segment of this Segment."
    }
  },
  "description": "Segment model"
}
object Segments
{
  "type": "object",
  "properties": {
    "links": {
      "type": "object"
    },
    "segments": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Segment"
      }
    }
  },
  "description": "Segments model"
}
object Team
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "example": "Cost Savers",
      "description": "The name of the Team."
    },
    "token": {
      "type": "string"
    },
    "description": {
      "type": "string",
      "example": "The Team that saves costs",
      "description": "The description of the Team."
    },
    "user_emails": {
      "type": "array",
      "items": {
        "type": "string",
        "example": [
          "wileycoyote@acme.com",
          "roadrunner@acme.com"
        ]
      },
      "description": "The email addresses for Users that belong to the Team"
    },
    "user_tokens": {
      "type": "array",
      "items": {
        "type": "string",
        "example": [
          "usr_abcd1234",
          "usr_efgh5678"
        ]
      },
      "description": "The tokens for Users that belong to the Team"
    },
    "workspace_tokens": {
      "type": "array",
      "items": {
        "type": "string",
        "example": [
          "wrkspc_abcd1234",
          "wrkspc_efgh5678"
        ]
      },
      "description": "The tokens for any Workspaces that the Team belongs to"
    }
  },
  "description": "Team model"
}
object Teams
{
  "type": "object",
  "properties": {
    "links": {
      "type": "object"
    },
    "teams": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Team"
      }
    }
  },
  "description": "Teams model"
}
object User
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "example": "John Doe",
      "description": "The name of the User."
    },
    "role": {
      "type": "string",
      "example": "Admin",
      "description": "The role of the User."
    },
    "email": {
      "type": "string",
      "example": "john_doe@acme.com",
      "description": "The email of the User."
    },
    "token": {
      "type": "string"
    }
  },
  "description": "User model"
}
object Users
{
  "type": "object",
  "properties": {
    "links": {
      "type": "object"
    },
    "users": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/User"
      }
    }
  },
  "description": "Users model"
}
object VirtualTagConfig
{
  "type": "object",
  "properties": {
    "key": {
      "type": "string",
      "example": "Cost Center",
      "description": "The key of the VirtualTagConfig."
    },
    "token": {
      "type": "string",
      "example": "vtag_1234",
      "description": "The token of the VirtualTagConfig."
    },
    "values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/VirtualTagConfigValue"
      },
      "description": "Values for the VirtualTagConfig, with match precedence determined by their relative order in the list."
    },
    "overridable": {
      "type": "boolean",
      "description": "Whether the VirtualTagConfig can override a provider-supplied tag on a matching Cost."
    },
    "backfill_until": {
      "type": "string",
      "example": "2023-10-01",
      "description": "The earliest month VirtualTagConfig should be backfilled to."
    },
    "created_by_token": {
      "type": "string",
      "example": "usr_1234",
      "description": "The token of the User who created the VirtualTagConfig."
    }
  },
  "description": "VirtualTagConfig model"
}