{"openapi":"3.0.1","info":{"title":"Vantage","description":"Vantage API","termsOfService":"https://www.vantage.sh/terms-of-use","contact":{"name":"Vantage Support","url":"https://www.vantage.sh","email":"support@vantage.sh"},"version":"2.0.0"},"servers":[{"url":"https://api.vantage.sh/v2"}],"security":[{"oauth2":["read"]}],"tags":[{"name":"AccessGrants","description":"Operations about AccessGrants"},{"name":"AnomalyAlerts","description":"Operations about AnomalyAlerts"},{"name":"AnomalyNotifications","description":"Operations about AnomalyNotifications"},{"name":"AuditLogs","description":"Operations about AuditLogs"},{"name":"BillingProfiles","description":"Operations about BillingProfiles"},{"name":"BillingRules","description":"Operations about BillingRules"},{"name":"BudgetAlerts","description":"Operations about BudgetAlerts"},{"name":"Budgets","description":"Operations about Budgets"},{"name":"BusinessMetrics","description":"Operations about BusinessMetrics"},{"name":"CostAlertEvents","description":"Operations about CostAlertEvents"},{"name":"CostAlerts","description":"Operations about CostAlerts"},{"name":"CostProviderAccounts","description":"Operations about CostProviderAccounts"},{"name":"Costs","description":"Operations about Costs"},{"name":"Dashboards","description":"Operations about Dashboards"},{"name":"DataExports","description":"Operations about DataExports"},{"name":"ExchangeRates","description":"Operations about ExchangeRates"},{"name":"FinancialCommitmentReports","description":"Operations about FinancialCommitmentReports"},{"name":"FinancialCommitments","description":"Operations about FinancialCommitments"},{"name":"Folders","description":"Operations about Folders"},{"name":"Integrations","description":"Operations about Integrations"},{"name":"Invoices","description":"Operations about Invoices"},{"name":"KubernetesEfficiencyReports","description":"Operations about KubernetesEfficiencyReports"},{"name":"ManagedAccounts","description":"Operations about ManagedAccounts"},{"name":"Me","description":"Operations about Mes"},{"name":"CostProvider","description":"Operations about CostProviders"},{"name":"CostService","description":"Operations about CostServices"},{"name":"UserFeedback","description":"Operations about UserFeedbacks"},{"name":"NetworkFlowReports","description":"Operations about NetworkFlowReports"},{"name":"Prices","description":"Operations about Prices"},{"name":"Recommendations","description":"Operations about Recommendations"},{"name":"RecommendationViews","description":"Operations about RecommendationViews"},{"name":"ReportNotifications","description":"Operations about ReportNotifications"},{"name":"ResourceReports","description":"Operations about ResourceReports"},{"name":"Resources","description":"Operations about Resources"},{"name":"SavedFilters","description":"Operations about SavedFilters"},{"name":"Segments","description":"Operations about Segments"},{"name":"Tags","description":"Operations about Tags"},{"name":"Teams","description":"Operations about Teams"},{"name":"UnitCosts","description":"Operations about UnitCosts"},{"name":"Users","description":"Operations about Users"},{"name":"VirtualTags","description":"Operations about VirtualTags"},{"name":"Workspaces","description":"Operations about Workspaces"},{"name":"Ping","description":"Operations about Pings"},{"name":"OpenAPISpecification","description":"Operations about OpenAPISpecifications"}],"paths":{"/access_grants":{"get":{"tags":["AccessGrants"],"summary":"Get all access grants","description":"Return all Access Grants that the current API token has access to.","operationId":"getAccessGrants","parameters":[{"name":"page","in":"query","description":"The page of results to return.","schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","description":"The amount of results to return. The maximum is 1000.","schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessGrants"},"example":{"links":{"self":"https://api.vantage.sh/v2/access_grants","first":"https://api.vantage.sh/v2/access_grants?page=1","next":null,"last":"https://api.vantage.sh/v2/access_grants?page=1","prev":null},"access_grants":[{"token":"rsrc_accss_grnt_c40f15062b6d5c37","resource_token":"rprt_5a269d316483b01c","access":"denied","team_token":"team_fd5c524ba104712b","created_at":"2024-01-18T17:39:37Z","created_by":"usr_eb8ce6bdc1fa31d5"},{"token":"rsrc_accss_grnt_9723e984e93d8907","resource_token":"dshbrd_a08561ec24875ac9","access":"allowed","team_token":"team_fd5c524ba104712b","created_at":"2024-01-18T17:39:37Z","created_by":"usr_eb8ce6bdc1fa31d5"},{"token":"rsrc_accss_grnt_eee5c4fd777d4dc8","resource_token":"fldr_9d4ad1a769131c58","access":"allowed","team_token":"team_fd5c524ba104712b","created_at":"2024-01-18T17:39:38Z","created_by":"usr_eb8ce6bdc1fa31d5"}]}}}}},"security":[{"oauth2":["read"]}]},"post":{"tags":["AccessGrants"],"summary":"Create access grant","description":"Create an Access Grant.","operationId":"createAccessGrant","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createAccessGrant"}}},"required":true},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessGrant"},"example":{"token":"rsrc_accss_grnt_9f8aeb3cedda3831","resource_token":"rprt_3b935d26cba36fb0","access":"denied","team_token":"team_26865e16e46028ae","created_at":"2024-01-18T17:39:37Z","created_by":"usr_2fc38883da3726b9"}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"422":{"description":"UnprocessableEntity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"406":{"description":"NotAcceptable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}],"x-codegen-request-body-name":"createAccessGrant"}},"/access_grants/{access_grant_token}":{"get":{"tags":["AccessGrants"],"summary":"Get access grant by token","description":"Return a specific Access Grant.","operationId":"getAccessGrant","parameters":[{"name":"access_grant_token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessGrant"},"example":{"token":"rsrc_accss_grnt_07ed83a5069b91c4","resource_token":"rprt_b8df14aa8a4ad5c7","access":"denied","team_token":"team_14bd13a8bccb8406","created_at":"2024-01-18T17:39:36Z","created_by":"usr_0e1cb254743b26cb"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["read"]}]},"put":{"tags":["AccessGrants"],"summary":"Update access grant","description":"Update an AccessGrant.","operationId":"updateAccessGrant","parameters":[{"name":"access_grant_token","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/updateAccessGrant"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessGrant"},"example":{"token":"rsrc_accss_grnt_eea11f0d35318b0d","resource_token":"rprt_e84d7760ab2dd7dc","access":"allowed","team_token":"team_25fc4aa890869602","created_at":"2024-01-18T17:39:36Z","created_by":"usr_57ed2fa2a7b30166"}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}],"x-codegen-request-body-name":"updateAccessGrant"},"delete":{"tags":["AccessGrants"],"summary":"Delete access grant","description":"Delete an Access Grant.","operationId":"deleteAccessGrant","parameters":[{"name":"access_grant_token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessGrant"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}]}},"/anomaly_alerts":{"get":{"tags":["AnomalyAlerts"],"summary":"Get all anomaly alerts","description":"Return all Anomaly Alerts that the current API token has access to.","operationId":"getAnomalyAlerts","parameters":[{"name":"page","in":"query","description":"The page of results to return.","schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","description":"The amount of results to return. The maximum is 1000.","schema":{"type":"integer","format":"int32"}},{"name":"start_date","in":"query","description":"The start date of the anomalies to return. ISO 8601 formatted.","schema":{"type":"string","format":"date-time"}},{"name":"end_date","in":"query","description":"The end date of the anomalies to return. ISO 8601 formatted.","schema":{"type":"string","format":"date-time"}},{"name":"provider","in":"query","description":"The provider of the anomalies to return.","schema":{"type":"string"}},{"name":"service","in":"query","description":"The service of the anomalies to return.","schema":{"type":"string"}},{"name":"cost_category","in":"query","description":"The cost category of the anomalies to return.","schema":{"type":"string"}},{"name":"cost_report_token","in":"query","description":"The cost report token of the anomalies to return.","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnomalyAlerts"},"example":{"links":{"self":"https://api.vantage.sh/v2/anomaly_alerts","first":"https://api.vantage.sh/v2/anomaly_alerts?page=1","next":null,"last":"https://api.vantage.sh/v2/anomaly_alerts?page=1","prev":null},"anomaly_alerts":[{"token":"anmly_alrt_e1fb8184ecdf129d","created_at":"2024-04-01T17:14:45Z","alerted_at":"2024-04-01T17:14:45Z","category":"Compute","service":"AmazonEKS","provider":"aws","amount":"100.0","previous_amount":"25.0","seven_day_average":"10.0","status":"active","feedback":null,"resources":["production-cluster"],"resource_tokens":["rsrc_abcd1234efgh5678"],"cost_report_token":"rprt_3d541a4c5160711f"}]}}}}},"security":[{"oauth2":["read"]}]}},"/anomaly_alerts/{anomaly_alert_token}":{"get":{"tags":["AnomalyAlerts"],"summary":"Get anomaly alert by token","description":"Return an AnomalyAlert that the current API token has access to.","operationId":"getAnomalyAlert","parameters":[{"name":"anomaly_alert_token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnomalyAlert"},"example":{"token":"anmly_alrt_6056b98225236ece","created_at":"2024-04-01T17:14:45Z","alerted_at":"2024-04-01T17:14:45Z","category":"Compute","service":"AmazonEKS","provider":"aws","amount":"100.0","previous_amount":"25.0","seven_day_average":"10.0","status":"active","feedback":null,"resources":["production-cluster"],"resource_tokens":["rsrc_abcd1234efgh5678"],"cost_report_token":"rprt_bf0a30084fbf52c2"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["read"]}]},"put":{"tags":["AnomalyAlerts"],"summary":"Update anomaly alert","description":"Update an AnomalyAlert.","operationId":"updateAnomalyAlert","parameters":[{"name":"anomaly_alert_token","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/updateAnomalyAlert"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnomalyAlert"},"example":{"token":"anmly_alrt_51a2ce4137305fc6","created_at":"2024-04-01T17:14:46Z","alerted_at":"2024-04-01T17:14:46Z","category":"Compute","service":"AmazonEKS","provider":"aws","amount":"100.0","previous_amount":"25.0","seven_day_average":"10.0","status":"archived","feedback":"this stinks","cost_report_token":"rprt_57912c584fdf88f4"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"422":{"description":"UnprocessableEntity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}],"x-codegen-request-body-name":"updateAnomalyAlert"}},"/anomaly_notifications":{"get":{"tags":["AnomalyNotifications"],"summary":"Get all anomaly notifications","description":"Return all Anomaly Notifications.","operationId":"getAnomalyNotifications","parameters":[{"name":"page","in":"query","description":"The page of results to return.","schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","description":"The amount of results to return. The maximum is 1000.","schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnomalyNotifications"},"example":{"links":{"self":"https://api.vantage.sh/v2/anomaly_notifications","first":"https://api.vantage.sh/v2/anomaly_notifications?page=1","next":null,"last":"https://api.vantage.sh/v2/anomaly_notifications?page=1","prev":null},"anomaly_notifications":[{"token":"rprt_alrt_ecb76d8d2825762f","cost_report_token":"rprt_45fe4d4c1779ce7e","created_at":"2024-04-09T15:05:37Z","updated_at":"2024-04-09T15:05:37Z","threshold":10,"user_tokens":["usr_13477ee1b1eb81ba"],"recipient_channels":[]}]}}}}},"security":[{"oauth2":["read"]}]},"post":{"tags":["AnomalyNotifications"],"summary":"Create anomaly notification","description":"Create an Anomaly Notification for a Cost Report.","operationId":"createAnomalyNotification","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createAnomalyNotification"}}},"required":true},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnomalyNotification"},"example":{"token":"rprt_alrt_9b22edfa0a175609","cost_report_token":"rprt_4c9e5f72ae27bc24","created_at":"2024-04-09T15:05:37Z","updated_at":"2024-04-09T15:05:37Z","threshold":1,"user_tokens":["usr_3773d590e84f6f12"],"recipient_channels":["channel1","channel2"]}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}],"x-codegen-request-body-name":"createAnomalyNotification"}},"/anomaly_notifications/{anomaly_notification_token}":{"get":{"tags":["AnomalyNotifications"],"summary":"Get anomaly notification by token","description":"Return an Anomaly Notification that the current API token has access to.","operationId":"getAnomalyNotification","parameters":[{"name":"anomaly_notification_token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnomalyNotification"},"example":{"token":"rprt_alrt_5af901100951705b","cost_report_token":"rprt_0d88354748562c26","created_at":"2024-04-09T15:05:37Z","updated_at":"2024-04-09T15:05:37Z","threshold":10,"user_tokens":["usr_e163fcb7aeb41f3b"],"recipient_channels":[]}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["read"]}]},"put":{"tags":["AnomalyNotifications"],"summary":"Update anomaly notification","description":"Update an Anomaly Notification.","operationId":"updateAnomalyNotification","parameters":[{"name":"anomaly_notification_token","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/updateAnomalyNotification"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnomalyNotification"},"example":{"token":"rprt_alrt_15da34156dca939d","cost_report_token":"rprt_82320a9c1a608f0f","created_at":"2024-04-09T15:05:37Z","updated_at":"2024-04-09T15:05:37Z","threshold":2,"user_tokens":["usr_dff5de2b6aecf042"],"recipient_channels":["channel3","channel4"]}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}],"x-codegen-request-body-name":"updateAnomalyNotification"},"delete":{"tags":["AnomalyNotifications"],"summary":"Delete anomaly notification","description":"Delete an Anomaly Notification.","operationId":"deleteAnomalyNotification","parameters":[{"name":"anomaly_notification_token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnomalyNotification"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}]}},"/audit_logs":{"get":{"tags":["AuditLogs"],"summary":"Get all audit logs","description":"Return all AuditLogs.","operationId":"getAuditLogs","parameters":[{"name":"page","in":"query","description":"The page of results to return.","schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","description":"The amount of results to return. The maximum is 1000.","schema":{"type":"integer","format":"int32"}},{"name":"user","in":"query","description":"Filter by personal or service API token that performed the action.","schema":{"type":"integer","format":"int32"}},{"name":"workspace_token","in":"query","description":"Filter by workspace token.","schema":{"type":"string"}},{"name":"action","in":"query","description":"Filter by action type.","schema":{"type":"string","enum":["create","update","delete"]}},{"name":"object_name","in":"query","description":"Filter by object name.","schema":{"type":"string"}},{"name":"source","in":"query","description":"Filter by source.","schema":{"type":"string","enum":["console","api","finops_agent"]}},{"name":"object_type","in":"query","description":"Filter by object type.","schema":{"type":"string","enum":["virtual_tag","cost_report","recommendation_commitment","segment"]}},{"name":"token","in":"query","description":"Filter by audit log token.","schema":{"type":"string"}},{"name":"object_token","in":"query","description":"Filter by object token (auditable_token).","schema":{"type":"string"}},{"name":"start_date","in":"query","description":"Filter by start date (ISO 8601 format, e.g., 2024-06-01).","schema":{"type":"string","format":"date"}},{"name":"end_date","in":"query","description":"Filter by end date (ISO 8601 format, e.g., 2024-06-01).","schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuditLogs"},"example":{"audit_logs":[{"token":"adt_lg_1234567890abcdef","object_token":"rpt_1234567890abcdef","object_type":"Report","object_title":"Production Cost Report","event":"record_updated","source":"api","user":"Example User","workspace_title":"Production Workspace","workspace_token":"wrkspc_5df510e54a48a137","created_at":"2025-07-01T14:30:00Z","object_changes":{"title":["Old Production Report","Production Cost Report"],"updated_at":["2025-06-15T10:00:00Z","2025-07-01T14:30:00Z"]}},{"token":"adt_lg_0987654321fedcba","object_token":"rpt_0987654321fedcba","object_type":"Report","object_title":"Development Cost Report","event":"record_created","source":"console","user":"Example User","workspace_title":"Production Workspace","workspace_token":"wrkspc_5df510e54a48a137","created_at":"2025-06-25T09:15:00Z","object_changes":{"key":[null,"api-created-tag-1755150452"],"token":[null,"vtag_0497e0c2b571a71d"],"backfill_until":[null,"2025-08-01T00:00:00.000Z"],"created_by_type":["User","Team"],"referenced_tag_keys_by_provider":["{}","{\"aws\":[]}"],"account":[null,"Test Account"],"created_by":[null,"Example User"]}},{"token":"adt_lg_abcdef1234567890","object_token":"bgt_abcdef1234567890","object_type":"Budget","object_title":"Q3 Marketing Budget","event":"record_destroyed","source":"api","user":"Admin User","workspace_title":"Production Workspace","workspace_token":"wrkspc_5df510e54a48a137","created_at":"2025-06-20T16:45:00Z","object_changes":{"title":["test_1","test_1_updated"]}}],"_links":{"self":"/v2/audit_logs?page=1\u0026limit=25","first":"/v2/audit_logs?page=1\u0026limit=25","next":"/v2/audit_logs?page=2\u0026limit=25","last":"/v2/audit_logs?page=10\u0026limit=25","prev":null},"_meta":{"total_count":248,"per_page":25,"page":1}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["read"]}]}},"/audit_logs/{audit_log_token}":{"get":{"tags":["AuditLogs"],"summary":"Get audit log by token","description":"Return a specific AuditLog.","operationId":"getAuditLog","parameters":[{"name":"audit_log_token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuditLog"},"example":{"token":"adt_lg_1234567890abcdef","object_token":"rpt_1234567890abcdef","object_type":"Report","object_title":"Production Cost Report","event":"record_updated","source":"api","user":"Example User","workspace_title":"Production Workspace","workspace_token":"wrkspc_5df510e54a48a137","created_at":"2025-07-01T14:30:00Z","object_changes":{"title":["Old Production Report","Production Cost Report"],"updated_at":["2025-06-15T10:00:00Z","2025-07-01T14:30:00Z"]}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["read"]}]}},"/billing_profiles":{"get":{"tags":["BillingProfiles"],"summary":"Get all billing profiles","description":"Returns a list of billing profiles (MSP invoicing required).","operationId":"getBillingProfiles","parameters":[{"name":"page","in":"query","description":"The page of results to return.","schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","description":"The amount of results to return. The maximum is 1000.","schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingProfiles"}}}}},"security":[{"oauth2":["read"]}]},"post":{"tags":["BillingProfiles"],"summary":"Create billing profile","description":"Create a billing profile (MSP invoicing required).","operationId":"createBillingProfile","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createBillingProfile"}}},"required":true},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingProfile"}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}],"x-codegen-request-body-name":"createBillingProfile"}},"/billing_profiles/{billing_profile_token}":{"get":{"tags":["BillingProfiles"],"summary":"Get billing profile by token","description":"Requires MSP invoicing to be enabled on the account.","operationId":"getBillingProfile","parameters":[{"name":"billing_profile_token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingProfile"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["read"]}]},"put":{"tags":["BillingProfiles"],"summary":"Update billing profile","description":"Requires MSP invoicing to be enabled on the account.","operationId":"updateBillingProfile","parameters":[{"name":"billing_profile_token","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/updateBillingProfile"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingProfile"}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}],"x-codegen-request-body-name":"updateBillingProfile"},"delete":{"tags":["BillingProfiles"],"summary":"Delete billing profile","description":"Requires MSP invoicing to be enabled on the account.","operationId":"deleteBillingProfile","parameters":[{"name":"billing_profile_token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Billing Profile deleted successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingProfile"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}]}},"/billing_rules":{"get":{"tags":["BillingRules"],"summary":"Get all billing rules","description":"Returns a list of billing rules.","operationId":"getBillingRules","parameters":[{"name":"page","in":"query","description":"The page of results to return.","schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","description":"The amount of results to return. The maximum is 1000.","schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingRules"},"example":{"links":{"self":"https://api.vantage.sh/v2/billing_rules","first":"https://api.vantage.sh/v2/billing_rules?page=1","next":null,"last":"https://api.vantage.sh/v2/billing_rules?page=1","prev":null},"billing_rules":[{"token":"bllng_rule_ac6852c686e265a1","title":"Exclude Reserved Instance Fees","type":"Exclusion","created_by_token":"usr_018532419bd2e1da","created_at":"2024-07-02T15:26:51Z","charge_type":"Reserved Instance Fees"}]}}}}},"security":[{"oauth2":["read"]}]},"post":{"tags":["BillingRules"],"summary":"Create billing rule","description":"Create a BillingRule.","operationId":"createBillingRule","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createBillingRule"}}},"required":true},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingRule"},"example":{"token":"bllng_rule_9cc9eab6bb73266b","title":"Credit for Data Transfer","type":"Credit","created_by_token":"usr_ae0b14f6c9108edc","created_at":"2024-07-02T15:26:52Z","service":"Amazon S3","category":"Data Transfer","sub_category":"Outbound","start_period":"2024-05-01","amount":"300.0"}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}],"x-codegen-request-body-name":"createBillingRule"}},"/billing_rules/{billing_rule_token}":{"get":{"tags":["BillingRules"],"summary":"Get billing rule by token","description":"Return a BillingRule.","operationId":"getBillingRule","parameters":[{"name":"billing_rule_token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingRule"},"example":{"token":"bllng_rule_a2708f17b2d3fb0e","title":"Exclude Reserved Instance Fees","type":"Exclusion","created_by_token":"usr_d253a52c80171514","created_at":"2024-07-02T15:26:50Z","charge_type":"Reserved Instance Fees"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["read"]}]},"put":{"tags":["BillingRules"],"summary":"Update billing rule","description":"Update a BillingRule.","operationId":"updateBillingRule","parameters":[{"name":"billing_rule_token","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/updateBillingRule"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingRule"},"example":{"token":"bllng_rule_16c2d217f026d23e","title":"Updated Adjustment","type":"Adjustment","created_by_token":"usr_cef510966067477f","created_at":"2024-07-02T15:26:52Z","service":"Amazon S3","category":"Data Transfer","adjusted_rate":"0.85"}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}],"x-codegen-request-body-name":"updateBillingRule"},"delete":{"tags":["BillingRules"],"summary":"Delete billing rule","description":"Delete a BillingRule.","operationId":"deleteBillingRule","parameters":[{"name":"billing_rule_token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingRule"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}]}},"/budget_alerts":{"get":{"tags":["BudgetAlerts"],"summary":"Get all budget alerts","description":"Return all BudgetAlerts.","operationId":"getBudgetAlerts","parameters":[{"name":"page","in":"query","description":"The page of results to return.","schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","description":"The number of results to return. The maximum is 1000.","schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BudgetAlerts"}}}}},"security":[{"oauth2":["read"]}]},"post":{"tags":["BudgetAlerts"],"summary":"Create budget alert","description":"Create a Budget Alert.","operationId":"createBudgetAlert","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createBudgetAlert"}}},"required":true},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BudgetAlert"}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}],"x-codegen-request-body-name":"createBudgetAlert"}},"/budget_alerts/{budget_alert_token}":{"get":{"tags":["BudgetAlerts"],"summary":"Get budget alert by token","description":"Return a BudgetAlert.","operationId":"getBudgetAlert","parameters":[{"name":"budget_alert_token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BudgetAlert"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["read"]}]},"put":{"tags":["BudgetAlerts"],"summary":"Update budget alert","description":"Updates an existing BudgetAlert.","operationId":"updateBudgetAlert","parameters":[{"name":"budget_alert_token","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/updateBudgetAlert"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BudgetAlert"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}],"x-codegen-request-body-name":"updateBudgetAlert"},"delete":{"tags":["BudgetAlerts"],"summary":"Delete budget alert","description":"Delete a BudgetAlert.","operationId":"deleteBudgetAlert","parameters":[{"name":"budget_alert_token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BudgetAlert"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}]}},"/budgets":{"get":{"tags":["Budgets"],"summary":"Get all budgets","description":"Return all Budgets.","operationId":"getBudgets","parameters":[{"name":"page","in":"query","description":"The page of results to return.","schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","description":"The number of results to return. The maximum is 1000.","schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Budgets"},"example":{"links":{"self":"https://api.vantage.sh/v2/budgets","first":"https://api.vantage.sh/v2/budgets?page=1","next":null,"last":"https://api.vantage.sh/v2/budgets?page=1","prev":null},"budgets":[{"token":"bdgt_0d825e79a0682cc2","name":"database","workspace_token":"wrkspc_226ab053bd01bb2b","user_token":"usr_8e44c17792242852","created_by_token":"usr_8e44c17792242852","cost_report_token":"rprt_92062240b4ffda91","created_at":"2024-07-11T20:22:49Z","budget_alert_tokens":[],"periods":[{"start_at":"2024-07-01","end_at":"2024-09-30","amount":"10000.0"}],"performance":[{"date":"July, 2024","actual":"-100%","amount":"10000.0"}]}]}}}}},"security":[{"oauth2":["read"]}]},"post":{"tags":["Budgets"],"summary":"Create budget","description":"Create a Budget.","operationId":"createBudget","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createBudget"}}},"required":true},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Budget"},"example":{"token":"bdgt_ea1eaec89d553e34","name":"New Budget Name","workspace_token":"wrkspc_b83e21368ee5fd9d","user_token":null,"created_by_token":"team_aea2488160e90528","cost_report_token":null,"created_at":"2024-07-11T20:22:52Z","budget_alert_tokens":[],"periods":[{"start_at":"2024-01-01","end_at":"2024-01-31","amount":"100.0"},{"start_at":"2024-02-01","end_at":"2024-02-29","amount":"200.0"},{"start_at":"2024-03-01","end_at":"2024-04-30","amount":"300.0"}],"performance":[{"date":"April, 2024","actual":"0%","amount":"300.0"},{"date":"March, 2024","actual":"0%","amount":"300.0"},{"date":"February, 2024","actual":"0%","amount":"200.0"},{"date":"January, 2024","actual":"0%","amount":"100.0"}]}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"422":{"description":"UnprocessableEntity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}],"x-codegen-request-body-name":"createBudget"}},"/budgets/{budget_token}":{"get":{"tags":["Budgets"],"summary":"Get budget by token","description":"Return a Budget.","operationId":"getBudget","parameters":[{"name":"include_performance","in":"query","description":"Include performance data.","schema":{"type":"boolean"}},{"name":"budget_token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Budget"},"example":{"token":"bdgt_24068dbacaaad7fb","name":"Total","workspace_token":"wrkspc_545a937d68541448","user_token":"usr_470d15b368844366","created_by_token":"usr_470d15b368844366","cost_report_token":"rprt_9ee9f29893956951","created_at":"2024-07-11T20:22:41Z","budget_alert_tokens":[],"periods":[{"start_at":"2024-07-01","end_at":"2024-09-30","amount":"10000.0"}],"performance":[{"date":"July, 2024","actual":"-100%","amount":"10000.0"}]}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["read"]}]},"put":{"tags":["Budgets"],"summary":"Update budget","description":"Update a Budget.","operationId":"updateBudget","parameters":[{"name":"budget_token","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/updateBudget"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Budget"},"example":{"token":"bdgt_39ce7f848dff6d54","name":"New Name New Budget Who Dis","workspace_token":"wrkspc_949771e4fb8d7bfe","user_token":"usr_9b375256090d0fda","created_by_token":"usr_9b375256090d0fda","cost_report_token":"rprt_07325bc3667263b7","created_at":"2024-07-11T20:22:48Z","budget_alert_tokens":[],"periods":[{"start_at":"2023-01-01","end_at":"2023-01-31","amount":"234.0"},{"start_at":"2024-01-01","end_at":"2024-01-31","amount":"123.0"},{"start_at":"2024-07-01","end_at":"2024-09-30","amount":"10000.0"}],"performance":[{"date":"July, 2024","actual":"-100%","amount":"10000.0"},null,null,null,null,null,{"date":"January, 2024","actual":"-100%","amount":"123.0"},null,null,null,null,null,null,null,null,null,null,null,{"date":"January, 2023","actual":"1224%","amount":"234.0"}]}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}],"x-codegen-request-body-name":"updateBudget"},"delete":{"tags":["Budgets"],"summary":"Delete budget","description":"Delete a Budget.","operationId":"deleteBudget","parameters":[{"name":"budget_token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Budget"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}]}},"/business_metrics":{"get":{"tags":["BusinessMetrics"],"summary":"Get all business metrics","description":"Return all BusinessMetrics that the current API token has access to.","operationId":"getBusinessMetrics","parameters":[{"name":"page","in":"query","description":"The page of results to return.","schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","description":"The amount of results to return. The maximum is 1000.","schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BusinessMetrics"},"example":{"business_metrics":[{"token":"bsnss_mtrc_124dc3483510ac35","title":"Business Metric","created_by_token":"usr_80447a58ff9821dd","cost_report_tokens_with_metadata":[],"import_type":"csv","integration_token":""},{"token":"bsnss_mtrc_2534c89d90b714f7","title":"AWS Metric","created_by_token":"usr_752202a1bb7c9a70","cost_report_tokens_with_metadata":[],"import_type":"cloudwatch","integration_token":"accss_crdntl_742fd1207f8b6816","cloudwatch_fields":{"stat":"Maximum","region":"us-east-1","namespace":"AWS/EC2","metric_name":"CPUUtilization","dimensions":[{"name":"InstanceId","value":"i-06105d0faad66r97"}],"label_dimension":null}},{"token":"bsnss_mtrc_c11f0f8dea953e92","title":"Datadog Metric","created_by_token":"usr_604fcaa892a23fe9","cost_report_tokens_with_metadata":[],"import_type":"datadog_metrics","integration_token":"accss_crdntl_e0e11192748e69bb","datadog_metric_fields":{"query":"avg:system.cpu.user{*}.rollup(avg, daily)"}}]}}}}},"security":[{"oauth2":["read"]}]},"post":{"tags":["BusinessMetrics"],"summary":"Create business metric","description":"Create a new BusinessMetric.","operationId":"createBusinessMetric","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createBusinessMetric"}}},"required":true},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BusinessMetric"},"example":{"token":"bsnss_mtrc_e8d0a6f35c9f4e8c","title":"New Biz Metric","created_by_token":"usr_464e70f8e230fa62","cost_report_tokens_with_metadata":[{"cost_report_token":"rprt_67a1e1ac3bb7cefd","unit_scale":"per_thousand","label_filter":["Dev","Prod","Staging",""]}],"import_type":"csv","integration_token":""}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"422":{"description":"UnprocessableEntity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}],"x-codegen-request-body-name":"createBusinessMetric"}},"/business_metrics/{business_metric_token}":{"get":{"tags":["BusinessMetrics"],"summary":"Get business metric by token","description":"Return a BusinessMetric.","operationId":"getBusinessMetric","parameters":[{"name":"business_metric_token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BusinessMetric"},"example":{"token":"bsnss_mtrc_6d8f14830f9870ac","title":"Quo Lux","created_by_token":"usr_622d8870faf147bb","cost_report_tokens_with_metadata":[],"import_type":"csv","integration_token":""}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["read"]}]},"put":{"tags":["BusinessMetrics"],"summary":"Update business metric","description":"Updates an existing BusinessMetric.","operationId":"updateBusinessMetric","parameters":[{"name":"business_metric_token","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/updateBusinessMetric"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BusinessMetric"},"example":{"token":"bsnss_mtrc_e3d9bf77f276d23b","title":"New Title","created_by_token":"usr_1e4b6318373f5c98","cost_report_tokens_with_metadata":[{"cost_report_token":"rprt_54aa7c0519d3f1e2","unit_scale":"per_thousand","label_filter":["Dev","Prod","Staging",""]},{"cost_report_token":"rprt_201403b36022766a","unit_scale":"per_million"}],"import_type":"csv","integration_token":""}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"422":{"description":"UnprocessableEntity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}],"x-codegen-request-body-name":"updateBusinessMetric"},"delete":{"tags":["BusinessMetrics"],"summary":"Delete business metric","description":"Deletes an existing BusinessMetric.","operationId":"deleteBusinessMetric","parameters":[{"name":"business_metric_token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BusinessMetric"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}]}},"/business_metrics/{business_metric_token}/values":{"get":{"tags":["BusinessMetrics"],"summary":"Get business metric values","description":"Return values of a BusinessMetric","operationId":"getBusinessMetricValues","parameters":[{"name":"page","in":"query","description":"The page of results to return.","schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","description":"The amount of results to return. The maximum is 1000.","schema":{"type":"integer","format":"int32"}},{"name":"start_date","in":"query","description":"Query BusinessMetrics by the first date you would like to filter from. ISO 8601 Formatted - 2021-07-15","schema":{"type":"string","format":"date"}},{"name":"business_metric_token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BusinessMetricValues"},"example":{"values":[{"date":"2024-01-03T00:00:00Z","amount":"300.0"},{"date":"2024-01-02T00:00:00Z","amount":"200.0"},{"date":"2024-01-01T00:00:00Z","amount":"100.0"}]}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["read"]}]}},"/business_metrics/{business_metric_token}/forecasted_values":{"get":{"tags":["BusinessMetrics"],"summary":"Get business metric forecasted values","description":"Return forecasted values of a BusinessMetric","operationId":"getBusinessMetricForecastedValues","parameters":[{"name":"page","in":"query","description":"The page of results to return.","schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","description":"The amount of results to return. The maximum is 1000.","schema":{"type":"integer","format":"int32"}},{"name":"start_date","in":"query","description":"Query BusinessMetrics by the first date you would like to filter from. ISO 8601 Formatted - 2021-07-15","schema":{"type":"string","format":"date"}},{"name":"business_metric_token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BusinessMetricValues"},"example":{"values":[{"date":"2025-01-03T00:00:00Z","amount":"300.0"},{"date":"2025-01-02T00:00:00Z","amount":"200.0"},{"date":"2025-01-01T00:00:00Z","amount":"100.0"}]}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["read"]}]}},"/business_metrics/{business_metric_token}/values.csv":{"put":{"tags":["BusinessMetrics"],"summary":"Update business metric values from CSV","description":"Updates the values for an existing BusinessMetric from a CSV file.","operationId":"updateBusinessMetricValuesCSV","parameters":[{"name":"business_metric_token","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"required":["csv"],"type":"object","properties":{"csv":{"type":"string","description":"CSV file containing BusinessMetric dates and amounts","format":"binary"},"forecasted":{"type":"boolean","description":"When true, imports values as forecasted metrics instead of historical metrics.","default":false}}}},"multipart/form-data":{"schema":{"required":["csv"],"type":"object","properties":{"csv":{"type":"string","description":"CSV file containing BusinessMetric dates and amounts","format":"binary"},"forecasted":{"type":"boolean","description":"When true, imports values as forecasted metrics instead of historical metrics.","default":false}}}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BusinessMetric"},"example":{"token":"bsnss_mtrc_6bb1021d8651923a","title":"Overhold","created_by_token":"usr_ad24de73bffb7791","cost_report_tokens_with_metadata":[],"import_type":"csv","integration_token":""}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"422":{"description":"UnprocessableEntity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}]}},"/cost_alerts/{cost_alert_token}/events":{"get":{"tags":["CostAlertEvents"],"summary":"Get all cost alert events","description":"Get all CostAlertEvents","operationId":"getCostAlertEvents","parameters":[{"name":"cost_alert_token","in":"path","description":"The token of the CostAlertEvent.","required":true,"schema":{"type":"string"}},{"name":"report_token","in":"query","description":"The token of the report associated with the CostAlertEvent.","schema":{"type":"string"}},{"name":"page","in":"query","description":"The page of results to return.","schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","description":"The number of results to return. The maximum is 1000.","schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CostAlertEvents"},"example":{"links":{"self":"https://api.vantage.sh/v2/cost_alerts/cstm_alrt_rl_71cacf1cf755fe36/events","first":"https://api.vantage.sh/v2/cost_alerts/cstm_alrt_rl_71cacf1cf755fe36/events?page=1","next":null,"last":"https://api.vantage.sh/v2/cost_alerts/cstm_alrt_rl_71cacf1cf755fe36/events?page=1","prev":null},"cost_alert_events":[{"token":"cstm_alrt_evnt_87124a0f2989837b","created_at":"2025-04-08T17:39:30Z","triggered_at":"2025-04-10T17:39:30Z","description":"Day over day costs for aws and storage increased by $500.0.","alert_type":"change_in_cost","metadata":{"change_in_cost":"500.0","groupings":["aws","storage"]},"report_token":"rprt_e9f27fc1c3b68204","alert_token":"cstm_alrt_rl_71cacf1cf755fe36"},{"token":"cstm_alrt_evnt_5c67b34433ea6e97","created_at":"2025-04-09T17:39:30Z","triggered_at":"2025-04-10T17:39:30Z","description":"Day over day costs for aws and storage increased by $500.0.","alert_type":"change_in_cost","metadata":{"change_in_cost":"500.0","groupings":["aws","storage"]},"report_token":"rprt_1bdc694530d0b3d6","alert_token":"cstm_alrt_rl_71cacf1cf755fe36"}]}}}}},"security":[{"oauth2":["read"]}]}},"/cost_alerts/{cost_alert_token}/events/{event_token}":{"get":{"tags":["CostAlertEvents"],"summary":"Get cost alert event by token","description":"Get a CostAlertEvent","operationId":"getCostAlertEvent","parameters":[{"name":"cost_alert_token","in":"path","required":true,"schema":{"type":"string"}},{"name":"event_token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CostAlertEvent"},"example":{"token":"cstm_alrt_evnt_bdc4f45f9a5f20f1","created_at":"2025-04-08T17:39:29Z","triggered_at":"2025-04-10T17:39:29Z","description":"Day over day costs for aws and storage increased by $500.0.","alert_type":"change_in_cost","metadata":{"change_in_cost":"500.0","groupings":["aws","storage"]},"report_token":"rprt_9585e8071c2756d4","alert_token":"cstm_alrt_rl_42159424c0cf6fcb"}}}}},"security":[{"oauth2":["read"]}]}},"/cost_alerts":{"get":{"tags":["CostAlerts"],"summary":"Get all cost alerts","description":"List all Cost Alerts","operationId":"getCostAlerts","responses":{"200":{"description":"List all Cost Alerts","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CostAlerts"},"example":{"links":{"self":"https://api.vantage.sh/v2/cost_alerts","first":"https://api.vantage.sh/v2/cost_alerts?page=1","next":null,"last":"https://api.vantage.sh/v2/cost_alerts?page=1","prev":null},"cost_alerts":[{"token":"cstm_alrt_rl_945f63c6c91cd824","title":"Default Alert Rule","email_recipients":[],"slack_channels":[],"teams_channels":[],"created_at":"2024-04-21T15:19:49.673Z","updated_at":"2025-04-21T15:19:49.673Z","workspace_token":"wrkspc_7d5a18b7d02942da","interval":"day","threshold":1000.0,"unit_type":"currency","report_tokens":["rprt_a88be0a2af07fe10"]}]}}}}},"security":[{"oauth2":["read"]}]},"post":{"tags":["CostAlerts"],"summary":"Create cost alert","description":"Create a new Cost Alert","operationId":"createCostAlert","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createCostAlert"}}},"required":true},"responses":{"201":{"description":"Cost Alert created successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CostAlert"},"example":{"token":"cstm_alrt_rl_76efd4cd0f56149a","title":"New Alert","email_recipients":["burl_mosciski@hayes.info"],"slack_channels":[],"teams_channels":[],"created_at":"2025-04-21T15:19:49.891Z","updated_at":"2025-04-21T15:19:49.891Z","workspace_token":"wrkspc_a5e36f631519f7d3","interval":"month","threshold":100.0,"unit_type":"currency","report_tokens":["rprt_ccf0092d336de56c"]}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}],"x-codegen-request-body-name":"createCostAlert"}},"/cost_alerts/{cost_alert_token}":{"get":{"tags":["CostAlerts"],"summary":"Get cost alert by token","description":"Get a Cost Alert","operationId":"getCostAlert","parameters":[{"name":"cost_alert_token","in":"path","description":"The token of the Cost Alert.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Get a Cost Alert","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CostAlert"},"example":{"token":"cstm_alrt_rl_db54d080e58bf82a","title":"Default Alert Rule","email_recipients":[],"slack_channels":[],"teams_channels":[],"created_at":"2024-04-21T15:19:49.598Z","updated_at":"2025-04-21T15:19:49.598Z","workspace_token":"wrkspc_c94c58cd1f9a6314","interval":"day","threshold":1000.0,"unit_type":"currency","report_tokens":["rprt_7c787dfc49b17876"]}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["read"]}]},"put":{"tags":["CostAlerts"],"summary":"Update cost alert","description":"Update a Cost Alert","operationId":"updateCostAlert","parameters":[{"name":"cost_alert_token","in":"path","description":"The token of the Cost Alert.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/updateCostAlert"}}},"required":true},"responses":{"200":{"description":"Cost Alert updated successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CostAlert"},"example":{"token":"cstm_alrt_rl_65ff8613224f4469","title":"Default Alert Rule","email_recipients":["andy.kuvalis@stanton.com","ismael_bashirian@jenkins.biz"],"slack_channels":[],"teams_channels":[],"created_at":"2024-04-21T15:19:48.503Z","updated_at":"2025-04-21T15:19:48.537Z","workspace_token":"wrkspc_643e0e66ee5a4611","interval":"day","threshold":500.0,"unit_type":"currency","report_tokens":["rprt_bc47a84e3ab8a5d5"]}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}],"x-codegen-request-body-name":"updateCostAlert"},"delete":{"tags":["CostAlerts"],"summary":"Delete cost alert","description":"Delete a Cost Alert","operationId":"deleteCostAlert","parameters":[{"name":"cost_alert_token","in":"path","description":"The token of the Cost Alert.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Cost Alert deleted successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CostAlert"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}]}},"/cost_provider_accounts":{"get":{"tags":["CostProviderAccounts"],"summary":"Get all cost provider accounts","description":"List CostProviderAccounts available in a given Workspace.","operationId":"getCostProviderAccounts","parameters":[{"name":"workspace_token","in":"query","description":"The token of the Workspace to list CostProviderAccounts for. Required if the API token is associated with multiple Workspaces.","schema":{"type":"string"}},{"name":"provider","in":"query","description":"Filter by provider type.","schema":{"type":"string","enum":["aws","azure","gcp","snowflake","databricks","mongo","datadog","fastly","new_relic","opencost","open_ai","oracle","confluent","planetscale","coralogix","kubernetes","custom_provider","github","linode","grafana","clickhouse","temporal","twilio","azure_csp","kubernetes_agent","anthropic","anyscale","cursor","elastic","vercel","redis_cloud","circle_ci"]}},{"name":"account_id","in":"query","description":"Filter by provider account identifier.","schema":{"type":"string"}},{"name":"account_name","in":"query","description":"Filter by account name (exact match).","schema":{"type":"string"}}],"responses":{"200":{"description":"List of provider accounts.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CostProviderAccounts"},"example":{"cost_provider_accounts":[{"title":"Azure Development Account","account_id":"azure-subscription-id","provider_uuid":"azure-subscription-uuid","provider":"azure"},{"title":"AWS Test Account","account_id":"999888777666","provider_uuid":"arn:aws:organizations::999888777666:account/o-test123456/999888777666","provider":"aws"}]}}}}},"security":[{"oauth2":["read"]}]}},"/cost_reports":{"get":{"tags":["Costs"],"summary":"Get all cost reports","description":"Return all CostReports.","operationId":"getCostReports","parameters":[{"name":"page","in":"query","description":"The page of results to return.","schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","description":"The amount of results to return. The maximum is 1000.","schema":{"type":"integer","format":"int32"}},{"name":"folder_token","in":"query","description":"The token for the Folder you would like to fetch Reports from.","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CostReports"},"example":{"links":{"self":"https://api.vantage.sh/v2/cost_reports","first":"https://api.vantage.sh/v2/cost_reports?page=1","next":null,"last":"https://api.vantage.sh/v2/cost_reports?page=1","prev":null},"cost_reports":[{"token":"rprt_403b6516ad289a52","title":"Untitled","folder_token":null,"saved_filter_tokens":["svd_fltr_03a9f354fe7cad59"],"business_metric_tokens_with_metadata":[],"filter":null,"groupings":"service,provider","settings":{"include_credits":false,"include_refunds":false,"include_discounts":true,"include_tax":true,"amortize":true,"unallocated":false,"aggregate_by":"cost","show_previous_period":true},"created_at":"2024-07-03T00:00:00Z","workspace_token":"wrkspc_b7743329296e6e96","previous_period_start_date":null,"previous_period_end_date":null,"start_date":"2024-07-01","end_date":"2024-07-31","date_interval":"this_month","chart_type":"line","date_bin":"cumulative","chart_settings":{"y_axis_dimension":"cost","x_axis_dimension":["date"]}}]}}}}},"security":[{"oauth2":["read"]}]},"post":{"tags":["Costs"],"summary":"Create cost report","description":"Create a CostReport.","operationId":"createCostReport","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createCostReport"}}},"required":true},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CostReport"},"example":{"token":"rprt_377f6f8b25e8053d","title":"New Cost Report","folder_token":"fldr_f20201244e42cb99","saved_filter_tokens":["svd_fltr_550e30f350ffafe4"],"business_metric_tokens_with_metadata":[{"business_metric_token":"bsnss_mtrc_ff259eb1ce9fe935","unit_scale":"per_thousand","label_filter":["CBGB","Roxy","Studio 54",""]}],"filter":"costs.provider = 'aws' AND costs.service = 'Amazon Simple Storage Service'","groupings":"service,provider","settings":{"include_credits":false,"include_refunds":false,"include_discounts":true,"include_tax":true,"amortize":true,"unallocated":false,"aggregate_by":"cost","show_previous_period":true},"created_at":"2024-07-03T00:00:00Z","workspace_token":"wrkspc_d364d177f557981e","previous_period_start_date":null,"previous_period_end_date":null,"start_date":"2024-07-01","end_date":"2024-07-31","date_interval":"this_month","chart_type":"bar","date_bin":"day","chart_settings":{"y_axis_dimension":"cost","x_axis_dimension":["date"]}}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"422":{"description":"UnprocessableEntity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}],"x-codegen-request-body-name":"createCostReport"}},"/cost_reports/{cost_report_token}":{"get":{"tags":["Costs"],"summary":"Get cost report by token","description":"Return a CostReport.","operationId":"getCostReport","parameters":[{"name":"cost_report_token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CostReport"},"example":{"token":"rprt_fb27faa25ef5ea72","title":"Untitled","folder_token":null,"saved_filter_tokens":["svd_fltr_dd642aeffbe29367"],"business_metric_tokens_with_metadata":[],"filter":null,"groupings":"service,provider","settings":{"include_credits":false,"include_refunds":false,"include_discounts":true,"include_tax":true,"amortize":true,"unallocated":false,"aggregate_by":"cost","show_previous_period":true},"created_at":"2024-07-03T00:00:00Z","workspace_token":"wrkspc_e5c550d14cfa3101","previous_period_start_date":null,"previous_period_end_date":null,"start_date":"2024-07-01","end_date":"2024-07-31","date_interval":"this_month","chart_type":"line","date_bin":"cumulative","chart_settings":{"y_axis_dimension":"cost","x_axis_dimension":["date"]}}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["read"]}]},"put":{"tags":["Costs"],"summary":"Update cost report","description":"Update a CostReport.","operationId":"updateCostReport","parameters":[{"name":"cost_report_token","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/updateCostReport"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CostReport"},"example":{"token":"rprt_c02b21cb3750e2c8","title":"Updated Cost Report","folder_token":"fldr_5671a9c9785c0aff","saved_filter_tokens":["svd_fltr_fe456f29a8e9a706"],"business_metric_tokens_with_metadata":[{"business_metric_token":"bsnss_mtrc_352795a0c2b0be50","unit_scale":"per_thousand","label_filter":["CBGB","Roxy","Studio 54",""]},{"business_metric_token":"bsnss_mtrc_13ce0c4cb90eb641","unit_scale":"per_million"}],"filter":"costs.provider = 'azure'","groupings":"account_id,service","settings":{"include_credits":false,"include_refunds":false,"include_discounts":true,"include_tax":true,"amortize":true,"unallocated":false,"aggregate_by":"cost","show_previous_period":true},"created_at":"2024-07-03T00:00:00Z","workspace_token":"wrkspc_b727d292ad47b28b","previous_period_start_date":null,"previous_period_end_date":null,"start_date":"2024-07-01","end_date":"2024-07-31","date_interval":"this_month","chart_type":"pie","date_bin":"week","chart_settings":{"y_axis_dimension":"cost","x_axis_dimension":["date"]}}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}],"x-codegen-request-body-name":"updateCostReport"},"delete":{"tags":["Costs"],"summary":"Delete cost report","description":"Delete a CostReport.","operationId":"deleteCostReport","parameters":[{"name":"cost_report_token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CostReport"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}]}},"/cost_reports/{cost_report_token}/forecasted_costs":{"get":{"tags":["Costs"],"summary":"Get forecasted costs for a cost report","description":"Return all ForecastedCosts.","operationId":"getForecastedCosts","parameters":[{"name":"cost_report_token","in":"path","required":true,"schema":{"type":"string"}},{"name":"start_date","in":"query","description":"First date you would like to filter forecasted costs from. ISO 8601 formatted.","schema":{"type":"string","format":"date"}},{"name":"end_date","in":"query","description":"Last date you would like to filter forecasted costs from. ISO 8601 formatted.","schema":{"type":"string","format":"date"}},{"name":"provider","in":"query","description":"Limit the forecasted costs to a specific provider. 'all' is accepted to filter to overall forecast.","schema":{"type":"string","enum":["aws","azure","gcp","snowflake","databricks","mongo","datadog","fastly","new_relic","opencost","open_ai","oracle","confluent","planetscale","coralogix","kubernetes","custom_provider","github","linode","grafana","clickhouse","temporal","twilio","azure_csp","kubernetes_agent","anthropic","anyscale","cursor","elastic","vercel","redis_cloud","circle_ci","all"]}},{"name":"service","in":"query","description":"Limit the forecasted costs to a specific service. 'all' is accepted to filter to overall forecast. e.g. 'Amazon ElastiCache'.","schema":{"type":"string"}},{"name":"page","in":"query","description":"The page of results to return.","schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","description":"The amount of results to return. The maximum is 1000.","schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForecastedCosts"},"example":{"links":{"self":"https://api.vantage.sh/v2/cost_reports/rprt_3f79e0058066d5f7/forecasted_costs","first":"https://api.vantage.sh/v2/cost_reports/rprt_3f79e0058066d5f7/forecasted_costs?page=1","next":null,"last":"https://api.vantage.sh/v2/cost_reports/rprt_3f79e0058066d5f7/forecasted_costs?page=1","prev":null},"forecasted_costs":[{"date":"2024-07-04T00:00:00Z","amount":"10.0","provider":"all","service":"all"},{"date":"2024-07-04T00:00:00Z","amount":"10.0","provider":"aws","service":"Amazon Elastic Compute Cloud - Compute"},{"date":"2024-07-04T00:00:00Z","amount":"10.0","provider":"azure","service":"Virtual Machines"},{"date":"2024-07-05T00:00:00Z","amount":"10.0","provider":"all","service":"all"},{"date":"2024-07-05T00:00:00Z","amount":"10.0","provider":"aws","service":"Amazon Elastic Compute Cloud - Compute"},{"date":"2024-07-05T00:00:00Z","amount":"10.0","provider":"azure","service":"Virtual Machines"},{"date":"2024-07-06T00:00:00Z","amount":"10.0","provider":"all","service":"all"},{"date":"2024-07-06T00:00:00Z","amount":"10.0","provider":"aws","service":"Amazon Elastic Compute Cloud - Compute"},{"date":"2024-07-06T00:00:00Z","amount":"10.0","provider":"azure","service":"Virtual Machines"}],"currency":"USD"}}}}},"security":[{"oauth2":["read"]}]}},"/costs/data_exports":{"post":{"tags":["Costs"],"summary":"Generate cost data export","description":"Generate a DataExport of costs.","operationId":"createCostExport","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createCostExport"}}},"required":true},"responses":{"202":{"description":"The data export has been queued and will be available at the location specified in the Location header.","content":{}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"402":{"description":"PaymentRequired","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["read"]}],"x-codegen-request-body-name":"createCostExport"}},"/costs":{"get":{"tags":["Costs"],"summary":"Get costs for cost report or VQL filter","description":"Return all Costs for a CostReport or VQL filter.","operationId":"getCosts","parameters":[{"name":"cost_report_token","in":"query","description":"The CostReport token.","schema":{"type":"string"}},{"name":"filter","in":"query","description":"The VQL filter to apply to the costs. If this is supplied you do not need cost_report_token.","schema":{"type":"string"}},{"name":"workspace_token","in":"query","description":"The token of the Workspace to query costs from. Ignored if 'cost_report_token' is set. Required if the API token is associated with multiple Workspaces.","schema":{"type":"string"}},{"name":"start_date","in":"query","description":"First date you would like to filter costs from. ISO 8601 formatted.","schema":{"type":"string"}},{"name":"end_date","in":"query","description":"Last date you would like to filter costs to. ISO 8601 formatted.","schema":{"type":"string"}},{"name":"groupings","in":"query","description":"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:\u003ctag_value\u003e. If providing multiple groupings, join as comma separated values: groupings=provider,service,region","style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"order","in":"query","description":"Whether to order costs by date in an ascending or descending manner.","schema":{"type":"string","default":"desc","enum":["asc","desc"]}},{"name":"limit","in":"query","description":"The amount of results to return. The maximum is 5000.","schema":{"type":"integer","format":"int32"}},{"name":"page","in":"query","description":"The page of results to return.","schema":{"type":"integer","format":"int32"}},{"name":"date_bin","in":"query","description":"The date bin of the costs. Defaults to the report's default or day.","schema":{"type":"string","enum":["day","week","month","quarter","hour"]}},{"name":"settings[include_credits]","in":"query","description":"Results will include credits.","schema":{"type":"boolean","default":false}},{"name":"settings[include_refunds]","in":"query","description":"Results will include refunds.","schema":{"type":"boolean","default":false}},{"name":"settings[include_discounts]","in":"query","description":"Results will include discounts.","schema":{"type":"boolean","default":true}},{"name":"settings[include_tax]","in":"query","description":"Results will include tax.","schema":{"type":"boolean","default":true}},{"name":"settings[amortize]","in":"query","description":"Results will amortize.","schema":{"type":"boolean","default":true}},{"name":"settings[unallocated]","in":"query","description":"Results will show unallocated costs.","schema":{"type":"boolean","default":false}},{"name":"settings[aggregate_by]","in":"query","description":"Results will aggregate by cost or usage.","schema":{"type":"string","default":"cost"}},{"name":"settings[show_previous_period]","in":"query","description":"Results will show previous period costs or usage comparison.","schema":{"type":"boolean","default":true}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Costs"},"example":{"links":{"self":"https://api.vantage.sh/v2/costs?cost_report_token=rprt_ea7dbb4f5783d677","first":"https://api.vantage.sh/v2/costs?cost_report_token=rprt_ea7dbb4f5783d677\u0026page=1","next":null,"last":null,"prev":null},"total_cost":{"amount":"500.0","currency":"USD"},"costs":[{"accrued_at":"2023-06-05","amount":"100.0","currency":"USD","provider":"aws","account_id":"mock_56789","service":"AmazonSNS"},{"accrued_at":"2023-06-04","amount":"100.0","currency":"USD","provider":"aws","account_id":"mock_56789","service":"AmazonSNS"},{"accrued_at":"2023-06-03","amount":"100.0","currency":"USD","provider":"aws","account_id":"mock_56789","service":"AmazonSNS"},{"accrued_at":"2023-06-02","amount":"100.0","currency":"USD","provider":"aws","account_id":"mock_56789","service":"AmazonSNS"},{"accrued_at":"2023-06-01","amount":"100.0","currency":"USD","provider":"aws","account_id":"mock_56789","service":"AmazonSNS"}]}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"402":{"description":"PaymentRequired","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["read"]}]}},"/dashboards":{"get":{"tags":["Dashboards","Costs"],"summary":"Get all dashboards","description":"Return all Dashboards.","operationId":"getDashboards","parameters":[{"name":"page","in":"query","description":"The page of results to return.","schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","description":"The amount of results to return. The maximum is 1000.","schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dashboards"},"example":{"links":{"self":"https://api.vantage.sh/v2/dashboards","first":"https://api.vantage.sh/v2/dashboards?page=1","next":null,"last":"https://api.vantage.sh/v2/dashboards?page=1","prev":null},"dashboards":[{"token":"dshbrd_13d78294a06f0f84","title":"Executive Overview","widget_tokens":["rprt_7c3cb814dfb6d881"],"widgets":[{"widgetable_token":"rprt_7c3cb814dfb6d881","title":"Cost Report","settings":{"display_type":"chart"}}],"saved_filter_tokens":["svd_fltr_3c6f5eb635cf88de"],"date_bin":null,"date_interval":null,"start_date":null,"end_date":null,"created_at":"2024-12-17T00:44:48Z","updated_at":"2024-12-17T00:44:48Z","workspace_token":"wrkspc_ea1a7802e5fe06b3"}]}}}}},"security":[{"oauth2":["read"]}]},"post":{"tags":["Dashboards","Costs"],"summary":"Create dashboard","description":"Create a Dashboard.","operationId":"createDashboard","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createDashboard"}}},"required":true},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dashboard"},"example":{"token":"dshbrd_7e272e8d3de34719","title":"New Dashboard","widget_tokens":["fncl_cmnt_rprt_d4743c186c130e30","kbnts_eff_rprt_892d1566bd543b67","rprt_750074c1b25b372a"],"widgets":[{"widgetable_token":"fncl_cmnt_rprt_d4743c186c130e30","title":"All Financial Commitments","settings":{"display_type":"chart"}},{"widgetable_token":"kbnts_eff_rprt_892d1566bd543b67","title":"All Kubernetes Nodes Efficiency","settings":{"display_type":"table"}},{"widgetable_token":"rprt_750074c1b25b372a","title":"Azure Cost Report","settings":{"display_type":"chart"}}],"saved_filter_tokens":["svd_fltr_3f45aefa131861ac"],"date_bin":"week","date_interval":"this_month","start_date":"2023-08-01","end_date":"2023-08-31","created_at":"2023-08-15T00:00:00Z","updated_at":"2023-08-15T00:00:00Z","workspace_token":"wrkspc_08e043cc14ced776"}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}],"x-codegen-request-body-name":"createDashboard"}},"/dashboards/{dashboard_token}":{"get":{"tags":["Dashboards","Costs"],"summary":"Get dashboard by token","description":"Return a specific Dashboard.","operationId":"getDashboard","parameters":[{"name":"dashboard_token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dashboard"},"example":{"links":{"self":"https://api.vantage.sh/v2/dashboards","first":"https://api.vantage.sh/v2/dashboards?page=1","next":null,"last":"https://api.vantage.sh/v2/dashboards?page=1","prev":null},"dashboards":[{"token":"dshbrd_e7c5b49d826b6f71","title":"Executive Overview","widget_tokens":["rprt_27e80d7a8d3f34e6"],"widgets":[{"widgetable_token":"rprt_27e80d7a8d3f34e6","title":"Weekly Sales Report","settings":{"display_type":"chart"}}],"saved_filter_tokens":["svd_fltr_7bb508e881e7fe5f"],"date_bin":null,"date_interval":null,"start_date":null,"end_date":null,"created_at":"2024-12-17T00:44:48Z","updated_at":"2024-12-17T00:44:48Z","workspace_token":"wrkspc_245288e3c3a7377f"}]}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["read"]}]},"put":{"tags":["Dashboards","Costs"],"summary":"Update dashboard","description":"Update a Dashboard.","operationId":"updateDashboard","parameters":[{"name":"dashboard_token","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/updateDashboard"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dashboard"},"example":{"token":"dshbrd_2c942eb3a8d3962a","title":"Updated Dashboard","widget_tokens":["fncl_cmnt_rprt_ea316a453acd20c0","kbnts_eff_rprt_e3fc91cb63fd5469","rprt_7b0be9c16c5a6785"],"widgets":[{"widgetable_token":"fncl_cmnt_rprt_ea316a453acd20c0","title":"All Financial Commitments","settings":{"display_type":"chart"}},{"widgetable_token":"kbnts_eff_rprt_e3fc91cb63fd5469","title":"Kubernetes Efficiency Report","settings":{"display_type":"table"}},{"widgetable_token":"rprt_7b0be9c16c5a6785","title":"Azure Report","settings":{"display_type":"chart"}}],"saved_filter_tokens":["svd_fltr_51c106391f7295b7"],"date_bin":"week","date_interval":"this_month","start_date":"2023-08-01","end_date":"2023-08-31","created_at":"2024-12-17T00:44:45Z","updated_at":"2023-08-15T00:00:00Z","workspace_token":"wrkspc_0e5c381029cdc016"}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}],"x-codegen-request-body-name":"updateDashboard"},"delete":{"tags":["Dashboards","Costs"],"summary":"Delete dashboard","description":"Delete a Dashboard.","operationId":"deleteDashboard","parameters":[{"name":"dashboard_token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dashboard"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}]}},"/data_exports/{data_export_token}":{"get":{"tags":["DataExports"],"summary":"Get status of data export","description":"Get the status of a data export.","operationId":"getDataExport","parameters":[{"name":"data_export_token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returns the completed data export and its manifest. If it is still pending, the response will be a 202 and the caller should check the Location and Retry-After headers to determine where and how long to wait before polling again.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataExport"},"example":{"token":"dta_xprt_964b2adb9bff37fb","status":"completed","created_at":"2025-03-27T20:46:31Z","export_type":"cost_report","manifest":{"files":["https://example.com/file1.csv"],"completed_at":"2025-03-27T20:46:31Z","valid_until":"2025-03-28T20:46:31Z"},"attributes":{"report_token":null,"start_date":null,"end_date":null,"groupings":[],"vql":null,"settings":null,"date_bin":null}}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"402":{"description":"PaymentRequired","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["read"]}]}},"/exchange_rates":{"get":{"tags":["ExchangeRates"],"summary":"Get all exchange rates","description":"Return all Exchange Rates.","operationId":"getExchangeRates","parameters":[{"name":"page","in":"query","description":"The page of results to return.","schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","description":"The number of results to return. The maximum is 1000.","schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExchangeRates"},"example":{"exchange_rates":[{"base_currency_code":"USD","currency_code":"PHP","rate":"300.011","effective_date":"2025-09-01","updated_at":"2025-09-10 00:05:41 UTC"}],"meta":{"current_page":1,"next_page":null,"prev_page":null,"total_pages":1,"total_count":1}}}}}},"security":[{"oauth2":["read"]}]}},"/exchange_rates/csv":{"post":{"tags":["ExchangeRates"],"summary":"Upload exchange rates via CSV","description":"Upload Exchange Rates via CSV.","operationId":"createExchangeRatesViaCsv","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"required":["csv"],"type":"object","properties":{"csv":{"type":"string","description":"CSV file containing exchange rates. Format: base_currency_code, currency_code, rate, date (YYYY-MM-DD)","format":"binary"}}}},"multipart/form-data":{"schema":{"required":["csv"],"type":"object","properties":{"csv":{"type":"string","description":"CSV file containing exchange rates. Format: base_currency_code, currency_code, rate, date (YYYY-MM-DD)","format":"binary"}}}}},"required":true},"responses":{"201":{"description":"CSV uploaded successfully","content":{}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}]}},"/financial_commitment_reports":{"get":{"tags":["FinancialCommitmentReports"],"summary":"Get all financial commitment reports","description":"Return all FinancialCommitmentReports.","operationId":"getFinancialCommitmentReports","parameters":[{"name":"page","in":"query","description":"The page of results to return.","schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","description":"The amount of results to return. The maximum is 1000.","schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FinancialCommitmentReports"},"example":{"links":{"self":"https://api.vantage.sh/v2/financial_commitment_reports","first":"https://api.vantage.sh/v2/financial_commitment_reports?page=1","next":null,"last":"https://api.vantage.sh/v2/financial_commitment_reports?page=1","prev":null},"financial_commitment_reports":[{"token":"fncl_cmnt_rprt_28bc840bf137769c","title":"All Financial Commitments","default":false,"created_at":"2025-01-27T21:42:06Z","workspace_token":"wrkspc_f8d8bd5e493a734c","user_token":null,"start_date":"2024-10-01","end_date":"2025-01-25","date_interval":"last_3_months","date_bucket":"month","groupings":"cost_type","on_demand_costs_scope":"discountable","filter":"(financial_commitments.provider = 'aws')"}]}}}}},"security":[{"oauth2":["read"]}]},"post":{"tags":["FinancialCommitmentReports"],"summary":"Create financial commitment report","description":"Create a FinancialCommitmentReport.","operationId":"createFinancialCommitmentReport","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createFinancialCommitmentReport"}}},"required":true},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FinancialCommitmentReport"},"example":{"token":"fncl_cmnt_rprt_d0f702a7d0ff20a4","title":"title","default":false,"created_at":"2025-01-27T21:42:07Z","workspace_token":"wrkspc_609f0ae3bffb9f37","user_token":null,"start_date":"2024-10-01","end_date":"2025-01-25","date_interval":"last_3_months","date_bucket":"month","groupings":"cost_type","on_demand_costs_scope":"discountable","filter":"financial_commitments.provider = 'aws'"}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"422":{"description":"UnprocessableEntity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}],"x-codegen-request-body-name":"createFinancialCommitmentReport"}},"/financial_commitment_reports/{financial_commitment_report_token}":{"get":{"tags":["FinancialCommitmentReports"],"summary":"Get financial commitment report by token","description":"Return a FinancialCommitmentReport.","operationId":"getFinancialCommitmentReport","parameters":[{"name":"financial_commitment_report_token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FinancialCommitmentReport"},"example":{"token":"fncl_cmnt_rprt_86a93126175f91ed","title":"All Financial Commitments","default":false,"created_at":"2025-01-27T21:42:04Z","workspace_token":"wrkspc_0e9408c2a0682914","user_token":null,"start_date":"2024-10-01","end_date":"2025-01-25","date_interval":"last_3_months","date_bucket":"month","groupings":"cost_type","on_demand_costs_scope":"discountable","filter":"(financial_commitments.provider = 'aws')"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["read"]}]},"put":{"tags":["FinancialCommitmentReports"],"summary":"Update financial commitment report","description":"Update a FinancialCommitmentReport.","operationId":"updateFinancialCommitmentReport","parameters":[{"name":"financial_commitment_report_token","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/updateFinancialCommitmentReport"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FinancialCommitmentReport"},"example":{"token":"fncl_cmnt_rprt_38f1d3fcee354f6a","title":"new title","default":false,"created_at":"2025-01-27T21:42:06Z","workspace_token":"wrkspc_358df7afe2a742fb","user_token":null,"start_date":"2024-10-01","end_date":"2025-01-25","date_interval":"last_3_months","date_bucket":"week","groupings":"cost_type,commitment_type","on_demand_costs_scope":"discountable","filter":"(financial_commitments.provider = 'aws')"}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"422":{"description":"UnprocessableEntity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}],"x-codegen-request-body-name":"updateFinancialCommitmentReport"},"delete":{"tags":["FinancialCommitmentReports"],"summary":"Delete financial commitment report","description":"Delete a FinancialCommitmentReport.","operationId":"deleteFinancialCommitmentReport","parameters":[{"name":"financial_commitment_report_token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FinancialCommitmentReport"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}]}},"/financial_commitments":{"get":{"tags":["FinancialCommitments"],"summary":"Get all financial commitments","description":"Return all FinancialCommitments.","operationId":"getFinancialCommitments","parameters":[{"name":"page","in":"query","description":"The page of results to return.","schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","description":"The amount of results to return. The maximum is 1000.","schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FinancialCommitments"},"example":{"links":{"self":"https://api.vantage.sh/v2/financial_commitments","first":"https://api.vantage.sh/v2/financial_commitments?page=1","next":null,"last":"https://api.vantage.sh/v2/financial_commitments?page=1","prev":null},"financial_commitments":[{"commitment_type":"aws_savings_plan","service":"Compute","account":"153271892032","type":"3 Year Compute Savings Plan","instance_count":null,"term":"1 Year","payment_type":"No upfront","region":null,"purchase_date":"2024-04-15","expiration_date":"2025-04-15","commitment":"$1.00","status":"active","created_at":"2024-04-15T19:51:27Z","workspace_token":"wrkspc_8c897c3d73b69279"}]}}}}},"security":[{"oauth2":["read"]}]}},"/folders":{"get":{"tags":["Folders"],"summary":"Get all folders","description":"Return all Folders for CostReports.","operationId":"getFolders","parameters":[{"name":"page","in":"query","description":"The page of results to return.","schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","description":"The amount of results to return. The maximum is 1000.","schema":{"type":"integer","format":"int32"}},{"name":"type","in":"query","description":"Filter by folder type.","schema":{"type":"string","enum":["CostFolder","ProviderResourceFolder"]}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Folders"},"example":{"links":{"self":"https://api.vantage.sh/v2/folders","first":"https://api.vantage.sh/v2/folders?page=1","next":null,"last":"https://api.vantage.sh/v2/folders?page=1","prev":null},"folders":[{"token":"fldr_baf37f32280f5444","title":"synergy","parent_folder_token":null,"created_at":"2023-09-12T05:06:54Z","updated_at":"2023-09-12T05:06:54Z","workspace_token":"wrkspc_f583a08beb76f679"},{"token":"fldr_625d4591e46f7dfa","title":"website","parent_folder_token":"fldr_baf37f32280f5444","created_at":"2023-09-12T05:06:54Z","updated_at":"2023-09-12T05:06:54Z","workspace_token":"wrkspc_f583a08beb76f679"}]}}}}},"security":[{"oauth2":["read"]}]},"post":{"tags":["Folders"],"summary":"Create folder","description":"Create a Folder for CostReports.","operationId":"createFolder","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createFolder"}}},"required":true},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Folder"},"example":{"token":"fldr_4aabe6f482c2a9e4","title":"New Folder","parent_folder_token":"fldr_4d29cbecf2601266","created_at":"2023-09-12T05:06:52Z","updated_at":"2023-09-12T05:06:52Z","workspace_token":"wrkspc_510cc77828001f9b"}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}],"x-codegen-request-body-name":"createFolder"}},"/folders/{folder_token}":{"get":{"tags":["Folders"],"summary":"Get folder by token","description":"Return a specific Folder for CostReports.","operationId":"getFolder","parameters":[{"name":"folder_token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Folder"},"example":{"token":"fldr_3653e0f460786b1e","title":"intermediate","parent_folder_token":"fldr_b6bf120a1d3a794b","created_at":"2023-09-12T05:07:36Z","updated_at":"2023-09-12T05:07:36Z","workspace_token":"wrkspc_a707105ff54966c3"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["read"]}]},"put":{"tags":["Folders"],"summary":"Update folder","description":"Update a Folder for CostReports.","operationId":"updateFolder","parameters":[{"name":"folder_token","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/updateFolder"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Folder"},"example":{"token":"fldr_68e18d8d7df0be96","title":"New Title","parent_folder_token":"fldr_9aa0c735a6b615c6","created_at":"2023-09-12T05:06:53Z","updated_at":"2023-09-12T05:06:53Z","workspace_token":"wrkspc_e65a48e5d9684439"}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}],"x-codegen-request-body-name":"updateFolder"},"delete":{"tags":["Folders"],"summary":"Delete folder","description":"Delete a Folder for CostReports.","operationId":"deleteFolder","parameters":[{"name":"folder_token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Folder"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}]}},"/integrations":{"get":{"tags":["Integrations"],"summary":"Get all integrations","description":"Return all Integrations.","operationId":"getIntegrations","parameters":[{"name":"provider","in":"query","description":"Query by provider name to list all Integrations for a specific provider.","schema":{"type":"string","enum":["aws","azure","gcp","snowflake","databricks","mongo","datadog","fastly","new_relic","opencost","open_ai","oracle","confluent","planetscale","coralogix","kubernetes","custom_provider","github","linode","grafana","clickhouse","temporal","twilio","azure_csp","kubernetes_agent","anthropic","anyscale","cursor","elastic","vercel","redis_cloud","circle_ci"]}},{"name":"account_identifier","in":"query","description":"Query by account identifier to list all Integrations that match a specific account. For Azure, this is the subscription ID. Must include provider when using this parameter.","schema":{"type":"string"}},{"name":"page","in":"query","description":"The page of results to return.","schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","description":"The number of results to return. The maximum is 1000.","schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Integrations"},"example":{"links":{"self":"https://api.vantage.sh/v2/integrations","first":"https://api.vantage.sh/v2/integrations?page=1","next":null,"last":"https://api.vantage.sh/v2/integrations?page=1","prev":null},"integrations":[{"token":"accss_crdntl_ac985d1d8bb8bc12","provider":"gcp","account_identifier":"project_id-3fc92ac0","status":"imported","last_updated":"2024-07-30T15:30:22Z","workspace_tokens":["wrkspc_838cb4508ead3f6d"],"created_at":"2024-07-29T21:41:49Z","managed_account_tokens":[]}]}}}}},"security":[{"oauth2":["read"]}]}},"/integrations/{integration_token}":{"get":{"tags":["Integrations"],"summary":"Get integration by token","description":"Return an Integration.","operationId":"getIntegration","parameters":[{"name":"integration_token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Integration"},"example":{"token":"accss_crdntl_f45057cd18834fc7","provider":"gcp","account_identifier":"project_id-4d4c6f0b","status":"imported","last_updated":"2024-07-30T15:30:22Z","workspace_tokens":["wrkspc_d69f96653fb985d6"],"created_at":"2024-07-29T21:41:49Z","managed_account_tokens":["acct_1a2b3c4d5e6f7890"]}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["read"]}]},"put":{"tags":["Integrations"],"summary":"Update integration","description":"Update an Integration.","operationId":"updateIntegration","parameters":[{"name":"integration_token","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/updateIntegration"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Integration"},"example":{"token":"accss_crdntl_4de527c50afa4fd3","provider":"gcp","account_identifier":"project_id-e38a8e02","status":"imported","last_updated":"2024-07-30T15:30:22Z","workspace_tokens":["wrkspc_6bffe31969c9f385"],"created_at":"2024-07-29T21:41:44Z","managed_account_tokens":[]}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}],"x-codegen-request-body-name":"updateIntegration"},"delete":{"tags":["Integrations"],"summary":"Delete integration","description":"Delete an Integration.","operationId":"deleteIntegration","parameters":[{"name":"integration_token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Integration"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}]}},"/integrations/custom_provider":{"post":{"tags":["Integrations"],"summary":"Create custom provider integration","description":"Create a Custom Provider Integration","operationId":"createCustomProviderIntegration","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createCustomProviderIntegration"}}},"required":true},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Integration"},"example":{"token":"accss_crdntl_35665ec3deb12451","provider":"custom_provider","account_identifier":"Custom Provider Integration","status":"imported","last_updated":null,"workspace_tokens":[],"created_at":"2024-08-27T22:22:24Z","managed_account_tokens":[]}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}],"x-codegen-request-body-name":"createCustomProviderIntegration"}},"/integrations/{integration_token}/costs.csv":{"post":{"tags":["Integrations"],"summary":"Upload custom provider costs","description":"Create UserCostsUpload via CSV for a Custom Provider Integration.","operationId":"createUserCostsUploadViaCsv","parameters":[{"name":"integration_token","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"required":["csv"],"type":"object","properties":{"csv":{"type":"string","description":"CSV file containing custom costs","format":"binary"},"auto_transform":{"type":"boolean","description":"Attempt to automatically transform the CSV file to match the FOCUS format.","default":false}}}},"multipart/form-data":{"schema":{"required":["csv"],"type":"object","properties":{"csv":{"type":"string","description":"CSV file containing custom costs","format":"binary"},"auto_transform":{"type":"boolean","description":"Attempt to automatically transform the CSV file to match the FOCUS format.","default":false}}}}},"required":true},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCostsUpload"},"example":{"token":"usr_csts_upld_68f53287682faaf8","filename":"costs.csv20240827-15484-pfxe9o","amount":"1000.0","start_date":"2021-01-01","end_date":"2021-02-01","import_status":"processing","created_by_token":"usr_9ad0e852b8c67db5","created_at":"2024-08-27T22:44:29.220Z"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"422":{"description":"UnprocessableEntity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}]}},"/integrations/{integration_token}/costs/{user_costs_upload_token}":{"delete":{"tags":["Integrations"],"summary":"Delete user costs upload","description":"Delete a UserCostsUpload.","operationId":"deleteUserCostsUpload","parameters":[{"name":"integration_token","in":"path","required":true,"schema":{"type":"string"}},{"name":"user_costs_upload_token","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"204":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Cost"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}]}},"/integrations/{integration_token}/costs":{"get":{"tags":["Integrations"],"summary":"Get all user costs uploads","description":"List UserCostUploads.","operationId":"getUserCostsUploads","parameters":[{"name":"integration_token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCostsUploads"},"example":{"user_costs_uploads":[{"token":"usr_csts_upld_1805b925d993c7f7","filename":"costs_0.csv","amount":"1234.56","start_date":"2021-01-01","end_date":"2021-03-31","import_status":"complete","created_by_token":"usr_72af6fb04ab65f3a","created_at":"2024-08-27T22:44:31.565Z"},{"token":"usr_csts_upld_c3f4d5fbb23f96ce","filename":"costs_1.csv","amount":"789.01","start_date":"2021-04-01","end_date":"2021-06-30","import_status":"processing","created_by_token":"usr_b06d7ed79c48f02e","created_at":"2024-08-27T22:44:31.582Z"}]}}}}},"security":[{"oauth2":["read"]}]}},"/integrations/gcp":{"post":{"tags":["Integrations"],"summary":"Create GCP integration","description":"Create a GCP Integration","operationId":"createGCPIntegration","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createGCPIntegration"}}},"required":true},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Integration"},"example":{"token":"accss_crdntl_c36f82e698677581","provider":"gcp","account_identifier":"A11111-B22222-C33333","status":"imported","last_updated":null,"workspace_tokens":[],"created_at":"2024-07-29T21:41:46Z","managed_account_tokens":[]}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}],"x-codegen-request-body-name":"createGCPIntegration"}},"/integrations/azure":{"post":{"tags":["Integrations"],"summary":"Create Azure integration","description":"Create an Azure Integration","operationId":"createAzureIntegration","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createAzureIntegration"}}},"required":true},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Integration"},"example":{"token":"accss_crdntl_6eddcfaa81f7303f","provider":"azure","account_identifier":"fake-tenant","status":"imported","last_updated":null,"workspace_tokens":[],"created_at":"2024-07-29T21:41:48Z","managed_account_tokens":[]}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}],"x-codegen-request-body-name":"createAzureIntegration"}},"/invoices":{"get":{"tags":["Invoices"],"summary":"Get all invoices","description":"Returns a list of invoices (MSP invoicing required).","operationId":"getInvoices","parameters":[{"name":"page","in":"query","description":"The page of results to return.","schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","description":"The amount of results to return. The maximum is 1000.","schema":{"type":"integer","format":"int32"}},{"name":"managed_account_token","in":"query","description":"Filter invoices by managed account token (MSP accounts only)","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Invoices"}}}}},"security":[{"oauth2":["read"]}]},"post":{"tags":["Invoices"],"summary":"Create invoice","description":"Create an invoice (MSP accounts only).","operationId":"createInvoice","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createInvoice"}}},"required":true},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Invoice"}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}],"x-codegen-request-body-name":"createInvoice"}},"/invoices/{invoice_token}":{"get":{"tags":["Invoices"],"summary":"Get invoice by token","description":"Return an invoice.","operationId":"getInvoice","parameters":[{"name":"invoice_token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Invoice"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["read"]}]}},"/invoices/{invoice_token}/download":{"post":{"tags":["Invoices"],"summary":"Get invoice file","description":"Download invoice file (PDF or CSV).","operationId":"downloadInvoice","parameters":[{"name":"invoice_token","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/downloadInvoice"}}},"required":true},"responses":{"200":{"description":"Returns download URL for the invoice file","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DownloadInvoice"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["read"]}],"x-codegen-request-body-name":"downloadInvoice"}},"/invoices/{invoice_token}/send":{"post":{"tags":["Invoices"],"summary":"Send invoice","description":"Send invoice via email.","operationId":"sendInvoice","parameters":[{"name":"invoice_token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Invoice sent successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendInvoice"}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}]}},"/invoices/{invoice_token}/send_and_approve":{"post":{"tags":["Invoices"],"summary":"Send and approve invoice","description":"Send and approve invoice via email (MSP accounts only).","operationId":"sendAndApproveInvoice","parameters":[{"name":"invoice_token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Invoice approved and sent successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendInvoice"}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}]}},"/invoices/{invoice_token}/cost_report":{"get":{"tags":["Invoices"],"summary":"Get cost report URL","description":"Get cost report URL for invoice period.","operationId":"getInvoiceCostReport","parameters":[{"name":"invoice_token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Get cost report URL for invoice period.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CostReportUrl"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["read"]}]}},"/invoices/{invoice_token}/regenerate":{"post":{"tags":["Invoices"],"summary":"Regenerate invoice","description":"Regenerate an existing invoice (MSP accounts only).","operationId":"regenerateInvoice","parameters":[{"name":"invoice_token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Invoice regeneration started","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Invoice"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}]}},"/kubernetes_efficiency_reports":{"get":{"tags":["KubernetesEfficiencyReports"],"summary":"Get all Kubernetes efficiency reports","description":"Return all KubernetesEfficiencyReports.","operationId":"getKubernetesEfficiencyReports","parameters":[{"name":"page","in":"query","description":"The page of results to return.","schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","description":"The amount of results to return. The maximum is 1000.","schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KubernetesEfficiencyReports"},"example":{"links":{"self":"https://api.vantage.sh/v2/kubernetes_efficiency_reports","first":"https://api.vantage.sh/v2/kubernetes_efficiency_reports?page=1","next":null,"last":"https://api.vantage.sh/v2/kubernetes_efficiency_reports?page=1","prev":null},"kubernetes_efficiency_reports":[{"token":"kbnts_eff_rprt_f8d610afacc7e6c6","title":"Cluster Idle Costs","default":false,"created_at":"2024-10-25T21:20:43Z","workspace_token":"wrkspc_64768b29bebf9dfe","user_token":null,"start_date":"2024-10-01","end_date":"2024-10-31","date_interval":"this_month","date_bucket":"day","aggregated_by":"idle_cost","groupings":"cluster_id"}]}}}}},"security":[{"oauth2":["read"]}]},"post":{"tags":["KubernetesEfficiencyReports"],"summary":"Create Kubernetes efficiency report","description":"Create a KubernetesEfficiencyReport.","operationId":"createKubernetesEfficiencyReport","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createKubernetesEfficiencyReport"}}},"required":true},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KubernetesEfficiencyReport"},"example":{"token":"kbnts_eff_rprt_b5c0eedc83b259be","title":"title","default":false,"created_at":"2024-11-05T20:32:30Z","workspace_token":"wrkspc_71e915f9671fa270","user_token":null,"start_date":"2024-11-01","end_date":"2024-11-30","date_interval":"this_month","date_bucket":"day","aggregated_by":"idle_cost","groupings":"cluster_id","filter":"kubernetes.cluster_id   =   'cluster-1'"}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"422":{"description":"UnprocessableEntity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}],"x-codegen-request-body-name":"createKubernetesEfficiencyReport"}},"/kubernetes_efficiency_reports/data_exports":{"post":{"tags":["KubernetesEfficiencyReports"],"summary":"Generate Kubernetes efficiency data export","description":"Generate a DataExport of Kubernetes efficiency data.","operationId":"createKubernetesEfficiencyReportExport","parameters":[{"name":"groupings","in":"query","description":"Group the results by specific field(s). Valid groupings: cluster_id, namespace, labeled, category, pod, label, label:\u003clabel_name\u003e.","style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createKubernetesEfficiencyReportExport"}}},"required":true},"responses":{"202":{"description":"The data export has been queued and will be available at the location specified in the Location header.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataExport"}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["read"]}],"x-codegen-request-body-name":"createKubernetesEfficiencyReportExport"}},"/kubernetes_efficiency_reports/{kubernetes_efficiency_report_token}":{"get":{"tags":["KubernetesEfficiencyReports"],"summary":"Get Kubernetes efficiency report by token","description":"Return a KubernetesEfficiencyReport.","operationId":"getKubernetesEfficiencyReport","parameters":[{"name":"kubernetes_efficiency_report_token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KubernetesEfficiencyReport"},"example":{"token":"kbnts_eff_rprt_8f8b9caaffee230b","title":"+1 disrupt.","default":false,"created_at":"2024-10-25T21:20:43Z","workspace_token":"wrkspc_d6ab5f555d9bd0b5","user_token":null,"start_date":"2024-10-01","end_date":"2024-10-31","date_interval":"this_month","date_bucket":"day","aggregated_by":"idle_cost","groupings":"cluster_id"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["read"]}]},"put":{"tags":["KubernetesEfficiencyReports"],"summary":"Update Kubernetes efficiency report","description":"Update a KubernetesEfficiencyReport.","operationId":"updateKubernetesEfficiencyReport","parameters":[{"name":"kubernetes_efficiency_report_token","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/updateKubernetesEfficiencyReport"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KubernetesEfficiencyReport"},"example":{"token":"kbnts_eff_rprt_f9ee5fadf5e1a6e6","title":"new title","default":false,"created_at":"2024-10-25T21:20:42Z","workspace_token":"wrkspc_303c3228e22ccb6f","user_token":null,"start_date":"2024-10-01","end_date":"2024-10-31","date_interval":"this_month","date_bucket":"day","aggregated_by":"idle_cost","groupings":"cluster_id"}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"422":{"description":"UnprocessableEntity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}],"x-codegen-request-body-name":"updateKubernetesEfficiencyReport"},"delete":{"tags":["KubernetesEfficiencyReports"],"summary":"Delete Kubernetes efficiency report","description":"Delete a KubernetesEfficiencyReport.","operationId":"deleteKubernetesEfficiencyReport","parameters":[{"name":"kubernetes_efficiency_report_token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KubernetesEfficiencyReport"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}]}},"/managed_accounts":{"get":{"tags":["ManagedAccounts"],"summary":"Get all managed accounts","description":"Returns a list of managed accounts.","operationId":"getManagedAccounts","parameters":[{"name":"page","in":"query","description":"The page of results to return.","schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","description":"The amount of results to return. The maximum is 1000.","schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ManagedAccounts"},"example":{"links":{"self":"https://api.vantage.sh/v2/managed_accounts","first":"https://api.vantage.sh/v2/managed_accounts?page=1","next":null,"last":"https://api.vantage.sh/v2/managed_accounts?page=1","prev":null},"managed_accounts":[{"token":"acct_be30cfd09cf0b3c5","name":"Rep. Gavin Berge","contact_email":"gavin_berge_rep@orn.net","parent_account_token":"acct_f95654a3aefab4b7","access_credential_tokens":[],"billing_rule_tokens":[],"email_domain":null}]}}}}},"security":[{"oauth2":["read"]}]},"post":{"tags":["ManagedAccounts"],"summary":"Create managed account","description":"Create a Managed Account.","operationId":"createManagedAccount","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createManagedAccount"}}},"required":true},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ManagedAccount"},"example":{"token":"acct_ace620fc3d602740","name":"New Managed Account","contact_email":"admin@acme.com","parent_account_token":"acct_e6baa6dcf81b4e20","access_credential_tokens":["accss_crdntl_72a8c8ab1d6c9d2c"],"billing_rule_tokens":[],"email_domain":null}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}],"x-codegen-request-body-name":"createManagedAccount"}},"/managed_accounts/{managed_account_token}":{"get":{"tags":["ManagedAccounts"],"summary":"Get managed account by token","description":"Return a Managed Account.","operationId":"getManagedAccount","parameters":[{"name":"managed_account_token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ManagedAccount"},"example":{"token":"acct_d3f99e1941a01861","name":"Tamisha Mohr","contact_email":"mohr_tamisha@vandervort.io","parent_account_token":"acct_aaa060a863c2012b","access_credential_tokens":[],"billing_rule_tokens":[],"email_domain":null}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["read"]}]},"put":{"tags":["ManagedAccounts"],"summary":"Update managed account","description":"Update a Managed Account.","operationId":"updateManagedAccount","parameters":[{"name":"managed_account_token","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/updateManagedAccount"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ManagedAccount"},"example":{"token":"acct_dd2fdf6564b60319","name":"New Name","contact_email":"newguy@acme.com","parent_account_token":"acct_bb022aecd1125ada","access_credential_tokens":["accss_crdntl_686904ffd39a4618"],"billing_rule_tokens":[],"email_domain":null}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}],"x-codegen-request-body-name":"updateManagedAccount"},"delete":{"tags":["ManagedAccounts"],"summary":"Delete managed account","description":"Delete a Managed Account.","operationId":"deleteManagedAccount","parameters":[{"name":"managed_account_token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ManagedAccount"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}]}},"/managed_accounts/{managed_account_token}/sso_connection":{"put":{"tags":["ManagedAccounts"],"summary":"Update SSO configuration for managed account","description":"Update SSO configuration for a Managed Account.","operationId":"updateSsoConnectionForManagedAccount","parameters":[{"name":"managed_account_token","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/updateSsoConnectionForManagedAccount"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ManagedAccount"}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}],"x-codegen-request-body-name":"updateSsoConnectionForManagedAccount"},"post":{"tags":["ManagedAccounts"],"summary":"Configure SSO for managed account","description":"Configure SSO for a Managed Account.","operationId":"createSsoConnectionForManagedAccount","parameters":[{"name":"managed_account_token","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createSsoConnectionForManagedAccount"}}},"required":true},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ManagedAccount"}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}],"x-codegen-request-body-name":"createSsoConnectionForManagedAccount"},"delete":{"tags":["ManagedAccounts"],"summary":"Delete SSO connection for managed account","description":"Delete SSO connection for a Managed Account.","operationId":"deleteSsoConnectionForManagedAccount","parameters":[{"name":"managed_account_token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ManagedAccount"}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}]}},"/me":{"get":{"tags":["Me"],"summary":"Get authenticated user info","description":"Get information about the authenticated BearerToken.","operationId":"getMe","responses":{"200":{"description":"General information about the user.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Me"}}}}},"security":[{"oauth2":["read"]}]},"put":{"tags":["Me"],"summary":"Update authenticated user","description":"Update the authenticated User.","operationId":"updateMe","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/updateMe"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Me"}}}},"422":{"description":"UnprocessableEntity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}],"x-codegen-request-body-name":"updateMe"}},"/cost_providers":{"get":{"tags":["CostProvider"],"summary":"Get cost providers","description":"List CostProviders available to query in a given Workspace.","operationId":"getCostProviders","parameters":[{"name":"workspace_token","in":"query","description":"The token of the Workspace to list CostProviders for. Required if the API token is associated with multiple Workspaces.","schema":{"type":"string"}}],"responses":{"200":{"description":"List of connected CostProviders.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CostProviders"}}}}},"security":[{"oauth2":["read"]}]}},"/cost_services":{"get":{"tags":["CostService"],"summary":"Get cost services","description":"List CostServices available to query in a given Workspace.","operationId":"getCostServices","parameters":[{"name":"workspace_token","in":"query","description":"The token of the Workspace to list CostServices for. Required if the API token is associated with multiple Workspaces.","schema":{"type":"string"}}],"responses":{"200":{"description":"List of CostServices, used to query costs using VQL.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CostServices"}}}}},"security":[{"oauth2":["read"]}]}},"/user_feedback":{"post":{"tags":["UserFeedback"],"summary":"Submit user feedback","description":"Provide UserFeedback for our product and features.","operationId":"createUserFeedback","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createUserFeedback"}}},"required":true},"responses":{"201":{"description":"Provide UserFeedback for our product and features.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserFeedback"}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"422":{"description":"UnprocessableEntity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["read"]}],"x-codegen-request-body-name":"createUserFeedback"}},"/network_flow_reports":{"get":{"tags":["NetworkFlowReports"],"summary":"Get all network flow reports","description":"Return all NetworkFlowReports.","operationId":"getNetworkFlowReports","parameters":[{"name":"page","in":"query","description":"The page of results to return.","schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","description":"The amount of results to return. The maximum is 1000.","schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NetworkFlowReports"},"example":{"links":{"self":"https://api.vantage.sh/v2/network_flow_reports","first":"https://api.vantage.sh/v2/network_flow_reports?page=1","next":null,"last":"https://api.vantage.sh/v2/network_flow_reports?page=1","prev":null},"network_flow_reports":[{"token":"ntflw_lg_rprt_185dd0e7ecbeefde","title":"All Network Flow Logs","default":false,"created_at":"2025-01-31T20:40:43Z","workspace_token":"wrkspc_5e659968c5c9381c","created_by_token":null,"start_date":"2025-01-24","end_date":"2025-01-30","date_interval":"last_7_days","groupings":"resource_uuid,traffic_category,peer_resource_uuid","flow_direction":null,"flow_weight":"costs","filter":null}]}}}}},"security":[{"oauth2":["read"]}]},"post":{"tags":["NetworkFlowReports"],"summary":"Create network flow report","description":"Create a NetworkFlowReport.","operationId":"createNetworkFlowReport","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createNetworkFlowReport"}}},"required":true},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NetworkFlowReport"},"example":{"token":"ntflw_lg_rprt_c6107e302cb8723e","title":"title","default":false,"created_at":"2025-01-31T20:40:46Z","workspace_token":"wrkspc_0aa4a5d5a5fc2608","created_by_token":"team_ed7fb90535f87b9f","start_date":"2025-01-24","end_date":"2025-01-30","date_interval":"last_7_days","groupings":"resource_uuid,traffic_category,peer_resource_uuid","flow_direction":null,"flow_weight":"costs","filter":"network_flow_logs.traffic_category = 'cross_az'"}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"422":{"description":"UnprocessableEntity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}],"x-codegen-request-body-name":"createNetworkFlowReport"}},"/network_flow_reports/{network_flow_report_token}":{"get":{"tags":["NetworkFlowReports"],"summary":"Get network flow report by token","description":"Return a NetworkFlowReport.","operationId":"getNetworkFlowReport","parameters":[{"name":"network_flow_report_token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NetworkFlowReport"},"example":{"token":"ntflw_lg_rprt_5a091da3979075e5","title":"All Network Flow Logs","default":false,"created_at":"2025-01-31T20:40:44Z","workspace_token":"wrkspc_5c2f9bd4f7a647e2","created_by_token":null,"start_date":"2025-01-24","end_date":"2025-01-30","date_interval":"last_7_days","groupings":"resource_uuid,traffic_category,peer_resource_uuid","flow_direction":null,"flow_weight":"costs","filter":null}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["read"]}]},"put":{"tags":["NetworkFlowReports"],"summary":"Update network flow report","description":"Update a NetworkFlowReport.","operationId":"updateNetworkFlowReport","parameters":[{"name":"network_flow_report_token","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/updateNetworkFlowReport"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NetworkFlowReport"},"example":{"token":"ntflw_lg_rprt_a5178e27a1be73a3","title":"new title","default":false,"created_at":"2025-01-31T20:40:47Z","workspace_token":"wrkspc_f8b981b7707ddda5","created_by_token":null,"start_date":"2025-01-24","end_date":"2025-01-30","date_interval":"last_7_days","groupings":"region,vpc_id","flow_direction":"egress","flow_weight":"bytes","filter":null}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"422":{"description":"UnprocessableEntity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}],"x-codegen-request-body-name":"updateNetworkFlowReport"},"delete":{"tags":["NetworkFlowReports"],"summary":"Delete network flow report","description":"Delete a NetworkFlowReport.","operationId":"deleteNetworkFlowReport","parameters":[{"name":"network_flow_report_token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NetworkFlowReport"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}]}},"/products/{product_id}/prices":{"get":{"tags":["Prices"],"summary":"Get prices for a product","description":"Return available Prices across all Regions for a Product.","operationId":"getPrices","parameters":[{"name":"product_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"The page of results to return.","schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","description":"The amount of results to return. The maximum is 1000","schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Prices"},"example":{"links":{"self":"https://api.vantage.sh/v1/products/aws-ec2-m5d_16xlarge/prices","first":"https://api.vantage.sh/v1/products/aws-ec2-m5d_16xlarge/prices?page=1","next":null,"last":"https://api.vantage.sh/v1/products/aws-ec2-m5d_16xlarge/prices?page=1","prev":null},"prices":[{"id":"aws-ec2-m5d_16xlarge-eu_central_1-on_demand-linux_enterprise","unit":"hour","region":"eu-central-1","rate_type":"compute","currency":"USD","amount":27.328,"details":{"platform":"linux-enterprise","lifecycle":"on-demand"}},{"id":"aws-ec2-m5d_16xlarge-us_east_1-on_demand-linux_enterprise","unit":"hour","region":"us-east-1","rate_type":"compute","currency":"USD","amount":3.616,"details":{"platform":"linux-enterprise","lifecycle":"on-demand"}},{"id":"aws-ec2-m5d_16xlarge-us_east_1-on_demand-rhel","unit":"hour","region":"us-east-1","rate_type":"compute","currency":"USD","amount":3.746,"details":{"platform":"rhel","lifecycle":"on-demand"}}]}}}}},"security":[{"oauth2":["read"]}]}},"/products/{product_id}/prices/{id}":{"get":{"tags":["Prices"],"summary":"Get price by ID","description":"Returns a price","operationId":"getPrice","parameters":[{"name":"product_id","in":"path","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Price"},"example":{"id":"aws-ec2-m5d_16xlarge-eu_central_1-on_demand-linux_enterprise","unit":"hour","region":"eu-central-1","rate_type":"compute","currency":"USD","amount":27.328,"details":{"platform":"linux-enterprise","lifecycle":"on-demand"}}}}}},"security":[{"oauth2":["read"]}]}},"/products":{"get":{"tags":["Prices"],"summary":"Get all products","description":"Return available Products for a Service. For example, with a Provider of AWS and a Service of EC2, Products will be a list of all EC2 Instances. By default, this endpoint returns all Products across all Services and Providers but has optional query parameters for filtering listed below.","operationId":"getProducts","parameters":[{"name":"provider_id","in":"query","description":"Query by Provider to list all Products across all Services for a Provider. e.g. aws","schema":{"type":"string"}},{"name":"service_id","in":"query","description":"Query by Service to list all Products for a specific provider service. e.g. aws-ec2","schema":{"type":"string"}},{"name":"name","in":"query","description":"Query by name of the Product to see a list of products which match that name. e.g. m5a.16xlarge","schema":{"type":"string"}},{"name":"page","in":"query","description":"The page of results to return.","schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","description":"The amount of results to return. The maximum is 1000","schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Products"},"example":{"links":{"self":"https://api.vantage.sh/v1/products","first":"https://api.vantage.sh/v1/products?page=1","next":null,"last":"https://api.vantage.sh/v1/products?page=1","prev":null},"products":[{"id":"aws-ec2-m5d_16xlarge","category":"compute","name":"m5d.16xlarge","service_id":"aws-ec2","provider_id":"aws","details":{"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"}},{"id":"aws-ec2-c5a_8xlarge","category":"compute","name":"c5a.8xlarge","service_id":"aws-ec2","provider_id":"aws","details":{"gpu":0,"name":"C5A 8xlarge","vcpu":64,"memory":256}},{"id":"aws-ec2-c5a_4large","category":"compute","name":"c5a.4large","service_id":"aws-ec2","provider_id":"aws","details":{"gpu":0,"name":"C5A 4large","vcpu":64,"memory":4}},{"id":"aws-s3-standard","category":"object_storage","name":"standard","service_id":"aws-s3","provider_id":"aws","details":{}}]}}}}},"security":[{"oauth2":["read"]}]}},"/products/{id}":{"get":{"tags":["Prices"],"summary":"Get product by ID","description":"Return a product","operationId":"getProduct","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Product"},"example":{"id":"aws-ec2-m5d_16xlarge","category":"compute","name":"m5d.16xlarge","service_id":"aws-ec2","provider_id":"aws","details":{"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"}}}}}},"security":[{"oauth2":["read"]}]}},"/recommendations":{"get":{"tags":["Recommendations"],"summary":"Get all recommendations","description":"Return all Recommendations. Use the `type` query parameter with a fuzzy fragment to filter recommendation type case-insensitively (for example: aws, aws:ec2, aws:ec2:rightsizing).","operationId":"getRecommendations","parameters":[{"name":"provider_ids","in":"query","description":"Filter by one or more providers. Requires workspace_token.","style":"form","explode":false,"schema":{"type":"array","items":{"type":"string","enum":["aws","gcp","azure","kubernetes","datadog"]}}},{"name":"billing_account_ids","in":"query","description":"Filter by billing account identifiers. Requires workspace_token.","style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"account_ids","in":"query","description":"Filter by account identifiers. Requires workspace_token.","style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"regions","in":"query","description":"Filter by region slugs (e.g. us-east-1, eastus, asia-east1). Requires workspace_token.","style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"tag_key","in":"query","description":"Filter by tag key (must be used with tag_value). Requires workspace_token.","schema":{"type":"string"}},{"name":"tag_value","in":"query","description":"Filter by tag value (requires tag_key). Requires workspace_token.","schema":{"type":"string"}},{"name":"start_date","in":"query","description":"Filter recommendations created on/after this YYYY-MM-DD date. Requires workspace_token.","schema":{"type":"string"}},{"name":"end_date","in":"query","description":"Filter recommendations created on/before this YYYY-MM-DD date. Requires workspace_token.","schema":{"type":"string"}},{"name":"status","in":"query","description":"Filter by status.","schema":{"type":"string","enum":["active","archived"]}},{"name":"page","in":"query","description":"The page of results to return.","schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","description":"The number of results to return. The maximum is 1000.","schema":{"type":"integer","format":"int32"}},{"name":"workspace_token","in":"query","description":"Filter by workspace.","schema":{"type":"string"}},{"name":"provider_account_id","in":"query","description":"Filter by provider account id (AWS account, Azure subscription id, etc).","schema":{"type":"string"}},{"name":"category","in":"query","description":"Filter by exact recommendation category. Ignored when type is provided.","schema":{"type":"string"}},{"name":"type","in":"query","description":"Fuzzy filter by recommendation type using a case-insensitive literal substring. Examples: aws, aws:ec2, aws:ec2:rightsizing.","schema":{"type":"string"}},{"name":"provider","in":"query","description":"Filter by provider.","schema":{"type":"string","enum":["aws","gcp","azure","kubernetes","datadog"]}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Recommendations"},"example":{"links":{"self":"https://api.vantage.sh/v2/recommendations","first":"https://api.vantage.sh/v2/recommendations?page=1","next":null,"last":"https://api.vantage.sh/v2/recommendations?page=1","prev":null},"recommendations":[{"token":"rcmmndtn_9bb8fa992d5b876b","type":null,"category":"ip_unattached","workspace_token":"wrkspc_e0e58b3c1ddef29c","provider":"aws","provider_account_id":"123456789012","description":"IP address is not attached to an instance.","potential_savings":"100.0","service":"AWS IP","created_at":"2026-01-28T16:53:32Z","resources_affected_count":0,"currency_code":"USD","currency_symbol":"$"}]}}}}},"security":[{"oauth2":["read"]}]}},"/recommendations/{recommendation_token}":{"get":{"tags":["Recommendations"],"summary":"Get recommendation by token","description":"Return a Recommendation.","operationId":"getRecommendation","parameters":[{"name":"recommendation_token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Recommendation"},"example":{"token":"rcmmndtn_0eea161ff1a4d183","type":null,"category":"ip_unattached","workspace_token":"wrkspc_634a8ca67ed39555","provider":"aws","provider_account_id":"123456789012","description":"IP address is not attached to an instance.","potential_savings":"100.0","service":"AWS IP","created_at":"2026-01-28T16:53:23Z","resources_affected_count":0,"currency_code":"USD","currency_symbol":"$"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["read"]}]}},"/recommendations/{recommendation_token}/resources":{"get":{"tags":["Recommendations"],"summary":"Get all resources for a recommendation","description":"Return all Active Resources, including Recommendation Actions, referenced in this Recommendation.","operationId":"getRecommendationResources","parameters":[{"name":"recommendation_token","in":"path","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"The page of results to return.","schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","description":"The number of results to return. Defaults to 25. The maximum is 500.","schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecommendationProviderResources"},"example":{"links":{"self":"https://api.vantage.sh/v2/recommendations/rcmmndtn_073dad68f8be41a2/resources","first":"https://api.vantage.sh/v2/recommendations/rcmmndtn_073dad68f8be41a2/resources?page=1","next":null,"last":"https://api.vantage.sh/v2/recommendations/rcmmndtn_073dad68f8be41a2/resources?page=1","prev":null},"resources":[{"token":"prvdr_rsrc_8ec00e4b4c410538","resource_id":"i-12345","recommendation_actions":[{"action":"modify","description":"Migrate to c5a.xlarge. Reasons: CPU over-provisioned, EBS IOPS over-provisioned, EBS throughput over-provisioned, Network bandwidth over-provisioned, and Network PPS over-provisioned.","potential_savings":"100.0","instance_type":"c5a.xlarge","remediation_cli_command":"aws ec2 modify-instance-attribute --instance-id i-12345 --instance-type '{\"Value\": \"c5a.xlarge\"}'"}]}]}}}}},"security":[{"oauth2":["read"]}]}},"/recommendations/{recommendation_token}/resources/{resource_token}":{"get":{"tags":["Recommendations"],"summary":"Get specific resource for a recommendation","description":"Return an Active Resource, including Recommendation Actions, referenced in this Recommendation.","operationId":"getRecommendationResource","parameters":[{"name":"recommendation_token","in":"path","required":true,"schema":{"type":"string"}},{"name":"resource_token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecommendationProviderResource"},"example":{"token":"prvdr_rsrc_3065ac9b0999c363","resource_id":"i-12345","recommendation_actions":[{"action":"modify","description":"Migrate to c5a.xlarge. Reasons: CPU over-provisioned, EBS IOPS over-provisioned, EBS throughput over-provisioned, Network bandwidth over-provisioned, and Network PPS over-provisioned.","potential_savings":"100.0","instance_type":"c5a.xlarge","remediation_cli_command":"aws ec2 modify-instance-attribute --instance-id i-12345 --instance-type '{\"Value\": \"c5a.xlarge\"}'"}]}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["read"]}]}},"/recommendations/by_type/{type}/resources":{"get":{"tags":["Recommendations"],"summary":"Get all resources for a recommendation type","description":"Return all Active Resources associated with recommendations of the specified type.","operationId":"getRecommendationTypeResources","parameters":[{"name":"type","in":"path","required":true,"schema":{"type":"string"}},{"name":"provider_ids","in":"query","description":"Filter by one or more providers. Requires workspace_token.","style":"form","explode":false,"schema":{"type":"array","items":{"type":"string","enum":["aws","gcp","azure","kubernetes","datadog"]}}},{"name":"billing_account_ids","in":"query","description":"Filter by billing account identifiers. Requires workspace_token.","style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"account_ids","in":"query","description":"Filter by account identifiers. Requires workspace_token.","style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"regions","in":"query","description":"Filter by region slugs (e.g. us-east-1, eastus, asia-east1). Requires workspace_token.","style":"form","explode":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"tag_key","in":"query","description":"Filter by tag key (must be used with tag_value). Requires workspace_token.","schema":{"type":"string"}},{"name":"tag_value","in":"query","description":"Filter by tag value (requires tag_key). Requires workspace_token.","schema":{"type":"string"}},{"name":"start_date","in":"query","description":"Filter recommendations created on/after this YYYY-MM-DD date. Requires workspace_token.","schema":{"type":"string"}},{"name":"end_date","in":"query","description":"Filter recommendations created on/before this YYYY-MM-DD date. Requires workspace_token.","schema":{"type":"string"}},{"name":"status","in":"query","description":"Filter by status.","schema":{"type":"string","enum":["active","archived"]}},{"name":"page","in":"query","description":"The page of results to return.","schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","description":"The number of results to return. The maximum is 1000.","schema":{"type":"integer","format":"int32"}},{"name":"workspace_token","in":"query","description":"The workspace token to filter recommendations by. Required.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecommendationProviderResources"},"example":{"resources":[{"token":"pvdr_rsrc_abc123","resource_id":"i-1234567890abcdef0","recommendation_actions":[{"action":"modify","instance_type":"c5a.xlarge","description":"Migrate to c5a.xlarge for cost savings.","potential_savings":"100.00"}]}],"links":{"first":"/v2/recommendations/by_type/aws:ec2:co-rightsizing/resources?workspace_token=wrkspc_abc123\u0026page=1","last":"/v2/recommendations/by_type/aws:ec2:co-rightsizing/resources?workspace_token=wrkspc_abc123\u0026page=1"}}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["read"]}]}},"/recommendation_views":{"get":{"tags":["RecommendationViews"],"summary":"Get all recommendation views","description":"Return all RecommendationViews.","operationId":"getRecommendationViews","parameters":[{"name":"page","in":"query","description":"The page of results to return.","schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","description":"The amount of results to return. The maximum is 1000.","schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecommendationViews"},"example":{"links":{"self":"https://api.vantage.sh/v2/recommendation_views","first":"https://api.vantage.sh/v2/recommendation_views?page=1","next":null,"last":"https://api.vantage.sh/v2/recommendation_views?page=1","prev":null},"recommendation_views":[{"token":"rec_vw_3dffc0458f7a2487","title":"Production Recommendations","workspace_token":"wrkspc_914dcb0959497507","start_date":"2024-01-01","end_date":"2024-12-31","provider_ids":["aws","gcp"],"billing_account_ids":[],"account_ids":["123456789012"],"regions":["us-east-1","us-west-2"],"tag_key":"environment","tag_value":"production","created_at":"2024-07-15T16:08:53Z","created_by":"usr_95fac32734bdceab"}]}}}}},"security":[{"oauth2":["read"]}]},"post":{"tags":["RecommendationViews"],"summary":"Create recommendation view","description":"Create a RecommendationView.","operationId":"createRecommendationView","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createRecommendationView"}}},"required":true},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecommendationView"},"example":{"token":"rec_vw_a1b2c3d4e5f67890","title":"Staging Recommendations","workspace_token":"wrkspc_be6568a301b1d06c","start_date":"2024-01-01","end_date":"2024-06-30","provider_ids":["aws"],"billing_account_ids":[],"account_ids":[],"regions":[],"tag_key":"environment","tag_value":"staging","created_at":"2024-07-15T16:10:00Z","created_by":"usr_95fac32734bdceab"}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"422":{"description":"UnprocessableEntity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}],"x-codegen-request-body-name":"createRecommendationView"}},"/recommendation_views/{recommendation_view_token}":{"get":{"tags":["RecommendationViews"],"summary":"Get recommendation view by token","description":"Return a specific RecommendationView.","operationId":"getRecommendationView","parameters":[{"name":"recommendation_view_token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecommendationView"},"example":{"token":"rec_vw_be3f24eb1b5aabf6","title":"Production Recommendations","workspace_token":"wrkspc_be6568a301b1d06c","start_date":"2024-01-01","end_date":"2024-12-31","provider_ids":["aws","gcp"],"billing_account_ids":[],"account_ids":["123456789012"],"regions":["us-east-1","us-west-2"],"tag_key":"environment","tag_value":"production","created_at":"2024-07-15T16:08:54Z","created_by":"team_73f6001f98e9012b"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["read"]}]},"put":{"tags":["RecommendationViews"],"summary":"Update recommendation view","description":"Update a RecommendationView.","operationId":"updateRecommendationView","parameters":[{"name":"recommendation_view_token","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/updateRecommendationView"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecommendationView"},"example":{"token":"rec_vw_be3f24eb1b5aabf6","title":"Updated Recommendations View","workspace_token":"wrkspc_be6568a301b1d06c","start_date":"2024-01-01","end_date":"2024-12-31","provider_ids":["aws","gcp","azure"],"billing_account_ids":[],"account_ids":["123456789012","987654321098"],"regions":["us-east-1","us-west-2","ap-northeast-2"],"tag_key":"environment","tag_value":"production","created_at":"2024-07-15T16:08:54Z","created_by":"team_73f6001f98e9012b"}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"422":{"description":"UnprocessableEntity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}],"x-codegen-request-body-name":"updateRecommendationView"},"delete":{"tags":["RecommendationViews"],"summary":"Delete recommendation view","description":"Delete a RecommendationView.","operationId":"deleteRecommendationView","parameters":[{"name":"recommendation_view_token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecommendationView"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}]}},"/report_notifications":{"get":{"tags":["ReportNotifications"],"summary":"Get all report notifications","description":"Return all ReportNotifications.","operationId":"getReportNotifications","parameters":[{"name":"page","in":"query","description":"The page of results to return.","schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","description":"The amount of results to return. The maximum is 1000.","schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportNotifications"},"example":{"links":{"self":"https://api.vantage.sh/v2/report_notifications","first":"https://api.vantage.sh/v2/report_notifications?page=1","next":null,"last":"https://api.vantage.sh/v2/report_notifications?page=1","prev":null},"report_notifications":[{"token":"rprt_ntfctn_7c09ca27d07d8d1e","title":"Test Notification","cost_report_token":"rprt_ba0a5a5201390d72","user_tokens":["usr_27edb13f3beac3cb"],"frequency":"weekly","change":"percentage"}]}}}}},"security":[{"oauth2":["read"]}]},"post":{"tags":["ReportNotifications"],"summary":"Create report notification","description":"Create a ReportNotification.","operationId":"createReportNotification","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createReportNotification"}}},"required":true},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportNotification"},"example":{"token":"rprt_ntfctn_8ce31b43a149cd2e","title":"New Report Notification","cost_report_token":"rprt_933010600676b02f","user_tokens":["usr_45e7d17e9f402226"],"frequency":"daily","change":"percentage"}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"422":{"description":"UnprocessableEntity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}],"x-codegen-request-body-name":"createReportNotification"}},"/report_notifications/{report_notification_token}":{"get":{"tags":["ReportNotifications"],"summary":"Get report notification by token","description":"Return a ReportNotification.","operationId":"getReportNotification","parameters":[{"name":"report_notification_token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportNotification"},"example":{"token":"rprt_ntfctn_21b4287a212406b1","title":"Test Notification","cost_report_token":"rprt_d084c84455edc606","user_tokens":["usr_56d53f802edba3e6"],"frequency":"weekly","change":"percentage"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["read"]}]},"put":{"tags":["ReportNotifications"],"summary":"Update report notification","description":"Update a ReportNotification.","operationId":"updateReportNotification","parameters":[{"name":"report_notification_token","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/updateReportNotification"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportNotification"},"example":{"token":"rprt_ntfctn_b36b208a90ee87f6","title":"Updated Report Notification","cost_report_token":"rprt_07b88c04aa6bed8c","user_tokens":["usr_35ed19fadcfed8c9"],"frequency":"weekly","change":"dollars"}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}],"x-codegen-request-body-name":"updateReportNotification"},"delete":{"tags":["ReportNotifications"],"summary":"Delete report notification","description":"Delete a ReportNotification.","operationId":"deleteReportNotification","parameters":[{"name":"report_notification_token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportNotification"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}]}},"/resource_reports/columns":{"get":{"tags":["ResourceReports"],"summary":"Get resource report columns","description":"List available columns for a resource type.","operationId":"getResourceReportColumns","parameters":[{"name":"resource_type","in":"query","description":"VQL resource type name (https://docs.vantage.sh/vql_resource_report#costs-by-resource-type)","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returns array of available column names for the specified resource type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceReportColumns"},"example":{"columns":["provider","label","accruedCosts","recommendationSavings","resource","type","region","account","provisionedState","maxCpu","maxMemory","maxGpu","maxGpuMemory","maxEbsReadOpsPerSecond","maxEbsWriteOpsPerSecond","maxEbsReadBytesPerSecond","maxEbsWriteBytesPerSecond","maxDiskReadOpsPerSecond","maxDiskWriteOpsPerSecond","maxDiskReadBytesPerSecond","maxDiskWriteBytesPerSecond","maxNetworkInBytesPerSecond","maxNetworkOutBytesPerSecond","maxNetworkPacketsInPerSecond","maxNetworkPacketsOutPerSecond","maxNetworkThroughputDailyByte","maxDatabaseConnections","instanceId","imageId","vpcId","subnetId","publicIpAddress","privateIpAddress","publicDnsName","instanceType","instanceFamily","platform","spotInstanceRequestId","launchTime","instanceLifecycle","state","name","platformType","platformDetails","spotInfo","spotPrice","datadogAgentInstalled","networkInterfaces","tags"]}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["read"]}]}},"/resource_reports":{"get":{"tags":["ResourceReports"],"summary":"Get all resource reports","description":"Return all ResourceReports.","operationId":"getResourceReports","parameters":[{"name":"page","in":"query","description":"The page of results to return.","schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","description":"The number of results to return. The maximum is 1000.","schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceReports"},"example":{"links":{"self":"https://api.vantage.sh/v2/resource_reports","first":"https://api.vantage.sh/v2/resource_reports?page=1","next":null,"last":"https://api.vantage.sh/v2/resource_reports?page=1","prev":null},"resource_reports":[{"token":"prvdr_rsrc_rprt_955ad21703b22099","title":"Resource Report 1274a351","filter":"(resources.provider = 'aws')","created_at":"2025-08-14T19:13:30Z","workspace_token":"wrkspc_490ea5f144c3896c","user_token":null,"created_by_token":null,"columns":["provider","label","accrued_costs","recommendation_savings","resource","type","region","account"]}]}}}}},"security":[{"oauth2":["read"]}]},"post":{"tags":["ResourceReports"],"summary":"Create resource report","description":"Create a ResourceReport.","operationId":"createResourceReport","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createResourceReport"}}},"required":true},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceReport"},"example":{"token":"prvdr_rsrc_rprt_d881b5362adab1c2","title":"EC2 Report","filter":"resources.provider = 'aws' and resources.type = 'aws_instance'","created_at":"2025-08-14T19:13:32Z","workspace_token":"wrkspc_e5a36fbae0021598","user_token":null,"created_by_token":"team_16f0d31149f3254a","columns":["provider","label","accrued_costs","recommendation_savings","resource","type","region","account"]}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"422":{"description":"UnprocessableEntity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}],"x-codegen-request-body-name":"createResourceReport"}},"/resource_reports/{resource_report_token}":{"get":{"tags":["ResourceReports"],"summary":"Get resource report by token","description":"Return a ResourceReport.","operationId":"getResourceReport","parameters":[{"name":"resource_report_token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceReport"},"example":{"token":"prvdr_rsrc_rprt_5270d2a0708fd74f","title":"Resource Report 84541657","filter":"(resources.provider = 'aws')","created_at":"2025-08-14T19:13:30Z","workspace_token":"wrkspc_2ed2f1a59293a996","user_token":null,"created_by_token":null,"columns":["provider","label","accrued_costs","recommendation_savings","resource","type","region","account"]}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["read"]}]},"put":{"tags":["ResourceReports"],"summary":"Update resource report","description":"Update a ResourceReport.","operationId":"updateResourceReport","parameters":[{"name":"resource_report_token","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/updateResourceReport"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceReport"},"example":{"token":"prvdr_rsrc_rprt_79e32da0783a830f","title":"EC2 Edited Report","filter":"resources.provider = 'aws' and resources.type = 'aws_ebs_volume'","created_at":"2025-08-14T19:13:31Z","workspace_token":"wrkspc_485f11dcbe94de26","user_token":null,"created_by_token":null,"columns":["provider","label","accrued_costs","recommendation_savings","resource","type","region","account"]}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"422":{"description":"UnprocessableEntity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}],"x-codegen-request-body-name":"updateResourceReport"},"delete":{"tags":["ResourceReports"],"summary":"Delete resource report","description":"Delete a ResourceReport.","operationId":"deleteResourceReport","parameters":[{"name":"resource_report_token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceReport"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}]}},"/resources":{"get":{"tags":["Resources"],"summary":"Get resources","description":"Return Resources contained in a ResourceReport","operationId":"getReportResources","parameters":[{"name":"resource_report_token","in":"query","description":"The ResourceReport token.","schema":{"type":"string"}},{"name":"filter","in":"query","description":"The filter query language to apply to the Resources. Additional documentation available at https://docs.vantage.sh/vql.","schema":{"type":"string"}},{"name":"workspace_token","in":"query","description":"The Workspace in which the Resources are located.","schema":{"type":"string"}},{"name":"include_cost","in":"query","description":"Include cost information in the response.","schema":{"type":"boolean"}},{"name":"page","in":"query","description":"The page number for pagination.","schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","description":"The number of resources to return per page.","schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Resources"},"example":{"links":{"self":"https://api.vantage.sh/v2/resources?resource_report_token=prvdr_rsrc_rprt_a92daa2d9d885dcc\u0026include_cost=true","first":"https://api.vantage.sh/v2/resources?resource_report_token=prvdr_rsrc_rprt_a92daa2d9d885dcc\u0026include_cost=true\u0026page=1","next":null,"last":"https://api.vantage.sh/v2/resources?resource_report_token=prvdr_rsrc_rprt_a92daa2d9d885dcc\u0026include_cost=true\u0026page=1","prev":null},"resources":[{"token":"prvdr_rsrc_4a1f4a30d86a586f","uuid":"0a997b68-281b-441b-865a-1ce183ae5f51","type":"aws_instance","label":"Faker::Business","metadata":{"instance_id":null,"image_id":null,"region":null,"vpc_id":null,"subnet_id":null,"public_ip_address":null,"private_ip_address":null,"public_dns_name":null,"instance_type":null,"platform":null,"spot_instance_request_id":null,"launch_time":1728332095,"instance_lifecycle":null,"name":null,"platform_type":"Linux/UNIX","spot_info":null,"spot_price":null,"datadog_agent_installed":null,"network_interfaces":null,"tags":null,"instance_type_name":"t2.micro","lifecycle":"normal"},"account_id":"734912804094","billing_account_id":"734912804094","provider":"aws","region":"us-east-1","cost":200.0,"created_at":"2024-10-06T20:14:55.898Z"},{"token":"prvdr_rsrc_21a16d1b66e134d9","uuid":"0f21a7dc-a466-43fb-81e8-1cc2346482f4","type":"aws_instance","label":"Faker::Business","metadata":{"instance_id":null,"image_id":null,"region":null,"vpc_id":null,"subnet_id":null,"public_ip_address":null,"private_ip_address":null,"public_dns_name":null,"instance_type":null,"platform":null,"spot_instance_request_id":null,"launch_time":1728332095,"instance_lifecycle":null,"name":null,"platform_type":"Linux/UNIX","spot_info":null,"spot_price":null,"datadog_agent_installed":null,"network_interfaces":null,"tags":null,"instance_type_name":"t2.micro","lifecycle":"normal"},"account_id":"734912804094","billing_account_id":"734912804094","provider":"aws","region":"us-east-1","cost":100.0,"created_at":"2024-10-07T20:14:55.898Z"}]}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"402":{"description":"PaymentRequired","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["read"]}]}},"/resources/{resource_token}":{"get":{"tags":["Resources"],"summary":"Get resource by token","description":"Return a single Resource","operationId":"getResource","parameters":[{"name":"resource_token","in":"path","required":true,"schema":{"type":"string"}},{"name":"include_cost","in":"query","description":"Include cost information in the response.","schema":{"type":"boolean"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Resource"},"example":{"token":"prvdr_rsrc_99a293db073a2e99","uuid":"e930c92f-5449-4eaf-9ef5-4f714da1ab45","type":"aws_instance","label":"Faker::Business","metadata":{"instance_id":null,"image_id":null,"region":null,"vpc_id":null,"subnet_id":null,"public_ip_address":null,"private_ip_address":null,"public_dns_name":null,"instance_type":null,"platform":null,"spot_instance_request_id":null,"launch_time":1728479795,"instance_lifecycle":null,"name":null,"platform_type":"Linux/UNIX","spot_info":null,"spot_price":null,"datadog_agent_installed":null,"network_interfaces":null,"tags":null,"instance_type_name":"t2.micro","lifecycle":"normal"},"account_id":"565894339657","billing_account_id":"565894339657","provider":"aws","region":"us-east-1","costs":[{"category":"Data Transfer","amount":3.0},{"category":"Compute Instance","amount":3.0}],"created_at":"2024-10-09T13:16:35.719Z"}}}}},"security":[{"oauth2":["read"]}]}},"/saved_filters":{"get":{"tags":["SavedFilters"],"summary":"Get all saved filters","description":"Return all SavedFilters that can be applied to a CostReport.","operationId":"getSavedFilters","parameters":[{"name":"page","in":"query","description":"The page of results to return.","schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","description":"The amount of results to return. The maximum is 1000.","schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SavedFilters"},"example":{"links":{"self":"https://api.vantage.sh/v2/saved_filters","first":"https://api.vantage.sh/v2/saved_filters?page=1","next":null,"last":"https://api.vantage.sh/v2/saved_filters?page=1","prev":null},"saved_filters":[{"token":"svd_fltr_3dffc0458f7a2487","title":"AWS Account","cost_report_tokens":["rprt_3d0ae4648f5fd8f7"],"filter":"(costs.provider = 'aws' AND costs.account_id = '30')","created_at":"2024-07-15T16:08:53Z","created_by":"usr_95fac32734bdceab","workspace_token":"wrkspc_914dcb0959497507"}]}}}}},"security":[{"oauth2":["read"]}]},"post":{"tags":["SavedFilters"],"summary":"Create saved filter","description":"Create a SavedFilter for CostReports.","operationId":"createSavedFilter","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createSavedFilter"}}},"required":true},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SavedFilter"},"example":{"token":"svd_fltr_4de629566ddd68c9","title":"New Saved Filter","cost_report_tokens":[],"filter":"costs.provider = 'datadog'","created_at":"2024-07-15T16:08:58Z","created_by":"team_e58399e4df1175e9","workspace_token":"wrkspc_e4cacf2493142e5b"}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"422":{"description":"UnprocessableEntity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}],"x-codegen-request-body-name":"createSavedFilter"}},"/saved_filters/{saved_filter_token}":{"get":{"tags":["SavedFilters"],"summary":"Get saved filter by token","description":"Return a specific SavedFilter.","operationId":"getSavedFilter","parameters":[{"name":"saved_filter_token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SavedFilter"},"example":{"token":"svd_fltr_be3f24eb1b5aabf6","title":"AWS Account","cost_report_tokens":["rprt_47023ad2b735f57d"],"filter":"(costs.provider = 'aws' AND costs.account_id = '98')","created_at":"2024-07-15T16:08:54Z","created_by":"team_73f6001f98e9012b","workspace_token":"wrkspc_be6568a301b1d06c"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["read"]}]},"put":{"tags":["SavedFilters"],"summary":"Update saved filter","description":"Update a SavedFilter for CostReports.","operationId":"updateSavedFilter","parameters":[{"name":"saved_filter_token","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/updateSavedFilter"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SavedFilter"},"example":{"token":"svd_fltr_eeabf4c7264f94a8","title":"Updated Saved Filter","cost_report_tokens":[],"filter":"costs.provider = 'azure'","created_at":"2024-07-15T16:08:55Z","created_by":"usr_240a5fd77d5da076","workspace_token":"wrkspc_0b7ef373f9c5d485"}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"422":{"description":"UnprocessableEntity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}],"x-codegen-request-body-name":"updateSavedFilter"},"delete":{"tags":["SavedFilters"],"summary":"Delete saved filter","description":"Delete a SavedFilter for CostReports.","operationId":"deleteSavedFilter","parameters":[{"name":"saved_filter_token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SavedFilter"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}]}},"/segments":{"get":{"tags":["Segments"],"summary":"Get all segments","description":"Return all Segments.","operationId":"getSegments","parameters":[{"name":"page","in":"query","description":"The page of results to return.","schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","description":"The amount of results to return. The maximum is 1000.","schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Segments"},"example":{"links":{"self":"https://api.vantage.sh/v2/segments","first":"https://api.vantage.sh/v2/segments?page=1","next":null,"last":"https://api.vantage.sh/v2/segments?page=1","prev":null},"segments":[{"token":"fltr_sgmt_79b0b8ef658d6bba","title":"Business Units","parent_segment_token":null,"description":"Segmented by business unit.","track_unallocated":false,"report_settings":{"include_credits":false,"include_refunds":false,"include_discounts":true,"include_tax":true,"amortize":true},"priority":100,"filter":"(costs.provider = 'aws')","created_at":"2024-05-14T14:34:22Z","workspace_token":"wrkspc_21f36c4ad272fb7b","report_token":"rprt_8dd4e1fe3b88c821"}]}}}}},"security":[{"oauth2":["read"]}]},"post":{"tags":["Segments"],"summary":"Create segment","description":"Create a Segment.","operationId":"createSegment","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createSegment"}}},"required":true},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Segment"},"example":{"token":"fltr_sgmt_a22e3e52e9a93a75","title":"New Segment","parent_segment_token":"fltr_sgmt_7f1af73e92e5e156","description":"I'm a Segment.","track_unallocated":false,"priority":100,"filter":"costs.provider = 'aws' AND costs.service = 'Amazon Simple Storage Service'","created_at":"2024-05-14T14:34:24Z","workspace_token":"wrkspc_f75aec7671a72dd3","report_token":null}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"422":{"description":"UnprocessableEntity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}],"x-codegen-request-body-name":"createSegment"}},"/segments/{segment_token}":{"get":{"tags":["Segments"],"summary":"Get segment by token","description":"Return a Segment.","operationId":"getSegment","parameters":[{"name":"segment_token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Segment"},"example":{"token":"fltr_sgmt_e528df30fe4c9da4","title":"Function-based","parent_segment_token":null,"description":"Segmented by function.","track_unallocated":false,"report_settings":{"include_credits":false,"include_refunds":false,"include_discounts":true,"include_tax":true,"amortize":true},"priority":100,"filter":"(costs.provider = 'aws')","created_at":"2024-05-14T14:34:18Z","workspace_token":"wrkspc_eb7573db105407df","report_token":"rprt_f7828113036f5fce"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["read"]}]},"put":{"tags":["Segments"],"summary":"Update segment","description":"Update a Segment.","operationId":"updateSegment","parameters":[{"name":"segment_token","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/updateSegment"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Segment"},"example":{"token":"fltr_sgmt_1550eb291314035c","title":"Updated Segment","parent_segment_token":"fltr_sgmt_a39cf865967ed4d8","description":"This segment is updated.","track_unallocated":false,"priority":42,"filter":"costs.provider = 'azure'","created_at":"2024-05-14T14:34:23Z","workspace_token":"wrkspc_1be9d0445f94db0b","report_token":"rprt_3e460438ae115013"}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}],"x-codegen-request-body-name":"updateSegment"},"delete":{"tags":["Segments"],"summary":"Delete segment","description":"Delete a Segment.","operationId":"deleteSegment","parameters":[{"name":"segment_token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Segment"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}]}},"/tags":{"get":{"tags":["Tags"],"summary":"Get all tags","description":"Return all Tags that the current API token has access to.","operationId":"getTags","parameters":[{"name":"providers","in":"query","description":"An array of providers to scope Tags by.","style":"form","explode":false,"schema":{"type":"array","items":{"type":"string","enum":["aws","azure","gcp","snowflake","databricks","mongo","datadog","fastly","new_relic","opencost","open_ai","oracle","confluent","planetscale","coralogix","kubernetes","custom_provider","github","linode","grafana","clickhouse","temporal","twilio","azure_csp","kubernetes_agent","anthropic","anyscale","cursor","elastic","vercel","redis_cloud","circle_ci"]}}},{"name":"search_query","in":"query","description":"A search query to filter Tags by tag key.","schema":{"type":"string"}},{"name":"sort_direction","in":"query","description":"The direction in which you would like to sort the data by. Defaults to 'asc'.","schema":{"type":"string","enum":["asc","desc"]}},{"name":"page","in":"query","description":"The page of results to return.","schema":{"type":"integer","format":"int32","default":1}},{"name":"limit","in":"query","description":"The number of results to return per page. Defaults to 100. The maximum is 1000.","schema":{"type":"integer","format":"int32","default":100}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Tags"},"example":{"links":{"self":"https://api.vantage.sh/v2/tags","first":"https://api.vantage.sh/v2/tags?page=1","next":null,"last":null,"prev":null},"tags":[{"tag_key":"app","hidden":false,"preferred":false,"providers":["aws","azure","custom_provider:accss_crdntl_ef89becbcf119a74"]},{"tag_key":"environment","hidden":false,"preferred":false,"providers":["aws","azure","custom_provider:accss_crdntl_ef89becbcf119a74"]}]}}}}},"security":[{"oauth2":["read"]}]},"put":{"tags":["Tags"],"summary":"Update tag","description":"Updates an existing Tag.","operationId":"updateTag","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/updateTag"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Tags"},"example":{"tags":[{"tag_key":"app","hidden":true,"preferred":false,"providers":["aws","azure","custom_provider:accss_crdntl_6d2b7b71244943a1"]}]}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"422":{"description":"UnprocessableEntity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}],"x-codegen-request-body-name":"updateTag"}},"/tags/{key}/values":{"get":{"tags":["Tags"],"summary":"Get tag values","description":"Returns corresponding TagValues for a given Tag.","operationId":"getTagValues","parameters":[{"name":"key","in":"path","description":"The key of the Tag for which you would like to retrieve TagValues.","required":true,"schema":{"type":"string"}},{"name":"providers","in":"query","description":"An array of providers to scope TagValues by.","style":"form","explode":false,"schema":{"type":"array","items":{"type":"string","enum":["aws","azure","gcp","snowflake","databricks","mongo","datadog","fastly","new_relic","opencost","open_ai","oracle","confluent","planetscale","coralogix","kubernetes","custom_provider","github","linode","grafana","clickhouse","temporal","twilio","azure_csp","kubernetes_agent","anthropic","anyscale","cursor","elastic","vercel","redis_cloud","circle_ci"]}}},{"name":"sort_direction","in":"query","description":"The direction in which to sort the TagValues. Defaults to 'asc'.","schema":{"type":"string","default":"asc","enum":["asc","desc"]}},{"name":"search_query","in":"query","description":"A search query to filter TagValues by the value name.","schema":{"type":"string"}},{"name":"page","in":"query","description":"The page of results to return.","schema":{"type":"integer","format":"int32","default":1}},{"name":"limit","in":"query","description":"The number of results to return per page. Defaults to 100. The maximum is 1000.","schema":{"type":"integer","format":"int32","default":100}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagValues"},"example":{"links":{"self":"https://api.vantage.sh/v2/tags/environment/values?sort_column=tag_value\u0026sort_direction=asc","first":"https://api.vantage.sh/v2/tags/environment/values?sort_column=tag_value\u0026sort_direction=asc\u0026page=1","next":null,"last":null,"prev":null},"tag_values":[{"tag_value":"production","providers":["aws","azure","custom_provider:accss_crdntl_b180279f14faa5b7"]},{"tag_value":"staging","providers":["aws","azure","custom_provider:accss_crdntl_b180279f14faa5b7"]}]}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["read"]}]}},"/teams":{"get":{"tags":["Teams"],"summary":"Get all teams","description":"Return all Teams that the current API token has access to.","operationId":"getTeams","parameters":[{"name":"page","in":"query","description":"The page of results to return.","schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","description":"The amount of results to return. The maximum is 1000.","schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Teams"},"example":{"links":{"self":"https://api.vantage.sh/v2/teams","first":"https://api.vantage.sh/v2/teams?page=1","next":null,"last":"https://api.vantage.sh/v2/teams?page=1","prev":null},"teams":[{"token":"team_2d4733920ec4385e","name":"Prod Team","description":"Handles all production deployments","workspace_tokens":["wrkspc_08026aa5fb4c90f8"],"user_tokens":["usr_c59398553e838116"],"default_dashboard_token":null}]}}}}},"security":[{"oauth2":["read"]}]},"post":{"tags":["Teams"],"summary":"Create team","description":"Create a new Team.","operationId":"createTeam","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createTeam"}}},"required":true},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Team"},"example":{"token":"team_8467157535a30221","name":"New Team","description":"New Team Description","workspace_tokens":["wrkspc_52b6e5e663b4cde1"],"user_tokens":["usr_a00e614b5843c234"],"default_dashboard_token":null}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"422":{"description":"UnprocessableEntity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}],"x-codegen-request-body-name":"createTeam"}},"/teams/{team_token}":{"get":{"tags":["Teams"],"summary":"Get team by token","description":"Return a specific Team.","operationId":"getTeam","parameters":[{"name":"team_token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Team"},"example":{"token":"team_081e09bbb812d369","name":"Prod Team","description":"Handles all production deployments.","workspace_tokens":["wrkspc_ddc003a2f0171bf8"],"user_tokens":["usr_7c309915e847cfc6"],"default_dashboard_token":null}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["read"]}]},"put":{"tags":["Teams"],"summary":"Update team","description":"Update a Team.","operationId":"updateTeam","parameters":[{"name":"team_token","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/updateTeam"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Team"},"example":{"token":"team_d617e73dcc6b57c5","name":"Updated Team","description":"Updated Team Description","workspace_tokens":["wrkspc_efc4284a56772481"],"user_tokens":["usr_d268561e520c7aac"],"default_dashboard_token":null}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"422":{"description":"UnprocessableEntity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}],"x-codegen-request-body-name":"updateTeam"},"delete":{"tags":["Teams"],"summary":"Delete team","description":"Delete a Team.","operationId":"deleteTeam","parameters":[{"name":"team_token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Team"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"422":{"description":"UnprocessableEntity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}]}},"/teams/{team_token}/members":{"get":{"tags":["Teams"],"summary":"Get team members","description":"Return all members of a Team.","operationId":"getTeamMembers","parameters":[{"name":"team_token","in":"path","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"The page of results to return.","schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","description":"The amount of results to return. The maximum is 1000.","schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamMembers"},"example":{"links":{"self":"https://api.vantage.sh/v2/teams/team_081e09bbb812d369/members","first":"https://api.vantage.sh/v2/teams/team_081e09bbb812d369/members?page=1","next":null,"last":"https://api.vantage.sh/v2/teams/team_081e09bbb812d369/members?page=1","prev":null},"members":[{"name":"John Doe","email":"john.doe@acme.com","user_token":"usr_7c309915e847cfc6","role":"editor"},{"name":"Jane Smith","email":"jane.smith@acme.com","user_token":"usr_a1b2c3d4e5f67890","role":"viewer"}]}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["read"]}]},"post":{"tags":["Teams"],"summary":"Add team member","description":"Add a member to a Team.","operationId":"addTeamMember","parameters":[{"name":"team_token","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/addTeamMember"}}},"required":true},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamMember"},"example":{"user_email":"john.doe@acme.com","role":"editor"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"422":{"description":"UnprocessableEntity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}],"x-codegen-request-body-name":"addTeamMember"}},"/teams/{team_token}/members/{user_token}":{"delete":{"tags":["Teams"],"summary":"Remove team member","description":"Remove a member from a Team.","operationId":"removeTeamMember","parameters":[{"name":"team_token","in":"path","required":true,"schema":{"type":"string"}},{"name":"user_token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"","content":{}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}]}},"/unit_costs/data_exports":{"post":{"tags":["UnitCosts"],"summary":"Generate data export of unit costs","description":"Generate a DataExport of unit costs.","operationId":"createUnitCostsExport","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createUnitCostsExport"}}},"required":true},"responses":{"202":{"description":"The data export has been queued and will be available at the location specified in the Location header.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataExport"}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"402":{"description":"PaymentRequired","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["read"]}],"x-codegen-request-body-name":"createUnitCostsExport"}},"/unit_costs":{"get":{"tags":["UnitCosts"],"summary":"Get all unit costs for a cost report","description":"Return all UnitCosts for a CostReport.","operationId":"getUnitCosts","parameters":[{"name":"cost_report_token","in":"query","description":"The CostReport token.","required":true,"schema":{"type":"string"}},{"name":"start_date","in":"query","description":"First date you would like to filter unit costs from. Defaults to the report's default. ISO 8601 formatted.","schema":{"type":"string"}},{"name":"end_date","in":"query","description":"Last date you would like to filter unit costs to. Defaults to the report's default. ISO 8601 formatted.","schema":{"type":"string"}},{"name":"date_bin","in":"query","description":"The date bin of the unit costs. Defaults to the report's default or day.","schema":{"type":"string","enum":["day","week","month","quarter","hour"]}},{"name":"order","in":"query","description":"Whether to order unit costs by date in an ascending or descending manner.","schema":{"type":"string","default":"desc","enum":["asc","desc"]}},{"name":"limit","in":"query","description":"The amount of results to return. The maximum is 1000.","schema":{"type":"integer","format":"int32"}},{"name":"page","in":"query","description":"The page of results to return.","schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnitCosts"},"example":{"links":{"self":"https://api.vantage.sh/v2/unit_costs?cost_report_token=rprt_ea7dbb4f5783d677","first":"https://api.vantage.sh/v2/unit_costs?cost_report_token=rprt_ea7dbb4f5783d677\u0026page=1","next":null,"last":null,"prev":null},"unit_costs":[{"business_metric_token":"bsnss_mtrc_3080a050c04104ff","business_metric_title":"Biz Metric","unit_cost_amount":"21.7","business_metric_amount":"3.71","scale":"1.0","date":"2023-06-05"},{"business_metric_token":"bsnss_mtrc_4999b969d95095ef","business_metric_title":"Different Biz Metric","unit_cost_amount":"101.11","business_metric_amount":"43.21","scale":"1.0","date":"2023-06-05"},{"business_metric_token":"bsnss_mtrc_3080a050c04104ff","business_metric_title":"Biz Metric","unit_cost_amount":"18.9","business_metric_amount":"3.71","scale":"1.0","date":"2023-06-06"},{"business_metric_token":"bsnss_mtrc_4999b969d95095ef","business_metric_title":"Different Biz Metric","unit_cost_amount":"121.12","business_metric_amount":"38.1","scale":"1.0","date":"2023-06-06"},{"business_metric_token":"bsnss_mtrc_3080a050c04104ff","business_metric_title":"Biz Metric","unit_cost_amount":"21.2","business_metric_amount":"3.51","scale":"1.0","date":"2023-06-07"}]}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"402":{"description":"PaymentRequired","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["read"]}]}},"/users":{"get":{"tags":["Users"],"summary":"Get all users","description":"Return all Users that the current API token has access to.","operationId":"getUsers","parameters":[{"name":"page","in":"query","description":"The page of results to return.","schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","description":"The amount of results to return. The maximum is 1000.","schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Users"},"example":{"links":{"self":"https://api.vantage.sh/v2/users","first":"https://api.vantage.sh/v2/users?page=1","next":null,"last":"https://api.vantage.sh/v2/users?page=1","prev":null},"users":[{"token":"usr_aa5cce4180981299","name":"Jeanice Bins","email":"jeanice_bins@torp-huels.name","role":"Owner","last_seen_at":"2024-01-01"},{"token":"usr_2372916b9f9589e7","name":"Otto Goyette","email":"otto_goyette@cronin.net","role":"Owner","last_seen_at":"2024-01-01"}]}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["read"]}]}},"/users/{user_token}":{"get":{"tags":["Users"],"summary":"Get user by token","description":"Return a specific User.","operationId":"getUser","parameters":[{"name":"user_token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"},"example":{"token":"usr_bfc6ab15e635f848","name":"Patrick White","email":"white.patrick@kassulke-nitzsche.net","role":"Owner","last_seen_at":"2024-01-01"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["read"]}]},"put":{"tags":["Users"],"summary":"Update a user","description":"Update a specific User.","operationId":"updateUser","parameters":[{"name":"user_token","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/updateUser"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"422":{"description":"UnprocessableEntity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}],"x-codegen-request-body-name":"updateUser"}},"/virtual_tag_configs":{"get":{"tags":["VirtualTags"],"summary":"Get all virtual tag configs","description":"Return all VirtualTagConfigs that the current API token has access to.","operationId":"getVirtualTagConfigs","responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VirtualTagConfigs"},"example":{"virtual_tag_configs":[{"token":"vtag_eabf584ca1fe7769","created_by_token":"usr_d2ad8c75f4fee21e","key":"Product Team","overridable":false,"backfill_until":"2025-12-01","values":[{"filter":"(costs.provider = 'aws' AND costs.service = 'Amazon Elastic Compute Cloud' AND costs.account_id IN ('1234', '5678'))","name":"Growth"},{"filter":"(costs.provider = 'aws' AND costs.account_id IN ('1234', '5678')) OR (costs.provider = 'gcp' AND costs.service = 'Google Compute Engine')","name":"API"},{"filter":"(costs.provider = 'aws' AND costs.service = 'AmazonEC2')","business_metric_token":"bsnss_mtrc_60e1ffb95a9a00f0"},{"filter":"(costs.provider = 'aws' AND costs.service != 'Amazon Elastic Compute Cloud')","cost_metric":{"filter":"costs.provider = 'aws' AND costs.service = 'Amazon Elastic Compute Cloud'","aggregation":{"tag":"aws:CreatedBy"}}},{"filter":"(costs.provider = 'azure' AND costs.service = 'Azure Compute')","percentages":[{"value":"apples-a","pct":50.0},{"value":"apples-b","pct":50.0}]}]}]}}}}},"security":[{"oauth2":["read"]}]},"post":{"tags":["VirtualTags"],"summary":"Create virtual tag config","description":"Create a new VirtualTagConfig.","operationId":"createVirtualTagConfig","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createVirtualTagConfig"}}},"required":true},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VirtualTagConfig"},"example":{"token":"vtag_d5503747c5ce9a21","created_by_token":"team_7589281b8e354c45","key":"Expense Code","overridable":false,"backfill_until":"2024-07-01","values":[{"filter":"costs.provider = 'aws' AND\ncosts.service = 'Amazon Elastic Compute Cloud' AND\ncosts.account_id IN ('1234', '5678')\n","name":"EXPC-1234","date_ranges":[{"start_date":"2024-01-01","end_date":"2024-12-31"}]},{"filter":"(\n  (costs.provider = 'aws' AND costs.account_id IN ('1234', '5678')) OR\n  (costs.provider = 'gcp' AND costs.service = 'Google Compute Engine')\n)\n","name":"EXPC-9876"}]}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"422":{"description":"UnprocessableEntity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}],"x-codegen-request-body-name":"createVirtualTagConfig"}},"/virtual_tag_configs/{token}":{"get":{"tags":["VirtualTags"],"summary":"Get virtual tag config by token","description":"Return a specific VirtualTagConfig.","operationId":"getVirtualTagConfig","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VirtualTagConfig"},"example":{"token":"vtag_9cefbbc5f17d06fc","created_by_token":"usr_f8c083243325740b","key":"Product Team","overridable":false,"backfill_until":"2024-07-01","values":[{"filter":"(costs.provider = 'aws' AND costs.service = 'Amazon Elastic Compute Cloud') AND (costs.provider = 'aws' AND costs.account_id IN ('1234', '5678'))","name":"Growth","date_ranges":[{"start_date":"2024-01-01","end_date":"2024-12-31"}]},{"filter":"(costs.provider = 'aws' AND costs.account_id IN ('1234', '5678')) OR (costs.provider = 'gcp' AND costs.service = 'Google Compute Engine')","name":"API"}]}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["read"]}]},"put":{"tags":["VirtualTags"],"summary":"Update virtual tag config","description":"Updates an existing VirtualTagConfig.","operationId":"updateVirtualTagConfig","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/updateVirtualTagConfig"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VirtualTagConfig"},"example":{"token":"vtag_4430add8b8552a32","created_by_token":"usr_c3dedc15ebe12e03","key":"team","overridable":true,"backfill_until":"2024-07-01","values":[{"filter":"costs.provider = 'aws' AND costs.service = 'Amazon Elastic Compute Cloud' AND\ncosts.account_id IN ('1234', '5678')\n","name":"marketing","date_ranges":[{"start_date":"2024-01-01","end_date":"2024-12-31"}]},{"filter":"((costs.provider = 'aws' AND costs.account_id IN ('1234', '5678')) OR\n(costs.provider = 'gcp' AND costs.service = 'Google Compute Engine'))\n","name":"third-party integrations"}]}}}},"202":{"description":"Request accepted for processing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncVirtualTagConfigUpdate"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"422":{"description":"UnprocessableEntity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}],"x-codegen-request-body-name":"updateVirtualTagConfig"},"delete":{"tags":["VirtualTags"],"summary":"Delete virtual tag config","description":"Deletes an existing VirtualTagConfig.","operationId":"deleteVirtualTagConfig","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VirtualTagConfig"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}]}},"/virtual_tag_configs/{token}/status":{"get":{"tags":["VirtualTags"],"summary":"Get virtual tag config processing status","description":"Return the processing status of a specific VirtualTagConfig.","operationId":"getVirtualTagConfigStatus","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Processing is complete","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VirtualTagConfigStatus"},"example":{"token":"vtag_1234","processing":true,"providers":[{"provider":"aws","status":"processing"},{"provider":"gcp","status":"complete"}]}}}},"202":{"description":"Processing is still in progress","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VirtualTagConfigStatus"},"example":{"token":"vtag_1234","processing":true,"providers":[{"provider":"aws","status":"processing"},{"provider":"gcp","status":"complete"}]}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["read"]}]}},"/virtual_tag_configs/{token}/async":{"put":{"tags":["VirtualTags"],"summary":"Update virtual tag config asynchronously","description":"Asynchronously updates an existing VirtualTagConfig.","operationId":"updateAsyncVirtualTagConfig","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/updateAsyncVirtualTagConfig"}}},"required":true},"responses":{"202":{"description":"Request accepted for processing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncVirtualTagConfigUpdate"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"422":{"description":"UnprocessableEntity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}],"x-codegen-request-body-name":"updateAsyncVirtualTagConfig"}},"/virtual_tag_configs/async/{request_id}":{"get":{"tags":["VirtualTags"],"summary":"Get async virtual tag config update status","description":"Check the status of an async VirtualTagConfig update.","operationId":"getAsyncVirtualTagConfigStatus","parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Request completed successfully","content":{}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["read"]}]}},"/workspaces":{"get":{"tags":["Workspaces"],"summary":"Get all workspaces","description":"Return all Workspaces that the current API token has access to.","operationId":"getWorkspaces","parameters":[{"name":"page","in":"query","description":"The page of results to return.","schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","description":"The amount of results to return. The maximum is 1000.","schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workspaces"},"example":{"workspaces":[{"token":"wrkspc_5d9752a116e4d28e","name":"Gulgowski, Ruecker and Rolfson b7f1c249","created_at":"2024-10-01T01:00:56Z","enable_currency_conversion":false,"currency":"USD","exchange_rate_date":"daily_rate"},{"token":"wrkspc_9a319290712d817d","name":"Stokes Inc 2d705dab","created_at":"2024-10-01T01:00:56Z","enable_currency_conversion":false,"currency":"USD","exchange_rate_date":"daily_rate"}]}}}}},"security":[{"oauth2":["read"]}]},"post":{"tags":["Workspaces"],"summary":"Create workspace","description":"Create a workspace","operationId":"createWorkspace","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/createWorkspace"}}},"required":true},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workspace"},"example":{"token":"wrkspc_c820c203e53de3e1","name":"Ellingson Mineral Corporation","created_at":"2024-10-01T01:00:55Z","enable_currency_conversion":true,"currency":"JPY","exchange_rate_date":"end_of_billing_period_rate"}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}],"x-codegen-request-body-name":"createWorkspace"}},"/workspaces/{workspace_token}":{"get":{"tags":["Workspaces"],"summary":"Get workspace by token","description":"Return a specific Workspace.","operationId":"getWorkspace","parameters":[{"name":"workspace_token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workspace"},"example":{"token":"wrkspc_ba4878d880507623","name":"Emard, Lebsack and Schmidt 551b5e11","created_at":"2024-10-01T01:00:55Z","enable_currency_conversion":false,"currency":"USD","exchange_rate_date":"daily_rate"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["read"]}]},"put":{"tags":["Workspaces"],"summary":"Update workspace","description":"Update a workspace","operationId":"updateWorkspace","parameters":[{"name":"workspace_token","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/updateWorkspace"}}},"required":true},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workspace"},"example":{"token":"wrkspc_a44f83d3e85be91d","name":"My Workspace (Edited)","created_at":"2024-10-01T01:00:56Z","enable_currency_conversion":true,"currency":"EUR","exchange_rate_date":"daily_rate"}}}},"400":{"description":"BadRequest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}],"x-codegen-request-body-name":"updateWorkspace"},"delete":{"tags":["Workspaces"],"summary":"Delete workspace","description":"Delete a workspace","operationId":"deleteWorkspace","parameters":[{"name":"workspace_token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workspace"}}}},"404":{"description":"NotFound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}},"422":{"description":"UnprocessableEntity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}}}},"security":[{"oauth2":["write"]}]}},"/ping":{"get":{"tags":["Ping"],"description":"This is a health check endpoint that can be used to determine Vantage API healthiness. It will return 200 if everything is running smoothly.","operationId":"ping","responses":{"200":{"description":"This is a health check endpoint that can be used to determine Vantage API healthiness. It will return 200 if everything is running smoothly.","content":{}}},"security":[{"oauth2":["read"]}]}}},"components":{"schemas":{"AccessGrants":{"required":["access_grants"],"type":"object","properties":{"links":{"$ref":"#/components/schemas/Links"},"access_grants":{"type":"array","items":{"$ref":"#/components/schemas/AccessGrant"}}},"description":"AccessGrants model"},"Links":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the current page of results.","nullable":true},"first":{"type":"string","description":"The URL of the first page of results.","nullable":true},"next":{"type":"string","description":"The URL of the next page of results, if one exists.","nullable":true},"last":{"type":"string","description":"The URL of the last page of results, if one exists.","nullable":true},"prev":{"type":"string","description":"The URL of the previous page of results, if one exists.","nullable":true}}},"AccessGrant":{"required":["access","created_at","created_by","resource_token","team_token","token"],"type":"object","properties":{"token":{"type":"string","nullable":false},"resource_token":{"type":"string","description":"The token for any resource the AccessGrant is applied to.","nullable":false,"example":"rprt_abcd1234"},"access":{"type":"string","description":"The access status of the AccessGrant.","nullable":false},"team_token":{"type":"string","description":"The Team token for which an AccessGrant is applied to.","nullable":true},"created_at":{"type":"string","description":"The date and time, in UTC, the AccessGrant was created. ISO 8601 Formatted.","nullable":false,"example":"2023-08-04T00:00:00Z"},"created_by":{"type":"string","description":"The token for the User who created the AccessGrant.","nullable":true}},"description":"AccessGrant model"},"Errors":{"required":["errors"],"type":"object","properties":{"links":{"$ref":"#/components/schemas/Links"},"errors":{"type":"array","nullable":false,"items":{"type":"string"}}},"description":"Errors model"},"createAccessGrant":{"required":["resource_token","team_token"],"type":"object","properties":{"resource_token":{"type":"string","description":"The token of the resource for which you are granting access."},"team_token":{"type":"string","description":"The token of the Team you want to grant access to."},"access":{"type":"string","description":"The access level you want to grant. Defaults to 'allowed'.","enum":["denied","allowed"]}},"description":"Create an Access Grant."},"updateAccessGrant":{"required":["access"],"type":"object","properties":{"access":{"type":"string","description":"Allowed or denied access to resource.","enum":["denied","allowed"]}},"description":"Update an AccessGrant."},"AnomalyAlerts":{"required":["anomaly_alerts"],"type":"object","properties":{"links":{"$ref":"#/components/schemas/Links"},"anomaly_alerts":{"type":"array","items":{"$ref":"#/components/schemas/AnomalyAlert"}}},"description":"AnomalyAlerts model"},"AnomalyAlert":{"required":["amount","category","cost_report_token","created_at","previous_amount","provider","resource_tokens","resources","service","seven_day_average","status","token"],"type":"object","properties":{"token":{"type":"string","nullable":false},"created_at":{"type":"string","description":"The date and time, in UTC, the AnomalyAlert was created. ISO 8601 Formatted.","nullable":false,"example":"2021-07-09T00:00:00Z"},"alerted_at":{"type":"string","description":"The date and time, in UTC, the AnomalyAlert is sent. ISO 8601 Formatted.","nullable":true,"example":"2021-07-09T00:00:00Z"},"category":{"type":"string","description":"The category of the AnomalyAlert.","nullable":true},"service":{"type":"string","description":"The provider service causing the AnomalyAlert.","nullable":false},"provider":{"type":"string","description":"The provider of the service causing the AnomalyAlert.","nullable":false},"amount":{"type":"string","description":"The amount observed.","nullable":false},"previous_amount":{"type":"string","description":"The previous amount observed.","nullable":false},"seven_day_average":{"type":"string","description":"The seven day average of the amount observed.","nullable":false},"status":{"type":"string","description":"The status of the AnomalyAlert.","nullable":false},"feedback":{"type":"string","description":"The user-provided feedback of why alert was ignored/archived.","nullable":true},"resources":{"type":"array","description":"The names of the resources the AnomalyAlert was attributed to.","nullable":false,"items":{"type":"string"}},"resource_tokens":{"type":"array","description":"The tokens of the Resources the AnomalyAlert was attributed to.","nullable":false,"items":{"type":"string"}},"cost_report_token":{"type":"string","description":"The token of the Report associated with the AnomalyAlert.","nullable":false}},"description":"AnomalyAlert model"},"updateAnomalyAlert":{"required":["status"],"type":"object","properties":{"status":{"type":"string","description":"The status of the Anomaly Alert."},"feedback":{"type":"string","description":"Optional additional comments for why this alert is ignored."}},"description":"Update an AnomalyAlert."},"AnomalyNotifications":{"required":["anomaly_notifications"],"type":"object","properties":{"links":{"$ref":"#/components/schemas/Links"},"anomaly_notifications":{"type":"array","items":{"$ref":"#/components/schemas/AnomalyNotification"}}},"description":"AnomalyNotifications model"},"AnomalyNotification":{"required":["cost_report_token","created_at","recipient_channels","threshold","token","updated_at","user_tokens"],"type":"object","properties":{"token":{"type":"string","nullable":false},"cost_report_token":{"type":"string","description":"The token for the CostReport the AnomalyNotification is associated with.","nullable":false},"created_at":{"type":"string","description":"The date and time, in UTC, the AnomalyNotification was created. ISO 8601 Formatted.","nullable":false,"example":"2023-08-04T00:00:00Z"},"updated_at":{"type":"string","description":"The date and time, in UTC, the AnomalyNotification was last updated at. ISO 8601 Formatted.","nullable":false,"example":"2023-08-04T00:00:00Z"},"threshold":{"type":"integer","description":"The threshold amount that must be met for the notification to fire.","format":"int32","nullable":false},"user_tokens":{"type":"array","description":"The tokens of the users that receive the notification.","nullable":false,"items":{"type":"string"}},"recipient_channels":{"type":"array","description":"The channels that the notification is sent to.","nullable":false,"items":{"type":"string"}}},"description":"AnomalyNotification model"},"createAnomalyNotification":{"required":["cost_report_token"],"type":"object","properties":{"cost_report_token":{"type":"string","description":"The token of the Cost Report that has the notification."},"threshold":{"type":"integer","description":"The threshold amount that must be met for the notification to fire.","format":"int32"},"user_tokens":{"type":"array","description":"The tokens of the Users that receive the notification.","items":{"type":"string"}},"recipient_channels":{"type":"array","description":"The Slack/MS Teams channels that receive the notification.","items":{"type":"string"}}},"description":"Create an Anomaly Notification for a Cost Report."},"updateAnomalyNotification":{"type":"object","properties":{"threshold":{"type":"integer","description":"The threshold amount that must be met for the notification to fire.","format":"int32"},"user_tokens":{"type":"array","description":"The tokens of the users that receive the notification.","items":{"type":"string"}},"recipient_channels":{"type":"array","description":"The Slack/MS Teams channels that receive the notification.","items":{"type":"string"}}},"description":"Update an Anomaly Notification."},"AuditLogs":{"required":["audit_logs"],"type":"object","properties":{"links":{"$ref":"#/components/schemas/Links"},"audit_logs":{"type":"array","items":{"$ref":"#/components/schemas/AuditLog"}}},"description":"AuditLogs model"},"AuditLog":{"required":["changed_values","created_at","event","object_title","object_token","object_type","source","token","unchanged_values"],"type":"object","properties":{"token":{"type":"string","description":"The unique token identifying the audit log.","nullable":false,"example":"adt_lg_1234567890abcdef"},"object_token":{"type":"string","description":"The token of the audited object.","nullable":true,"example":"rpt_1234567890abcdef"},"object_type":{"type":"string","description":"The type of the audited object.","nullable":false,"example":"Report"},"object_title":{"type":"string","description":"The title of the audited object.","nullable":true,"example":"Production Cost Report"},"event":{"type":"string","description":"The event type of the audit log.","nullable":false,"example":"record_created"},"source":{"type":"string","description":"The source of the action (console, api, developer).","nullable":false,"example":"console"},"user":{"type":"string","description":"The name of the user who performed the action.","nullable":true},"workspace_title":{"type":"string","description":"The name of the workspace associated with the audit log.","nullable":true},"workspace_token":{"type":"string","description":"The token of the workspace associated with the audit log.","nullable":true,"example":"wrkspc_1234567890abcdef"},"created_at":{"type":"string","description":"The date and time, in UTC, the audit log was created. ISO 8601 Formatted.","nullable":false,"example":"2021-07-09T00:00:00Z"},"changed_values":{"type":"object","properties":{},"description":"The changed values of the object.","nullable":false},"unchanged_values":{"type":"object","properties":{},"description":"The unchanged values of the object.","nullable":false}},"description":"AuditLog model"},"BillingProfiles":{"required":["billing_profiles"],"type":"object","properties":{"links":{"$ref":"#/components/schemas/Links"},"billing_profiles":{"type":"array","items":{"$ref":"#/components/schemas/BillingProfile"}}},"description":"BillingProfiles model"},"BillingProfile":{"required":["billing_information_attributes","business_information_attributes","created_at","invoice_adjustment_attributes","managed_accounts_count","nickname","token","updated_at"],"type":"object","properties":{"token":{"type":"string","nullable":false},"nickname":{"type":"string","description":"Display name for the billing profile","nullable":false},"created_at":{"type":"string","description":"The date and time, in UTC, the billing profile was created. ISO 8601 formatted.","nullable":false,"example":"2023-08-04T00:00:00Z"},"updated_at":{"type":"string","description":"The date and time, in UTC, the billing profile was last updated. ISO 8601 formatted.","nullable":false,"example":"2023-08-04T00:00:00Z"},"billing_information_attributes":{"$ref":"#/components/schemas/BillingInformation"},"business_information_attributes":{"$ref":"#/components/schemas/BusinessInformation"},"banking_information_attributes":{"$ref":"#/components/schemas/BankingInformation"},"invoice_adjustment_attributes":{"$ref":"#/components/schemas/InvoiceAdjustment"},"managed_accounts_count":{"type":"string","description":"Number of managed accounts using this billing profile","nullable":false}},"description":"BillingProfile model"},"BillingInformation":{"required":["address_line_1","address_line_2","billing_email","city","company_name","country_code","postal_code","state","token"],"type":"object","properties":{"token":{"type":"string","nullable":false},"company_name":{"type":"string","description":"Company name for billing","nullable":true},"country_code":{"type":"string","description":"ISO country code","nullable":true},"address_line_1":{"type":"string","description":"First line of billing address","nullable":true},"address_line_2":{"type":"string","description":"Second line of billing address","nullable":true},"city":{"type":"string","description":"City for billing address","nullable":true},"state":{"type":"string","description":"State or province for billing address","nullable":true},"postal_code":{"type":"string","description":"Postal or ZIP code","nullable":true},"billing_email":{"type":"array","description":"Array of billing email addresses","nullable":true,"items":{"type":"string"}}}},"BusinessInformation":{"required":["token"],"type":"object","properties":{"token":{"type":"string","nullable":false},"metadata":{"$ref":"#/components/schemas/BusinessInformationMetadata"}}},"BusinessInformationMetadata":{"type":"object","properties":{"custom_fields":{"type":"array","description":"Array of custom field objects","items":{"$ref":"#/components/schemas/BusinessInformationCustomField"}}}},"BusinessInformationCustomField":{"required":["name","value"],"type":"object","properties":{"name":{"type":"string","description":"Custom field name","nullable":false},"value":{"type":"string","description":"Custom field value","nullable":true}}},"BankingInformation":{"required":["bank_name","beneficiary_name","tax_id","token"],"type":"object","properties":{"token":{"type":"string","nullable":false},"bank_name":{"type":"string","description":"Name of the bank","nullable":true},"beneficiary_name":{"type":"string","description":"Name of the account beneficiary","nullable":true},"tax_id":{"type":"string","description":"Tax identification number","nullable":true},"secure_data":{"$ref":"#/components/schemas/BankingInformationSecureData"}}},"BankingInformationSecureData":{"required":["account_number","iban","routing_number","swift_bic"],"type":"object","properties":{"account_number":{"type":"string","description":"Bank account number (US)","nullable":true},"routing_number":{"type":"string","description":"Bank routing number (US)","nullable":true},"iban":{"type":"string","description":"International Bank Account Number (EU)","nullable":true},"swift_bic":{"type":"string","description":"SWIFT/BIC code (EU)","nullable":true}}},"InvoiceAdjustment":{"required":["adjustment_items","token"],"type":"object","properties":{"token":{"type":"string","nullable":false},"adjustment_items":{"type":"array","description":"Array of adjustment items (taxes, fees, etc.)","items":{"$ref":"#/components/schemas/AdjustmentItem"}}}},"AdjustmentItem":{"required":["adjustment_type","amount","calculation_type","name"],"type":"object","properties":{"name":{"type":"string","description":"Name of the adjustment (e.g., 'State Tax', 'Processing Fee')","nullable":false},"adjustment_type":{"type":"string","description":"Type of adjustment","nullable":false,"enum":["charge","credit","discount"]},"calculation_type":{"type":"string","description":"How the adjustment is calculated","nullable":false,"enum":["fixed","percentage"]},"amount":{"type":"string","description":"Amount or percentage value for the adjustment","nullable":false}}},"createBillingProfile":{"required":["nickname"],"type":"object","properties":{"nickname":{"type":"string","description":"Display name for the billing profile"},"billing_information_attributes":{"type":"object","properties":{"token":{"type":"string"},"company_name":{"type":"string","description":"Company name for billing"},"country_code":{"type":"string","description":"ISO country code"},"address_line_1":{"type":"string","description":"First line of billing address"},"address_line_2":{"type":"string","description":"Second line of billing address"},"city":{"type":"string","description":"City for billing address"},"state":{"type":"string","description":"State or province for billing address"},"postal_code":{"type":"string","description":"Postal or ZIP code"},"billing_email":{"type":"array","description":"Array of billing email addresses","items":{"type":"string"}}},"description":"Billing address and contact information"},"business_information_attributes":{"type":"object","properties":{"token":{"type":"string"},"metadata":{"type":"object","properties":{"custom_fields":{"type":"array","description":"Array of custom field objects","items":{"type":"object","properties":{"name":{"type":"string","description":"Custom field name"},"value":{"type":"string","description":"Custom field value"}}}}},"description":"Business metadata including custom fields"}},"description":"Business information and custom fields"},"banking_information_attributes":{"type":"object","properties":{"token":{"type":"string"},"bank_name":{"type":"string","description":"Name of the bank"},"beneficiary_name":{"type":"string","description":"Name of the account beneficiary"},"tax_id":{"type":"string","description":"Tax identification number"},"secure_data":{"type":"object","properties":{"account_number":{"type":"string","description":"Bank account number (US)"},"routing_number":{"type":"string","description":"Bank routing number (US)"},"iban":{"type":"string","description":"International Bank Account Number (EU)"},"swift_bic":{"type":"string","description":"SWIFT/BIC code (EU)"}},"description":"Encrypted banking details"}},"description":"Banking details (MSP accounts only)"},"invoice_adjustment_attributes":{"type":"object","properties":{"token":{"type":"string"},"adjustment_items":{"type":"array","description":"Array of adjustment items","items":{"required":["amount","calculation_type","name"],"type":"object","properties":{"name":{"type":"string","description":"Name of the adjustment"},"adjustment_type":{"type":"string","description":"Type of adjustment","default":"charge","enum":["charge","credit","discount"]},"calculation_type":{"type":"string","description":"How the adjustment is calculated","enum":["fixed","percentage"]},"amount":{"type":"number","description":"Amount or percentage value","format":"double"}}}}},"description":"Invoice adjustments (taxes, fees, etc.)"}},"description":"Create a billing profile (MSP invoicing required)."},"updateBillingProfile":{"type":"object","properties":{"nickname":{"type":"string","description":"Display name for the billing profile"},"billing_information_attributes":{"type":"object","properties":{"token":{"type":"string"},"company_name":{"type":"string","description":"Company name for billing"},"country_code":{"type":"string","description":"ISO country code"},"address_line_1":{"type":"string","description":"First line of billing address"},"address_line_2":{"type":"string","description":"Second line of billing address"},"city":{"type":"string","description":"City for billing address"},"state":{"type":"string","description":"State or province for billing address"},"postal_code":{"type":"string","description":"Postal or ZIP code"},"billing_email":{"type":"array","description":"Array of billing email addresses","items":{"type":"string"}}},"description":"Billing address and contact information"},"business_information_attributes":{"type":"object","properties":{"token":{"type":"string"},"metadata":{"type":"object","properties":{"custom_fields":{"type":"array","description":"Array of custom field objects","items":{"type":"object","properties":{"name":{"type":"string","description":"Custom field name"},"value":{"type":"string","description":"Custom field value"}}}}},"description":"Business metadata including custom fields"}},"description":"Business information and custom fields"},"banking_information_attributes":{"type":"object","properties":{"token":{"type":"string"},"bank_name":{"type":"string","description":"Name of the bank"},"beneficiary_name":{"type":"string","description":"Name of the account beneficiary"},"tax_id":{"type":"string","description":"Tax identification number"},"secure_data":{"type":"object","properties":{"account_number":{"type":"string","description":"Bank account number (US)"},"routing_number":{"type":"string","description":"Bank routing number (US)"},"iban":{"type":"string","description":"International Bank Account Number (EU)"},"swift_bic":{"type":"string","description":"SWIFT/BIC code (EU)"}},"description":"Encrypted banking details"}},"description":"Banking details (MSP accounts only)"},"invoice_adjustment_attributes":{"type":"object","properties":{"token":{"type":"string"},"adjustment_items":{"type":"array","description":"Array of adjustment items","items":{"required":["amount","calculation_type","name"],"type":"object","properties":{"name":{"type":"string","description":"Name of the adjustment"},"adjustment_type":{"type":"string","description":"Type of adjustment","default":"charge","enum":["charge","credit","discount"]},"calculation_type":{"type":"string","description":"How the adjustment is calculated","enum":["fixed","percentage"]},"amount":{"type":"number","description":"Amount or percentage value","format":"double"}}}}},"description":"Invoice adjustments (taxes, fees, etc.)"}},"description":"Update a billing profile (MSP invoicing required)."},"BillingRules":{"required":["billing_rules"],"type":"object","properties":{"links":{"$ref":"#/components/schemas/Links"},"billing_rules":{"type":"array","items":{"$ref":"#/components/schemas/BillingRule"}}},"description":"BillingRules model"},"BillingRule":{"required":["apply_to_all","created_at","created_by_token","title","token","type"],"type":"object","properties":{"token":{"type":"string","nullable":false},"title":{"type":"string","description":"The title of the BillingRule.","nullable":false,"example":"Credit for Unused EC2 Instances"},"type":{"type":"string","description":"The type of the BillingRule.","nullable":false,"example":"credit"},"start_date":{"type":"string","description":"The start date of the BillingRule.","nullable":true,"example":"2024-06-28T00:00:00Z"},"end_date":{"type":"string","description":"The end date of the BillingRule.","nullable":true,"example":"2024-06-28T00:00:00Z"},"apply_to_all":{"type":"boolean","description":"Whether the BillingRule applies to all future managed accounts.","nullable":true,"example":true},"created_by_token":{"type":"string","description":"The token of the Creator of the BillingRule.","nullable":false,"example":"usr_1234"},"created_at":{"type":"string","description":"The date and time, in UTC, the BillingRule was created. ISO 8601 Formatted.","nullable":false,"example":"2024-06-28T00:00:00Z"},"service":{"type":"string","description":"The service for the BillingRule (Charge).","nullable":true,"example":"AWS Cloudfront"},"category":{"type":"string","description":"The category for the BillingRule (Charge).","nullable":true,"example":"MSP Fee"},"percentage":{"type":"string","description":"The percentage of the cost shown for the BillingRule (Adjustment).","nullable":true,"example":"75.0"},"charge_type":{"type":"string","description":"The charge type for the BillingRule.","nullable":true,"example":"RIFee"},"sub_category":{"type":"string","description":"The subcategory for the BillingRule (Charge).","nullable":true,"example":"One-time"},"start_period":{"type":"string","description":"The start period for the BillingRule (Charge).","nullable":true,"example":"2024-05-01"},"amount":{"type":"string","description":"The amount for the BillingRule (Charge).","nullable":true,"example":"5000.25"},"sql_query":{"type":"string","description":"The SQL query for the BillingRule (Custom).","nullable":true,"example":"UPDATE costs SET costs.amount = costs.amount * 0.95"}},"description":"BillingRule model"},"createBillingRule":{"required":["title","type"],"type":"object","properties":{"type":{"type":"string","description":"The type of the BillingRule. Note: the values are case insensitive.","enum":["exclusion","adjustment","credit","charge","custom"]},"title":{"type":"string","description":"The title of the BillingRule."},"start_period":{"type":"string","description":"The start period of the BillingRule. DEPRECATED: use start_date instead."},"start_date":{"type":"string","description":"The start date of the BillingRule. ISO 8601 formatted."},"end_date":{"type":"string","description":"The end date of the BillingRule. ISO 8601 formatted."},"apply_to_all":{"type":"boolean","description":"Determines if the BillingRule applies to all current and future managed accounts."},"charge_type":{"type":"string","description":"The charge type of the BillingRule. Required for Exclusion rules."},"percentage":{"type":"number","description":"The percentage of the cost shown. Required for Adjustment rules. Example value: 75.0","format":"double"},"service":{"type":"string","description":"The service of the BillingRule. Required for Charge and Credit rules."},"category":{"type":"string","description":"The category of the BillingRule. Required for Charge and Credit rules."},"sub_category":{"type":"string","description":"The subcategory of the BillingRule. Required for Charge and Credit rules."},"amount":{"type":"number","description":"The amount for the BillingRule. Required for Charge and Credit rules. Example value: 300","format":"double"},"sql_query":{"type":"string","description":"The SQL query for the BillingRule. Required for Custom rules. Example value: UPDATE costs SET costs.amount = costs.amount * 0.95"}},"description":"Create a BillingRule."},"updateBillingRule":{"type":"object","properties":{"title":{"type":"string","description":"The title of the BillingRule."},"charge_type":{"type":"string","description":"The charge type of the BillingRule."},"percentage":{"type":"number","description":"The percentage of the cost shown. Example value: 75.0","format":"double"},"service":{"type":"string","description":"The service of the BillingRule."},"category":{"type":"string","description":"The category of the BillingRule."},"sub_category":{"type":"string","description":"The subcategory of the BillingRule."},"start_period":{"type":"string","description":"The start period of the BillingRule."},"amount":{"type":"number","description":"The credit amount for the BillingRule. Example value: 300","format":"double"},"start_date":{"type":"string","description":"The start date of the BillingRule. ISO 8601 formatted."},"end_date":{"type":"string","description":"The end date of the BillingRule. ISO 8601 formatted."},"apply_to_all":{"type":"boolean","description":"Determines if the BillingRule applies to all current and future managed accounts.","x-omitempty":false},"sql_query":{"type":"string","description":"The SQL query of the BillingRule."}},"description":"Update a BillingRule."},"BudgetAlerts":{"required":["budget_alerts"],"type":"object","properties":{"links":{"$ref":"#/components/schemas/Links"},"budget_alerts":{"type":"array","items":{"$ref":"#/components/schemas/BudgetAlert"}}},"description":"BudgetAlerts model"},"BudgetAlert":{"required":["budget_tokens","created_at","duration_in_days","period_to_track","recipient_channels","threshold","token","user_tokens","workspace_token"],"type":"object","properties":{"token":{"type":"string","nullable":false},"budget_tokens":{"type":"array","description":"The tokens for the Budgets that the Budget Alert is monitoring to trigger alerts on.","nullable":false,"items":{"type":"string","example":""}},"created_at":{"type":"string","description":"The date and time, in UTC, the Budget Alert was created. ISO 8601 Formatted.","nullable":false,"example":"2024-03-19T00:00:00Z"},"workspace_token":{"type":"string","description":"The token for the Workspace the ResourceReport is a part of.","nullable":true},"user_token":{"type":"string","description":"The token for the User who created this BudgetAlert.","nullable":true},"user_tokens":{"type":"array","description":"The Users that receive the alert.","nullable":false,"items":{"type":"string","example":""}},"duration_in_days":{"type":"integer","description":"The number of days from the start or end of the month to trigger the alert if the threshold is reached.","format":"int32","nullable":true},"threshold":{"type":"integer","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.","format":"int32","nullable":false,"example":75},"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. Possible values: start_of_the_month, end_of_the_month.","nullable":true,"example":"start_of_the_month"},"integration_provider":{"type":"string","description":"The provider used for sending alerts. This must be configured in the console. Possible values are: slack, microsoft_graph.","nullable":true,"example":"slack"},"recipient_channels":{"type":"array","description":"The channels receiving the alerts. Requires an integration provider to be connected.","nullable":true,"items":{"type":"string","example":""}}},"description":"BudgetAlert model"},"createBudgetAlert":{"required":["budget_tokens","duration_in_days","threshold"],"type":"object","properties":{"budget_tokens":{"type":"array","description":"The tokens of the Budget that has the alert.","items":{"type":"string"}},"threshold":{"type":"integer","description":"The threshold amount that must be met for the alert to fire.","format":"int32"},"user_tokens":{"type":"array","description":"The tokens of the users that receive the alert.","items":{"type":"string"}},"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.  For the full month, pass an empty value."},"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."},"recipient_channels":{"type":"array","description":"The channels receiving the alerts. Requires an integration provider to be connected.","items":{"type":"string"}}},"description":"Create a Budget Alert."},"updateBudgetAlert":{"type":"object","properties":{"budget_tokens":{"type":"array","description":"The tokens of the Budget that has the alert.","items":{"type":"string"}},"threshold":{"type":"integer","description":"The threshold amount that must be met for the alert to fire.","format":"int32"},"user_tokens":{"type":"array","description":"The tokens of the users that receive the alert.","items":{"type":"string"}},"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. For the full month, pass an empty value."},"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."},"recipient_channels":{"type":"array","description":"The channels receiving the alerts. Requires an integration provider to be connected.","items":{"type":"string"}}},"description":"Updates an existing BudgetAlert."},"Budgets":{"required":["budgets"],"type":"object","properties":{"links":{"$ref":"#/components/schemas/Links"},"budgets":{"type":"array","items":{"$ref":"#/components/schemas/Budget"}}},"description":"Budgets model"},"Budget":{"required":["budget_alert_tokens","child_budget_tokens","created_at","name","periods","token","workspace_token"],"type":"object","properties":{"token":{"type":"string","nullable":false},"name":{"type":"string","description":"The name of the Budget.","nullable":true,"example":"Acme123 Budget"},"workspace_token":{"type":"string","description":"The token for the Workspace the Budget is a part of.","nullable":false},"user_token":{"type":"string","description":"The token for the User who created this Budget.","nullable":true},"created_by_token":{"type":"string","description":"The token of the Creator of the Budget.","nullable":true},"cost_report_token":{"type":"string","description":"The token of the Report associated with the Budget.","nullable":true},"created_at":{"type":"string","description":"The date and time, in UTC, the Budget was created. ISO 8601 Formatted.","nullable":false,"example":"2024-03-19T00:00:00Z"},"budget_alert_tokens":{"type":"array","description":"The tokens of the BudgetAlerts associated with the Budget.","nullable":false,"items":{"type":"string","example":""}},"child_budget_tokens":{"type":"array","description":"The tokens of the child Budgets associated with the hierarchical Budget.","nullable":false,"items":{"type":"string","example":""}},"periods":{"type":"array","description":"The budget periods associated with the Budget.","items":{"$ref":"#/components/schemas/BudgetPeriod"}},"performance":{"type":"array","description":"The historical performance of the Budget.","items":{"$ref":"#/components/schemas/BudgetPerformance"}}},"description":"Budget model"},"BudgetPeriod":{"required":["amount","end_at","start_at"],"type":"object","properties":{"start_at":{"type":"string","description":"The date and time, in UTC, the Budget was created. ISO 8601 Formatted.","nullable":false,"example":"2024-03-19T00:00:00Z"},"end_at":{"type":"string","description":"The date and time, in UTC, the Budget was created. ISO 8601 Formatted.","nullable":false,"example":"2024-03-19T00:00:00Z"},"amount":{"type":"string","description":"The amount of the Budget Period as a string to ensure precision.","nullable":false,"example":"100.00"}}},"BudgetPerformance":{"required":["actual","amount","date"],"type":"object","properties":{"date":{"type":"string","description":"The date and time, in UTC, the Budget was created. ISO 8601 Formatted.","nullable":false,"example":"2024-03-19T00:00:00Z"},"actual":{"type":"string","description":"The date and time, in UTC, the Budget was created. ISO 8601 Formatted.","nullable":false,"example":"2024-03-19T00:00:00Z"},"amount":{"type":"string","description":"The amount of the Budget Period as a string to ensure precision.","nullable":false,"example":"100.00"}}},"createBudget":{"required":["name"],"type":"object","properties":{"name":{"type":"string","description":"The name of the Budget."},"workspace_token":{"type":"string","description":"The token of the Workspace to add the Budget to."},"cost_report_token":{"type":"string","description":"The CostReport token. Ignored for hierarchical Budgets."},"child_budget_tokens":{"type":"array","description":"The tokens of any child Budgets when creating a hierarchical Budget.","items":{"type":"string"}},"periods":{"type":"array","description":"The periods for the Budget. The start_at and end_at must be iso8601 formatted e.g. YYYY-MM-DD. Ignored for hierarchical Budgets.","items":{"required":["amount","start_at"],"type":"object","properties":{"start_at":{"type":"string","description":"The start date of the period.","format":"date"},"end_at":{"type":"string","description":"The end date of the period.","format":"date","nullable":true},"amount":{"type":"number","description":"The amount of the period.","format":"double"}}}}},"description":"Create a Budget."},"updateBudget":{"type":"object","properties":{"name":{"type":"string","description":"The name of the Budget."},"cost_report_token":{"type":"string","description":"The CostReport token. Ignored for hierarchical Budgets."},"child_budget_tokens":{"type":"array","description":"The tokens of any child Budgets when creating a hierarchical Budget.","items":{"type":"string"}},"periods":{"type":"array","description":"The periods for the Budget. The start_at and end_at must be iso8601 formatted e.g. YYYY-MM-DD. Ignored for hierarchical Budgets.","items":{"required":["amount","start_at"],"type":"object","properties":{"start_at":{"type":"string","description":"The start date of the period.","format":"date"},"end_at":{"type":"string","description":"The end date of the period.","format":"date","nullable":true},"amount":{"type":"number","description":"The amount of the period.","format":"double"}}}}},"description":"Update a Budget."},"BusinessMetrics":{"required":["business_metrics"],"type":"object","properties":{"business_metrics":{"type":"array","items":{"$ref":"#/components/schemas/BusinessMetric"}}},"description":"BusinessMetrics model"},"BusinessMetric":{"required":["cost_report_tokens_with_metadata","import_type","integration_token","title","token"],"type":"object","properties":{"token":{"type":"string","description":"The token of the BusinessMetric.","nullable":false,"example":"bsnss_mtrc_1234"},"title":{"type":"string","description":"The title of the BusinessMetric.","nullable":false,"example":"Total Revenue"},"created_by_token":{"type":"string","description":"The token of the Creator of the BusinessMetric.","nullable":true,"example":"usr_1234"},"cost_report_tokens_with_metadata":{"type":"array","description":"The tokens for any CostReports that use the BusinessMetric, the unit scale, and label filter.","items":{"$ref":"#/components/schemas/AttachedCostReportForBusinessMetric"}},"import_type":{"type":"string","description":"The type of import for the BusinessMetric.","nullable":true,"example":"datadog_metrics","enum":["datadog_metrics","cloudwatch","csv"]},"integration_token":{"type":"string","description":"The Integration token used to import the BusinessMetric.","nullable":true},"cloudwatch_fields":{"$ref":"#/components/schemas/CloudwatchFields"},"datadog_metric_fields":{"$ref":"#/components/schemas/DatadogMetricFields"}},"description":"BusinessMetric model"},"AttachedCostReportForBusinessMetric":{"required":["cost_report_token","unit_scale"],"type":"object","properties":{"cost_report_token":{"type":"string","description":"The token of the CostReport the BusinessMetric is attached to.","nullable":true,"example":"rprt_1234"},"unit_scale":{"type":"string","description":"Determines the scale of the BusinessMetric's values within a particular CostReport.","nullable":false,"example":"per_hundred","enum":["per_unit","per_hundred","per_thousand","per_million","per_billion"]},"label_filter":{"type":"array","description":"The labels that the BusinessMetric is filtered by within a particular CostReport.","nullable":true,"items":{"type":"string","example":""},"x-omitempty":true}}},"CloudwatchFields":{"required":["dimensions","label_dimension","metric_name","namespace","region","stat"],"type":"object","properties":{"stat":{"type":"string","description":"The time aggregation function used to import Cloudwatch metrics.","nullable":false,"example":"Average","enum":["Sum","Average","Minimum","Maximum"]},"region":{"type":"string","description":"The region used to import Cloudwatch metrics.","nullable":false,"example":"us-east-1"},"namespace":{"type":"string","description":"The namespace used to import Cloudwatch metrics.","nullable":false,"example":"AWS/EC2"},"metric_name":{"type":"string","description":"The metric name used to import Cloudwatch metrics.","nullable":false,"example":"CPUUtilization"},"dimensions":{"type":"array","description":"The dimensions used to pull specific statistical data for Cloudwatch metrics.","items":{"$ref":"#/components/schemas/CloudwatchDimension"}},"label_dimension":{"type":"string","description":"The dimension used to aggregate the Cloudwatch metrics.","nullable":true}}},"CloudwatchDimension":{"required":["name","value"],"type":"object","properties":{"name":{"type":"string","nullable":false},"value":{"type":"string","nullable":false}}},"DatadogMetricFields":{"required":["query"],"type":"object","properties":{"query":{"type":"string","description":"The query used to import Datadog metrics.","nullable":false,"example":"sum:aws.applicationelb.request_count{region:us-east-1}.rollup(avg,daily)"}}},"BusinessMetricValues":{"required":["values"],"type":"object","properties":{"values":{"type":"array","items":{"$ref":"#/components/schemas/BusinessMetricValue"}}},"description":"BusinessMetricValues model"},"BusinessMetricValue":{"required":["amount","date"],"type":"object","properties":{"date":{"type":"string","description":"The date of the Business Metric Value. ISO 8601 formatted.","nullable":false,"example":"2024-03-01+00:00"},"amount":{"type":"string","description":"The amount of the Business Metric Value as a string to ensure precision.","nullable":false,"example":"100.00"},"label":{"type":"string","description":"The label of the Business Metric Value.","nullable":true,"example":"Cost Center A"}}},"createBusinessMetric":{"required":["title"],"type":"object","properties":{"title":{"type":"string","description":"The title of the BusinessMetrics."},"cost_report_tokens_with_metadata":{"type":"array","description":"The tokens for any CostReports that use the BusinessMetric, the unit scale, and label filter.","items":{"required":["cost_report_token"],"type":"object","properties":{"cost_report_token":{"type":"string","description":"The token of the CostReport the BusinessMetric is attached to."},"unit_scale":{"type":"string","description":"Determines the scale of the BusinessMetric's values within the CostReport.","default":"per_unit","enum":["per_unit","per_hundred","per_thousand","per_million","per_billion"]},"label_filter":{"type":"array","description":"Include only values with these labels in the CostReport.","items":{"type":"string"}}}}},"values":{"type":"array","description":"The dates, amounts, and (optional) labels for the BusinessMetric.","items":{"required":["amount","date"],"type":"object","properties":{"date":{"type":"string","format":"date-time"},"amount":{"type":"number","format":"double"},"label":{"type":"string","nullable":true}}},"x-omitempty":true},"forecasted_values":{"type":"array","description":"The dates, amounts, and (optional) labels for forecasted BusinessMetric values.","items":{"required":["amount","date"],"type":"object","properties":{"date":{"type":"string","format":"date-time"},"amount":{"type":"number","format":"double"},"label":{"type":"string","nullable":true}}},"x-omitempty":true},"datadog_metric_fields":{"type":"object","properties":{"integration_token":{"type":"string","description":"Integration token for the account from which you would like to fetch metrics."},"query":{"type":"string","description":"Datadog metrics query string. e.g. sum:aws.applicationelb.request_count{region:us-east-1}.rollup(avg,daily)"}},"description":"Datadog metric configuration fields"},"cloudwatch_fields":{"type":"object","properties":{"integration_token":{"type":"string","description":"Integration token for the account from which you would like to fetch metrics."},"stat":{"type":"string"},"region":{"type":"string"},"namespace":{"type":"string"},"metric_name":{"type":"string"},"label_dimension":{"type":"string"},"dimensions":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}}}}},"description":"Cloudwatch configuration fields."}},"description":"Create a new BusinessMetric."},"updateBusinessMetric":{"type":"object","properties":{"title":{"type":"string","description":"The title of the BusinessMetric."},"cost_report_tokens_with_metadata":{"type":"array","description":"The tokens for any CostReports that use the BusinessMetric, and the unit scale.","items":{"required":["cost_report_token"],"type":"object","properties":{"cost_report_token":{"type":"string","description":"The token of the CostReport the BusinessMetric is attached to."},"unit_scale":{"type":"string","description":"Determines the scale of the BusinessMetric's values within the CostReport.","default":"per_unit","enum":["per_unit","per_hundred","per_thousand","per_million","per_billion"]},"label_filter":{"type":"array","description":"Include only values with these labels in the CostReport.","items":{"type":"string"}}}}},"values":{"type":"array","description":"The dates, amounts, and (optional) labels for the BusinessMetric.","items":{"required":["amount","date"],"type":"object","properties":{"date":{"type":"string","format":"date-time"},"amount":{"type":"number","format":"double"},"label":{"type":"string","nullable":true}}},"x-omitempty":true},"forecasted_values":{"type":"array","description":"The dates, amounts, and (optional) labels for forecasted BusinessMetric values.","items":{"required":["amount","date"],"type":"object","properties":{"date":{"type":"string","format":"date-time"},"amount":{"type":"number","format":"double"},"label":{"type":"string","nullable":true}}},"x-omitempty":true},"datadog_metric_fields":{"type":"object","properties":{"integration_token":{"type":"string","description":"Integration token for the account from which you would like to fetch metrics."},"query":{"type":"string","description":"Datadog metrics query string. e.g. sum:aws.applicationelb.request_count{region:us-east-1}.rollup(avg,daily)"}},"description":"Datadog metric configuration fields"},"cloudwatch_fields":{"type":"object","properties":{"integration_token":{"type":"string","description":"Integration token for the account from which you would like to fetch metrics."},"stat":{"type":"string"},"region":{"type":"string"},"namespace":{"type":"string"},"metric_name":{"type":"string"},"label_dimension":{"type":"string","x-omitempty":false},"dimensions":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}}}}},"description":"Cloudwatch configuration fields."}},"description":"Updates an existing BusinessMetric."},"CostAlertEvents":{"required":["cost_alert_events"],"type":"object","properties":{"links":{"$ref":"#/components/schemas/Links"},"cost_alert_events":{"type":"array","items":{"$ref":"#/components/schemas/CostAlertEvent"}}},"description":"CostAlertEvents model"},"CostAlertEvent":{"required":["alert_token","alert_type","created_at","description","metadata","report_token","token","triggered_at"],"type":"object","properties":{"token":{"type":"string","nullable":false},"created_at":{"type":"string","description":"The date and time, in UTC, the CostAlertEvent was created. ISO 8601 Formatted.","nullable":false,"example":"2021-07-09T00:00:00Z"},"triggered_at":{"type":"string","description":"The date and time, in UTC, the CostAlertEvent is sent. ISO 8601 Formatted.","nullable":false,"example":"2021-07-09T00:00:00Z"},"description":{"type":"string","description":"The description of the CostAlertEvent.","nullable":false},"alert_type":{"type":"string","description":"The type of the CostAlertEvent.","nullable":false},"metadata":{"type":"object","properties":{},"description":"The metadata of the CostAlertEvent.","nullable":false},"report_token":{"type":"string","description":"The token of the report associated with the CostAlertEvent.","nullable":false},"alert_token":{"type":"string","description":"The token of the alert associated with the CostAlertEvent.","nullable":false}},"description":"CostAlertEvent model"},"CostAlerts":{"required":["cost_alerts"],"type":"object","properties":{"links":{"$ref":"#/components/schemas/Links"},"cost_alerts":{"type":"array","items":{"$ref":"#/components/schemas/CostAlert"}}},"description":"CostAlerts model"},"CostAlert":{"required":["created_at","email_recipients","interval","minimum_threshold","report_tokens","slack_channels","teams_channels","threshold","title","token","unit_type","updated_at","workspace_token"],"type":"object","properties":{"token":{"type":"string","nullable":false},"title":{"type":"string","nullable":false},"email_recipients":{"type":"array","description":"The email addresses that will receive the alert.","nullable":false,"items":{"type":"string"}},"slack_channels":{"type":"array","description":"The Slack channels that will receive the alert. Make sure your slack integration is connected at https://console.vantage.sh/settings/slack.","nullable":false,"items":{"type":"string"}},"teams_channels":{"type":"array","description":"The Microsoft Teams channels that will receive the alert. Make sure your teams integration is connected at https://console.vantage.sh/settings/microsoft_teams.","nullable":false,"items":{"type":"string"}},"created_at":{"type":"string","description":"The date and time, in UTC, for when the alert was created. ISO 8601 Formatted.","nullable":false,"example":"2023-10-01T12:00:00Z"},"updated_at":{"type":"string","description":"The date and time, in UTC, for when the alert was last updated. ISO 8601 Formatted.","nullable":false,"example":"2023-10-01T12:00:00Z"},"workspace_token":{"type":"string","description":"The ID of the organization that owns the CostAlert.","nullable":false},"interval":{"type":"string","description":"The period of time used to compare costs. Options are 'day', 'week', 'month', 'quarter'.","nullable":false},"threshold":{"type":"number","description":"The cost change threshold to alert on.","nullable":false},"unit_type":{"type":"string","description":"The unit type used to compare costs. Options are 'currency' or 'percentage'.","nullable":false},"minimum_threshold":{"type":"number","description":"The minimum monetary amount threshold for percentage-based alerts. When set, alerts will only trigger if the cost change meets this minimum, even if the percentage threshold is exceeded.","nullable":true},"report_tokens":{"type":"array","description":"The tokens of the reports to alert on.","nullable":false,"items":{"type":"string"}}},"description":"CostAlert model"},"createCostAlert":{"required":["interval","report_tokens","threshold","title","unit_type","workspace_token"],"type":"object","properties":{"title":{"type":"string","description":"The title of the Cost Alert."},"interval":{"type":"string","description":"The period of time used to compare costs. Options are 'day', 'week', 'month', 'quarter'."},"threshold":{"type":"number","description":"The threshold value for the Cost Alert.","format":"float"},"unit_type":{"type":"string","description":"The unit type used to compare costs. Options are 'currency' or 'percentage'."},"workspace_token":{"type":"string","description":"The token of the Workspace to add the Cost Alert to."},"report_tokens":{"type":"array","description":"The tokens of the reports to alert on.","items":{"type":"string"}},"email_recipients":{"type":"array","description":"The email recipients for the Cost Alert.","items":{"type":"string"}},"slack_channels":{"type":"array","description":"The Slack channels that will receive the alert.","items":{"type":"string"}},"teams_channels":{"type":"array","description":"The Microsoft Teams channels that will receive the alert.","items":{"type":"string"}},"minimum_threshold":{"type":"number","description":"The minimum monetary amount threshold for percentage-based alerts. Only applicable when unit_type is 'percentage'.","format":"float"}},"description":"Create a new Cost Alert"},"updateCostAlert":{"type":"object","properties":{"title":{"type":"string","description":"The title of the Cost Alert."},"email_recipients":{"type":"array","description":"The email recipients for the Cost Alert.","items":{"type":"string"}},"interval":{"type":"string","description":"The period of time used to compare costs. Options are 'day', 'week', 'month', 'quarter'."},"threshold":{"type":"number","description":"The threshold value for the Cost Alert.","format":"float"},"slack_channels":{"type":"array","description":"The Slack channels that will receive the alert. Make sure your slack integration is connected at https://console.vantage.sh/settings/slack.","items":{"type":"string"}},"teams_channels":{"type":"array","description":"The Microsoft Teams channels that will receive the alert. Make sure your teams integration is connected at https://console.vantage.sh/settings/microsoft_teams.","items":{"type":"string"}},"unit_type":{"type":"string","description":"The unit type used to compare costs. Options are 'currency' or 'percentage'."},"report_tokens":{"type":"array","description":"The tokens of the reports to alert on.","items":{"type":"string"}},"minimum_threshold":{"type":"number","description":"The minimum monetary amount threshold for percentage-based alerts. Only applicable when unit_type is 'percentage'.","format":"float"}},"description":"Update a Cost Alert"},"CostProviderAccounts":{"required":["cost_provider_accounts"],"type":"object","properties":{"links":{"$ref":"#/components/schemas/Links"},"cost_provider_accounts":{"type":"array","items":{"$ref":"#/components/schemas/CostProviderAccount"}}},"description":"CostProviderAccounts model"},"CostProviderAccount":{"required":["account_id","provider","provider_uuid","title"],"type":"object","properties":{"title":{"type":"string","description":"The display name of the provider account.","nullable":false,"example":"Production Account"},"account_id":{"type":"string","description":"The provider account identifier (e.g., AWS account ID, Azure subscription ID).","nullable":false,"example":"123456789012"},"provider_uuid":{"type":"string","description":"The provider-specific unique identifier.","nullable":false,"example":"arn:aws:organizations::123456789012:account/o-example12345/123456789012"},"provider":{"type":"string","description":"The provider type (aws, azure, gcp, etc.).","nullable":false,"example":"aws"}}},"CostReports":{"required":["cost_reports"],"type":"object","properties":{"links":{"$ref":"#/components/schemas/Links"},"cost_reports":{"type":"array","items":{"$ref":"#/components/schemas/CostReport"}}},"description":"CostReports model"},"CostReport":{"required":["business_metric_tokens_with_metadata","chart_settings","chart_type","created_at","date_bin","date_interval","filter","title","token","workspace_token"],"type":"object","properties":{"token":{"type":"string","nullable":false},"title":{"type":"string","description":"The title of the CostReport.","nullable":false,"example":"Production Environment"},"folder_token":{"type":"string","description":"The token for the Folder the CostReport is a part of.","nullable":true},"saved_filter_tokens":{"type":"array","description":"The tokens for the SavedFilters assigned to the CostReport.","nullable":true,"items":{"type":"string"}},"business_metric_tokens_with_metadata":{"type":"array","description":"The tokens for the BusinessMetrics assigned to the CostReport, the unit scale, and label filter.","items":{"$ref":"#/components/schemas/AttachedBusinessMetricForCostReport"}},"filter":{"type":"string","description":"The filter applied to the CostReport. Additional documentation available at https://docs.vantage.sh/vql.","nullable":true},"groupings":{"type":"string","description":"The grouping aggregations applied to the filtered data.","nullable":true,"example":"provider, service"},"settings":{"type":"object","properties":{"include_credits":{"type":"boolean","description":"Report will include credits.","nullable":true,"default":false},"include_refunds":{"type":"boolean","description":"Report will include refunds.","nullable":true,"default":false},"include_discounts":{"type":"boolean","description":"Report will include discounts.","nullable":true,"default":true},"include_tax":{"type":"boolean","description":"Report will include tax.","nullable":true,"default":true},"amortize":{"type":"boolean","description":"Report will amortize.","nullable":true,"default":true},"unallocated":{"type":"boolean","description":"Report will show unallocated costs.","nullable":true,"default":false},"aggregate_by":{"type":"string","description":"Report will aggregate by cost or usage.","nullable":true,"default":"cost"},"show_previous_period":{"type":"boolean","description":"Report will show previous period costs or usage comparison.","nullable":true,"default":true},"complete_period":{"type":"boolean","description":"Report will restrict date ranges to completed periods only.","nullable":true,"default":false}},"description":"Report settings."},"created_at":{"type":"string","description":"The date and time, in UTC, the report was created. ISO 8601 Formatted.","nullable":false,"example":"2021-07-09T00:00:00Z"},"workspace_token":{"type":"string","description":"The token for the Workspace the CostReport is a part of.","nullable":false},"previous_period_start_date":{"type":"string","description":"The previous period start date of the CostReport. ISO 8601 Formatted.","nullable":true,"example":"2024-06-01"},"previous_period_end_date":{"type":"string","description":"The previous period end date of the CostReport. ISO 8601 Formatted.","nullable":true,"example":"2024-06-15"},"start_date":{"type":"string","description":"The start date of the CostReports. ISO 8601 Formatted. Overwrites 'date_interval' if set.","nullable":true,"example":"2024-07-01"},"end_date":{"type":"string","description":"The end date of the CostReports. ISO 8601 Formatted. Overwrites 'date_interval' if set.","nullable":true,"example":"2024-07-15"},"date_interval":{"type":"string","description":"The date interval of the CostReport.","nullable":false},"chart_type":{"type":"string","description":"The chart type of the CostReport.","nullable":false},"date_bin":{"type":"string","description":"The date bin of the CostReport.","nullable":false},"chart_settings":{"$ref":"#/components/schemas/ChartSettings"}},"description":"CostReport model"},"AttachedBusinessMetricForCostReport":{"required":["business_metric_token","unit_scale"],"type":"object","properties":{"business_metric_token":{"type":"string","description":"The token of the BusinessMetric that's attached to the CostReport.","nullable":false,"example":"bsnss_mtrc_1234"},"unit_scale":{"type":"string","description":"Determines the scale of the BusinessMetric's values within a particular CostReport.","nullable":false,"example":"per_hundred","enum":["per_unit","per_hundred","per_thousand","per_million","per_billion"]},"label_filter":{"type":"array","description":"The labels that the BusinessMetric is filtered by within a particular CostReport.","nullable":true,"items":{"type":"string","example":""},"x-omitempty":true}}},"ChartSettings":{"required":["x_axis_dimension","y_axis_dimension"],"type":"object","properties":{"y_axis_dimension":{"type":"string","description":"The metric or measure displayed on the chart’s y-axis. Possible values: 'cost', 'usage'. Defaults to 'cost'.","nullable":false},"x_axis_dimension":{"type":"array","description":"The dimension used to group or label data along the x-axis (e.g., by date, region, or service). NOTE: Only one value is allowed at this time. Defaults to ['date'].","nullable":false,"items":{"type":"string"}}}},"ForecastedCosts":{"required":["currency","forecasted_costs"],"type":"object","properties":{"links":{"$ref":"#/components/schemas/Links"},"forecasted_costs":{"type":"array","items":{"$ref":"#/components/schemas/ForecastedCost"}},"currency":{"type":"string","description":"The currency of the forecasted costs.","nullable":true,"example":"USD"}},"description":"ForecastedCosts model"},"ForecastedCost":{"required":["amount","date","provider","service"],"type":"object","properties":{"links":{"$ref":"#/components/schemas/Links"},"date":{"type":"string","description":"The date the forecasted cost is projected to accrue. ISO 8601 Formatted.","nullable":false,"example":"2035-09-05+00:00"},"amount":{"type":"string","description":"The amount of the forecasted cost.","nullable":false,"example":"4.25"},"provider":{"type":"string","description":"The cost provider which incurred the cost. Will be 'all' for all combined providers.","nullable":false,"example":"aws","enum":["aws","azure","gcp","snowflake","databricks","mongo","datadog","fastly","new_relic","opencost","open_ai","oracle","confluent","planetscale","coralogix","kubernetes","custom_provider","github","linode","grafana","clickhouse","temporal","twilio","azure_csp","kubernetes_agent","anthropic","anyscale","cursor","elastic","vercel","redis_cloud","circle_ci","all"]},"service":{"type":"string","description":"The service for the forecasted cost. Will be 'all' for all combined services","nullable":false,"example":"Amazon Elastic Compute Cloud - Compute"}}},"createCostReport":{"required":["end_date","previous_period_end_date","title"],"type":"object","properties":{"title":{"type":"string","description":"The title of the CostReport."},"workspace_token":{"type":"string","description":"The token of the Workspace to add the Cost Report to. Ignored if 'folder_token' is set. Required if the API token is associated with multiple Workspaces."},"groupings":{"type":"string","description":"Grouping values for aggregating costs on the report. Valid groupings: account_id, billing_account_id, charge_type, cost_category, cost_subcategory, provider, region, resource_id, service, tagged, tag:\u003ctag_value\u003e. If providing multiple groupings, join as comma separated values: groupings=provider,service,region"},"filter":{"type":"string","description":"The filter query language to apply to the CostReport. Additional documentation available at https://docs.vantage.sh/vql."},"saved_filter_tokens":{"type":"array","description":"The tokens of the SavedFilters to apply to the CostReport.","items":{"type":"string"}},"business_metric_tokens_with_metadata":{"type":"array","description":"The tokens for any BusinessMetrics to attach to the CostReport, and the unit scale.","items":{"required":["business_metric_token"],"type":"object","properties":{"business_metric_token":{"type":"string","description":"The token of the BusinessMetric to attach to the CostReport."},"unit_scale":{"type":"string","description":"Determines the scale of the BusinessMetric's values within the CostReport.","default":"per_unit","enum":["per_unit","per_hundred","per_thousand","per_million","per_billion"]},"label_filter":{"type":"array","description":"Include only values with these labels in the CostReport.","items":{"type":"string"}}}}},"folder_token":{"type":"string","description":"The token of the Folder to add the CostReport to. Determines the Workspace the report is assigned to."},"settings":{"type":"object","properties":{"include_credits":{"type":"boolean","description":"Report will include credits.","default":false},"include_refunds":{"type":"boolean","description":"Report will include refunds.","default":false},"include_discounts":{"type":"boolean","description":"Report will include discounts.","default":true},"include_tax":{"type":"boolean","description":"Report will include tax.","default":true},"amortize":{"type":"boolean","description":"Report will amortize.","default":true},"unallocated":{"type":"boolean","description":"Report will show unallocated costs.","default":false},"aggregate_by":{"type":"string","description":"Report will aggregate by cost or usage.","default":"cost"},"show_previous_period":{"type":"boolean","description":"Report will show previous period costs or usage comparison.","default":true},"complete_period":{"type":"boolean","description":"Report will restrict date ranges to completed periods only.","default":false}},"description":"Report settings."},"previous_period_start_date":{"type":"string","description":"The previous period start date of the CostReport. ISO 8601 Formatted."},"previous_period_end_date":{"type":"string","description":"The previous period end date of the CostReport. ISO 8601 Formatted. Required when previous_period_start_date is provided."},"start_date":{"type":"string","description":"The start date of the CostReport. ISO 8601 Formatted. Incompatible with 'date_interval' parameter."},"end_date":{"type":"string","description":"The end date of the CostReport. ISO 8601 Formatted. Required when start_date is provided. Incompatible with 'date_interval' parameter."},"date_interval":{"type":"string","description":"The date interval of the CostReport. Incompatible with 'start_date' and 'end_date' parameters. Defaults to 'this_month' if start_date and end_date are not provided.","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","year_to_date","last_3_days","last_14_days"]},"chart_type":{"type":"string","description":"The chart type of the CostReport.","default":"line","enum":["area","line","pie","bar","multi_bar"]},"date_bin":{"type":"string","description":"The date bin of the CostReport.","default":"cumulative","enum":["cumulative","day","week","month","quarter","hour"]},"chart_settings":{"type":"object","properties":{"x_axis_dimension":{"type":"array","description":"The dimension used to group or label data along the x-axis (e.g., by date, region, or service). NOTE: Only one value is allowed at this time. Defaults to ['date'].","items":{"type":"string"}},"y_axis_dimension":{"type":"string","description":"The metric or measure displayed on the chart’s y-axis. Possible values: 'cost', 'usage'. Defaults to 'cost'."}},"description":"Report chart settings."}},"description":"Create a CostReport."},"updateCostReport":{"type":"object","properties":{"title":{"type":"string","description":"The title of the CostReport."},"groupings":{"type":"string","description":"Grouping values for aggregating costs on the report. Valid groupings: account_id, billing_account_id, charge_type, cost_category, cost_subcategory, provider, region, resource_id, service, tagged, tag:\u003ctag_value\u003e. If providing multiple groupings, join as comma separated values: groupings=provider,service,region","x-omitempty":false},"filter":{"type":"string","description":"The filter query language to apply to the CostReport. Additional documentation available at https://docs.vantage.sh/vql."},"saved_filter_tokens":{"type":"array","description":"The tokens of the SavedFilters to apply to the CostReport.","items":{"type":"string"}},"business_metric_tokens_with_metadata":{"type":"array","description":"The tokens for any BusinessMetrics to attach to the CostReport, and the unit scale.","items":{"required":["business_metric_token"],"type":"object","properties":{"business_metric_token":{"type":"string","description":"The token of the BusinessMetric to attach to the CostReport."},"unit_scale":{"type":"string","description":"Determines the scale of the BusinessMetric's values within the CostReport.","default":"per_unit","enum":["per_unit","per_hundred","per_thousand","per_million","per_billion"]},"label_filter":{"type":"array","description":"Include only values with these labels in the CostReport.","items":{"type":"string"}}}}},"folder_token":{"type":"string","description":"The token of the Folder to add the CostReport to. Determines the Workspace the report is assigned to."},"settings":{"type":"object","properties":{"include_credits":{"type":"boolean","description":"Report will include credits.","nullable":true},"include_refunds":{"type":"boolean","description":"Report will include refunds.","nullable":true},"include_discounts":{"type":"boolean","description":"Report will include discounts.","nullable":true},"include_tax":{"type":"boolean","description":"Report will include tax.","nullable":true},"amortize":{"type":"boolean","description":"Report will amortize.","nullable":true},"unallocated":{"type":"boolean","description":"Report will show unallocated costs.","nullable":true},"aggregate_by":{"type":"string","description":"Report will aggregate by cost or usage.","nullable":true},"show_previous_period":{"type":"boolean","description":"Report will show previous period costs or usage comparison.","nullable":true},"complete_period":{"type":"boolean","description":"Report will restrict date ranges to completed periods only."}},"description":"Report settings."},"chart_settings":{"type":"object","properties":{"x_axis_dimension":{"type":"array","description":"The dimension used to group or label data along the x-axis (e.g., by date, region, or service). NOTE: Only one value is allowed at this time. Defaults to ['date'].","items":{"type":"string"}},"y_axis_dimension":{"type":"string","description":"The metric or measure displayed on the chart’s y-axis. Possible values: 'cost', 'usage'. Defaults to 'cost'."}},"description":"Report chart settings."},"previous_period_start_date":{"type":"string","description":"The previous period start date of the CostReport. ISO 8601 Formatted."},"previous_period_end_date":{"type":"string","description":"The previous period end date of the CostReport. ISO 8601 Formatted. Required when previous_period_start_date is provided."},"start_date":{"type":"string","description":"The start date of the CostReport. ISO 8601 Formatted. Incompatible with 'date_interval' parameter."},"end_date":{"type":"string","description":"The end date of the CostReport. ISO 8601 Formatted. Required when start_date is provided. Incompatible with 'date_interval' parameter."},"date_interval":{"type":"string","description":"The date interval of the CostReport. Incompatible with 'start_date' and 'end_date' parameters. Defaults to 'this_month' if start_date and end_date are not provided.","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","year_to_date","last_3_days","last_14_days"]},"chart_type":{"type":"string","description":"The chart type of the CostReport.","default":"line","enum":["area","line","pie","bar","multi_bar"]},"date_bin":{"type":"string","description":"The date bin of the CostReport.","default":"cumulative","enum":["cumulative","day","week","month","quarter","hour"]}},"description":"Update a CostReport."},"createCostExport":{"type":"object","properties":{"cost_report_token":{"type":"string","description":"The CostReport token."},"filter":{"type":"string","description":"The VQL filter to apply to the costs. If this is supplied you do not need cost_report_token."},"workspace_token":{"type":"string","description":"The token of the Workspace to query costs from. Ignored if 'cost_report_token' is set. Required if the API token is associated with multiple Workspaces."},"start_date":{"type":"string","description":"First date you would like to filter costs from. ISO 8601 formatted."},"end_date":{"type":"string","description":"Last date you would like to filter costs to. ISO 8601 formatted."},"groupings":{"type":"array","description":"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:\u003ctag_value\u003e. If providing multiple groupings, join as comma separated values: groupings=provider,service,region","items":{"type":"string"}},"date_bin":{"type":"string","description":"The date bin of the costs. Defaults to the report's default or day.","enum":["day","week","month","quarter","hour"]},"schema":{"type":"string","description":"The schema of the data export.","default":"vntg","enum":["vntg","focus","comparison"]},"settings":{"type":"object","properties":{"include_credits":{"type":"boolean","description":"Results will include credits.","default":false},"include_refunds":{"type":"boolean","description":"Results will include refunds.","default":false},"include_discounts":{"type":"boolean","description":"Results will include discounts.","default":true},"include_tax":{"type":"boolean","description":"Results will include tax.","default":true},"amortize":{"type":"boolean","description":"Results will amortize.","default":true},"unallocated":{"type":"boolean","description":"Results will show unallocated costs.","default":false},"aggregate_by":{"type":"string","description":"Results will aggregate by cost or usage.","default":"cost"},"show_previous_period":{"type":"boolean","description":"Results will show previous period costs or usage comparison.","default":true}},"description":"Cost-related settings."}},"description":"Generate a DataExport of costs."},"Costs":{"required":["costs","total_cost"],"type":"object","properties":{"links":{"$ref":"#/components/schemas/Links"},"total_cost":{"$ref":"#/components/schemas/CostPartial"},"total_usage":{"type":"array","description":"The sum of all usage for the CostReport for the requested period, rounded to 2 decimal places, grouped by usage unit.","items":{"$ref":"#/components/schemas/UsagePartial"}},"costs":{"type":"array","items":{"$ref":"#/components/schemas/Cost"}}},"description":"Costs model"},"CostPartial":{"required":["amount","currency"],"type":"object","properties":{"amount":{"type":"string","description":"The amount of the cost.","nullable":false,"example":"4.25"},"currency":{"type":"string","description":"The currency of the cost.","nullable":false,"example":"USD"}}},"UsagePartial":{"required":["amount","unit"],"type":"object","properties":{"amount":{"type":"string","description":"The sum of the usage.","nullable":false,"example":"4.25"},"unit":{"type":"string","description":"The unit of the usage.","nullable":false,"example":"USD"}}},"Cost":{"required":["accrued_at","amount","currency"],"type":"object","properties":{"links":{"$ref":"#/components/schemas/Links"},"accrued_at":{"type":"string","description":"The date the cost was accrued. ISO 8601 Formatted.","nullable":false,"example":"2023-09-05+00:00"},"amount":{"type":"string","description":"The amount of the cost.","nullable":false,"example":"4.25"},"currency":{"type":"string","description":"The currency of the cost.","nullable":false,"example":"USD"},"usage":{"type":"object","properties":{},"description":"The usage amount and unit incurred by the cost.","nullable":true},"provider":{"type":"string","description":"The cost provider which incurred the cost.","nullable":true,"example":"aws","enum":["aws","azure","gcp","snowflake","databricks","mongo","datadog","fastly","new_relic","opencost","open_ai","oracle","confluent","planetscale","coralogix","kubernetes","custom_provider","github","linode","grafana","clickhouse","temporal","twilio","azure_csp","kubernetes_agent","anthropic","anyscale","cursor","elastic","vercel","redis_cloud","circle_ci"]},"billing_account_id":{"type":"string","description":"The cost provider's billing account id that incurred the cost.","nullable":true,"example":"9109237192"},"account_id":{"type":"string","description":"The cost provider's account id that incurred the cost.","nullable":true,"example":"9109237192"},"service":{"type":"string","description":"The service which incurred the cost.","nullable":true,"example":"Amazon Elastic Compute Cloud - Compute"},"region":{"type":"string","description":"The region which incurred the cost.","nullable":true,"example":"us-east-1"},"resource_id":{"type":"string","description":"The resource id which incurred the cost.","nullable":true,"example":"arn:aws:ec2:us-east-1:123456789012:instance/i-1234567890abcdef0"},"tag":{"type":"string","description":"The tag attached to the cost that was incurred.\nDEPRECATED: does not support multiple tags.","nullable":true,"example":"production"},"tags":{"type":"array","description":"The tag pairs attached to the cost that was incurred.","nullable":true,"items":{"type":"string","example":""}},"cost_category":{"type":"string","description":"The category for the cost.","nullable":true,"example":"Data Transfer"},"cost_subcategory":{"type":"string","description":"The subcategory for the cost.","nullable":true,"example":"DataTransfer-Regional-Bytes"},"segment":{"type":"string","description":"The segment name for segment report costs.","nullable":true,"example":"Engineering"}},"description":"Cost model"},"Dashboards":{"required":["dashboards"],"type":"object","properties":{"links":{"$ref":"#/components/schemas/Links"},"dashboards":{"type":"array","items":{"$ref":"#/components/schemas/Dashboard"}}},"description":"Dashboards model"},"Dashboard":{"required":["created_at","date_bin","date_interval","saved_filter_tokens","title","token","updated_at","widgets","workspace_token"],"type":"object","properties":{"token":{"type":"string","nullable":false,"example":"dshbrd_abcd1234567890"},"title":{"type":"string","description":"The title of the Dashboard.","nullable":false,"example":"AWS Dashboard"},"widgets":{"type":"array","items":{"$ref":"#/components/schemas/DashboardWidget"}},"saved_filter_tokens":{"type":"array","description":"The tokens of the Saved Filters used in the Dashboard.","nullable":false,"items":{"type":"string"}},"date_bin":{"type":"string","description":"Determines how to group costs in the Dashboard.","nullable":true,"enum":["cumulative","day","week","month"]},"date_interval":{"type":"string","description":"Determines the date range for Reports in the Dashboard. Guaranteed to be set to 'custom' if 'start_date' and 'end_date' are set.","nullable":true,"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","year_to_date","last_3_days","last_14_days"]},"start_date":{"type":"string","description":"The start date for the date range for Reports in the Dashboard. ISO 8601 Formatted. Overwrites 'date_interval' if set.","nullable":true,"example":"2023-08-04"},"end_date":{"type":"string","description":"The end date for the date range for Reports in the Dashboard. ISO 8601 Formatted. Overwrites 'date_interval' if set.","nullable":true,"example":"2023-09-04"},"created_at":{"type":"string","description":"The date and time, in UTC, the Dashboard was created. ISO 8601 Formatted.","nullable":false,"example":"2023-08-04T00:00:00Z"},"updated_at":{"type":"string","description":"The date and time, in UTC, the Dashboard was created. ISO 8601 Formatted.","nullable":false,"example":"2023-08-04T00:00:00Z"},"workspace_token":{"type":"string","description":"The token for the Workspace the Dashboard is a part of.","nullable":false,"example":"wrkspc_abcd1234567890"}},"description":"Dashboard model"},"DashboardWidget":{"required":["settings","title","widgetable_token"],"type":"object","properties":{"widgetable_token":{"type":"string","nullable":false,"example":"rprt_a12b3c"},"title":{"type":"string","description":"The title of the Widget.","nullable":false,"example":"My Widget"},"settings":{"$ref":"#/components/schemas/DashboardWidgetSettings"}}},"DashboardWidgetSettings":{"required":["display_type"],"type":"object","properties":{"display_type":{"type":"string","nullable":false,"enum":["table","chart"]}}},"createDashboard":{"required":["title"],"type":"object","properties":{"title":{"type":"string","description":"The title of the Dashboard."},"widgets":{"type":"array","description":"The widgets to add to the Dashboard. Currently supports CostReport, ResourceReport, KubernetesEfficiencyReport, and FinancialCommitmentReport.","items":{"required":["widgetable_token"],"type":"object","properties":{"widgetable_token":{"type":"string","description":"The token of the represented Resource."},"title":{"type":"string","description":"The title of the Widget (defaults to the title of the Resource)."},"settings":{"required":["display_type"],"type":"object","properties":{"display_type":{"type":"string","enum":["table","chart"]}},"description":"The settings for the DashboardWidget."}}}},"saved_filter_tokens":{"type":"array","description":"The tokens of the Saved Filters used in the Dashboard.","items":{"type":"string"}},"date_bin":{"type":"string","description":"Determines how to group costs in the Dashboard.","enum":["cumulative","day","week","month"]},"date_interval":{"type":"string","description":"Determines the date range in the Dashboard. Incompatible with 'start_date' and 'end_date' parameters.","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","year_to_date","last_3_days","last_14_days"]},"start_date":{"type":"string","description":"The start date for the date range for costs in the Dashboard. ISO 8601 Formatted. Incompatible with 'date_interval' parameter."},"end_date":{"type":"string","description":"The end date for the date range for costs in the Dashboard. ISO 8601 Formatted. Incompatible with 'date_interval' parameter."},"workspace_token":{"type":"string","description":"The token of the Workspace to add the Dashboard to. Required if the API token is associated with multiple Workspaces."}},"description":"Create a Dashboard."},"updateDashboard":{"type":"object","properties":{"title":{"type":"string","description":"The title of the Dashboard."},"widgets":{"type":"array","description":"The widgets to add to the Dashboard. Currently supports CostReport, ResourceReport, KubernetesEfficiencyReport, and FinancialCommitmentReport.","items":{"required":["widgetable_token"],"type":"object","properties":{"widgetable_token":{"type":"string","description":"The token of the represented Resource."},"title":{"type":"string","description":"The title of the Widget (defaults to the title of the Resource)."},"settings":{"required":["display_type"],"type":"object","properties":{"display_type":{"type":"string","enum":["table","chart"]}},"description":"The settings for the DashboardWidget."}}}},"saved_filter_tokens":{"type":"array","description":"The tokens of the Saved Filters used in the Dashboard.","items":{"type":"string"}},"date_bin":{"type":"string","description":"Determines how to group costs in the Dashboard.","enum":["cumulative","day","week","month"]},"date_interval":{"type":"string","description":"Determines the date range in the Dashboard. Incompatible with 'start_date' and 'end_date' parameters.","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","year_to_date","last_3_days","last_14_days",""],"x-omitempty":false},"start_date":{"type":"string","description":"The start date for the date range for costs in the Dashboard. ISO 8601 Formatted. Incompatible with 'date_interval' parameter."},"end_date":{"type":"string","description":"The end date for the date range for costs in the Dashboard. ISO 8601 Formatted. Incompatible with 'date_interval' parameter."},"workspace_token":{"type":"string","description":"The token of the Workspace the Dashboard belongs to. Required if the API token is associated with multiple Workspaces."}},"description":"Update a Dashboard."},"DataExport":{"required":["attributes","created_at","export_type","manifest","status","token"],"type":"object","properties":{"token":{"type":"string","nullable":false,"example":"dta_xprt_abcd1234567890"},"status":{"type":"string","nullable":false,"example":"pending"},"created_at":{"type":"string","nullable":false,"example":"2025-03-20T12:00:00Z"},"export_type":{"type":"string","nullable":false,"example":"cost_report"},"manifest":{"$ref":"#/components/schemas/DataExportManifest"},"attributes":{"type":"object","properties":{},"nullable":false}},"description":"DataExport model"},"DataExportManifest":{"required":["completed_at","files","valid_until"],"type":"object","properties":{"files":{"type":"array","nullable":false,"items":{"type":"string","example":""}},"completed_at":{"type":"string","nullable":true,"example":"2025-03-20T12:00:00Z"},"valid_until":{"type":"string","nullable":true,"example":"2025-03-20T12:00:00Z"}}},"ExchangeRates":{"required":["exchange_rates"],"type":"object","properties":{"links":{"$ref":"#/components/schemas/Links"},"exchange_rates":{"type":"array","items":{"$ref":"#/components/schemas/exchange_rate"}}},"description":"ExchangeRates model"},"exchange_rate":{"required":["base_currency_code","currency_code","effective_date","rate","updated_at"],"type":"object","properties":{"base_currency_code":{"type":"string"},"currency_code":{"type":"string"},"rate":{"type":"string"},"effective_date":{"type":"string"},"updated_at":{"type":"string"}}},"FinancialCommitmentReports":{"required":["financial_commitment_reports"],"type":"object","properties":{"links":{"$ref":"#/components/schemas/Links"},"financial_commitment_reports":{"type":"array","items":{"$ref":"#/components/schemas/FinancialCommitmentReport"}}},"description":"FinancialCommitmentReports model"},"FinancialCommitmentReport":{"required":["created_at","date_bucket","date_interval","default","end_date","filter","groupings","on_demand_costs_scope","start_date","title","token","workspace_token"],"type":"object","properties":{"token":{"type":"string","nullable":false},"title":{"type":"string","description":"The title of the FinancialCommitmentReport.","nullable":false,"example":"Acme123 Financial Commitment Report"},"default":{"type":"boolean","description":"Indicates whether the FinancialCommitmentReport is the default report.","nullable":false},"created_at":{"type":"string","description":"The date and time, in UTC, the report was created. ISO 8601 Formatted.","nullable":false,"example":"2024-03-19T00:00:00Z"},"workspace_token":{"type":"string","description":"The token for the Workspace the FinancialCommitmentReport is a part of.","nullable":false},"user_token":{"type":"string","description":"The token for the User who created this FinancialCommitmentReport.","nullable":true},"start_date":{"type":"string","description":"The start date for the FinancialCommitmentReport. Only set for custom date ranges. ISO 8601 Formatted.","nullable":true,"example":"2024-03-01"},"end_date":{"type":"string","description":"The end date for the FinancialCommitmentReport. Only set for custom date ranges. ISO 8601 Formatted.","nullable":true,"example":"2024-03-20"},"date_interval":{"type":"string","description":"The date range for the FinancialCommitmentReport. Only present if a custom date range is not specified.","nullable":true,"example":"last_month"},"date_bucket":{"type":"string","description":"How costs are grouped and displayed in the FinancialCommitmentReport. Possible values: day, week, month.","nullable":false,"example":"month"},"groupings":{"type":"string","description":"The grouping aggregations applied to the filtered data.","nullable":true,"example":"cost_type, tag:account"},"on_demand_costs_scope":{"type":"string","description":"The scope for the costs. Possible values: discountable, all.","nullable":false,"example":"discountable"},"filter":{"type":"string","description":"The filter applied to the FinancialCommitmentReport. Additional documentation available at https://docs.vantage.sh/vql.","nullable":true}},"description":"FinancialCommitmentReport model"},"createFinancialCommitmentReport":{"required":["title","workspace_token"],"type":"object","properties":{"workspace_token":{"type":"string","description":"The Workspace in which the FinancialCommitmentReport will be created."},"title":{"type":"string","description":"The title of the FinancialCommitmentReport."},"filter":{"type":"string","description":"The filter query language to apply to the FinancialCommitmentReport. Additional documentation available at https://docs.vantage.sh/vql."},"start_date":{"type":"string","description":"The start date of the FinancialCommitmentReport. YYYY-MM-DD formatted. Incompatible with 'date_interval' parameter.","format":"date","example":"2024-03-01"},"end_date":{"type":"string","description":"The end date of the FinancialCommitmentReport. YYYY-MM-DD formatted. Incompatible with 'date_interval' parameter.","format":"date","example":"2024-03-01"},"date_interval":{"type":"string","description":"The date interval of the FinancialCommitmentReport. Unless 'custom' is used, this is incompatible with 'start_date' and 'end_date' parameters. Defaults to 'last_3_months'.","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","year_to_date","last_3_days","last_14_days"]},"date_bucket":{"type":"string","description":"The date bucket of the FinancialCommitmentReport.","enum":["hour","day","week","month","quarter"]},"on_demand_costs_scope":{"type":"string","description":"The scope for the costs. Possible values: discountable, all.","enum":["discountable","all"]},"groupings":{"type":"array","description":"Grouping values for aggregating costs on the FinancialCommitmentReport. Valid groupings: cost_type, commitment_type, commitment_id, service, resource_account_id, provider_account_id, region, cost_category, cost_sub_category, instance_type, tag, tag:\u003clabel_name\u003e.","items":{"type":"string"}}},"description":"Create a FinancialCommitmentReport."},"updateFinancialCommitmentReport":{"type":"object","properties":{"title":{"type":"string","description":"The title of the FinancialCommitmentReport."},"filter":{"type":"string","description":"The filter query language to apply to the FinancialCommitmentReport. Additional documentation available at https://docs.vantage.sh/vql."},"start_date":{"type":"string","description":"The start date of the FinancialCommitmentReport. YYYY-MM-DD formatted. Incompatible with 'date_interval' parameter.","format":"date","example":"2024-03-01"},"end_date":{"type":"string","description":"The end date of the FinancialCommitmentReport. YYYY-MM-DD formatted. Incompatible with 'date_interval' parameter.","format":"date","example":"2024-03-01"},"date_interval":{"type":"string","description":"The date interval of the FinancialCommitmentReport. Unless 'custom' is used, this is incompatible with 'start_date' and 'end_date' parameters. Defaults to 'last_3_months'.","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","year_to_date","last_3_days","last_14_days"]},"date_bucket":{"type":"string","description":"The date bucket of the FinancialCommitmentReport.","enum":["hour","day","week","month","quarter"]},"on_demand_costs_scope":{"type":"string","description":"The scope for the costs. Possible values: discountable, all.","enum":["discountable","all"]},"groupings":{"type":"array","description":"Grouping values for aggregating costs on the FinancialCommitmentReport. Valid groupings: cost_type, commitment_type, commitment_id, service, resource_account_id, provider_account_id, region, cost_category, cost_sub_category, instance_type, tag, tag:\u003clabel_name\u003e.","items":{"type":"string"}}},"description":"Update a FinancialCommitmentReport."},"FinancialCommitments":{"required":["financial_commitments"],"type":"object","properties":{"links":{"$ref":"#/components/schemas/Links"},"financial_commitments":{"type":"array","items":{"$ref":"#/components/schemas/FinancialCommitment"}}},"description":"FinancialCommitments model"},"FinancialCommitment":{"required":["account","amount","commitment","commitment_type","created_at","expiration_date","payment_type","purchase_date","region","service","status","term","type","workspace_token"],"type":"object","properties":{"commitment_type":{"type":"string","description":"The commitment type (eg Savings Plan or Reserved Instance).","nullable":false,"example":"Savings Plan"},"service":{"type":"string","description":"The service this commitment applies towards.","nullable":false,"example":"Compute"},"account":{"type":"string","description":"The account for this financial commitment.","nullable":false,"example":"113074892135"},"type":{"type":"string","description":"The type of financial commitment.","nullable":false,"example":"m5.large"},"amount":{"type":"integer","description":"The number of instances for the financial commitment.","format":"int32","nullable":true,"example":4},"term":{"type":"string","description":"The duration in years of the financial commitment.","nullable":true,"example":"3 Year"},"payment_type":{"type":"string","description":"The type of payment for the financial commitment.","nullable":true,"example":"No upfront"},"region":{"type":"string","description":"The region for the financial commitment.","nullable":true,"example":"us-east-1"},"purchase_date":{"type":"string","description":"The purchase date of the financial commitment. ISO 8601 Formatted.","nullable":false,"example":"2023-08-30"},"expiration_date":{"type":"string","description":"The expiration date of the financial commitment. ISO 8601 Formatted.","nullable":false,"example":"2026-08-30"},"commitment":{"type":"string","description":"The amount of the financial commitment.","nullable":false,"example":"$2.18"},"status":{"type":"string","description":"The status of the financial commitment (e.g. active vs expired).","nullable":true,"example":"active"},"created_at":{"type":"string","description":"The date and time, in UTC, the Financial Commitment was created. ISO 8601 Formatted.","nullable":false,"example":"2024-03-19T00:00:00Z"},"workspace_token":{"type":"string","description":"The token for the Workspace the FinancialCommitment is a part of.","nullable":false}}},"Folders":{"required":["folders"],"type":"object","properties":{"links":{"$ref":"#/components/schemas/Links"},"folders":{"type":"array","items":{"$ref":"#/components/schemas/Folder"}}},"description":"Folders model"},"Folder":{"required":["created_at","saved_filter_tokens","title","token","type","updated_at","workspace_token"],"type":"object","properties":{"token":{"type":"string","nullable":false},"title":{"type":"string","description":"The title of the Folder.","nullable":true,"example":"Platform Team Reports"},"type":{"type":"string","description":"The type of the Folder.","nullable":false},"parent_folder_token":{"type":"string","description":"The token for the parent Folder, if any.","nullable":true},"saved_filter_tokens":{"type":"array","description":"The tokens for the SavedFilters assigned to the Folder.","nullable":false,"items":{"type":"string"}},"created_at":{"type":"string","description":"The date and time, in UTC, the Folder was created. ISO 8601 Formatted.","nullable":false,"example":"2023-08-04T00:00:00Z"},"updated_at":{"type":"string","description":"The date and time, in UTC, the Folder was last updated at. ISO 8601 Formatted.","nullable":false,"example":"2023-08-04T00:00:00Z"},"workspace_token":{"type":"string","description":"The token for the Workspace the Folder is a part of.","nullable":false}},"description":"Folder model"},"createFolder":{"required":["title"],"type":"object","properties":{"title":{"type":"string","description":"The title of the Folder."},"parent_folder_token":{"type":"string","description":"The token of the parent Folder."},"saved_filter_tokens":{"type":"array","description":"The tokens of the SavedFilters to apply to any Cost Report contained within the Folder.","items":{"type":"string"}},"workspace_token":{"type":"string","description":"The token of the Workspace to add the Folder to. Ignored if 'parent_folder_token' is set. Required if the API token is associated with multiple Workspaces."},"type":{"type":"string","description":"The type of the Folder.","default":"CostFolder","enum":["CostFolder","ProviderResourceFolder"]}},"description":"Create a Folder for CostReports."},"updateFolder":{"type":"object","properties":{"title":{"type":"string","description":"The title of the Folder."},"parent_folder_token":{"type":"string","description":"The token of the parent Folder."},"saved_filter_tokens":{"type":"array","description":"The tokens of the SavedFilters to apply to any Cost Report contained within the Folder.","items":{"type":"string"}}},"description":"Update a Folder for CostReports."},"Integrations":{"required":["integrations"],"type":"object","properties":{"links":{"$ref":"#/components/schemas/Links"},"integrations":{"type":"array","items":{"$ref":"#/components/schemas/Integration"}}},"description":"Integrations model"},"Integration":{"required":["account_identifier","created_at","managed_account_tokens","provider","status","token","workspace_tokens"],"type":"object","properties":{"token":{"type":"string","nullable":false},"provider":{"type":"string","description":"The name of the Integration.","nullable":false,"example":"AWS"},"account_identifier":{"type":"string","description":"The account identifier. For GCP this is the billing Account ID, for Azure this is the account ID","nullable":true,"example":"011389-EF4C3E-3ED7AE"},"status":{"type":"string","description":"The status of the Integration. Can be 'connected', 'error', 'pending', 'importing', 'imported', or 'disconnected'.","nullable":false,"example":"imported","enum":["connected","error","pending","importing","imported","disconnected"]},"last_updated":{"type":"string","description":"The date and time, in UTC, when the Integration was last updated. ISO 8601 Formatted.","nullable":true,"example":"2023-08-04T00:00:00Z"},"workspace_tokens":{"type":"array","description":"The tokens for any Workspaces that the account belongs to.","nullable":false,"items":{"type":"string"}},"created_at":{"type":"string","description":"The date and time, in UTC, the Integration was created. ISO 8601 Formatted.","nullable":false,"example":"2023-08-04T00:00:00Z"},"managed_account_tokens":{"type":"array","description":"The tokens for any Managed Accounts that are associated with the Integration.","nullable":false,"items":{"type":"string"}}},"description":"Integration model"},"createCustomProviderIntegration":{"required":["name"],"type":"object","properties":{"name":{"type":"string","description":"Name of the Custom Provider Integration."},"description":{"type":"string","description":"Description of the Custom Provider Integration."}},"description":"Create a Custom Provider Integration"},"UserCostsUpload":{"required":["amount","created_at","created_by_token","end_date","filename","import_status","start_date","token"],"type":"object","properties":{"token":{"type":"string","description":"The token of the UserCostsUpload.","nullable":false,"example":"usr_csts_upld_1234"},"filename":{"type":"string","description":"The filename of the uploaded costs UserCostsUpload.","nullable":false,"example":"usr_csts_upld_1234.parquet"},"amount":{"type":"string","description":"The total amount of the costs in the UserCostsUpload.","nullable":false,"example":"1234.56"},"start_date":{"type":"string","description":"The start date of the costs in the UserCostsUpload.","nullable":false,"example":"2021-01-01"},"end_date":{"type":"string","description":"The end date of the costs in the UserCostsUpload.","nullable":false,"example":"2021-01-31"},"import_status":{"type":"string","description":"Import status of the UserCostsUpload.","nullable":false,"example":"processing"},"created_by_token":{"type":"string","description":"The token of the Creator of the UserCostsUpload.","nullable":false,"example":"usr_1234"},"created_at":{"type":"string","description":"When the UserCostsUpload was uploaded.","nullable":false,"example":"2021-01-01T00:00:00Z"}},"description":"UserCostsUpload model"},"UserCostsUploads":{"required":["user_costs_uploads"],"type":"object","properties":{"links":{"$ref":"#/components/schemas/Links"},"user_costs_uploads":{"type":"array","items":{"$ref":"#/components/schemas/UserCostsUpload"}}},"description":"UserCostsUploads model"},"createGCPIntegration":{"required":["billing_account_id","dataset_name","project_id"],"type":"object","properties":{"billing_account_id":{"type":"string","description":"GCP billing account ID."},"project_id":{"type":"string","description":"GCP project ID."},"dataset_name":{"type":"string","description":"BigQuery dataset name."}},"description":"Create a GCP Integration"},"createAzureIntegration":{"required":["app_id","password","tenant"],"type":"object","properties":{"tenant":{"type":"string","description":"Azure AD Tenant ID."},"app_id":{"type":"string","description":"Service Principal Application ID."},"password":{"type":"string","description":"Service Principal Password."}},"description":"Create an Azure Integration"},"updateIntegration":{"type":"object","properties":{"workspace_tokens":{"type":"array","description":"The Workspace tokens to associate to the Integration.","items":{"type":"string"}}},"description":"Update an Integration."},"Invoices":{"required":["invoices"],"type":"object","properties":{"links":{"$ref":"#/components/schemas/Links"},"invoices":{"type":"array","items":{"$ref":"#/components/schemas/Invoice"}}},"description":"Invoices model"},"Invoice":{"required":["account_name","account_token","billing_period_end","billing_period_start","created_at","invoice_number","msp_account_token","status","token","total","updated_at"],"type":"object","properties":{"token":{"type":"string","nullable":false},"invoice_number":{"type":"string","description":"Sequential invoice number for the MSP account","nullable":false},"total":{"type":"string","description":"Total amount for the invoice period","nullable":true},"billing_period_start":{"type":"string","description":"Start date of the billing period. ISO 8601 formatted.","nullable":false},"billing_period_end":{"type":"string","description":"End date of the billing period. ISO 8601 formatted.","nullable":false},"status":{"type":"string","description":"Current status of the invoice","nullable":false},"created_at":{"type":"string","description":"The date and time, in UTC, the invoice was created. ISO 8601 formatted.","nullable":false},"updated_at":{"type":"string","description":"The date and time, in UTC, the invoice was last updated. ISO 8601 formatted.","nullable":false},"account_token":{"type":"string","description":"Token of the managed account this invoice belongs to","nullable":false},"account_name":{"type":"string","description":"Name of the managed account this invoice belongs to","nullable":false},"msp_account_token":{"type":"string","description":"Token of the MSP account that owns this invoice","nullable":false}},"description":"Invoice model"},"createInvoice":{"required":["account_token","billing_period_end","billing_period_start"],"type":"object","properties":{"billing_period_start":{"type":"string","description":"Start date of billing period (YYYY-MM-DD)"},"billing_period_end":{"type":"string","description":"End date of billing period (YYYY-MM-DD)"},"account_token":{"type":"string","description":"Token of the managed account to invoice"}},"description":"Create an invoice (MSP accounts only)."},"downloadInvoice":{"required":["file_type"],"type":"object","properties":{"file_type":{"type":"string","description":"Type of file to download (pdf or csv)","enum":["pdf","csv"]}},"description":"Download invoice file (PDF or CSV)."},"DownloadInvoice":{"required":["download_url"],"type":"object","properties":{"download_url":{"type":"string","description":"The URL to download the invoice file.","nullable":false,"example":"https://example.com/invoice.pdf"}},"description":"DownloadInvoice model"},"SendInvoice":{"required":["recipients"],"type":"object","properties":{"recipients":{"type":"array","nullable":false,"items":{"type":"string","example":""}}},"description":"SendInvoice model"},"CostReportUrl":{"required":["cost_report_url"],"type":"object","properties":{"cost_report_url":{"type":"string","description":"The URL of the cost report.","nullable":false,"example":"https://example.com/cost_report.pdf"}},"description":"CostReportUrl model"},"KubernetesEfficiencyReports":{"required":["kubernetes_efficiency_reports"],"type":"object","properties":{"links":{"$ref":"#/components/schemas/Links"},"kubernetes_efficiency_reports":{"type":"array","items":{"$ref":"#/components/schemas/KubernetesEfficiencyReport"}}},"description":"KubernetesEfficiencyReports model"},"KubernetesEfficiencyReport":{"required":["aggregated_by","created_at","date_bucket","date_interval","default","end_date","filter","groupings","start_date","title","token","workspace_token"],"type":"object","properties":{"token":{"type":"string","nullable":false},"title":{"type":"string","description":"The title of the KubernetesEfficiencyReport.","nullable":false,"example":"Acme123 Kubernetes Efficiency Metrics"},"default":{"type":"boolean","description":"Indicates whether the KubernetesEfficiencyReport is the default report.","nullable":false},"created_at":{"type":"string","description":"The date and time, in UTC, the report was created. ISO 8601 Formatted.","nullable":false,"example":"2024-03-19T00:00:00Z"},"workspace_token":{"type":"string","description":"The token for the Workspace the KubernetesEfficiencyReport is a part of.","nullable":false},"user_token":{"type":"string","description":"The token for the User who created this KubernetesEfficiencyReport.","nullable":true},"start_date":{"type":"string","description":"The start date for the KubernetesEfficiencyReport. Only set for custom date ranges. ISO 8601 Formatted.","nullable":true,"example":"2024-03-01"},"end_date":{"type":"string","description":"The end date for the KubernetesEfficiencyReport. Only set for custom date ranges. ISO 8601 Formatted.","nullable":true,"example":"2024-03-20"},"date_interval":{"type":"string","description":"The date range for the KubernetesEfficiencyReport. Only present if a custom date range is not specified.","nullable":true,"example":"last_month"},"date_bucket":{"type":"string","description":"How costs are grouped and displayed in the KubernetesEfficiencyReport. Possible values: day, week, month.","nullable":false,"example":"month"},"aggregated_by":{"type":"string","description":"How costs are aggregated by. Possible values: idle_cost, amount, cost_efficiency.","nullable":false},"groupings":{"type":"string","description":"Grouping values for aggregating costs on the KubernetesEfficiencyReport. Valid groupings: cluster_id, namespace, labeled, category, pod, label, label:\u003clabel_name\u003e.","nullable":true,"example":"cluster_id, namespace"},"filter":{"type":"string","description":"The filter applied to the KubernetesEfficiencyReport. Additional documentation available at https://docs.vantage.sh/vql.","nullable":true}},"description":"KubernetesEfficiencyReport model"},"createKubernetesEfficiencyReportExport":{"type":"object","properties":{"kubernetes_efficiency_report_token":{"type":"string","description":"The KubernetesEfficiencyReport token. If not provided, the default report for the workspace will be used."},"filter":{"type":"string","description":"The filter query language to apply to the KubernetesEfficiencyReport. Additional documentation available at https://docs.vantage.sh/vql."},"workspace_token":{"type":"string","description":"The token of the Workspace to export data from. Ignored if 'kubernetes_efficiency_report_token' is set. Required if the API token is associated with multiple Workspaces."},"start_date":{"type":"string","description":"First date you would like to filter data from. ISO 8601 formatted."},"end_date":{"type":"string","description":"Last date you would like to filter data to. ISO 8601 formatted."},"date_bin":{"type":"string","description":"The date bin of the data. Defaults to the report's default or day.","enum":["day","week","month","quarter"]}},"description":"Generate a DataExport of Kubernetes efficiency data."},"createKubernetesEfficiencyReport":{"required":["title","workspace_token"],"type":"object","properties":{"workspace_token":{"type":"string","description":"The Workspace in which the KubernetesEfficiencyReport will be created."},"title":{"type":"string","description":"The title of the KubernetesEfficiencyReport."},"filter":{"type":"string","description":"The filter query language to apply to the KubernetesEfficiencyReport. Additional documentation available at https://docs.vantage.sh/vql."},"start_date":{"type":"string","description":"The start date of the KubernetesEfficiencyReport. ISO 8601 Formatted. Incompatible with 'date_interval' parameter.","format":"date"},"end_date":{"type":"string","description":"The end date of the KubernetesEfficiencyReport. ISO 8601 Formatted. Incompatible with 'date_interval' parameter.","format":"date"},"date_interval":{"type":"string","description":"The date interval of the KubernetesEfficiencyReport. Incompatible with 'start_date' and 'end_date' parameters. Defaults to 'this_month' if start_date and end_date are not provided.","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","year_to_date","last_3_days","last_14_days"]},"aggregated_by":{"type":"string","description":"The column by which the costs are aggregated.","enum":["idle_cost","amount","cost_efficiency"]},"date_bucket":{"type":"string","description":"The date bucket of the KubernetesEfficiencyReport.","enum":["day","week","month","quarter"]},"groupings":{"type":"array","description":"Grouping values for aggregating costs on the KubernetesEfficiencyReport. Valid groupings: cluster_id, namespace, labeled, category, pod, label, label:\u003clabel_name\u003e.","items":{"type":"string"}}},"description":"Create a KubernetesEfficiencyReport."},"updateKubernetesEfficiencyReport":{"type":"object","properties":{"title":{"type":"string","description":"The title of the KubernetesEfficiencyReport."},"filter":{"type":"string","description":"The filter query language to apply to the KubernetesEfficiencyReport. Additional documentation available at https://docs.vantage.sh/vql."},"start_date":{"type":"string","description":"The start date of the KubernetesEfficiencyReport. ISO 8601 Formatted. Incompatible with 'date_interval' parameter.","format":"date"},"end_date":{"type":"string","description":"The end date of the KubernetesEfficiencyReport. ISO 8601 Formatted. Incompatible with 'date_interval' parameter.","format":"date"},"date_interval":{"type":"string","description":"The date interval of the KubernetesEfficiencyReport. Incompatible with 'start_date' and 'end_date' parameters. Defaults to 'this_month' if start_date and end_date are not provided.","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","year_to_date","last_3_days","last_14_days"]},"aggregated_by":{"type":"string","description":"The column by which the costs are aggregated.","enum":["idle_cost","amount","cost_efficiency"]},"date_bucket":{"type":"string","description":"The date bucket of the KubernetesEfficiencyReport.","enum":["day","week","month","quarter"]},"groupings":{"type":"array","description":"Grouping values for aggregating costs on the KubernetesEfficiencyReport. Valid groupings: cluster_id, namespace, labeled, category, pod, label, label:\u003clabel_name\u003e.","items":{"type":"string"}}},"description":"Update a KubernetesEfficiencyReport."},"ManagedAccounts":{"required":["managed_accounts"],"type":"object","properties":{"links":{"$ref":"#/components/schemas/Links"},"managed_accounts":{"type":"array","items":{"$ref":"#/components/schemas/ManagedAccount"}}},"description":"ManagedAccounts model"},"ManagedAccount":{"required":["access_credential_tokens","billing_rule_tokens","contact_email","name","parent_account_token","token"],"type":"object","properties":{"token":{"type":"string","nullable":false},"name":{"type":"string","nullable":false},"contact_email":{"type":"string","nullable":false},"parent_account_token":{"type":"string","description":"The token for the parent Account.","nullable":false},"access_credential_tokens":{"type":"array","description":"The tokens for the Access Credentials assigned to the Managed Account.","nullable":false,"items":{"type":"string"}},"billing_rule_tokens":{"type":"array","description":"The tokens for the Billing Rules assigned to the Managed Account.","nullable":false,"items":{"type":"string"}},"email_domain":{"type":"string","description":"Email domain associated with this Managed Account for SSO.","nullable":true},"msp_billing_profile_token":{"type":"string","description":"Token of the MSP billing profile used for this managed account (MSP invoicing accounts only)","nullable":true},"payment_terms_days":{"type":"integer","description":"Number of days until payment is due after invoice date (MSP invoicing accounts only)","format":"int32","nullable":true},"include_managed_account_integrations":{"type":"boolean","description":"Whether to include managed account's own integrations in invoice cost calculations (MSP invoicing accounts only)","nullable":true},"billing_information_attributes":{"$ref":"#/components/schemas/BillingInformation"},"business_information_attributes":{"$ref":"#/components/schemas/BusinessInformation"}},"description":"ManagedAccount model"},"createManagedAccount":{"required":["contact_email","name"],"type":"object","properties":{"name":{"type":"string","description":"The name of the Managed Account."},"contact_email":{"type":"string","description":"The contact email address for the Managed Account."},"access_credential_tokens":{"type":"array","description":"Access Credential (aka Integrations) tokens to assign to the Managed Account.","items":{"type":"string"}},"billing_rule_tokens":{"type":"array","description":"Billing Rule tokens to assign to the Managed Account.","items":{"type":"string"}},"email_domain":{"type":"string","description":"Email domain to associate with this Managed Account for SSO."}},"description":"Create a Managed Account."},"updateManagedAccount":{"type":"object","properties":{"name":{"type":"string","description":"The name of the Managed Account."},"contact_email":{"type":"string","description":"The contact email address for the Managed Account."},"access_credential_tokens":{"type":"array","description":"Access Credential (aka Integrations) tokens to assign to the Managed Account.","items":{"type":"string"}},"billing_rule_tokens":{"type":"array","description":"Billing Rule tokens to assign to the Managed Account.","items":{"type":"string"}},"email_domain":{"type":"string","description":"Email domain to associate with this Managed Account for SSO."},"msp_billing_profile_token":{"type":"string","description":"Token of the MSP billing profile to use for this managed account (MSP invoicing accounts only)."},"payment_terms_days":{"type":"integer","description":"Number of days until payment is due after invoice date (MSP invoicing accounts only). Defaults to 10.","format":"int32"},"include_managed_account_integrations":{"type":"boolean","description":"Whether to include managed account's own integrations in invoice cost calculations (MSP invoicing accounts only). Defaults to false."},"billing_information_attributes":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"token":{"type":"string"},"company_name":{"type":"string","description":"Company name for billing"},"country_code":{"type":"string","description":"ISO country code"},"address_line_1":{"type":"string","description":"First line of billing address"},"address_line_2":{"type":"string","description":"Second line of billing address"},"city":{"type":"string","description":"City for billing address"},"state":{"type":"string","description":"State or province for billing address"},"postal_code":{"type":"string","description":"Postal or ZIP code"},"billing_email":{"type":"array","description":"Array of billing email addresses","items":{"type":"string"}}},"description":"Billing address and contact information (MSP invoicing accounts only)"},"business_information_attributes":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"token":{"type":"string"},"metadata":{"type":"object","properties":{"custom_fields":{"type":"array","description":"Array of custom field objects","items":{"type":"object","properties":{"name":{"type":"string","description":"Custom field name"},"value":{"type":"string","description":"Custom field value"}}}}},"description":"Business metadata including custom fields"}},"description":"Business information and custom fields (MSP invoicing accounts only)"}},"description":"Update a Managed Account."},"createSsoConnectionForManagedAccount":{"required":["type"],"type":"object","properties":{"type":{"type":"string","description":"The type of SSO connection. Currently supported: saml.","enum":["saml"]},"saml_metadata_url":{"type":"string","description":"The SAML metadata URL for the identity provider. Required when type is saml."},"additional_domains":{"type":"array","description":"Additional email domains to associate with this SSO configuration. The account's SSO domain is always included.","items":{"type":"string"}}},"description":"Configure SSO for a Managed Account."},"updateSsoConnectionForManagedAccount":{"type":"object","properties":{"saml_metadata_url":{"type":"string","description":"The SAML metadata URL for the identity provider."},"additional_domains":{"type":"array","description":"Additional email domains to associate with this SSO configuration. Replaces existing additional domains. The account's SSO domain is always preserved.","items":{"type":"string"}}},"description":"Update SSO configuration for a Managed Account."},"Me":{"required":["bearer_token","default_workspace_token","workspaces"],"type":"object","properties":{"default_workspace_token":{"type":"string","nullable":true},"default_dashboard_token":{"type":"string","description":"The token of the default Dashboard for the User.","nullable":true},"workspaces":{"type":"array","items":{"$ref":"#/components/schemas/Workspace"}},"bearer_token":{"$ref":"#/components/schemas/BearerToken"}},"description":"Me model"},"Workspace":{"required":["created_at","currency","enable_currency_conversion","exchange_rate_date","name","token"],"type":"object","properties":{"token":{"type":"string","nullable":false},"name":{"type":"string","description":"The name of the Workspace.","nullable":false,"example":"Acme Corp."},"created_at":{"type":"string","description":"The date and time, in UTC, the Workspace was created. ISO 8601 Formatted.","nullable":false,"example":"2023-08-04T00:00:00Z"},"enable_currency_conversion":{"type":"boolean","description":"Whether or not currency conversion is enabled for the Workspace.","nullable":false},"currency":{"type":"string","description":"The currency code for the Workspace that will be used for currency conversion.","nullable":false,"example":"USD"},"exchange_rate_date":{"type":"string","description":"The exchange rate date that will be used to convert currency for your cost data.","nullable":false}},"description":"Workspace model"},"BearerToken":{"required":["created_at","description","scope"],"type":"object","properties":{"description":{"type":"string","description":"The user supplied description of this BearerToken","nullable":false},"created_at":{"type":"string","description":"The date and time, in UTC, the BearerToken was created. ISO 8601 Formatted.","nullable":false,"example":"2023-08-04T00:00:00Z"},"scope":{"type":"array","description":"The scopes applied to the BearerToken used to authenticate this request.","nullable":false,"items":{"type":"string"}}}},"updateMe":{"type":"object","properties":{"default_dashboard_token":{"type":"string","description":"The token of a Dashboard to set as the User default. Send null to clear.","nullable":true,"x-omitempty":false}},"description":"Update the authenticated User."},"CostProviders":{"required":["cost_providers"],"type":"object","properties":{"links":{"$ref":"#/components/schemas/Links"},"cost_providers":{"type":"array","items":{"$ref":"#/components/schemas/CostProvider"}}},"description":"CostProviders model"},"CostProvider":{"required":["key","name"],"type":"object","properties":{"name":{"type":"string","description":"The name of the CostProvider.","nullable":false,"example":"AWS"},"key":{"type":"string","description":"The key of the CostProvider, useful for filtering Costs.","nullable":false,"example":"aws"}}},"CostServices":{"required":["cost_services"],"type":"object","properties":{"links":{"$ref":"#/components/schemas/Links"},"cost_services":{"type":"array","items":{"$ref":"#/components/schemas/CostService"}}},"description":"CostServices model"},"CostService":{"required":["name","provider"],"type":"object","properties":{"name":{"type":"string","description":"The name of the CostService.","nullable":false,"example":"Amazon Simple Storage Service"},"provider":{"type":"string","description":"The key value of the CostProvider.","nullable":false,"example":"aws"}}},"createUserFeedback":{"required":["message"],"type":"object","properties":{"message":{"type":"string","description":"UserFeedback message"}},"description":"Provide UserFeedback for our product and features."},"UserFeedback":{"required":["created_at","message","token"],"type":"object","properties":{"token":{"type":"string","description":"Token of the feedback","nullable":false},"message":{"type":"string","description":"User feedback message","nullable":false},"created_by_token":{"type":"string","description":"Token of the creator of the feedback","nullable":true},"created_at":{"type":"string","description":"Feedback creation timestamp","nullable":false,"example":"2023-01-01T00:00:00Z"}},"description":"UserFeedback model"},"NetworkFlowReports":{"required":["network_flow_reports"],"type":"object","properties":{"links":{"$ref":"#/components/schemas/Links"},"network_flow_reports":{"type":"array","items":{"$ref":"#/components/schemas/NetworkFlowReport"}}},"description":"NetworkFlowReports model"},"NetworkFlowReport":{"required":["created_at","date_interval","default","end_date","filter","flow_direction","flow_weight","groupings","start_date","title","token","workspace_token"],"type":"object","properties":{"token":{"type":"string","nullable":false},"title":{"type":"string","description":"The title of the NetworkFlowReport.","nullable":false,"example":"Public Traffic Destinations"},"default":{"type":"boolean","description":"Indicates whether the NetworkFlowReport is the default report.","nullable":false},"created_at":{"type":"string","description":"The date and time, in UTC, the report was created. ISO 8601 Formatted.","nullable":false,"example":"2024-03-19T00:00:00Z"},"workspace_token":{"type":"string","description":"The token for the Workspace the NetworkFlowReport is a part of.","nullable":false},"created_by_token":{"type":"string","description":"The token for the User or Team that created this NetworkFlowReport.","nullable":true},"start_date":{"type":"string","description":"The start date for the NetworkFlowReport. Only set for custom date ranges. ISO 8601 Formatted.","nullable":true,"example":"2024-03-01"},"end_date":{"type":"string","description":"The end date for the NetworkFlowReport. Only set for custom date ranges. ISO 8601 Formatted.","nullable":true,"example":"2024-03-20"},"date_interval":{"type":"string","description":"The date range for the NetworkFlowReport. Only present if a custom date range is not specified.","nullable":true,"example":"last_month"},"groupings":{"type":"string","description":"The grouping aggregations applied to the filtered data.","nullable":true,"example":"cost_type, tag:account"},"flow_direction":{"type":"string","description":"The flow weight of the NetworkFlowReport. Possible values: costs, bytes.","nullable":true,"example":"ingress"},"flow_weight":{"type":"string","description":"The flow weight of the NetworkFlowReport. Possible values: costs, bytes.","nullable":false,"example":"costs"},"filter":{"type":"string","description":"The filter applied to the NetworkFlowReport. Additional documentation available at https://docs.vantage.sh/vql.","nullable":true}},"description":"NetworkFlowReport model"},"createNetworkFlowReport":{"required":["title","workspace_token"],"type":"object","properties":{"workspace_token":{"type":"string","description":"The Workspace in which the NetworkFlowReport will be created."},"title":{"type":"string","description":"The title of the NetworkFlowReport."},"filter":{"type":"string","description":"The filter query language to apply to the NetworkFlowReport. Additional documentation available at https://docs.vantage.sh/vql."},"start_date":{"type":"string","description":"The start date of the NetworkFlowReport. YYYY-MM-DD formatted. Incompatible with 'date_interval' parameter.","format":"date"},"end_date":{"type":"string","description":"The end date of the NetworkFlowReport. YYYY-MM-DD formatted. Incompatible with 'date_interval' parameter.","format":"date"},"date_interval":{"type":"string","description":"The date interval of the NetworkFlowReport. Unless 'custom' is used, this is incompatible with 'start_date' and 'end_date' parameters. Defaults to 'last_7_days'.","enum":["last_3_days","last_7_days","custom"]},"groupings":{"type":"array","description":"Grouping values for aggregating data on the NetworkFlowReport. Valid groupings: account_id, az_id, dstaddr, dsthostname, flow_direction, interface_id, instance_id, peer_resource_uuid, peer_account_id, peer_vpc_id, peer_region, peer_az_id, peer_subnet_id, peer_interface_id, peer_instance_id, region, resource_uuid, srcaddr, srchostname, subnet_id, traffic_category, traffic_path, vpc_id.","items":{"type":"string","enum":["account_id","az_id","dstaddr","dsthostname","flow_direction","interface_id","instance_id","peer_resource_uuid","peer_account_id","peer_vpc_id","peer_region","peer_az_id","peer_subnet_id","peer_interface_id","peer_instance_id","region","resource_uuid","srcaddr","srchostname","subnet_id","traffic_category","traffic_path","vpc_id"]}},"flow_direction":{"type":"string","description":"The flow direction of the NetworkFlowReport.","enum":["ingress","egress"]},"flow_weight":{"type":"string","description":"The dimension by which the logs in the report are sorted. Defaults to costs.","enum":["costs","bytes"]}},"description":"Create a NetworkFlowReport."},"updateNetworkFlowReport":{"type":"object","properties":{"title":{"type":"string","description":"The title of the NetworkFlowReport."},"filter":{"type":"string","description":"The filter query language to apply to the NetworkFlowReport. Additional documentation available at https://docs.vantage.sh/vql."},"start_date":{"type":"string","description":"The start date of the NetworkFlowReport. YYYY-MM-DD formatted. Incompatible with 'date_interval' parameter.","format":"date"},"end_date":{"type":"string","description":"The end date of the NetworkFlowReport. YYYY-MM-DD formatted. Incompatible with 'date_interval' parameter.","format":"date"},"date_interval":{"type":"string","description":"The date interval of the NetworkFlowReport. Unless 'custom' is used, this is incompatible with 'start_date' and 'end_date' parameters. Defaults to 'last_7_days'.","enum":["last_3_days","last_7_days","custom"]},"groupings":{"type":"array","description":"Grouping values for aggregating data on the NetworkFlowReport. Valid groupings: account_id, az_id, dstaddr, dsthostname, flow_direction, interface_id, instance_id, peer_resource_uuid, peer_account_id, peer_vpc_id, peer_region, peer_az_id, peer_subnet_id, peer_interface_id, peer_instance_id, region, resource_uuid, srcaddr, srchostname, subnet_id, traffic_category, traffic_path, vpc_id.","items":{"type":"string","enum":["account_id","az_id","dstaddr","dsthostname","flow_direction","interface_id","instance_id","peer_resource_uuid","peer_account_id","peer_vpc_id","peer_region","peer_az_id","peer_subnet_id","peer_interface_id","peer_instance_id","region","resource_uuid","srcaddr","srchostname","subnet_id","traffic_category","traffic_path","vpc_id"]}},"flow_direction":{"type":"string","description":"The flow direction of the NetworkFlowReport.","enum":["ingress","egress"]},"flow_weight":{"type":"string","description":"The dimension by which the logs in the report are sorted. Defaults to costs.","enum":["costs","bytes"]}},"description":"Update a NetworkFlowReport."},"Prices":{"required":["prices"],"type":"object","properties":{"links":{"$ref":"#/components/schemas/Links"},"prices":{"type":"array","items":{"$ref":"#/components/schemas/Price"}}},"description":"Prices model"},"Price":{"required":["amount","currency","details","id","rate_type","region","unit"],"type":"object","properties":{"id":{"type":"string","nullable":false},"unit":{"type":"string","description":"The unit in which the amount is billed.","nullable":false,"example":"hour"},"region":{"type":"string","description":"The region the price is specific to.","nullable":false,"example":"us-east-1"},"rate_type":{"type":"string","description":"The part of the product the price applies to. (compute, transfer, etc..)","nullable":false,"example":"compute"},"currency":{"type":"string","description":"The currency of the amount.","nullable":false,"example":"USD"},"amount":{"type":"number","description":"The amount of money this specific product price costs.","nullable":false,"example":1.324},"details":{"type":"object","properties":{},"description":"Service specific metadata.","nullable":false,"example":{"platform":"linux-enterprise","lifecycle":"on-demand"}}},"description":"Price model"},"Products":{"required":["products"],"type":"object","properties":{"links":{"$ref":"#/components/schemas/Links"},"products":{"type":"array","items":{"$ref":"#/components/schemas/Product"}}},"description":"Products model"},"Product":{"required":["category","details","id","name","provider_id","service_id"],"type":"object","properties":{"id":{"type":"string","nullable":false},"category":{"type":"string","description":"The category of the cloud product","nullable":false,"example":"compute"},"name":{"type":"string","description":"The common name of the product.","nullable":false,"example":"EC2"},"service_id":{"type":"string","description":"A unique slug for the service the product belongs to.","nullable":false,"example":"aws-ec2"},"provider_id":{"type":"string","description":"A unique slug for the provider the product belongs to.","nullable":false,"example":"aws"},"details":{"type":"object","properties":{},"description":"An object of metadata about the product.","nullable":false,"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":"Product model"},"Recommendations":{"required":["recommendations"],"type":"object","properties":{"links":{"$ref":"#/components/schemas/Links"},"recommendations":{"type":"array","items":{"$ref":"#/components/schemas/Recommendation"}}},"description":"Recommendations model"},"Recommendation":{"required":["category","created_at","description","potential_savings","provider","provider_account_id","resources_affected_count","service","token","type","workspace_token"],"type":"object","properties":{"token":{"type":"string","nullable":false},"type":{"type":"string","description":"The type of the Recommendation. This is analogous to category, but with a uniform format.","nullable":false,"example":"aws:ec2:co-rightsizing"},"category":{"type":"string","description":"The category of the Recommendation.","nullable":false,"example":"ec2_compute_optimizer_recommender"},"workspace_token":{"type":"string","description":"The token for the Workspace the Recommendation is a part of.","nullable":false},"provider":{"type":"string","description":"The provider the Recommendation is for.","nullable":false},"provider_account_id":{"type":"string","description":"The account ID of the provider. For Azure, this is the subscription ID.","nullable":true},"description":{"type":"string","nullable":false},"potential_savings":{"type":"string","description":"The monthly potential savings of the Recommendation, converted to the organization's selected currency.","nullable":true,"example":"100.00"},"service":{"type":"string","description":"The service the Recommendation is for.","nullable":false,"example":"Amazon EC2"},"created_at":{"type":"string","description":"The date and time, in UTC, the Recommendation was created. ISO 8601 Formatted.","nullable":false},"resources_affected_count":{"type":"integer","description":"The number of ProviderResources related to the Recommendation. Use the `recommendations/:token/resources` endpoint to get the full list of resources.","format":"int32","nullable":false},"currency_code":{"type":"string","description":"The currency code used by the Workspace to which this Recommendation belongs.","nullable":true,"example":"EUR"},"currency_symbol":{"type":"string","description":"The currency symbol used by the Workspace to which this Recommendation belongs.","nullable":true,"example":"EUR"}},"description":"Recommendation model"},"RecommendationProviderResources":{"required":["resources"],"type":"object","properties":{"links":{"$ref":"#/components/schemas/Links"},"resources":{"type":"array","items":{"$ref":"#/components/schemas/RecommendationProviderResource"}}},"description":"RecommendationProviderResources model"},"RecommendationProviderResource":{"required":["account_id","billing_account_id","created_at","label","metadata","provider","region","resource_id","token","type","uuid"],"type":"object","properties":{"token":{"type":"string","nullable":false},"uuid":{"type":"string","description":"The unique identifier for the resource.","nullable":false,"example":"i-0a1b2c3d4e5f6g7h8"},"type":{"type":"string","description":"The kind of resource.","nullable":false,"example":"aws_instance"},"label":{"type":"string","nullable":true},"metadata":{"type":"object","properties":{},"description":"Type-specific attributes of the resource.","nullable":true},"account_id":{"type":"string","description":"The provider account where the resource is located.","nullable":true},"billing_account_id":{"type":"string","description":"The provider billing account this resource is charged to.","nullable":true},"provider":{"type":"string","description":"The provider of the resource.","nullable":false,"example":"aws"},"region":{"type":"string","description":"The region where the resource is located. Region values are specific to each provider.","nullable":true,"example":"us-west-2"},"costs":{"type":"array","description":"The cost of the resource broken down by category.","items":{"$ref":"#/components/schemas/ResourceCost"}},"created_at":{"type":"string","description":"The date and time when Vantage first observed the resource.","nullable":false},"resource_id":{"type":"string","description":"The unique identifier of the Active Resource.","nullable":false,"example":"i-0a1b2c3d4e5f6g7h8"},"recommendation_actions":{"type":"array","description":"The actions to take to implement the Recommendation.","items":{"$ref":"#/components/schemas/RecommendationAction"}}},"description":"RecommendationProviderResource model"},"ResourceCost":{"required":["amount","category"],"type":"object","properties":{"category":{"type":"string","description":"The category of the cost.","nullable":false},"amount":{"type":"number","description":"The cost amount.","format":"float","nullable":false}}},"RecommendationAction":{"required":["action","description","potential_savings"],"type":"object","properties":{"action":{"type":"string","nullable":false},"description":{"type":"string","nullable":false},"potential_savings":{"type":"string","description":"Potential savings in dollars","nullable":false,"example":"100.00"},"instance_type":{"type":"string","nullable":true},"containers":{"type":"string","nullable":true},"remediation_cli_command":{"type":"string","description":"CLI command to remediate this recommendation","nullable":true,"example":"aws ec2 stop-instances --instance-ids i-1234567890abcdef0"}}},"RecommendationViews":{"type":"object","properties":{"links":{"$ref":"#/components/schemas/Links"},"recommendation_views":{"type":"array","items":{"$ref":"#/components/schemas/RecommendationView"}}},"description":"RecommendationViews model"},"RecommendationView":{"type":"object","properties":{"token":{"type":"string","nullable":true},"title":{"type":"string","description":"The title of the RecommendationView.","nullable":true,"example":"Production Recommendations"},"workspace_token":{"type":"string","description":"The token for the Workspace the RecommendationView is a part of.","nullable":true},"start_date":{"type":"string","description":"Filter recommendations created on/after this YYYY-MM-DD date.","nullable":true,"example":"2024-01-01"},"end_date":{"type":"string","description":"Filter recommendations created on/before this YYYY-MM-DD date.","nullable":true,"example":"2024-12-31"},"provider_ids":{"type":"array","description":"Filter by one or more providers.","nullable":true,"items":{"type":"string","example":""}},"billing_account_ids":{"type":"array","description":"Filter by billing account identifiers.","nullable":true,"items":{"type":"string","example":""}},"account_ids":{"type":"array","description":"Filter by cloud account identifiers.","nullable":true,"items":{"type":"string","example":""}},"regions":{"type":"array","description":"Filter by region slugs (e.g. us-east-1, eastus, asia-east1).","nullable":true,"items":{"type":"string","example":""}},"tag_key":{"type":"string","description":"Filter by tag key (must be used with tag_value).","nullable":true,"example":"environment"},"tag_value":{"type":"string","description":"Filter by tag value (requires tag_key).","nullable":true,"example":"production"},"created_at":{"type":"string","description":"The date and time, in UTC, the view was created. ISO 8601 Formatted.","nullable":true,"example":"2023-08-04T00:00:00Z"},"created_by":{"type":"string","description":"The token for the Creator of this RecommendationView.","nullable":true}},"description":"RecommendationView model"},"createRecommendationView":{"required":["title","workspace_token"],"type":"object","properties":{"title":{"type":"string","description":"The title of the RecommendationView."},"workspace_token":{"type":"string","description":"The Workspace to associate the RecommendationView with."},"provider_ids":{"type":"array","description":"Filter by one or more providers (e.g. aws, gcp, azure, kubernetes, datadog).","items":{"type":"string"}},"billing_account_ids":{"type":"array","description":"Filter by billing account identifiers.","items":{"type":"string"}},"account_ids":{"type":"array","description":"Filter by cloud account identifiers.","items":{"type":"string"}},"regions":{"type":"array","description":"Filter by region slugs (e.g. us-east-1, eastus, asia-east1).","items":{"type":"string"}},"tag_key":{"type":"string","description":"Filter by tag key (must be used with tag_value)."},"tag_value":{"type":"string","description":"Filter by tag value (requires tag_key)."},"start_date":{"type":"string","description":"Filter recommendations created on/after this YYYY-MM-DD date."},"end_date":{"type":"string","description":"Filter recommendations created on/before this YYYY-MM-DD date."}},"description":"Create a RecommendationView."},"updateRecommendationView":{"type":"object","properties":{"title":{"type":"string","description":"The title of the RecommendationView."},"provider_ids":{"type":"array","description":"Filter by one or more providers (e.g. aws, gcp, azure, kubernetes, datadog).","items":{"type":"string"}},"billing_account_ids":{"type":"array","description":"Filter by billing account identifiers.","items":{"type":"string"}},"account_ids":{"type":"array","description":"Filter by cloud account identifiers.","items":{"type":"string"}},"regions":{"type":"array","description":"Filter by region slugs (e.g. us-east-1, eastus, asia-east1).","items":{"type":"string"}},"tag_key":{"type":"string","description":"Filter by tag key (must be used with tag_value)."},"tag_value":{"type":"string","description":"Filter by tag value (requires tag_key)."},"start_date":{"type":"string","description":"Filter recommendations created on/after this YYYY-MM-DD date."},"end_date":{"type":"string","description":"Filter recommendations created on/before this YYYY-MM-DD date."}},"description":"Update a RecommendationView."},"ReportNotifications":{"required":["report_notifications"],"type":"object","properties":{"links":{"$ref":"#/components/schemas/Links"},"report_notifications":{"type":"array","items":{"$ref":"#/components/schemas/ReportNotification"}}},"description":"ReportNotifications model"},"ReportNotification":{"required":["change","cost_report_token","frequency","recipient_channels","title","token","user_tokens"],"type":"object","properties":{"token":{"type":"string","nullable":false},"title":{"type":"string","description":"The title of the ReportNotification.","nullable":false,"example":"Acme Report Notification"},"cost_report_token":{"type":"string","description":"The token for a CostReport the ReportNotification is applied to.","nullable":false,"example":"rprt_abcd1234"},"user_tokens":{"type":"array","description":"The Users that receive the notification.","nullable":false,"items":{"type":"string","example":""}},"recipient_channels":{"type":"array","description":"The Slack or Microsoft Teams channels that receive the notification.","nullable":false,"items":{"type":"string","example":""}},"frequency":{"type":"string","description":"The frequency the ReportNotification is sent.","nullable":false,"example":"weekly","enum":["daily","weekly","monthly"]},"change":{"type":"string","description":"The type of change the ReportNotification is tracking.","nullable":false,"example":"percentage","enum":["percentage","dollars"]}},"description":"ReportNotification model"},"createReportNotification":{"required":["change","cost_report_token","frequency","title"],"type":"object","properties":{"title":{"type":"string","description":"The title of the ReportNotification."},"cost_report_token":{"type":"string","description":"The CostReport token."},"workspace_token":{"type":"string","description":"The token of the Workspace to add the ReportNotification to. Required if the API token is associated with multiple Workspaces."},"user_tokens":{"type":"array","description":"The Users that receive the notification.","items":{"type":"string"}},"recipient_channels":{"type":"array","description":"The Slack or Microsoft Teams channels that receive the notification.","items":{"type":"string"}},"frequency":{"type":"string","description":"The frequency the ReportNotification is sent. Possible values: daily, weekly, monthly."},"change":{"type":"string","description":"The type of change the ReportNotification is tracking. Possible values: percentage, dollars."}},"description":"Create a ReportNotification."},"updateReportNotification":{"type":"object","properties":{"title":{"type":"string","description":"The title of the ReportNotification."},"cost_report_token":{"type":"string","description":"The CostReport token."},"user_tokens":{"type":"array","description":"The Users that receive the notification.","items":{"type":"string"}},"recipient_channels":{"type":"array","description":"The Slack or Microsoft Teams channels that receive the notification.","items":{"type":"string"}},"frequency":{"type":"string","description":"The frequency the ReportNotification is sent. Possible values: daily, weekly, monthly."},"change":{"type":"string","description":"The type of change the ReportNotification is tracking. Possible values: percentage, dollars."}},"description":"Update a ReportNotification."},"ResourceReportColumns":{"required":["columns"],"type":"object","properties":{"columns":{"type":"array","description":"Array of available column names for the specified resource type.","nullable":false,"items":{"type":"string","example":""}}},"description":"ResourceReportColumns model"},"ResourceReports":{"required":["resource_reports"],"type":"object","properties":{"links":{"$ref":"#/components/schemas/Links"},"resource_reports":{"type":"array","items":{"$ref":"#/components/schemas/ResourceReport"}}},"description":"ResourceReports model"},"ResourceReport":{"required":["columns","created_at","created_by_token","filter","title","token","user_token","workspace_token"],"type":"object","properties":{"token":{"type":"string","nullable":false},"title":{"type":"string","description":"The title of the ResourceReport.","nullable":false,"example":"Acme123 Active Resources"},"filter":{"type":"string","description":"The filter applied to the ResourceReport. Additional documentation available at https://docs.vantage.sh/vql.","nullable":true},"created_at":{"type":"string","description":"The date and time, in UTC, the report was created. ISO 8601 Formatted.","nullable":false,"example":"2024-03-19T00:00:00Z"},"workspace_token":{"type":"string","description":"The token for the Workspace the ResourceReport is a part of.","nullable":false},"user_token":{"type":"string","description":"The token for the User who created this ResourceReport.","nullable":true},"created_by_token":{"type":"string","description":"The token for the User or Team who created this ResourceReport.","nullable":true},"folder_token":{"type":"string","description":"The token for the Folder the ResourceReport is a part of.","nullable":true},"columns":{"type":"array","description":"Array of column names configured for the ResourceReport table display.","nullable":false,"items":{"type":"string","example":""}}},"description":"ResourceReport model"},"createResourceReport":{"required":["workspace_token"],"type":"object","properties":{"workspace_token":{"type":"string","description":"The token of the Workspace to add the ResourceReport to."},"title":{"type":"string","description":"The title of the ResourceReport."},"filter":{"type":"string","description":"The filter query language to apply to the ResourceReport. Additional documentation available at https://docs.vantage.sh/vql."},"columns":{"type":"array","description":"Array of column names to display in the table. Column names should match those returned by the /resource_reports/columns endpoint. The order determines the display order. Only available for reports with a single resource type filter.","items":{"type":"string"}},"folder_token":{"type":"string","description":"The token of the Folder to add the ResourceReport to."}},"description":"Create a ResourceReport."},"updateResourceReport":{"type":"object","properties":{"title":{"type":"string","description":"The title of the ResourceReport."},"filter":{"type":"string","description":"The filter query language to apply to the ResourceReport. Additional documentation available at https://docs.vantage.sh/vql."},"columns":{"type":"array","description":"Array of column names to display in the table. Column names should match those returned by the /resource_reports/columns endpoint. The order determines the display order. Only available for reports with a single resource type filter.","items":{"type":"string"}},"folder_token":{"type":"string","description":"The token of the Folder to move the ResourceReport to."}},"description":"Update a ResourceReport."},"Resources":{"required":["resources"],"type":"object","properties":{"links":{"$ref":"#/components/schemas/Links"},"resources":{"type":"array","items":{"$ref":"#/components/schemas/Resource"}}},"description":"Resources model"},"Resource":{"required":["account_id","billing_account_id","created_at","label","metadata","provider","region","token","type","uuid"],"type":"object","properties":{"token":{"type":"string","nullable":false},"uuid":{"type":"string","description":"The unique identifier for the resource.","nullable":false,"example":"i-0a1b2c3d4e5f6g7h8"},"type":{"type":"string","description":"The kind of resource.","nullable":false,"example":"aws_instance"},"label":{"type":"string","nullable":true},"metadata":{"type":"object","properties":{},"description":"Type-specific attributes of the resource.","nullable":true},"account_id":{"type":"string","description":"The provider account where the resource is located.","nullable":true},"billing_account_id":{"type":"string","description":"The provider billing account this resource is charged to.","nullable":true},"provider":{"type":"string","description":"The provider of the resource.","nullable":false,"example":"aws"},"region":{"type":"string","description":"The region where the resource is located. Region values are specific to each provider.","nullable":true,"example":"us-west-2"},"costs":{"type":"array","description":"The cost of the resource broken down by category.","items":{"$ref":"#/components/schemas/ResourceCost"}},"created_at":{"type":"string","description":"The date and time when Vantage first observed the resource.","nullable":false}},"description":"Resource model"},"SavedFilters":{"required":["saved_filters"],"type":"object","properties":{"links":{"$ref":"#/components/schemas/Links"},"saved_filters":{"type":"array","items":{"$ref":"#/components/schemas/SavedFilter"}}},"description":"SavedFilters model"},"SavedFilter":{"required":["cost_report_tokens","created_at","created_by","filter","title","token","workspace_token"],"type":"object","properties":{"token":{"type":"string","nullable":false},"title":{"type":"string","description":"The title of the SavedFilter.","nullable":false,"example":"Platform Team Reports"},"cost_report_tokens":{"type":"array","description":"The tokens for any CostReports the SavedFilter is applied to.","nullable":false,"items":{"type":"string","example":""}},"filter":{"type":"string","description":"The SavedFilter's filter, applied to any relevant CostReports. Additional documentation available at https://docs.vantage.sh/vql.","nullable":true,"example":"costs.provider = 'azure'"},"created_at":{"type":"string","description":"The date and time, in UTC, the report was created. ISO 8601 Formatted.","nullable":false,"example":"2023-08-04T00:00:00Z"},"created_by":{"type":"string","description":"The token for the Creator of this SavedFilter.","nullable":true},"workspace_token":{"type":"string","description":"The token for the Workspace the SavedFilter is a part of.","nullable":false}},"description":"SavedFilter model"},"createSavedFilter":{"required":["title"],"type":"object","properties":{"title":{"type":"string","description":"The title of the SavedFilter."},"workspace_token":{"type":"string","description":"The Workspace to associate the SavedFilter with. Required if the API token is associated with multiple Workspaces."},"filter":{"type":"string","description":"The filter query language to apply to the SavedFilter, which subsequently gets applied to a CostReport. Additional documentation available at https://docs.vantage.sh/vql."}},"description":"Create a SavedFilter for CostReports."},"updateSavedFilter":{"type":"object","properties":{"title":{"type":"string","description":"The title of the SavedFilter."},"filter":{"type":"string","description":"The filter query language to apply to the SavedFilter, which subsequently gets applied to a CostReport. Additional documentation available at https://docs.vantage.sh/vql."}},"description":"Update a SavedFilter for CostReports."},"Segments":{"required":["segments"],"type":"object","properties":{"links":{"$ref":"#/components/schemas/Links"},"segments":{"type":"array","items":{"$ref":"#/components/schemas/Segment"}}},"description":"Segments model"},"Segment":{"required":["created_at","description","filter","parent_segment_token","priority","report_token","title","token","track_unallocated","workspace_token"],"type":"object","properties":{"token":{"type":"string","nullable":false},"title":{"type":"string","description":"The title of the Segment.","nullable":false,"example":"OPEX"},"parent_segment_token":{"type":"string","description":"The token of the parent Segment of this Segment.","nullable":true},"description":{"type":"string","description":"The description of the Segment.","nullable":false,"example":"Operating expenses"},"track_unallocated":{"type":"boolean","description":"Track Unallocated Costs which are not assigned to any of the created Segments.","nullable":false,"example":false},"report_settings":{"type":"object","properties":{"include_credits":{"type":"boolean","nullable":true},"include_refunds":{"type":"boolean","nullable":true},"include_discounts":{"type":"boolean","nullable":true},"include_tax":{"type":"boolean","nullable":true},"amortize":{"type":"boolean","nullable":true}},"description":"Report settings configurable on top-level Segments."},"priority":{"type":"integer","description":"Costs are assigned in priority order across all Segments with assigned filters.","format":"int32","nullable":false,"example":100},"filter":{"type":"string","description":"The filter applied to the Segment. Additional documentation available at https://docs.vantage.sh/vql.","nullable":true},"created_at":{"type":"string","description":"The date and time, in UTC, the Segment was created. ISO 8601 Formatted.","nullable":false,"example":"2021-07-09T00:00:00Z"},"workspace_token":{"type":"string","description":"The token for the Workspace the Segment is a part of.","nullable":false},"report_token":{"type":"string","description":"The token for the Report the Segment has generated.","nullable":true}},"description":"Segment model"},"createSegment":{"required":["title"],"type":"object","properties":{"title":{"type":"string","description":"The title of the Segment."},"description":{"type":"string","description":"The description of the Segment."},"priority":{"type":"integer","description":"The priority of the Segment.","format":"int32"},"track_unallocated":{"type":"boolean","description":"Track Unallocated Costs which are not assigned to any of the created Segments.","default":false},"report_settings":{"type":"object","properties":{"include_credits":{"type":"boolean","description":"Reports created under this Segment will include credits.","nullable":true},"include_refunds":{"type":"boolean","description":"Reports created under this Segment will include refunds.","nullable":true},"include_discounts":{"type":"boolean","description":"Reports created under this Segment will include discounts.","nullable":true},"include_tax":{"type":"boolean","description":"Reports created under this Segment will include tax.","nullable":true},"amortize":{"type":"boolean","description":"Reports created under this Segment will amortize.","nullable":true}},"description":"Report settings configurable on top-level Segments."},"workspace_token":{"type":"string","description":"The token of the Workspace to add the Segment to. Ignored if 'segment_token' is set. Required if the API token is associated with multiple Workspaces."},"filter":{"type":"string","description":"The filter query language to apply to the Segment. Additional documentation available at https://docs.vantage.sh/vql."},"parent_segment_token":{"type":"string","description":"The token of the parent Segment this new Segment belongs to. Determines the Workspace the segment is assigned to."}},"description":"Create a Segment."},"updateSegment":{"type":"object","properties":{"title":{"type":"string","description":"The title of the Segment."},"description":{"type":"string","description":"The description of the Segment."},"priority":{"type":"integer","description":"The priority of the Segment.","format":"int32"},"track_unallocated":{"type":"boolean","description":"Track Unallocated Costs which are not assigned to any of the created Segments.","default":false},"report_settings":{"type":"object","properties":{"include_credits":{"type":"boolean","description":"Reports created under this Segment will include credits.","nullable":true},"include_refunds":{"type":"boolean","description":"Reports created under this Segment will include refunds.","nullable":true},"include_discounts":{"type":"boolean","description":"Reports created under this Segment will include discounts.","nullable":true},"include_tax":{"type":"boolean","description":"Reports created under this Segment will include tax.","nullable":true},"amortize":{"type":"boolean","description":"Reports created under this Segment will amortize.","nullable":true}},"description":"Report settings configurable on top-level Segments."},"filter":{"type":"string","description":"The filter query language to apply to the Segment. Additional documentation available at https://docs.vantage.sh/vql."},"parent_segment_token":{"type":"string","description":"The token of the parent Segment this new Segment belongs to. Determines the Workspace the segment is assigned to."}},"description":"Update a Segment."},"Tags":{"required":["tags"],"type":"object","properties":{"links":{"$ref":"#/components/schemas/Links"},"tags":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}},"description":"Tags model"},"Tag":{"required":["hidden","preferred","providers","tag_key"],"type":"object","properties":{"tag_key":{"type":"string","description":"The Tag key.","nullable":false,"example":"aws:createdBy"},"hidden":{"type":"boolean","description":"Whether the Tag has been hidden from the Vantage UI.","nullable":false},"preferred":{"type":"boolean","description":"Whether the Tag has been marked as preferred.","nullable":false},"providers":{"type":"array","description":"The unique providers that are covered by the Tag key.","nullable":false,"items":{"type":"string","example":""}}}},"TagValues":{"required":["tag_values"],"type":"object","properties":{"links":{"$ref":"#/components/schemas/Links"},"tag_values":{"type":"array","items":{"$ref":"#/components/schemas/TagValue"}}},"description":"TagValues model"},"TagValue":{"required":["providers","tag_value"],"type":"object","properties":{"tag_value":{"type":"string","description":"The TagValue.","nullable":false,"example":"vantage"},"providers":{"type":"array","description":"The unique providers that are covered by the TagValue.","nullable":false,"items":{"type":"string","example":""}}}},"updateTag":{"required":["hidden"],"type":"object","properties":{"tag_key":{"type":"string"},"tag_keys":{"type":"array","items":{"type":"string"}},"hidden":{"type":"boolean","description":"Whether the Tag is hidden from the Vantage UI."}},"description":"Updates an existing Tag."},"Teams":{"required":["teams"],"type":"object","properties":{"links":{"$ref":"#/components/schemas/Links"},"teams":{"type":"array","items":{"$ref":"#/components/schemas/Team"}}},"description":"Teams model"},"Team":{"required":["default_dashboard_token","description","name","token","user_emails","user_tokens","workspace_tokens"],"type":"object","properties":{"token":{"type":"string","nullable":false},"name":{"type":"string","description":"The name of the Team.","nullable":false,"example":"Cost Savers"},"description":{"type":"string","description":"The description of the Team.","nullable":true,"example":"The Team that saves costs"},"workspace_tokens":{"type":"array","description":"The tokens for any Workspaces that the Team belongs to","nullable":false,"items":{"type":"string","example":""}},"user_emails":{"type":"array","description":"The email addresses for Users that belong to the Team","nullable":false,"items":{"type":"string","example":""}},"user_tokens":{"type":"array","description":"The tokens for Users that belong to the Team","nullable":false,"items":{"type":"string","example":""}},"default_dashboard_token":{"type":"string","description":"The token of the default Dashboard for the Team.","nullable":true,"example":"dshbrd_abcd1234"}},"description":"Team model"},"createTeam":{"required":["name"],"type":"object","properties":{"name":{"type":"string","description":"The name of the Team."},"description":{"type":"string","description":"The description of the Team."},"workspace_tokens":{"type":"array","description":"The Workspace tokens to associate to the Team.","items":{"type":"string"}},"user_tokens":{"type":"array","description":"The User tokens to associate to the Team.","items":{"type":"string"}},"user_emails":{"type":"array","description":"The User emails to associate to the Team.","items":{"type":"string"}},"role":{"type":"string","description":"The role to assign to the provided Users. Defaults to 'editor' which has editor permissions.","enum":["owner","editor","viewer"]},"default_dashboard_token":{"type":"string","description":"The token of a Dashboard to set as the Team default. Send null to clear.","nullable":true,"x-omitempty":false}},"description":"Create a new Team."},"updateTeam":{"type":"object","properties":{"name":{"type":"string","description":"The name of the Team."},"description":{"type":"string","description":"The description of the Team."},"workspace_tokens":{"type":"array","description":"The Workspace tokens to associate to the Team.","items":{"type":"string"}},"user_tokens":{"type":"array","description":"The User tokens to associate to the Team.","items":{"type":"string"}},"user_emails":{"type":"array","description":"The User emails to associate to the Team.","items":{"type":"string"}},"role":{"type":"string","description":"The role to assign to the provided Users. Defaults to 'editor' which has editor permissions.","enum":["owner","editor","viewer"]},"default_dashboard_token":{"type":"string","description":"The token of a Dashboard to set as the Team default. Send null to clear.","nullable":true,"x-omitempty":false}},"description":"Update a Team."},"TeamMembers":{"required":["members"],"type":"object","properties":{"links":{"$ref":"#/components/schemas/Links"},"members":{"type":"array","items":{"$ref":"#/components/schemas/TeamMember"}}},"description":"TeamMembers model"},"TeamMember":{"required":["email","name","role","user_token"],"type":"object","properties":{"name":{"type":"string","description":"The name of the team member.","nullable":false,"example":"John Doe"},"email":{"type":"string","description":"The email address of the team member.","nullable":false,"example":"john@acme.com"},"user_token":{"type":"string","description":"The token of the team member.","nullable":false,"example":"usr_abcd1234"},"role":{"type":"string","description":"The role of the team member in the team.","nullable":false,"example":"editor"}},"description":"TeamMember model"},"addTeamMember":{"required":["role","user_email"],"type":"object","properties":{"user_email":{"type":"string","description":"The email address of the user to add to the Team."},"role":{"type":"string","description":"The role to assign to the user. Defaults to 'editor'.","default":"editor","enum":["owner","editor","viewer","integration_owner"]}},"description":"Add a member to a Team."},"createUnitCostsExport":{"required":["cost_report_token"],"type":"object","properties":{"cost_report_token":{"type":"string","description":"The CostReport token."},"workspace_token":{"type":"string","description":"The token of the Workspace to query costs from. Required if the API token is associated with multiple Workspaces."},"start_date":{"type":"string","description":"First date you would like to filter unit costs from. Defaults to the report's default. ISO 8601 formatted."},"end_date":{"type":"string","description":"Last date you would like to filter unit costs to. Defaults to the report's default. ISO 8601 formatted."},"date_bin":{"type":"string","description":"The date bin of the unit costs. Defaults to the report's default or day.","enum":["day","week","month","quarter","hour"]}},"description":"Generate a DataExport of unit costs."},"UnitCosts":{"required":["unit_costs"],"type":"object","properties":{"links":{"$ref":"#/components/schemas/Links"},"unit_costs":{"type":"array","items":{"$ref":"#/components/schemas/UnitCost"}}},"description":"UnitCosts model"},"UnitCost":{"required":["business_metric_amount","business_metric_title","business_metric_token","date","scale","unit_cost_amount"],"type":"object","properties":{"links":{"$ref":"#/components/schemas/Links"},"business_metric_token":{"type":"string","description":"The token of the BusinessMetric for which the unit cost was calculated.","nullable":false,"example":"bsnss_mtrc_1234"},"business_metric_title":{"type":"string","description":"The title of the BusinessMetric for which the unit cost was calculated.","nullable":false,"example":"Total Revenue"},"unit_cost_amount":{"type":"string","description":"The amount of the unit cost.","nullable":false,"example":"4.25"},"business_metric_amount":{"type":"string","description":"The amount of the business metric.","nullable":false,"example":"0.371"},"scale":{"type":"number","description":"The scale of the BusinessMetric's values within a particular CostReport.","format":"float","nullable":false,"example":1.0},"date":{"type":"string","description":"The date for which the unit cost was calculated. ISO 8601 Formatted.","nullable":false,"example":"2023-09-05+00:00"}}},"Users":{"required":["users"],"type":"object","properties":{"links":{"$ref":"#/components/schemas/Links"},"users":{"type":"array","items":{"$ref":"#/components/schemas/User"}}},"description":"Users model"},"User":{"required":["email","name","role","token"],"type":"object","properties":{"token":{"type":"string","nullable":false},"name":{"type":"string","description":"The name of the User.","nullable":true,"example":"John Doe"},"email":{"type":"string","description":"The email of the User.","nullable":false,"example":"john_doe@acme.com"},"role":{"type":"string","description":"The role of the User.","nullable":false,"example":"Admin"},"default_dashboard_token":{"type":"string","description":"The token of the default Dashboard for the User.","nullable":true,"example":"dshbrd_abcdef123456"},"last_seen_at":{"type":"string","description":"The last time the User logged in.","nullable":true,"example":"2024-01-01T00:00:00Z"}},"description":"User model"},"updateUser":{"type":"object","properties":{"default_dashboard_token":{"type":"string","description":"The token of a Dashboard to set as the User default. Send null to clear.","nullable":true,"x-omitempty":false}},"description":"Update a specific User."},"VirtualTagConfigs":{"required":["virtual_tag_configs"],"type":"object","properties":{"virtual_tag_configs":{"type":"array","items":{"$ref":"#/components/schemas/VirtualTagConfig"}}},"description":"VirtualTagConfigs model"},"VirtualTagConfig":{"required":["backfill_until","created_by_token","key","overridable","token","values"],"type":"object","properties":{"token":{"type":"string","description":"The token of the VirtualTagConfig.","nullable":false,"example":"vtag_1234"},"created_by_token":{"type":"string","description":"The token of the Creator of the VirtualTagConfig.","nullable":true,"example":"usr_1234"},"key":{"type":"string","description":"The key of the VirtualTagConfig.","nullable":false,"example":"Cost Center"},"overridable":{"type":"boolean","description":"Whether the VirtualTagConfig can override a provider-supplied tag on a matching Cost.","nullable":false},"backfill_until":{"type":"string","description":"The earliest month VirtualTagConfig should be backfilled to.","nullable":false,"example":"2025-10-01"},"collapsed_tag_keys":{"type":"array","description":"Tag keys to collapse values for.","items":{"$ref":"#/components/schemas/VirtualTagConfigCollapsedTagKey"}},"values":{"type":"array","description":"Values for the VirtualTagConfig, with match precedence determined by their relative order in the list.","items":{"$ref":"#/components/schemas/VirtualTagConfigValue"}}},"description":"VirtualTagConfig model"},"VirtualTagConfigCollapsedTagKey":{"required":["key"],"type":"object","properties":{"key":{"type":"string","description":"The tag key to collapse values for.","nullable":false,"example":"team"},"providers":{"type":"array","description":"The providers this collapsed tag key applies to. Defaults to all providers when omitted.","nullable":true,"items":{"type":"string","example":""}},"filter":{"type":"string","description":"The VQL filter this collapsed tag key applies to.","nullable":true,"example":"(costs.provider = 'aws') OR (costs.provider = 'gcp')"}}},"VirtualTagConfigValue":{"required":["filter"],"type":"object","properties":{"filter":{"type":"string","description":"The filter VQL for the Value.","nullable":true,"example":"costs.provider = 'aws' AND costs.service = 'Amazon Simple Storage Service'"},"name":{"type":"string","description":"The name of the Value.","nullable":true,"example":"Informatics"},"business_metric_token":{"type":"string","description":"The token of the associated BusinessMetric.","nullable":true,"example":"bsnss_mtrc_abc123"},"cost_metric":{"$ref":"#/components/schemas/VirtualTagConfigValueCostMetric"},"display_name":{"type":"string","description":"The display name for this allocation value.","nullable":true},"label_transforms":{"type":"array","description":"Label transforms applied to business metric labels.","items":{"$ref":"#/components/schemas/VirtualTagConfigValueLabelTransform"}},"percentages":{"type":"array","description":"Labeled percentage allocations for matching costs.","items":{"$ref":"#/components/schemas/VirtualTagConfigValuePercentage"}},"date_ranges":{"type":"array","description":"Date ranges restricting when this value applies.","items":{"$ref":"#/components/schemas/VirtualTagConfigValueDateRange"}}}},"VirtualTagConfigValueCostMetric":{"required":["aggregation","filter"],"type":"object","properties":{"filter":{"type":"string","description":"The filter VQL for the cost metric.","nullable":true},"aggregation":{"$ref":"#/components/schemas/VirtualTagConfigValueCostMetricAggregation"}}},"VirtualTagConfigValueCostMetricAggregation":{"type":"object","properties":{"tag":{"type":"string","description":"The tag to aggregate on.","nullable":true}}},"VirtualTagConfigValueLabelTransform":{"required":["type"],"type":"object","properties":{"type":{"type":"string","description":"The label transform type.","nullable":false,"enum":["split","format"]},"delimiter":{"type":"string","description":"Delimiter used by split transforms.","nullable":true},"index":{"type":"integer","description":"Zero-based index used by split transforms.","format":"int32","nullable":true},"template":{"type":"string","description":"Template used by format transforms.","nullable":true}}},"VirtualTagConfigValuePercentage":{"required":["pct","value"],"type":"object","properties":{"value":{"type":"string","description":"The tag value associated with a percentage of matched costs.","nullable":false,"example":"cost-center-a"},"pct":{"type":"number","description":"The percentage of matched costs associated with the value.","nullable":false,"example":50.0}}},"VirtualTagConfigValueDateRange":{"required":["end_date","start_date"],"type":"object","properties":{"start_date":{"type":"string","description":"The start date of the range (inclusive), or null for unbounded.","nullable":true},"end_date":{"type":"string","description":"The end date of the range (inclusive), or null for unbounded.","nullable":true}}},"VirtualTagConfigStatus":{"required":["processing","providers","token"],"type":"object","properties":{"token":{"type":"string","description":"The token of the VirtualTagConfig.","nullable":false,"example":"vtag_1234"},"processing":{"type":"boolean","description":"Whether the VirtualTagConfig is currently processing. True if any provider has not completed processing.","nullable":false},"providers":{"type":"array","description":"Processing status broken down by provider.","items":{"$ref":"#/components/schemas/VirtualTagConfigProviderStatus"}}},"description":"VirtualTagConfigStatus model"},"VirtualTagConfigProviderStatus":{"required":["provider","status"],"type":"object","properties":{"provider":{"type":"string","description":"The provider name.","nullable":false,"example":"aws"},"status":{"type":"string","description":"The processing status for this provider. Possible values: queued, processing, complete, failed.","nullable":false,"example":"processing"}}},"createVirtualTagConfig":{"required":["key","overridable"],"type":"object","properties":{"key":{"type":"string","description":"The key of the VirtualTagConfig."},"overridable":{"type":"boolean","description":"Whether the VirtualTagConfig can override a provider-supplied tag on a matching Cost."},"backfill_until":{"type":"string","description":"The earliest month the VirtualTagConfig should be backfilled to.","format":"date"},"collapsed_tag_keys":{"type":"array","description":"Tag keys to collapse values for.","items":{"required":["key"],"type":"object","properties":{"key":{"type":"string","description":"The tag key to collapse values for."},"providers":{"type":"array","description":"The providers this collapsed tag key applies to. Defaults to all providers.","items":{"type":"string"}},"filter":{"type":"string","description":"The VQL filter this collapsed tag key applies to."}}}},"values":{"type":"array","description":"Values for the VirtualTagConfig, with match precedence determined by order in the list.","items":{"required":["filter"],"type":"object","properties":{"filter":{"type":"string","description":"The filter query language to apply to the value. Additional documentation available at https://docs.vantage.sh/vql."},"name":{"type":"string","description":"The name of the value."},"business_metric_token":{"type":"string","description":"The token of an associated business metric."},"display_name":{"type":"string","description":"The display name for an allocation value (cost_metric or percentages). Invalid when name is set."},"label_transforms":{"type":"array","items":{"required":["type"],"type":"object","properties":{"type":{"type":"string"},"delimiter":{"type":"string"},"index":{"type":"integer","format":"int32"},"template":{"type":"string"}}},"x-omitempty":true},"cost_metric":{"required":["aggregation","filter"],"type":"object","properties":{"filter":{"type":"string"},"aggregation":{"required":["tag"],"type":"object","properties":{"tag":{"type":"string"}}}}},"percentages":{"type":"array","items":{"required":["pct","value"],"type":"object","properties":{"value":{"type":"string"},"pct":{"type":"number","format":"float"}}},"x-omitempty":true},"date_ranges":{"type":"array","description":"Date ranges restricting when this value applies. Each range has optional start_date and end_date (inclusive, YYYY-MM-DD).","items":{"type":"object","properties":{"start_date":{"type":"string","description":"Inclusive start date (YYYY-MM-DD), or null for unbounded."},"end_date":{"type":"string","description":"Inclusive end date (YYYY-MM-DD), or null for unbounded."}}},"x-omitempty":true}}}}},"description":"Create a new VirtualTagConfig."},"updateVirtualTagConfig":{"type":"object","properties":{"key":{"type":"string","description":"The key of the VirtualTagConfig."},"overridable":{"type":"boolean","description":"Whether the VirtualTagConfig can override a provider-supplied tag on a matching Cost.","nullable":true},"backfill_until":{"type":"string","description":"The earliest month the VirtualTagConfig should be backfilled to.","format":"date","nullable":true},"collapsed_tag_keys":{"type":"array","description":"Tag keys to collapse values for.","items":{"required":["key"],"type":"object","properties":{"key":{"type":"string","description":"The tag key to collapse values for."},"providers":{"type":"array","description":"The providers this collapsed tag key applies to. Defaults to all providers.","items":{"type":"string"}},"filter":{"type":"string","description":"The VQL filter this collapsed tag key applies to."}}}},"values":{"type":"array","description":"Values for the VirtualTagConfig, with match precedence determined by order in the list.","items":{"required":["filter"],"type":"object","properties":{"filter":{"type":"string","description":"The filter query language to apply to the value. Additional documentation available at https://docs.vantage.sh/vql."},"name":{"type":"string","description":"The name of the value."},"business_metric_token":{"type":"string","description":"The token of an associated business metric."},"display_name":{"type":"string","description":"The display name for an allocation value (cost_metric or percentages). Invalid when name is set."},"label_transforms":{"type":"array","items":{"required":["type"],"type":"object","properties":{"type":{"type":"string"},"delimiter":{"type":"string"},"index":{"type":"integer","format":"int32"},"template":{"type":"string"}}},"x-omitempty":true},"cost_metric":{"required":["aggregation","filter"],"type":"object","properties":{"filter":{"type":"string"},"aggregation":{"required":["tag"],"type":"object","properties":{"tag":{"type":"string"}}}}},"percentages":{"type":"array","items":{"required":["pct","value"],"type":"object","properties":{"value":{"type":"string"},"pct":{"type":"number","format":"float"}}},"x-omitempty":true},"date_ranges":{"type":"array","description":"Date ranges restricting when this value applies. Each range has optional start_date and end_date (inclusive, YYYY-MM-DD).","items":{"type":"object","properties":{"start_date":{"type":"string","description":"Inclusive start date (YYYY-MM-DD), or null for unbounded."},"end_date":{"type":"string","description":"Inclusive end date (YYYY-MM-DD), or null for unbounded."}}},"x-omitempty":true}}}}},"description":"Updates an existing VirtualTagConfig."},"AsyncVirtualTagConfigUpdate":{"required":["request_id","status_url"],"type":"object","properties":{"request_id":{"type":"string","description":"The request ID of the async virtual tag config update.","nullable":false,"example":"550e8400-e29b-41d4-a716-446655440000"},"status_url":{"type":"string","description":"The status path of the async virtual tag config update.","nullable":false,"example":"/v2/virtual_tag_configs/async/550e8400-e29b-41d4-a716-446655440000"}},"description":"AsyncVirtualTagConfigUpdate model"},"updateAsyncVirtualTagConfig":{"type":"object","properties":{"key":{"type":"string","description":"The key of the VirtualTagConfig."},"overridable":{"type":"boolean","description":"Whether the VirtualTagConfig can override a provider-supplied tag on a matching Cost.","nullable":true},"backfill_until":{"type":"string","description":"The earliest month the VirtualTagConfig should be backfilled to.","format":"date","nullable":true},"collapsed_tag_keys":{"type":"array","description":"Tag keys to collapse values for.","items":{"required":["key"],"type":"object","properties":{"key":{"type":"string","description":"The tag key to collapse values for."},"providers":{"type":"array","description":"The providers this collapsed tag key applies to. Defaults to all providers.","items":{"type":"string"}},"filter":{"type":"string","description":"The VQL filter this collapsed tag key applies to."}}}},"values":{"type":"array","description":"Values for the VirtualTagConfig, with match precedence determined by order in the list.","items":{"required":["filter"],"type":"object","properties":{"filter":{"type":"string","description":"The filter query language to apply to the value. Additional documentation available at https://docs.vantage.sh/vql."},"name":{"type":"string","description":"The name of the value."},"business_metric_token":{"type":"string","description":"The token of an associated business metric."},"display_name":{"type":"string","description":"The display name for an allocation value (cost_metric or percentages). Invalid when name is set."},"label_transforms":{"type":"array","items":{"required":["type"],"type":"object","properties":{"type":{"type":"string"},"delimiter":{"type":"string"},"index":{"type":"integer","format":"int32"},"template":{"type":"string"}}},"x-omitempty":true},"cost_metric":{"required":["aggregation","filter"],"type":"object","properties":{"filter":{"type":"string"},"aggregation":{"required":["tag"],"type":"object","properties":{"tag":{"type":"string"}}}}},"percentages":{"type":"array","items":{"required":["pct","value"],"type":"object","properties":{"value":{"type":"string"},"pct":{"type":"number","format":"float"}}},"x-omitempty":true},"date_ranges":{"type":"array","description":"Date ranges restricting when this value applies. Each range has optional start_date and end_date (inclusive, YYYY-MM-DD).","items":{"type":"object","properties":{"start_date":{"type":"string","description":"Inclusive start date (YYYY-MM-DD), or null for unbounded."},"end_date":{"type":"string","description":"Inclusive end date (YYYY-MM-DD), or null for unbounded."}}},"x-omitempty":true}}}}},"description":"Asynchronously updates an existing VirtualTagConfig."},"Workspaces":{"required":["workspaces"],"type":"object","properties":{"links":{"$ref":"#/components/schemas/Links"},"workspaces":{"type":"array","items":{"$ref":"#/components/schemas/Workspace"}}},"description":"Workspaces model"},"createWorkspace":{"required":["name"],"type":"object","properties":{"name":{"type":"string","description":"Name of the workspace."},"enable_currency_conversion":{"type":"boolean","description":"Enable currency conversion for the workspace.","default":true},"currency":{"type":"string","description":"Currency code for the workspace."},"exchange_rate_date":{"type":"string","description":"The date to use for currency conversion.","default":"daily_rate","enum":["daily_rate","end_of_billing_period_rate"]}},"description":"Create a workspace"},"updateWorkspace":{"type":"object","properties":{"name":{"type":"string","description":"Name of the workspace."},"enable_currency_conversion":{"type":"boolean","description":"Enable currency conversion for the workspace.","default":true},"currency":{"type":"string","description":"Currency code for the workspace.","enum":["AED","AFN","ALL","AMD","ANG","AOA","ARS","AUD","AWG","AZN","BAM","BBD","BDT","BGN","BHD","BIF","BMD","BND","BOB","BRL","BSD","BTC","BTN","BWP","BYN","BYR","BZD","CAD","CDF","CHF","CLF","CLP","CNY","COP","CRC","CUC","CUP","CVE","CZK","DJF","DKK","DOP","DZD","EGP","ERN","ETB","EUR","FJD","FKP","GBP","GEL","GGP","GHS","GIP","GMD","GNF","GTQ","GYD","HKD","HNL","HRK","HTG","HUF","IDR","ILS","IMP","INR","IQD","IRR","ISK","JEP","JMD","JOD","JPY","KES","KGS","KHR","KMF","KPW","KRW","KWD","KYD","KZT","LAK","LBP","LKR","LRD","LSL","LTL","LVL","LYD","MAD","MDL","MGA","MKD","MMK","MNT","MOP","MRO","MUR","MVR","MWK","MXN","MYR","MZN","NAD","NGN","NIO","NOK","NPR","NZD","OMR","PAB","PEN","PGK","PHP","PKR","PLN","PYG","QAR","RON","RSD","RUB","RWF","SAR","SBD","SCR","SDG","SEK","SGD","SHP","SLL","SOS","SRD","SSP","STD","STN","SVC","SYP","SZL","THB","TJS","TMT","TND","TOP","TRY","TTD","TWD","TZS","UAH","UGX","USD","UYU","UZS","VEF","VND","VUV","WST","XAF","XCD","XDR","XOF","XPF","YER","ZAR","ZMW","ZWL"]},"exchange_rate_date":{"type":"string","description":"The date to use for currency conversion.","default":"daily_rate","enum":["daily_rate","end_of_billing_period_rate"]}},"description":"Update a workspace"}},"securitySchemes":{"oauth2":{"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://console.vantage.sh/account/profile","scopes":{"read":"Grants read access","write":"Grants write access"}}}}}},"x-original-swagger-version":"2.0"}