{"info":{"title":"Vantage","description":"Vantage API","termsOfService":"https://www.vantage.sh/terms-of-use","contact":{"name":"Vantage Support","email":"support@vantage.sh","url":"https://www.vantage.sh"},"version":"2.0.0"},"swagger":"2.0","produces":["application/json"],"securityDefinitions":{"oauth2":{"type":"oauth2","flow":"application","scopes":{"read":"Grants read access","write":"Grants write access"},"tokenUrl":"https://console.vantage.sh/account/profile"}},"security":[{"oauth2":["read"]}],"host":"api.vantage.sh","basePath":"/v2","schemes":["https"],"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":{"summary":"Get all access grants","description":"Return all Access Grants that the current API token has access to.","produces":["application/json"],"parameters":[{"in":"query","name":"page","description":"The page of results to return.","type":"integer","format":"int32","required":false},{"in":"query","name":"limit","description":"The amount of results to return. The maximum is 1000.","type":"integer","format":"int32","required":false}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/AccessGrants"},"examples":{"application/json":{"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"}]}}}},"tags":["AccessGrants"],"operationId":"getAccessGrants"},"post":{"summary":"Create access grant","description":"Create an Access Grant.","produces":["application/json"],"consumes":["application/json"],"parameters":[{"name":"createAccessGrant","in":"body","required":true,"schema":{"$ref":"#/definitions/createAccessGrant"}}],"security":[{"oauth2":["write"]}],"responses":{"201":{"description":"","schema":{"$ref":"#/definitions/AccessGrant"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}},"422":{"description":"UnprocessableEntity","schema":{"$ref":"#/definitions/Errors"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/Errors"}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}},"406":{"description":"NotAcceptable","schema":{"$ref":"#/definitions/Errors"}}},"tags":["AccessGrants"],"operationId":"createAccessGrant"}},"/access_grants/{access_grant_token}":{"get":{"summary":"Get access grant by token","description":"Return a specific Access Grant.","produces":["application/json"],"parameters":[{"in":"path","name":"access_grant_token","type":"string","required":true}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/AccessGrant"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}}},"tags":["AccessGrants"],"operationId":"getAccessGrant"},"put":{"summary":"Update access grant","description":"Update an AccessGrant.","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","name":"access_grant_token","type":"string","required":true},{"name":"updateAccessGrant","in":"body","required":true,"schema":{"$ref":"#/definitions/updateAccessGrant"}}],"security":[{"oauth2":["write"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/AccessGrant"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}}},"tags":["AccessGrants"],"operationId":"updateAccessGrant"},"delete":{"summary":"Delete access grant","description":"Delete an Access Grant.","produces":["application/json"],"parameters":[{"in":"path","name":"access_grant_token","type":"string","required":true}],"security":[{"oauth2":["write"]}],"responses":{"204":{"description":"","schema":{"$ref":"#/definitions/AccessGrant"}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}}},"tags":["AccessGrants"],"operationId":"deleteAccessGrant"}},"/anomaly_alerts":{"get":{"summary":"Get all anomaly alerts","description":"Return all Anomaly Alerts that the current API token has access to.","produces":["application/json"],"parameters":[{"in":"query","name":"page","description":"The page of results to return.","type":"integer","format":"int32","required":false},{"in":"query","name":"limit","description":"The amount of results to return. The maximum is 1000.","type":"integer","format":"int32","required":false},{"in":"query","name":"start_date","description":"The start date of the anomalies to return. ISO 8601 formatted.","type":"string","format":"date-time","required":false},{"in":"query","name":"end_date","description":"The end date of the anomalies to return. ISO 8601 formatted.","type":"string","format":"date-time","required":false},{"in":"query","name":"provider","description":"The provider of the anomalies to return.","type":"string","required":false},{"in":"query","name":"service","description":"The service of the anomalies to return.","type":"string","required":false},{"in":"query","name":"cost_category","description":"The cost category of the anomalies to return.","type":"string","required":false},{"in":"query","name":"cost_report_token","description":"The cost report token of the anomalies to return.","type":"string","required":false}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/AnomalyAlerts"},"examples":{"application/json":{"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"}]}}}},"tags":["AnomalyAlerts"],"operationId":"getAnomalyAlerts"}},"/anomaly_alerts/{anomaly_alert_token}":{"get":{"summary":"Get anomaly alert by token","description":"Return an AnomalyAlert that the current API token has access to.","produces":["application/json"],"parameters":[{"in":"path","name":"anomaly_alert_token","type":"string","required":true}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/AnomalyAlert"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}}},"tags":["AnomalyAlerts"],"operationId":"getAnomalyAlert"},"put":{"summary":"Update anomaly alert","description":"Update an AnomalyAlert.","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","name":"anomaly_alert_token","type":"string","required":true},{"name":"updateAnomalyAlert","in":"body","required":true,"schema":{"$ref":"#/definitions/updateAnomalyAlert"}}],"security":[{"oauth2":["write"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/AnomalyAlert"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}},"400":{"description":"BadRequest","schema":{"$ref":"#/definitions/Errors"}},"422":{"description":"UnprocessableEntity","schema":{"$ref":"#/definitions/Errors"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/Errors"}}},"tags":["AnomalyAlerts"],"operationId":"updateAnomalyAlert"}},"/anomaly_notifications":{"get":{"summary":"Get all anomaly notifications","description":"Return all Anomaly Notifications.","produces":["application/json"],"parameters":[{"in":"query","name":"page","description":"The page of results to return.","type":"integer","format":"int32","required":false},{"in":"query","name":"limit","description":"The amount of results to return. The maximum is 1000.","type":"integer","format":"int32","required":false}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/AnomalyNotifications"},"examples":{"application/json":{"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":[]}]}}}},"tags":["AnomalyNotifications"],"operationId":"getAnomalyNotifications"},"post":{"summary":"Create anomaly notification","description":"Create an Anomaly Notification for a Cost Report.","produces":["application/json"],"consumes":["application/json"],"parameters":[{"name":"createAnomalyNotification","in":"body","required":true,"schema":{"$ref":"#/definitions/createAnomalyNotification"}}],"security":[{"oauth2":["write"]}],"responses":{"201":{"description":"","schema":{"$ref":"#/definitions/AnomalyNotification"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}}},"tags":["AnomalyNotifications"],"operationId":"createAnomalyNotification"}},"/anomaly_notifications/{anomaly_notification_token}":{"get":{"summary":"Get anomaly notification by token","description":"Return an Anomaly Notification that the current API token has access to.","produces":["application/json"],"parameters":[{"in":"path","name":"anomaly_notification_token","type":"string","required":true}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/AnomalyNotification"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}}},"tags":["AnomalyNotifications"],"operationId":"getAnomalyNotification"},"put":{"summary":"Update anomaly notification","description":"Update an Anomaly Notification.","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","name":"anomaly_notification_token","type":"string","required":true},{"name":"updateAnomalyNotification","in":"body","required":true,"schema":{"$ref":"#/definitions/updateAnomalyNotification"}}],"security":[{"oauth2":["write"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/AnomalyNotification"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}}},"tags":["AnomalyNotifications"],"operationId":"updateAnomalyNotification"},"delete":{"summary":"Delete anomaly notification","description":"Delete an Anomaly Notification.","produces":["application/json"],"parameters":[{"in":"path","name":"anomaly_notification_token","type":"string","required":true}],"security":[{"oauth2":["write"]}],"responses":{"204":{"description":"","schema":{"$ref":"#/definitions/AnomalyNotification"}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}}},"tags":["AnomalyNotifications"],"operationId":"deleteAnomalyNotification"}},"/audit_logs":{"get":{"summary":"Get all audit logs","description":"Return all AuditLogs.","produces":["application/json"],"parameters":[{"in":"query","name":"page","description":"The page of results to return.","type":"integer","format":"int32","required":false},{"in":"query","name":"limit","description":"The amount of results to return. The maximum is 1000.","type":"integer","format":"int32","required":false},{"in":"query","name":"user","description":"Filter by personal or service API token that performed the action.","type":"integer","format":"int32","required":false},{"in":"query","name":"workspace_token","description":"Filter by workspace token.","type":"string","required":false},{"in":"query","name":"action","description":"Filter by action type.","type":"string","enum":["create","update","delete"],"required":false},{"in":"query","name":"object_name","description":"Filter by object name.","type":"string","required":false},{"in":"query","name":"source","description":"Filter by source.","type":"string","enum":["console","api","finops_agent"],"required":false},{"in":"query","name":"object_type","description":"Filter by object type.","type":"string","enum":["virtual_tag","cost_report","recommendation_commitment","segment"],"required":false},{"in":"query","name":"token","description":"Filter by audit log token.","type":"string","required":false},{"in":"query","name":"object_token","description":"Filter by object token (auditable_token).","type":"string","required":false},{"in":"query","name":"start_date","description":"Filter by start date (ISO 8601 format, e.g., 2024-06-01).","type":"string","format":"date","required":false},{"in":"query","name":"end_date","description":"Filter by end date (ISO 8601 format, e.g., 2024-06-01).","type":"string","format":"date","required":false}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/AuditLogs"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}}},"tags":["AuditLogs"],"operationId":"getAuditLogs"}},"/audit_logs/{audit_log_token}":{"get":{"summary":"Get audit log by token","description":"Return a specific AuditLog.","produces":["application/json"],"parameters":[{"in":"path","name":"audit_log_token","type":"string","required":true}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/AuditLog"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}}},"tags":["AuditLogs"],"operationId":"getAuditLog"}},"/billing_profiles":{"get":{"summary":"Get all billing profiles","description":"Returns a list of billing profiles (MSP invoicing required).","produces":["application/json"],"parameters":[{"in":"query","name":"page","description":"The page of results to return.","type":"integer","format":"int32","required":false},{"in":"query","name":"limit","description":"The amount of results to return. The maximum is 1000.","type":"integer","format":"int32","required":false}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/BillingProfiles"}}},"tags":["BillingProfiles"],"operationId":"getBillingProfiles"},"post":{"summary":"Create billing profile","description":"Create a billing profile (MSP invoicing required).","produces":["application/json"],"consumes":["application/json"],"parameters":[{"name":"createBillingProfile","in":"body","required":true,"schema":{"$ref":"#/definitions/createBillingProfile"}}],"security":[{"oauth2":["write"]}],"responses":{"201":{"description":"","schema":{"$ref":"#/definitions/BillingProfile"}},"400":{"description":"BadRequest","schema":{"$ref":"#/definitions/Errors"}}},"tags":["BillingProfiles"],"operationId":"createBillingProfile"}},"/billing_profiles/{billing_profile_token}":{"get":{"summary":"Get billing profile by token","description":"Requires MSP invoicing to be enabled on the account.","produces":["application/json"],"parameters":[{"in":"path","name":"billing_profile_token","type":"string","required":true}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/BillingProfile"}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}}},"tags":["BillingProfiles"],"operationId":"getBillingProfile"},"put":{"summary":"Update billing profile","description":"Requires MSP invoicing to be enabled on the account.","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","name":"billing_profile_token","type":"string","required":true},{"name":"updateBillingProfile","in":"body","required":true,"schema":{"$ref":"#/definitions/updateBillingProfile"}}],"security":[{"oauth2":["write"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/BillingProfile"}},"400":{"description":"BadRequest","schema":{"$ref":"#/definitions/Errors"}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}}},"tags":["BillingProfiles"],"operationId":"updateBillingProfile"},"delete":{"summary":"Delete billing profile","description":"Requires MSP invoicing to be enabled on the account.","produces":["application/json"],"parameters":[{"in":"path","name":"billing_profile_token","type":"string","required":true}],"security":[{"oauth2":["write"]}],"responses":{"204":{"description":"Billing Profile deleted successfully.","schema":{"$ref":"#/definitions/BillingProfile"}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}}},"tags":["BillingProfiles"],"operationId":"deleteBillingProfile"}},"/billing_rules":{"get":{"summary":"Get all billing rules","description":"Returns a list of billing rules.","produces":["application/json"],"parameters":[{"in":"query","name":"page","description":"The page of results to return.","type":"integer","format":"int32","required":false},{"in":"query","name":"limit","description":"The amount of results to return. The maximum is 1000.","type":"integer","format":"int32","required":false}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/BillingRules"},"examples":{"application/json":{"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"}]}}}},"tags":["BillingRules"],"operationId":"getBillingRules"},"post":{"summary":"Create billing rule","description":"Create a BillingRule.","produces":["application/json"],"consumes":["application/json"],"parameters":[{"name":"createBillingRule","in":"body","required":true,"schema":{"$ref":"#/definitions/createBillingRule"}}],"security":[{"oauth2":["write"]}],"responses":{"201":{"description":"","schema":{"$ref":"#/definitions/BillingRule"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}}},"tags":["BillingRules"],"operationId":"createBillingRule"}},"/billing_rules/{billing_rule_token}":{"get":{"summary":"Get billing rule by token","description":"Return a BillingRule.","produces":["application/json"],"parameters":[{"in":"path","name":"billing_rule_token","type":"string","required":true}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/BillingRule"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}}},"tags":["BillingRules"],"operationId":"getBillingRule"},"put":{"summary":"Update billing rule","description":"Update a BillingRule.","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","name":"billing_rule_token","type":"string","required":true},{"name":"updateBillingRule","in":"body","required":true,"schema":{"$ref":"#/definitions/updateBillingRule"}}],"security":[{"oauth2":["write"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/BillingRule"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}}},"tags":["BillingRules"],"operationId":"updateBillingRule"},"delete":{"summary":"Delete billing rule","description":"Delete a BillingRule.","produces":["application/json"],"parameters":[{"in":"path","name":"billing_rule_token","type":"string","required":true}],"security":[{"oauth2":["write"]}],"responses":{"204":{"description":"","schema":{"$ref":"#/definitions/BillingRule"}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}}},"tags":["BillingRules"],"operationId":"deleteBillingRule"}},"/budget_alerts":{"get":{"summary":"Get all budget alerts","description":"Return all BudgetAlerts.","produces":["application/json"],"parameters":[{"in":"query","name":"page","description":"The page of results to return.","type":"integer","format":"int32","required":false},{"in":"query","name":"limit","description":"The number of results to return. The maximum is 1000.","type":"integer","format":"int32","required":false}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/BudgetAlerts"},"examples":{}}},"tags":["BudgetAlerts"],"operationId":"getBudgetAlerts"},"post":{"summary":"Create budget alert","description":"Create a Budget Alert.","produces":["application/json"],"consumes":["application/json"],"parameters":[{"name":"createBudgetAlert","in":"body","required":true,"schema":{"$ref":"#/definitions/createBudgetAlert"}}],"security":[{"oauth2":["write"]}],"responses":{"201":{"description":"","schema":{"$ref":"#/definitions/BudgetAlert"},"examples":{}},"400":{"description":"BadRequest","schema":{"$ref":"#/definitions/Errors"}}},"tags":["BudgetAlerts"],"operationId":"createBudgetAlert"}},"/budget_alerts/{budget_alert_token}":{"get":{"summary":"Get budget alert by token","description":"Return a BudgetAlert.","produces":["application/json"],"parameters":[{"in":"path","name":"budget_alert_token","type":"string","required":true}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/BudgetAlert"},"examples":{}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}}},"tags":["BudgetAlerts"],"operationId":"getBudgetAlert"},"put":{"summary":"Update budget alert","description":"Updates an existing BudgetAlert.","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","name":"budget_alert_token","type":"string","required":true},{"name":"updateBudgetAlert","in":"body","required":true,"schema":{"$ref":"#/definitions/updateBudgetAlert"}}],"security":[{"oauth2":["write"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/BudgetAlert"},"examples":{}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}}},"tags":["BudgetAlerts"],"operationId":"updateBudgetAlert"},"delete":{"summary":"Delete budget alert","description":"Delete a BudgetAlert.","produces":["application/json"],"parameters":[{"in":"path","name":"budget_alert_token","type":"string","required":true}],"security":[{"oauth2":["write"]}],"responses":{"204":{"description":"","schema":{"$ref":"#/definitions/BudgetAlert"}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}}},"tags":["BudgetAlerts"],"operationId":"deleteBudgetAlert"}},"/budgets":{"get":{"summary":"Get all budgets","description":"Return all Budgets.","produces":["application/json"],"parameters":[{"in":"query","name":"page","description":"The page of results to return.","type":"integer","format":"int32","required":false},{"in":"query","name":"limit","description":"The number of results to return. The maximum is 1000.","type":"integer","format":"int32","required":false}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/Budgets"},"examples":{"application/json":{"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"}]}]}}}},"tags":["Budgets"],"operationId":"getBudgets"},"post":{"summary":"Create budget","description":"Create a Budget.","produces":["application/json"],"consumes":["application/json"],"parameters":[{"name":"createBudget","in":"body","required":true,"schema":{"$ref":"#/definitions/createBudget"}}],"security":[{"oauth2":["write"]}],"responses":{"201":{"description":"","schema":{"$ref":"#/definitions/Budget"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}},"422":{"description":"UnprocessableEntity","schema":{"$ref":"#/definitions/Errors"}}},"tags":["Budgets"],"operationId":"createBudget"}},"/budgets/{budget_token}":{"get":{"summary":"Get budget by token","description":"Return a Budget.","produces":["application/json"],"parameters":[{"in":"query","name":"include_performance","description":"Include performance data.","type":"boolean","required":false},{"in":"path","name":"budget_token","type":"string","required":true}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/Budget"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}}},"tags":["Budgets"],"operationId":"getBudget"},"put":{"summary":"Update budget","description":"Update a Budget.","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","name":"budget_token","type":"string","required":true},{"name":"updateBudget","in":"body","required":true,"schema":{"$ref":"#/definitions/updateBudget"}}],"security":[{"oauth2":["write"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/Budget"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}}},"tags":["Budgets"],"operationId":"updateBudget"},"delete":{"summary":"Delete budget","description":"Delete a Budget.","produces":["application/json"],"parameters":[{"in":"path","name":"budget_token","type":"string","required":true}],"security":[{"oauth2":["write"]}],"responses":{"204":{"description":"","schema":{"$ref":"#/definitions/Budget"}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}}},"tags":["Budgets"],"operationId":"deleteBudget"}},"/business_metrics":{"get":{"summary":"Get all business metrics","description":"Return all BusinessMetrics that the current API token has access to.","produces":["application/json"],"parameters":[{"in":"query","name":"page","description":"The page of results to return.","type":"integer","format":"int32","required":false},{"in":"query","name":"limit","description":"The amount of results to return. The maximum is 1000.","type":"integer","format":"int32","required":false}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/BusinessMetrics"},"examples":{"application/json":{"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)"}}]}}}},"tags":["BusinessMetrics"],"operationId":"getBusinessMetrics"},"post":{"summary":"Create business metric","description":"Create a new BusinessMetric.","produces":["application/json"],"consumes":["application/json"],"parameters":[{"name":"createBusinessMetric","in":"body","required":true,"schema":{"$ref":"#/definitions/createBusinessMetric"}}],"security":[{"oauth2":["write"]}],"responses":{"201":{"description":"","schema":{"$ref":"#/definitions/BusinessMetric"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}},"400":{"description":"BadRequest","schema":{"$ref":"#/definitions/Errors"}},"422":{"description":"UnprocessableEntity","schema":{"$ref":"#/definitions/Errors"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/Errors"}}},"tags":["BusinessMetrics"],"operationId":"createBusinessMetric"}},"/business_metrics/{business_metric_token}":{"get":{"summary":"Get business metric by token","description":"Return a BusinessMetric.","produces":["application/json"],"parameters":[{"in":"path","name":"business_metric_token","type":"string","required":true}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/BusinessMetric"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}}},"tags":["BusinessMetrics"],"operationId":"getBusinessMetric"},"put":{"summary":"Update business metric","description":"Updates an existing BusinessMetric.","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","name":"business_metric_token","type":"string","required":true},{"name":"updateBusinessMetric","in":"body","required":true,"schema":{"$ref":"#/definitions/updateBusinessMetric"}}],"security":[{"oauth2":["write"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/BusinessMetric"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}},"400":{"description":"BadRequest","schema":{"$ref":"#/definitions/Errors"}},"422":{"description":"UnprocessableEntity","schema":{"$ref":"#/definitions/Errors"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/Errors"}}},"tags":["BusinessMetrics"],"operationId":"updateBusinessMetric"},"delete":{"summary":"Delete business metric","description":"Deletes an existing BusinessMetric.","produces":["application/json"],"parameters":[{"in":"path","name":"business_metric_token","type":"string","required":true}],"security":[{"oauth2":["write"]}],"responses":{"204":{"description":"","schema":{"$ref":"#/definitions/BusinessMetric"}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/Errors"}}},"tags":["BusinessMetrics"],"operationId":"deleteBusinessMetric"}},"/business_metrics/{business_metric_token}/values":{"get":{"summary":"Get business metric values","description":"Return values of a BusinessMetric","produces":["application/json"],"parameters":[{"in":"query","name":"page","description":"The page of results to return.","type":"integer","format":"int32","required":false},{"in":"query","name":"limit","description":"The amount of results to return. The maximum is 1000.","type":"integer","format":"int32","required":false},{"in":"query","name":"start_date","description":"Query BusinessMetrics by the first date you would like to filter from. ISO 8601 Formatted - 2021-07-15","type":"string","format":"date","required":false},{"in":"path","name":"business_metric_token","type":"string","required":true}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/BusinessMetricValues"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}}},"tags":["BusinessMetrics"],"operationId":"getBusinessMetricValues"}},"/business_metrics/{business_metric_token}/forecasted_values":{"get":{"summary":"Get business metric forecasted values","description":"Return forecasted values of a BusinessMetric","produces":["application/json"],"parameters":[{"in":"query","name":"page","description":"The page of results to return.","type":"integer","format":"int32","required":false},{"in":"query","name":"limit","description":"The amount of results to return. The maximum is 1000.","type":"integer","format":"int32","required":false},{"in":"query","name":"start_date","description":"Query BusinessMetrics by the first date you would like to filter from. ISO 8601 Formatted - 2021-07-15","type":"string","format":"date","required":false},{"in":"path","name":"business_metric_token","type":"string","required":true}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/BusinessMetricValues"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}}},"tags":["BusinessMetrics"],"operationId":"getBusinessMetricForecastedValues"}},"/business_metrics/{business_metric_token}/values.csv":{"put":{"summary":"Update business metric values from CSV","description":"Updates the values for an existing BusinessMetric from a CSV file.","produces":["application/json"],"consumes":["application/x-www-form-urlencoded","multipart/form-data"],"parameters":[{"in":"formData","name":"csv","description":"CSV file containing BusinessMetric dates and amounts","type":"file","required":true},{"in":"formData","name":"forecasted","description":"When true, imports values as forecasted metrics instead of historical metrics.","type":"boolean","default":false,"required":false},{"in":"path","name":"business_metric_token","type":"string","required":true}],"security":[{"oauth2":["write"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/BusinessMetric"},"examples":{"application/json":{"token":"bsnss_mtrc_6bb1021d8651923a","title":"Overhold","created_by_token":"usr_ad24de73bffb7791","cost_report_tokens_with_metadata":[],"import_type":"csv","integration_token":""}}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}},"400":{"description":"BadRequest","schema":{"$ref":"#/definitions/Errors"}},"422":{"description":"UnprocessableEntity","schema":{"$ref":"#/definitions/Errors"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/Errors"}}},"tags":["BusinessMetrics"],"operationId":"updateBusinessMetricValuesCSV"}},"/cost_alerts/{cost_alert_token}/events":{"get":{"summary":"Get all cost alert events","description":"Get all CostAlertEvents","produces":["application/json"],"parameters":[{"in":"path","name":"cost_alert_token","description":"The token of the CostAlertEvent.","type":"string","required":true},{"in":"query","name":"report_token","description":"The token of the report associated with the CostAlertEvent.","type":"string","required":false},{"in":"query","name":"page","description":"The page of results to return.","type":"integer","format":"int32","required":false},{"in":"query","name":"limit","description":"The number of results to return. The maximum is 1000.","type":"integer","format":"int32","required":false}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/CostAlertEvents"},"examples":{"application/json":{"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"}]}}}},"tags":["CostAlertEvents"],"operationId":"getCostAlertEvents"}},"/cost_alerts/{cost_alert_token}/events/{event_token}":{"get":{"summary":"Get cost alert event by token","description":"Get a CostAlertEvent","produces":["application/json"],"parameters":[{"in":"path","name":"cost_alert_token","type":"string","required":true},{"in":"path","name":"event_token","type":"string","required":true}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/CostAlertEvent"},"examples":{"application/json":{"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"}}}},"tags":["CostAlertEvents"],"operationId":"getCostAlertEvent"}},"/cost_alerts":{"get":{"summary":"Get all cost alerts","description":"List all Cost Alerts","produces":["application/json"],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"List all Cost Alerts","schema":{"$ref":"#/definitions/CostAlerts"},"examples":{"application/json":{"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"]}]}}}},"tags":["CostAlerts"],"operationId":"getCostAlerts"},"post":{"summary":"Create cost alert","description":"Create a new Cost Alert","produces":["application/json"],"consumes":["application/json"],"parameters":[{"name":"createCostAlert","in":"body","required":true,"schema":{"$ref":"#/definitions/createCostAlert"}}],"security":[{"oauth2":["write"]}],"responses":{"201":{"description":"Cost Alert created successfully.","schema":{"$ref":"#/definitions/CostAlert"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}}},"tags":["CostAlerts"],"operationId":"createCostAlert"}},"/cost_alerts/{cost_alert_token}":{"get":{"summary":"Get cost alert by token","description":"Get a Cost Alert","produces":["application/json"],"parameters":[{"in":"path","name":"cost_alert_token","description":"The token of the Cost Alert.","type":"string","required":true}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"Get a Cost Alert","schema":{"$ref":"#/definitions/CostAlert"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}}},"tags":["CostAlerts"],"operationId":"getCostAlert"},"put":{"summary":"Update cost alert","description":"Update a Cost Alert","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","name":"cost_alert_token","description":"The token of the Cost Alert.","type":"string","required":true},{"name":"updateCostAlert","in":"body","required":true,"schema":{"$ref":"#/definitions/updateCostAlert"}}],"security":[{"oauth2":["write"]}],"responses":{"200":{"description":"Cost Alert updated successfully.","schema":{"$ref":"#/definitions/CostAlert"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}}},"tags":["CostAlerts"],"operationId":"updateCostAlert"},"delete":{"summary":"Delete cost alert","description":"Delete a Cost Alert","produces":["application/json"],"parameters":[{"in":"path","name":"cost_alert_token","description":"The token of the Cost Alert.","type":"string","required":true}],"security":[{"oauth2":["write"]}],"responses":{"204":{"description":"Cost Alert deleted successfully.","schema":{"$ref":"#/definitions/CostAlert"}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}}},"tags":["CostAlerts"],"operationId":"deleteCostAlert"}},"/cost_provider_accounts":{"get":{"summary":"Get all cost provider accounts","description":"List CostProviderAccounts available in a given Workspace.","produces":["application/json"],"parameters":[{"in":"query","name":"workspace_token","description":"The token of the Workspace to list CostProviderAccounts for. Required if the API token is associated with multiple Workspaces.","type":"string","required":false},{"in":"query","name":"provider","description":"Filter by provider type.","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"],"required":false},{"in":"query","name":"account_id","description":"Filter by provider account identifier.","type":"string","required":false},{"in":"query","name":"account_name","description":"Filter by account name (exact match).","type":"string","required":false}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"List of provider accounts.","schema":{"$ref":"#/definitions/CostProviderAccounts"},"examples":{"application/json":{"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"}]}}}},"tags":["CostProviderAccounts"],"operationId":"getCostProviderAccounts"}},"/cost_reports":{"get":{"summary":"Get all cost reports","description":"Return all CostReports.","produces":["application/json"],"parameters":[{"in":"query","name":"page","description":"The page of results to return.","type":"integer","format":"int32","required":false},{"in":"query","name":"limit","description":"The amount of results to return. The maximum is 1000.","type":"integer","format":"int32","required":false},{"in":"query","name":"folder_token","description":"The token for the Folder you would like to fetch Reports from.","type":"string","required":false}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/CostReports"},"examples":{"application/json":{"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"]}}]}}}},"tags":["Costs"],"operationId":"getCostReports"},"post":{"summary":"Create cost report","description":"Create a CostReport.","produces":["application/json"],"consumes":["application/json"],"parameters":[{"name":"createCostReport","in":"body","required":true,"schema":{"$ref":"#/definitions/createCostReport"}}],"security":[{"oauth2":["write"]}],"responses":{"201":{"description":"","schema":{"$ref":"#/definitions/CostReport"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}},"422":{"description":"UnprocessableEntity","schema":{"$ref":"#/definitions/Errors"}}},"tags":["Costs"],"operationId":"createCostReport"}},"/cost_reports/{cost_report_token}":{"get":{"summary":"Get cost report by token","description":"Return a CostReport.","produces":["application/json"],"parameters":[{"in":"path","name":"cost_report_token","type":"string","required":true}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/CostReport"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}}},"tags":["Costs"],"operationId":"getCostReport"},"put":{"summary":"Update cost report","description":"Update a CostReport.","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","name":"cost_report_token","type":"string","required":true},{"name":"updateCostReport","in":"body","required":true,"schema":{"$ref":"#/definitions/updateCostReport"}}],"security":[{"oauth2":["write"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/CostReport"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}}},"tags":["Costs"],"operationId":"updateCostReport"},"delete":{"summary":"Delete cost report","description":"Delete a CostReport.","produces":["application/json"],"parameters":[{"in":"path","name":"cost_report_token","type":"string","required":true}],"security":[{"oauth2":["write"]}],"responses":{"204":{"description":"","schema":{"$ref":"#/definitions/CostReport"}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}}},"tags":["Costs"],"operationId":"deleteCostReport"}},"/cost_reports/{cost_report_token}/forecasted_costs":{"get":{"summary":"Get forecasted costs for a cost report","description":"Return all ForecastedCosts.","produces":["application/json"],"parameters":[{"in":"path","name":"cost_report_token","type":"string","required":true},{"in":"query","name":"start_date","description":"First date you would like to filter forecasted costs from. ISO 8601 formatted.","type":"string","format":"date","required":false},{"in":"query","name":"end_date","description":"Last date you would like to filter forecasted costs from. ISO 8601 formatted.","type":"string","format":"date","required":false},{"in":"query","name":"provider","description":"Limit the forecasted costs to a specific provider. 'all' is accepted to filter to overall forecast.","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"],"required":false},{"in":"query","name":"service","description":"Limit the forecasted costs to a specific service. 'all' is accepted to filter to overall forecast. e.g. 'Amazon ElastiCache'.","type":"string","required":false},{"in":"query","name":"page","description":"The page of results to return.","type":"integer","format":"int32","required":false},{"in":"query","name":"limit","description":"The amount of results to return. The maximum is 1000.","type":"integer","format":"int32","required":false}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/ForecastedCosts"},"examples":{"application/json":{"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"}}}},"tags":["Costs"],"operationId":"getForecastedCosts"}},"/costs/data_exports":{"post":{"summary":"Generate cost data export","description":"Generate a DataExport of costs.","produces":["application/json"],"consumes":["application/json"],"parameters":[{"name":"createCostExport","in":"body","required":true,"schema":{"$ref":"#/definitions/createCostExport"}}],"security":[{"oauth2":["read"]}],"responses":{"202":{"description":"The data export has been queued and will be available at the location specified in the Location header."},"400":{"description":"BadRequest","schema":{"$ref":"#/definitions/Errors"}},"402":{"description":"PaymentRequired","schema":{"$ref":"#/definitions/Errors"}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}}},"tags":["Costs"],"operationId":"createCostExport"}},"/costs":{"get":{"summary":"Get costs for cost report or VQL filter","description":"Return all Costs for a CostReport or VQL filter.","produces":["application/json"],"parameters":[{"in":"query","name":"cost_report_token","description":"The CostReport token.","type":"string","required":false},{"in":"query","name":"filter","description":"The VQL filter to apply to the costs. If this is supplied you do not need cost_report_token.","type":"string","required":false},{"in":"query","name":"workspace_token","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.","type":"string","required":false},{"in":"query","name":"start_date","description":"First date you would like to filter costs from. ISO 8601 formatted.","type":"string","required":false},{"in":"query","name":"end_date","description":"Last date you would like to filter costs to. ISO 8601 formatted.","type":"string","required":false},{"in":"query","name":"groupings","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","type":"array","items":{"type":"string"},"collectionFormat":"csv","required":false},{"in":"query","name":"order","description":"Whether to order costs by date in an ascending or descending manner.","type":"string","default":"desc","enum":["asc","desc"],"required":false},{"in":"query","name":"limit","description":"The amount of results to return. The maximum is 5000.","type":"integer","format":"int32","required":false},{"in":"query","name":"page","description":"The page of results to return.","type":"integer","format":"int32","required":false},{"in":"query","name":"date_bin","description":"The date bin of the costs. Defaults to the report's default or day.","type":"string","enum":["day","week","month","quarter","hour"],"required":false},{"in":"query","name":"settings[include_credits]","description":"Results will include credits.","type":"boolean","default":false,"required":false},{"in":"query","name":"settings[include_refunds]","description":"Results will include refunds.","type":"boolean","default":false,"required":false},{"in":"query","name":"settings[include_discounts]","description":"Results will include discounts.","type":"boolean","default":true,"required":false},{"in":"query","name":"settings[include_tax]","description":"Results will include tax.","type":"boolean","default":true,"required":false},{"in":"query","name":"settings[amortize]","description":"Results will amortize.","type":"boolean","default":true,"required":false},{"in":"query","name":"settings[unallocated]","description":"Results will show unallocated costs.","type":"boolean","default":false,"required":false},{"in":"query","name":"settings[aggregate_by]","description":"Results will aggregate by cost or usage.","type":"string","default":"cost","required":false},{"in":"query","name":"settings[show_previous_period]","description":"Results will show previous period costs or usage comparison.","type":"boolean","default":true,"required":false}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/Costs"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}},"402":{"description":"PaymentRequired","schema":{"$ref":"#/definitions/Errors"}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}}},"tags":["Costs"],"operationId":"getCosts"}},"/dashboards":{"get":{"summary":"Get all dashboards","description":"Return all Dashboards.","produces":["application/json"],"parameters":[{"in":"query","name":"page","description":"The page of results to return.","type":"integer","format":"int32","required":false},{"in":"query","name":"limit","description":"The amount of results to return. The maximum is 1000.","type":"integer","format":"int32","required":false}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/Dashboards"},"examples":{"application/json":{"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"}]}}}},"tags":["Dashboards","Costs"],"operationId":"getDashboards"},"post":{"summary":"Create dashboard","description":"Create a Dashboard.","produces":["application/json"],"consumes":["application/json"],"parameters":[{"name":"createDashboard","in":"body","required":true,"schema":{"$ref":"#/definitions/createDashboard"}}],"security":[{"oauth2":["write"]}],"responses":{"201":{"description":"","schema":{"$ref":"#/definitions/Dashboard"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}}},"tags":["Dashboards","Costs"],"operationId":"createDashboard"}},"/dashboards/{dashboard_token}":{"get":{"summary":"Get dashboard by token","description":"Return a specific Dashboard.","produces":["application/json"],"parameters":[{"in":"path","name":"dashboard_token","type":"string","required":true}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/Dashboard"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}}},"tags":["Dashboards","Costs"],"operationId":"getDashboard"},"put":{"summary":"Update dashboard","description":"Update a Dashboard.","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","name":"dashboard_token","type":"string","required":true},{"name":"updateDashboard","in":"body","required":true,"schema":{"$ref":"#/definitions/updateDashboard"}}],"security":[{"oauth2":["write"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/Dashboard"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}}},"tags":["Dashboards","Costs"],"operationId":"updateDashboard"},"delete":{"summary":"Delete dashboard","description":"Delete a Dashboard.","produces":["application/json"],"parameters":[{"in":"path","name":"dashboard_token","type":"string","required":true}],"security":[{"oauth2":["write"]}],"responses":{"204":{"description":"","schema":{"$ref":"#/definitions/Dashboard"}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}}},"tags":["Dashboards","Costs"],"operationId":"deleteDashboard"}},"/data_exports/{data_export_token}":{"get":{"summary":"Get status of data export","description":"Get the status of a data export.","produces":["application/json"],"parameters":[{"in":"path","name":"data_export_token","type":"string","required":true}],"security":[{"oauth2":["read"]}],"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.","schema":{"$ref":"#/definitions/DataExport"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}},"402":{"description":"PaymentRequired","schema":{"$ref":"#/definitions/Errors"}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}}},"tags":["DataExports"],"operationId":"getDataExport"}},"/exchange_rates":{"get":{"summary":"Get all exchange rates","description":"Return all Exchange Rates.","produces":["application/json"],"parameters":[{"in":"query","name":"page","description":"The page of results to return.","type":"integer","format":"int32","required":false},{"in":"query","name":"limit","description":"The number of results to return. The maximum is 1000.","type":"integer","format":"int32","required":false}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/ExchangeRates"},"examples":{"application/json":{"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}}}}},"tags":["ExchangeRates"],"operationId":"getExchangeRates"}},"/exchange_rates/csv":{"post":{"summary":"Upload exchange rates via CSV","description":"Upload Exchange Rates via CSV.","produces":["application/json"],"consumes":["application/x-www-form-urlencoded","multipart/form-data"],"parameters":[{"in":"formData","name":"csv","description":"CSV file containing exchange rates. Format: base_currency_code, currency_code, rate, date (YYYY-MM-DD)","type":"file","required":true}],"security":[{"oauth2":["write"]}],"responses":{"201":{"description":"CSV uploaded successfully"},"400":{"description":"BadRequest","schema":{"$ref":"#/definitions/Errors"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/Errors"}}},"tags":["ExchangeRates"],"operationId":"createExchangeRatesViaCsv"}},"/financial_commitment_reports":{"get":{"summary":"Get all financial commitment reports","description":"Return all FinancialCommitmentReports.","produces":["application/json"],"parameters":[{"in":"query","name":"page","description":"The page of results to return.","type":"integer","format":"int32","required":false},{"in":"query","name":"limit","description":"The amount of results to return. The maximum is 1000.","type":"integer","format":"int32","required":false}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/FinancialCommitmentReports"},"examples":{"application/json":{"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')"}]}}}},"tags":["FinancialCommitmentReports"],"operationId":"getFinancialCommitmentReports"},"post":{"summary":"Create financial commitment report","description":"Create a FinancialCommitmentReport.","produces":["application/json"],"consumes":["application/json"],"parameters":[{"name":"createFinancialCommitmentReport","in":"body","required":true,"schema":{"$ref":"#/definitions/createFinancialCommitmentReport"}}],"security":[{"oauth2":["write"]}],"responses":{"201":{"description":"","schema":{"$ref":"#/definitions/FinancialCommitmentReport"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}},"422":{"description":"UnprocessableEntity","schema":{"$ref":"#/definitions/Errors"}}},"tags":["FinancialCommitmentReports"],"operationId":"createFinancialCommitmentReport"}},"/financial_commitment_reports/{financial_commitment_report_token}":{"get":{"summary":"Get financial commitment report by token","description":"Return a FinancialCommitmentReport.","produces":["application/json"],"parameters":[{"in":"path","name":"financial_commitment_report_token","type":"string","required":true}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/FinancialCommitmentReport"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}}},"tags":["FinancialCommitmentReports"],"operationId":"getFinancialCommitmentReport"},"put":{"summary":"Update financial commitment report","description":"Update a FinancialCommitmentReport.","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","name":"financial_commitment_report_token","type":"string","required":true},{"name":"updateFinancialCommitmentReport","in":"body","required":true,"schema":{"$ref":"#/definitions/updateFinancialCommitmentReport"}}],"security":[{"oauth2":["write"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/FinancialCommitmentReport"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}},"422":{"description":"UnprocessableEntity","schema":{"$ref":"#/definitions/Errors"}}},"tags":["FinancialCommitmentReports"],"operationId":"updateFinancialCommitmentReport"},"delete":{"summary":"Delete financial commitment report","description":"Delete a FinancialCommitmentReport.","produces":["application/json"],"parameters":[{"in":"path","name":"financial_commitment_report_token","type":"string","required":true}],"security":[{"oauth2":["write"]}],"responses":{"204":{"description":"","schema":{"$ref":"#/definitions/FinancialCommitmentReport"}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}}},"tags":["FinancialCommitmentReports"],"operationId":"deleteFinancialCommitmentReport"}},"/financial_commitments":{"get":{"summary":"Get all financial commitments","description":"Return all FinancialCommitments.","produces":["application/json"],"parameters":[{"in":"query","name":"page","description":"The page of results to return.","type":"integer","format":"int32","required":false},{"in":"query","name":"limit","description":"The amount of results to return. The maximum is 1000.","type":"integer","format":"int32","required":false}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/FinancialCommitments"},"examples":{"application/json":{"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"}]}}}},"tags":["FinancialCommitments"],"operationId":"getFinancialCommitments"}},"/folders":{"get":{"summary":"Get all folders","description":"Return all Folders for CostReports.","produces":["application/json"],"parameters":[{"in":"query","name":"page","description":"The page of results to return.","type":"integer","format":"int32","required":false},{"in":"query","name":"limit","description":"The amount of results to return. The maximum is 1000.","type":"integer","format":"int32","required":false},{"in":"query","name":"type","description":"Filter by folder type.","type":"string","enum":["CostFolder","ProviderResourceFolder"],"required":false}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/Folders"},"examples":{"application/json":{"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"}]}}}},"tags":["Folders"],"operationId":"getFolders"},"post":{"summary":"Create folder","description":"Create a Folder for CostReports.","produces":["application/json"],"consumes":["application/json"],"parameters":[{"name":"createFolder","in":"body","required":true,"schema":{"$ref":"#/definitions/createFolder"}}],"security":[{"oauth2":["write"]}],"responses":{"201":{"description":"","schema":{"$ref":"#/definitions/Folder"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}}},"tags":["Folders"],"operationId":"createFolder"}},"/folders/{folder_token}":{"get":{"summary":"Get folder by token","description":"Return a specific Folder for CostReports.","produces":["application/json"],"parameters":[{"in":"path","name":"folder_token","type":"string","required":true}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/Folder"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}}},"tags":["Folders"],"operationId":"getFolder"},"put":{"summary":"Update folder","description":"Update a Folder for CostReports.","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","name":"folder_token","type":"string","required":true},{"name":"updateFolder","in":"body","required":true,"schema":{"$ref":"#/definitions/updateFolder"}}],"security":[{"oauth2":["write"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/Folder"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}}},"tags":["Folders"],"operationId":"updateFolder"},"delete":{"summary":"Delete folder","description":"Delete a Folder for CostReports.","produces":["application/json"],"parameters":[{"in":"path","name":"folder_token","type":"string","required":true}],"security":[{"oauth2":["write"]}],"responses":{"204":{"description":"","schema":{"$ref":"#/definitions/Folder"}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}}},"tags":["Folders"],"operationId":"deleteFolder"}},"/integrations":{"get":{"summary":"Get all integrations","description":"Return all Integrations.","produces":["application/json"],"parameters":[{"in":"query","name":"provider","description":"Query by provider name to list all Integrations for a specific provider.","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"],"required":false},{"in":"query","name":"account_identifier","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.","type":"string","required":false},{"in":"query","name":"page","description":"The page of results to return.","type":"integer","format":"int32","required":false},{"in":"query","name":"limit","description":"The number of results to return. The maximum is 1000.","type":"integer","format":"int32","required":false}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/Integrations"},"examples":{"application/json":{"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":[]}]}}}},"tags":["Integrations"],"operationId":"getIntegrations"}},"/integrations/{integration_token}":{"get":{"summary":"Get integration by token","description":"Return an Integration.","produces":["application/json"],"parameters":[{"in":"path","name":"integration_token","type":"string","required":true}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/Integration"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}}},"tags":["Integrations"],"operationId":"getIntegration"},"put":{"summary":"Update integration","description":"Update an Integration.","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","name":"integration_token","type":"string","required":true},{"name":"updateIntegration","in":"body","required":true,"schema":{"$ref":"#/definitions/updateIntegration"}}],"security":[{"oauth2":["write"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/Integration"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}}},"tags":["Integrations"],"operationId":"updateIntegration"},"delete":{"summary":"Delete integration","description":"Delete an Integration.","produces":["application/json"],"parameters":[{"in":"path","name":"integration_token","type":"string","required":true}],"security":[{"oauth2":["write"]}],"responses":{"204":{"description":"","schema":{"$ref":"#/definitions/Integration"}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}}},"tags":["Integrations"],"operationId":"deleteIntegration"}},"/integrations/custom_provider":{"post":{"summary":"Create custom provider integration","description":"Create a Custom Provider Integration","produces":["application/json"],"consumes":["application/json"],"parameters":[{"name":"createCustomProviderIntegration","in":"body","required":true,"schema":{"$ref":"#/definitions/createCustomProviderIntegration"}}],"security":[{"oauth2":["write"]}],"responses":{"201":{"description":"","schema":{"$ref":"#/definitions/Integration"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/Errors"}}},"tags":["Integrations"],"operationId":"createCustomProviderIntegration"}},"/integrations/{integration_token}/costs.csv":{"post":{"summary":"Upload custom provider costs","description":"Create UserCostsUpload via CSV for a Custom Provider Integration.","produces":["application/json"],"consumes":["application/x-www-form-urlencoded","multipart/form-data"],"parameters":[{"in":"formData","name":"csv","description":"CSV file containing custom costs","type":"file","required":true},{"in":"formData","name":"auto_transform","description":"Attempt to automatically transform the CSV file to match the FOCUS format.","type":"boolean","default":false,"required":false},{"in":"path","name":"integration_token","type":"string","required":true}],"security":[{"oauth2":["write"]}],"responses":{"201":{"description":"","schema":{"$ref":"#/definitions/UserCostsUpload"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}},"400":{"description":"BadRequest","schema":{"$ref":"#/definitions/Errors"}},"422":{"description":"UnprocessableEntity","schema":{"$ref":"#/definitions/Errors"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/Errors"}}},"tags":["Integrations"],"operationId":"createUserCostsUploadViaCsv"}},"/integrations/{integration_token}/costs/{user_costs_upload_token}":{"delete":{"summary":"Delete user costs upload","description":"Delete a UserCostsUpload.","produces":["application/json"],"parameters":[{"in":"path","name":"integration_token","type":"string","required":true},{"in":"path","name":"user_costs_upload_token","type":"integer","format":"int32","required":true}],"security":[{"oauth2":["write"]}],"responses":{"204":{"description":"","schema":{"$ref":"#/definitions/Cost"}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}}},"tags":["Integrations"],"operationId":"deleteUserCostsUpload"}},"/integrations/{integration_token}/costs":{"get":{"summary":"Get all user costs uploads","description":"List UserCostUploads.","produces":["application/json"],"parameters":[{"in":"path","name":"integration_token","type":"string","required":true}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/UserCostsUploads"},"examples":{"application/json":{"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"}]}}}},"tags":["Integrations"],"operationId":"getUserCostsUploads"}},"/integrations/gcp":{"post":{"summary":"Create GCP integration","description":"Create a GCP Integration","produces":["application/json"],"consumes":["application/json"],"parameters":[{"name":"createGCPIntegration","in":"body","required":true,"schema":{"$ref":"#/definitions/createGCPIntegration"}}],"security":[{"oauth2":["write"]}],"responses":{"201":{"description":"","schema":{"$ref":"#/definitions/Integration"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}}},"tags":["Integrations"],"operationId":"createGCPIntegration"}},"/integrations/azure":{"post":{"summary":"Create Azure integration","description":"Create an Azure Integration","produces":["application/json"],"consumes":["application/json"],"parameters":[{"name":"createAzureIntegration","in":"body","required":true,"schema":{"$ref":"#/definitions/createAzureIntegration"}}],"security":[{"oauth2":["write"]}],"responses":{"201":{"description":"","schema":{"$ref":"#/definitions/Integration"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}}},"tags":["Integrations"],"operationId":"createAzureIntegration"}},"/invoices":{"get":{"summary":"Get all invoices","description":"Returns a list of invoices (MSP invoicing required).","produces":["application/json"],"parameters":[{"in":"query","name":"page","description":"The page of results to return.","type":"integer","format":"int32","required":false},{"in":"query","name":"limit","description":"The amount of results to return. The maximum is 1000.","type":"integer","format":"int32","required":false},{"in":"query","name":"managed_account_token","description":"Filter invoices by managed account token (MSP accounts only)","type":"string","required":false}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/Invoices"}}},"tags":["Invoices"],"operationId":"getInvoices"},"post":{"summary":"Create invoice","description":"Create an invoice (MSP accounts only).","produces":["application/json"],"consumes":["application/json"],"parameters":[{"name":"createInvoice","in":"body","required":true,"schema":{"$ref":"#/definitions/createInvoice"}}],"security":[{"oauth2":["write"]}],"responses":{"201":{"description":"","schema":{"$ref":"#/definitions/Invoice"}},"400":{"description":"BadRequest","schema":{"$ref":"#/definitions/Errors"}}},"tags":["Invoices"],"operationId":"createInvoice"}},"/invoices/{invoice_token}":{"get":{"summary":"Get invoice by token","description":"Return an invoice.","produces":["application/json"],"parameters":[{"in":"path","name":"invoice_token","type":"string","required":true}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/Invoice"}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}}},"tags":["Invoices"],"operationId":"getInvoice"}},"/invoices/{invoice_token}/download":{"post":{"summary":"Get invoice file","description":"Download invoice file (PDF or CSV).","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","name":"invoice_token","type":"string","required":true},{"name":"downloadInvoice","in":"body","required":true,"schema":{"$ref":"#/definitions/downloadInvoice"}}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"Returns download URL for the invoice file","schema":{"$ref":"#/definitions/DownloadInvoice"}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}}},"tags":["Invoices"],"operationId":"downloadInvoice"}},"/invoices/{invoice_token}/send":{"post":{"summary":"Send invoice","description":"Send invoice via email.","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","name":"invoice_token","type":"string","required":true}],"security":[{"oauth2":["write"]}],"responses":{"200":{"description":"Invoice sent successfully","schema":{"$ref":"#/definitions/SendInvoice"}},"400":{"description":"BadRequest","schema":{"$ref":"#/definitions/Errors"}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}}},"tags":["Invoices"],"operationId":"sendInvoice"}},"/invoices/{invoice_token}/send_and_approve":{"post":{"summary":"Send and approve invoice","description":"Send and approve invoice via email (MSP accounts only).","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","name":"invoice_token","type":"string","required":true}],"security":[{"oauth2":["write"]}],"responses":{"200":{"description":"Invoice approved and sent successfully","schema":{"$ref":"#/definitions/SendInvoice"}},"400":{"description":"BadRequest","schema":{"$ref":"#/definitions/Errors"}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}}},"tags":["Invoices"],"operationId":"sendAndApproveInvoice"}},"/invoices/{invoice_token}/cost_report":{"get":{"summary":"Get cost report URL","description":"Get cost report URL for invoice period.","produces":["application/json"],"parameters":[{"in":"path","name":"invoice_token","type":"string","required":true}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"Get cost report URL for invoice period.","schema":{"$ref":"#/definitions/CostReportUrl"}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}}},"tags":["Invoices"],"operationId":"getInvoiceCostReport"}},"/invoices/{invoice_token}/regenerate":{"post":{"summary":"Regenerate invoice","description":"Regenerate an existing invoice (MSP accounts only).","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","name":"invoice_token","type":"string","required":true}],"security":[{"oauth2":["write"]}],"responses":{"200":{"description":"Invoice regeneration started","schema":{"$ref":"#/definitions/Invoice"}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}}},"tags":["Invoices"],"operationId":"regenerateInvoice"}},"/kubernetes_efficiency_reports":{"get":{"summary":"Get all Kubernetes efficiency reports","description":"Return all KubernetesEfficiencyReports.","produces":["application/json"],"parameters":[{"in":"query","name":"page","description":"The page of results to return.","type":"integer","format":"int32","required":false},{"in":"query","name":"limit","description":"The amount of results to return. The maximum is 1000.","type":"integer","format":"int32","required":false}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/KubernetesEfficiencyReports"},"examples":{"application/json":{"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"}]}}}},"tags":["KubernetesEfficiencyReports"],"operationId":"getKubernetesEfficiencyReports"},"post":{"summary":"Create Kubernetes efficiency report","description":"Create a KubernetesEfficiencyReport.","produces":["application/json"],"consumes":["application/json"],"parameters":[{"name":"createKubernetesEfficiencyReport","in":"body","required":true,"schema":{"$ref":"#/definitions/createKubernetesEfficiencyReport"}}],"security":[{"oauth2":["write"]}],"responses":{"201":{"description":"","schema":{"$ref":"#/definitions/KubernetesEfficiencyReport"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}},"422":{"description":"UnprocessableEntity","schema":{"$ref":"#/definitions/Errors"}}},"tags":["KubernetesEfficiencyReports"],"operationId":"createKubernetesEfficiencyReport"}},"/kubernetes_efficiency_reports/data_exports":{"post":{"summary":"Generate Kubernetes efficiency data export","description":"Generate a DataExport of Kubernetes efficiency data.","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"query","name":"groupings","description":"Group the results by specific field(s). Valid groupings: cluster_id, namespace, labeled, category, pod, label, label:\u003clabel_name\u003e.","type":"array","items":{"type":"string"},"collectionFormat":"csv","required":false},{"name":"createKubernetesEfficiencyReportExport","in":"body","required":true,"schema":{"$ref":"#/definitions/createKubernetesEfficiencyReportExport"}}],"security":[{"oauth2":["read"]}],"responses":{"202":{"description":"The data export has been queued and will be available at the location specified in the Location header.","schema":{"$ref":"#/definitions/DataExport"}},"400":{"description":"BadRequest","schema":{"$ref":"#/definitions/Errors"}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}}},"tags":["KubernetesEfficiencyReports"],"operationId":"createKubernetesEfficiencyReportExport"}},"/kubernetes_efficiency_reports/{kubernetes_efficiency_report_token}":{"get":{"summary":"Get Kubernetes efficiency report by token","description":"Return a KubernetesEfficiencyReport.","produces":["application/json"],"parameters":[{"in":"path","name":"kubernetes_efficiency_report_token","type":"string","required":true}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/KubernetesEfficiencyReport"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}}},"tags":["KubernetesEfficiencyReports"],"operationId":"getKubernetesEfficiencyReport"},"put":{"summary":"Update Kubernetes efficiency report","description":"Update a KubernetesEfficiencyReport.","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","name":"kubernetes_efficiency_report_token","type":"string","required":true},{"name":"updateKubernetesEfficiencyReport","in":"body","required":true,"schema":{"$ref":"#/definitions/updateKubernetesEfficiencyReport"}}],"security":[{"oauth2":["write"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/KubernetesEfficiencyReport"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}},"422":{"description":"UnprocessableEntity","schema":{"$ref":"#/definitions/Errors"}}},"tags":["KubernetesEfficiencyReports"],"operationId":"updateKubernetesEfficiencyReport"},"delete":{"summary":"Delete Kubernetes efficiency report","description":"Delete a KubernetesEfficiencyReport.","produces":["application/json"],"parameters":[{"in":"path","name":"kubernetes_efficiency_report_token","type":"string","required":true}],"security":[{"oauth2":["write"]}],"responses":{"204":{"description":"","schema":{"$ref":"#/definitions/KubernetesEfficiencyReport"}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}}},"tags":["KubernetesEfficiencyReports"],"operationId":"deleteKubernetesEfficiencyReport"}},"/managed_accounts":{"get":{"summary":"Get all managed accounts","description":"Returns a list of managed accounts.","produces":["application/json"],"parameters":[{"in":"query","name":"page","description":"The page of results to return.","type":"integer","format":"int32","required":false},{"in":"query","name":"limit","description":"The amount of results to return. The maximum is 1000.","type":"integer","format":"int32","required":false}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/ManagedAccounts"},"examples":{"application/json":{"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}]}}}},"tags":["ManagedAccounts"],"operationId":"getManagedAccounts"},"post":{"summary":"Create managed account","description":"Create a Managed Account.","produces":["application/json"],"consumes":["application/json"],"parameters":[{"name":"createManagedAccount","in":"body","required":true,"schema":{"$ref":"#/definitions/createManagedAccount"}}],"security":[{"oauth2":["write"]}],"responses":{"201":{"description":"","schema":{"$ref":"#/definitions/ManagedAccount"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}}},"tags":["ManagedAccounts"],"operationId":"createManagedAccount"}},"/managed_accounts/{managed_account_token}":{"get":{"summary":"Get managed account by token","description":"Return a Managed Account.","produces":["application/json"],"parameters":[{"in":"path","name":"managed_account_token","type":"string","required":true}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/ManagedAccount"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}}},"tags":["ManagedAccounts"],"operationId":"getManagedAccount"},"put":{"summary":"Update managed account","description":"Update a Managed Account.","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","name":"managed_account_token","type":"string","required":true},{"name":"updateManagedAccount","in":"body","required":true,"schema":{"$ref":"#/definitions/updateManagedAccount"}}],"security":[{"oauth2":["write"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/ManagedAccount"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}}},"tags":["ManagedAccounts"],"operationId":"updateManagedAccount"},"delete":{"summary":"Delete managed account","description":"Delete a Managed Account.","produces":["application/json"],"parameters":[{"in":"path","name":"managed_account_token","type":"string","required":true}],"security":[{"oauth2":["write"]}],"responses":{"204":{"description":"","schema":{"$ref":"#/definitions/ManagedAccount"}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}}},"tags":["ManagedAccounts"],"operationId":"deleteManagedAccount"}},"/managed_accounts/{managed_account_token}/sso_connection":{"post":{"summary":"Configure SSO for managed account","description":"Configure SSO for a Managed Account.","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","name":"managed_account_token","type":"string","required":true},{"name":"createSsoConnectionForManagedAccount","in":"body","required":true,"schema":{"$ref":"#/definitions/createSsoConnectionForManagedAccount"}}],"security":[{"oauth2":["write"]}],"responses":{"201":{"description":"","schema":{"$ref":"#/definitions/ManagedAccount"}},"400":{"description":"BadRequest","schema":{"$ref":"#/definitions/Errors"}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}}},"tags":["ManagedAccounts"],"operationId":"createSsoConnectionForManagedAccount"},"put":{"summary":"Update SSO configuration for managed account","description":"Update SSO configuration for a Managed Account.","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","name":"managed_account_token","type":"string","required":true},{"name":"updateSsoConnectionForManagedAccount","in":"body","required":true,"schema":{"$ref":"#/definitions/updateSsoConnectionForManagedAccount"}}],"security":[{"oauth2":["write"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/ManagedAccount"}},"400":{"description":"BadRequest","schema":{"$ref":"#/definitions/Errors"}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}}},"tags":["ManagedAccounts"],"operationId":"updateSsoConnectionForManagedAccount"},"delete":{"summary":"Delete SSO connection for managed account","description":"Delete SSO connection for a Managed Account.","produces":["application/json"],"parameters":[{"in":"path","name":"managed_account_token","type":"string","required":true}],"security":[{"oauth2":["write"]}],"responses":{"204":{"description":"","schema":{"$ref":"#/definitions/ManagedAccount"}},"400":{"description":"BadRequest","schema":{"$ref":"#/definitions/Errors"}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}}},"tags":["ManagedAccounts"],"operationId":"deleteSsoConnectionForManagedAccount"}},"/me":{"get":{"summary":"Get authenticated user info","description":"Get information about the authenticated BearerToken.","produces":["application/json"],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"General information about the user.","schema":{"$ref":"#/definitions/Me"}}},"tags":["Me"],"operationId":"getMe"},"put":{"summary":"Update authenticated user","description":"Update the authenticated User.","produces":["application/json"],"consumes":["application/json"],"parameters":[{"name":"updateMe","in":"body","required":true,"schema":{"$ref":"#/definitions/updateMe"}}],"security":[{"oauth2":["write"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/Me"}},"422":{"description":"UnprocessableEntity","schema":{"$ref":"#/definitions/Errors"}}},"tags":["Me"],"operationId":"updateMe"}},"/cost_providers":{"get":{"summary":"Get cost providers","description":"List CostProviders available to query in a given Workspace.","produces":["application/json"],"parameters":[{"in":"query","name":"workspace_token","description":"The token of the Workspace to list CostProviders for. Required if the API token is associated with multiple Workspaces.","type":"string","required":false}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"List of connected CostProviders.","schema":{"$ref":"#/definitions/CostProviders"}}},"tags":["CostProvider"],"operationId":"getCostProviders"}},"/cost_services":{"get":{"summary":"Get cost services","description":"List CostServices available to query in a given Workspace.","produces":["application/json"],"parameters":[{"in":"query","name":"workspace_token","description":"The token of the Workspace to list CostServices for. Required if the API token is associated with multiple Workspaces.","type":"string","required":false}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"List of CostServices, used to query costs using VQL.","schema":{"$ref":"#/definitions/CostServices"}}},"tags":["CostService"],"operationId":"getCostServices"}},"/user_feedback":{"post":{"summary":"Submit user feedback","description":"Provide UserFeedback for our product and features.","produces":["application/json"],"consumes":["application/json"],"parameters":[{"name":"createUserFeedback","in":"body","required":true,"schema":{"$ref":"#/definitions/createUserFeedback"}}],"security":[{"oauth2":["read"]}],"responses":{"201":{"description":"Provide UserFeedback for our product and features.","schema":{"$ref":"#/definitions/UserFeedback"}},"400":{"description":"BadRequest","schema":{"$ref":"#/definitions/Errors"}},"422":{"description":"UnprocessableEntity","schema":{"$ref":"#/definitions/Errors"}}},"tags":["UserFeedback"],"operationId":"createUserFeedback"}},"/network_flow_reports":{"get":{"summary":"Get all network flow reports","description":"Return all NetworkFlowReports.","produces":["application/json"],"parameters":[{"in":"query","name":"page","description":"The page of results to return.","type":"integer","format":"int32","required":false},{"in":"query","name":"limit","description":"The amount of results to return. The maximum is 1000.","type":"integer","format":"int32","required":false}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/NetworkFlowReports"},"examples":{"application/json":{"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}]}}}},"tags":["NetworkFlowReports"],"operationId":"getNetworkFlowReports"},"post":{"summary":"Create network flow report","description":"Create a NetworkFlowReport.","produces":["application/json"],"consumes":["application/json"],"parameters":[{"name":"createNetworkFlowReport","in":"body","required":true,"schema":{"$ref":"#/definitions/createNetworkFlowReport"}}],"security":[{"oauth2":["write"]}],"responses":{"201":{"description":"","schema":{"$ref":"#/definitions/NetworkFlowReport"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}},"422":{"description":"UnprocessableEntity","schema":{"$ref":"#/definitions/Errors"}}},"tags":["NetworkFlowReports"],"operationId":"createNetworkFlowReport"}},"/network_flow_reports/{network_flow_report_token}":{"get":{"summary":"Get network flow report by token","description":"Return a NetworkFlowReport.","produces":["application/json"],"parameters":[{"in":"path","name":"network_flow_report_token","type":"string","required":true}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/NetworkFlowReport"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}}},"tags":["NetworkFlowReports"],"operationId":"getNetworkFlowReport"},"put":{"summary":"Update network flow report","description":"Update a NetworkFlowReport.","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","name":"network_flow_report_token","type":"string","required":true},{"name":"updateNetworkFlowReport","in":"body","required":true,"schema":{"$ref":"#/definitions/updateNetworkFlowReport"}}],"security":[{"oauth2":["write"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/NetworkFlowReport"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}},"422":{"description":"UnprocessableEntity","schema":{"$ref":"#/definitions/Errors"}}},"tags":["NetworkFlowReports"],"operationId":"updateNetworkFlowReport"},"delete":{"summary":"Delete network flow report","description":"Delete a NetworkFlowReport.","produces":["application/json"],"parameters":[{"in":"path","name":"network_flow_report_token","type":"string","required":true}],"security":[{"oauth2":["write"]}],"responses":{"204":{"description":"","schema":{"$ref":"#/definitions/NetworkFlowReport"}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}}},"tags":["NetworkFlowReports"],"operationId":"deleteNetworkFlowReport"}},"/products/{product_id}/prices":{"get":{"summary":"Get prices for a product","description":"Return available Prices across all Regions for a Product.","produces":["application/json"],"parameters":[{"in":"path","name":"product_id","type":"string","required":true},{"in":"query","name":"page","description":"The page of results to return.","type":"integer","format":"int32","required":false},{"in":"query","name":"limit","description":"The amount of results to return. The maximum is 1000","type":"integer","format":"int32","required":false}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/Prices"},"examples":{"application/json":{"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"}}]}}}},"tags":["Prices"],"operationId":"getPrices"}},"/products/{product_id}/prices/{id}":{"get":{"summary":"Get price by ID","description":"Returns a price","produces":["application/json"],"parameters":[{"in":"path","name":"product_id","type":"string","required":true},{"in":"path","name":"id","type":"string","required":true}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/Price"},"examples":{"application/json":{"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"}}}}},"tags":["Prices"],"operationId":"getPrice"}},"/products":{"get":{"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.","produces":["application/json"],"parameters":[{"in":"query","name":"provider_id","description":"Query by Provider to list all Products across all Services for a Provider. e.g. aws","type":"string","required":false},{"in":"query","name":"service_id","description":"Query by Service to list all Products for a specific provider service. e.g. aws-ec2","type":"string","required":false},{"in":"query","name":"name","description":"Query by name of the Product to see a list of products which match that name. e.g. m5a.16xlarge","type":"string","required":false},{"in":"query","name":"page","description":"The page of results to return.","type":"integer","format":"int32","required":false},{"in":"query","name":"limit","description":"The amount of results to return. The maximum is 1000","type":"integer","format":"int32","required":false}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/Products"},"examples":{"application/json":{"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":{}}]}}}},"tags":["Prices"],"operationId":"getProducts"}},"/products/{id}":{"get":{"summary":"Get product by ID","description":"Return a product","produces":["application/json"],"parameters":[{"in":"path","name":"id","type":"string","required":true}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/Product"},"examples":{"application/json":{"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"}}}}},"tags":["Prices"],"operationId":"getProduct"}},"/recommendations":{"get":{"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).","produces":["application/json"],"parameters":[{"in":"query","name":"provider_ids","description":"Filter by one or more providers. Requires workspace_token.","type":"array","items":{"type":"string","enum":["aws","gcp","azure","kubernetes","datadog"]},"required":false},{"in":"query","name":"billing_account_ids","description":"Filter by billing account identifiers. Requires workspace_token.","type":"array","items":{"type":"string"},"required":false},{"in":"query","name":"account_ids","description":"Filter by account identifiers. Requires workspace_token.","type":"array","items":{"type":"string"},"required":false},{"in":"query","name":"regions","description":"Filter by region slugs (e.g. us-east-1, eastus, asia-east1). Requires workspace_token.","type":"array","items":{"type":"string"},"required":false},{"in":"query","name":"tag_key","description":"Filter by tag key (must be used with tag_value). Requires workspace_token.","type":"string","required":false},{"in":"query","name":"tag_value","description":"Filter by tag value (requires tag_key). Requires workspace_token.","type":"string","required":false},{"in":"query","name":"start_date","description":"Filter recommendations created on/after this YYYY-MM-DD date. Requires workspace_token.","type":"string","required":false},{"in":"query","name":"end_date","description":"Filter recommendations created on/before this YYYY-MM-DD date. Requires workspace_token.","type":"string","required":false},{"in":"query","name":"status","description":"Filter by status.","type":"string","enum":["active","archived"],"required":false},{"in":"query","name":"page","description":"The page of results to return.","type":"integer","format":"int32","required":false},{"in":"query","name":"limit","description":"The number of results to return. The maximum is 1000.","type":"integer","format":"int32","required":false},{"in":"query","name":"workspace_token","description":"Filter by workspace.","type":"string","required":false},{"in":"query","name":"provider_account_id","description":"Filter by provider account id (AWS account, Azure subscription id, etc).","type":"string","required":false},{"in":"query","name":"category","description":"Filter by exact recommendation category. Ignored when type is provided.","type":"string","required":false},{"in":"query","name":"type","description":"Fuzzy filter by recommendation type using a case-insensitive literal substring. Examples: aws, aws:ec2, aws:ec2:rightsizing.","type":"string","required":false},{"in":"query","name":"provider","description":"Filter by provider.","type":"string","enum":["aws","gcp","azure","kubernetes","datadog"],"required":false}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/Recommendations"},"examples":{"application/json":{"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":"$"}]}}}},"tags":["Recommendations"],"operationId":"getRecommendations"}},"/recommendations/{recommendation_token}":{"get":{"summary":"Get recommendation by token","description":"Return a Recommendation.","produces":["application/json"],"parameters":[{"in":"path","name":"recommendation_token","type":"string","required":true}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/Recommendation"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}}},"tags":["Recommendations"],"operationId":"getRecommendation"}},"/recommendations/{recommendation_token}/resources":{"get":{"summary":"Get all resources for a recommendation","description":"Return all Active Resources, including Recommendation Actions, referenced in this Recommendation.","produces":["application/json"],"parameters":[{"in":"path","name":"recommendation_token","type":"string","required":true},{"in":"query","name":"page","description":"The page of results to return.","type":"integer","format":"int32","required":false},{"in":"query","name":"limit","description":"The number of results to return. Defaults to 25. The maximum is 500.","type":"integer","format":"int32","required":false}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/RecommendationProviderResources"},"examples":{"application/json":{"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\"}'"}]}]}}}},"tags":["Recommendations"],"operationId":"getRecommendationResources"}},"/recommendations/{recommendation_token}/resources/{resource_token}":{"get":{"summary":"Get specific resource for a recommendation","description":"Return an Active Resource, including Recommendation Actions, referenced in this Recommendation.","produces":["application/json"],"parameters":[{"in":"path","name":"recommendation_token","type":"string","required":true},{"in":"path","name":"resource_token","type":"string","required":true}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/RecommendationProviderResource"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}}},"tags":["Recommendations"],"operationId":"getRecommendationResource"}},"/recommendations/by_type/{type}/resources":{"get":{"summary":"Get all resources for a recommendation type","description":"Return all Active Resources associated with recommendations of the specified type.","produces":["application/json"],"parameters":[{"in":"path","name":"type","type":"string","required":true},{"in":"query","name":"provider_ids","description":"Filter by one or more providers. Requires workspace_token.","type":"array","items":{"type":"string","enum":["aws","gcp","azure","kubernetes","datadog"]},"required":false},{"in":"query","name":"billing_account_ids","description":"Filter by billing account identifiers. Requires workspace_token.","type":"array","items":{"type":"string"},"required":false},{"in":"query","name":"account_ids","description":"Filter by account identifiers. Requires workspace_token.","type":"array","items":{"type":"string"},"required":false},{"in":"query","name":"regions","description":"Filter by region slugs (e.g. us-east-1, eastus, asia-east1). Requires workspace_token.","type":"array","items":{"type":"string"},"required":false},{"in":"query","name":"tag_key","description":"Filter by tag key (must be used with tag_value). Requires workspace_token.","type":"string","required":false},{"in":"query","name":"tag_value","description":"Filter by tag value (requires tag_key). Requires workspace_token.","type":"string","required":false},{"in":"query","name":"start_date","description":"Filter recommendations created on/after this YYYY-MM-DD date. Requires workspace_token.","type":"string","required":false},{"in":"query","name":"end_date","description":"Filter recommendations created on/before this YYYY-MM-DD date. Requires workspace_token.","type":"string","required":false},{"in":"query","name":"status","description":"Filter by status.","type":"string","enum":["active","archived"],"required":false},{"in":"query","name":"page","description":"The page of results to return.","type":"integer","format":"int32","required":false},{"in":"query","name":"limit","description":"The number of results to return. The maximum is 1000.","type":"integer","format":"int32","required":false},{"in":"query","name":"workspace_token","description":"The workspace token to filter recommendations by. Required.","type":"string","required":true}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/RecommendationProviderResources"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}}},"tags":["Recommendations"],"operationId":"getRecommendationTypeResources"}},"/recommendation_views":{"get":{"summary":"Get all recommendation views","description":"Return all RecommendationViews.","produces":["application/json"],"parameters":[{"in":"query","name":"page","description":"The page of results to return.","type":"integer","format":"int32","required":false},{"in":"query","name":"limit","description":"The amount of results to return. The maximum is 1000.","type":"integer","format":"int32","required":false}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/RecommendationViews"},"examples":{"application/json":{"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"}]}}}},"tags":["RecommendationViews"],"operationId":"getRecommendationViews"},"post":{"summary":"Create recommendation view","description":"Create a RecommendationView.","produces":["application/json"],"consumes":["application/json"],"parameters":[{"name":"createRecommendationView","in":"body","required":true,"schema":{"$ref":"#/definitions/createRecommendationView"}}],"security":[{"oauth2":["write"]}],"responses":{"201":{"description":"","schema":{"$ref":"#/definitions/RecommendationView"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}},"422":{"description":"UnprocessableEntity","schema":{"$ref":"#/definitions/Errors"}}},"tags":["RecommendationViews"],"operationId":"createRecommendationView"}},"/recommendation_views/{recommendation_view_token}":{"get":{"summary":"Get recommendation view by token","description":"Return a specific RecommendationView.","produces":["application/json"],"parameters":[{"in":"path","name":"recommendation_view_token","type":"string","required":true}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/RecommendationView"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}}},"tags":["RecommendationViews"],"operationId":"getRecommendationView"},"put":{"summary":"Update recommendation view","description":"Update a RecommendationView.","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","name":"recommendation_view_token","type":"string","required":true},{"name":"updateRecommendationView","in":"body","required":true,"schema":{"$ref":"#/definitions/updateRecommendationView"}}],"security":[{"oauth2":["write"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/RecommendationView"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}},"422":{"description":"UnprocessableEntity","schema":{"$ref":"#/definitions/Errors"}}},"tags":["RecommendationViews"],"operationId":"updateRecommendationView"},"delete":{"summary":"Delete recommendation view","description":"Delete a RecommendationView.","produces":["application/json"],"parameters":[{"in":"path","name":"recommendation_view_token","type":"string","required":true}],"security":[{"oauth2":["write"]}],"responses":{"204":{"description":"","schema":{"$ref":"#/definitions/RecommendationView"}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}}},"tags":["RecommendationViews"],"operationId":"deleteRecommendationView"}},"/report_notifications":{"get":{"summary":"Get all report notifications","description":"Return all ReportNotifications.","produces":["application/json"],"parameters":[{"in":"query","name":"page","description":"The page of results to return.","type":"integer","format":"int32","required":false},{"in":"query","name":"limit","description":"The amount of results to return. The maximum is 1000.","type":"integer","format":"int32","required":false}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/ReportNotifications"},"examples":{"application/json":{"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"}]}}}},"tags":["ReportNotifications"],"operationId":"getReportNotifications"},"post":{"summary":"Create report notification","description":"Create a ReportNotification.","produces":["application/json"],"consumes":["application/json"],"parameters":[{"name":"createReportNotification","in":"body","required":true,"schema":{"$ref":"#/definitions/createReportNotification"}}],"security":[{"oauth2":["write"]}],"responses":{"201":{"description":"","schema":{"$ref":"#/definitions/ReportNotification"},"examples":{"application/json":{"token":"rprt_ntfctn_8ce31b43a149cd2e","title":"New Report Notification","cost_report_token":"rprt_933010600676b02f","user_tokens":["usr_45e7d17e9f402226"],"frequency":"daily","change":"percentage"}}},"400":{"description":"BadRequest","schema":{"$ref":"#/definitions/Errors"}},"422":{"description":"UnprocessableEntity","schema":{"$ref":"#/definitions/Errors"}}},"tags":["ReportNotifications"],"operationId":"createReportNotification"}},"/report_notifications/{report_notification_token}":{"get":{"summary":"Get report notification by token","description":"Return a ReportNotification.","produces":["application/json"],"parameters":[{"in":"path","name":"report_notification_token","type":"string","required":true}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/ReportNotification"},"examples":{"application/json":{"token":"rprt_ntfctn_21b4287a212406b1","title":"Test Notification","cost_report_token":"rprt_d084c84455edc606","user_tokens":["usr_56d53f802edba3e6"],"frequency":"weekly","change":"percentage"}}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}}},"tags":["ReportNotifications"],"operationId":"getReportNotification"},"put":{"summary":"Update report notification","description":"Update a ReportNotification.","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","name":"report_notification_token","type":"string","required":true},{"name":"updateReportNotification","in":"body","required":true,"schema":{"$ref":"#/definitions/updateReportNotification"}}],"security":[{"oauth2":["write"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/ReportNotification"},"examples":{"application/json":{"token":"rprt_ntfctn_b36b208a90ee87f6","title":"Updated Report Notification","cost_report_token":"rprt_07b88c04aa6bed8c","user_tokens":["usr_35ed19fadcfed8c9"],"frequency":"weekly","change":"dollars"}}},"400":{"description":"BadRequest","schema":{"$ref":"#/definitions/Errors"}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}}},"tags":["ReportNotifications"],"operationId":"updateReportNotification"},"delete":{"summary":"Delete report notification","description":"Delete a ReportNotification.","produces":["application/json"],"parameters":[{"in":"path","name":"report_notification_token","type":"string","required":true}],"security":[{"oauth2":["write"]}],"responses":{"204":{"description":"","schema":{"$ref":"#/definitions/ReportNotification"}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}}},"tags":["ReportNotifications"],"operationId":"deleteReportNotification"}},"/resource_reports/columns":{"get":{"summary":"Get resource report columns","description":"List available columns for a resource type.","produces":["application/json"],"parameters":[{"in":"query","name":"resource_type","description":"VQL resource type name (https://docs.vantage.sh/vql_resource_report#costs-by-resource-type)","type":"string","required":true}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"Returns array of available column names for the specified resource type","schema":{"$ref":"#/definitions/ResourceReportColumns"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}}},"tags":["ResourceReports"],"operationId":"getResourceReportColumns"}},"/resource_reports":{"get":{"summary":"Get all resource reports","description":"Return all ResourceReports.","produces":["application/json"],"parameters":[{"in":"query","name":"page","description":"The page of results to return.","type":"integer","format":"int32","required":false},{"in":"query","name":"limit","description":"The number of results to return. The maximum is 1000.","type":"integer","format":"int32","required":false}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/ResourceReports"},"examples":{"application/json":{"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"]}]}}}},"tags":["ResourceReports"],"operationId":"getResourceReports"},"post":{"summary":"Create resource report","description":"Create a ResourceReport.","produces":["application/json"],"consumes":["application/json"],"parameters":[{"name":"createResourceReport","in":"body","required":true,"schema":{"$ref":"#/definitions/createResourceReport"}}],"security":[{"oauth2":["write"]}],"responses":{"201":{"description":"","schema":{"$ref":"#/definitions/ResourceReport"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}},"422":{"description":"UnprocessableEntity","schema":{"$ref":"#/definitions/Errors"}}},"tags":["ResourceReports"],"operationId":"createResourceReport"}},"/resource_reports/{resource_report_token}":{"get":{"summary":"Get resource report by token","description":"Return a ResourceReport.","produces":["application/json"],"parameters":[{"in":"path","name":"resource_report_token","type":"string","required":true}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/ResourceReport"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}}},"tags":["ResourceReports"],"operationId":"getResourceReport"},"put":{"summary":"Update resource report","description":"Update a ResourceReport.","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","name":"resource_report_token","type":"string","required":true},{"name":"updateResourceReport","in":"body","required":true,"schema":{"$ref":"#/definitions/updateResourceReport"}}],"security":[{"oauth2":["write"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/ResourceReport"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}},"400":{"description":"BadRequest","schema":{"$ref":"#/definitions/Errors"}},"422":{"description":"UnprocessableEntity","schema":{"$ref":"#/definitions/Errors"}}},"tags":["ResourceReports"],"operationId":"updateResourceReport"},"delete":{"summary":"Delete resource report","description":"Delete a ResourceReport.","produces":["application/json"],"parameters":[{"in":"path","name":"resource_report_token","type":"string","required":true}],"security":[{"oauth2":["write"]}],"responses":{"204":{"description":"","schema":{"$ref":"#/definitions/ResourceReport"}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}}},"tags":["ResourceReports"],"operationId":"deleteResourceReport"}},"/resources":{"get":{"summary":"Get resources","description":"Return Resources contained in a ResourceReport","produces":["application/json"],"parameters":[{"in":"query","name":"resource_report_token","description":"The ResourceReport token.","type":"string","required":false},{"in":"query","name":"filter","description":"The filter query language to apply to the Resources. Additional documentation available at https://docs.vantage.sh/vql.","type":"string","required":false},{"in":"query","name":"workspace_token","description":"The Workspace in which the Resources are located.","type":"string","required":false},{"in":"query","name":"include_cost","description":"Include cost information in the response.","type":"boolean","required":false},{"in":"query","name":"page","description":"The page number for pagination.","type":"integer","format":"int32","required":false},{"in":"query","name":"limit","description":"The number of resources to return per page.","type":"integer","format":"int32","required":false}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/Resources"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}},"402":{"description":"PaymentRequired","schema":{"$ref":"#/definitions/Errors"}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}}},"tags":["Resources"],"operationId":"getReportResources"}},"/resources/{resource_token}":{"get":{"summary":"Get resource by token","description":"Return a single Resource","produces":["application/json"],"parameters":[{"in":"path","name":"resource_token","type":"string","required":true},{"in":"query","name":"include_cost","description":"Include cost information in the response.","type":"boolean","required":false}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/Resource"},"examples":{"application/json":{"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"}}}},"tags":["Resources"],"operationId":"getResource"}},"/saved_filters":{"get":{"summary":"Get all saved filters","description":"Return all SavedFilters that can be applied to a CostReport.","produces":["application/json"],"parameters":[{"in":"query","name":"page","description":"The page of results to return.","type":"integer","format":"int32","required":false},{"in":"query","name":"limit","description":"The amount of results to return. The maximum is 1000.","type":"integer","format":"int32","required":false}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/SavedFilters"},"examples":{"application/json":{"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"}]}}}},"tags":["SavedFilters"],"operationId":"getSavedFilters"},"post":{"summary":"Create saved filter","description":"Create a SavedFilter for CostReports.","produces":["application/json"],"consumes":["application/json"],"parameters":[{"name":"createSavedFilter","in":"body","required":true,"schema":{"$ref":"#/definitions/createSavedFilter"}}],"security":[{"oauth2":["write"]}],"responses":{"201":{"description":"","schema":{"$ref":"#/definitions/SavedFilter"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}},"422":{"description":"UnprocessableEntity","schema":{"$ref":"#/definitions/Errors"}}},"tags":["SavedFilters"],"operationId":"createSavedFilter"}},"/saved_filters/{saved_filter_token}":{"get":{"summary":"Get saved filter by token","description":"Return a specific SavedFilter.","produces":["application/json"],"parameters":[{"in":"path","name":"saved_filter_token","type":"string","required":true}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/SavedFilter"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}}},"tags":["SavedFilters"],"operationId":"getSavedFilter"},"put":{"summary":"Update saved filter","description":"Update a SavedFilter for CostReports.","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","name":"saved_filter_token","type":"string","required":true},{"name":"updateSavedFilter","in":"body","required":true,"schema":{"$ref":"#/definitions/updateSavedFilter"}}],"security":[{"oauth2":["write"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/SavedFilter"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}},"422":{"description":"UnprocessableEntity","schema":{"$ref":"#/definitions/Errors"}}},"tags":["SavedFilters"],"operationId":"updateSavedFilter"},"delete":{"summary":"Delete saved filter","description":"Delete a SavedFilter for CostReports.","produces":["application/json"],"parameters":[{"in":"path","name":"saved_filter_token","type":"string","required":true}],"security":[{"oauth2":["write"]}],"responses":{"204":{"description":"","schema":{"$ref":"#/definitions/SavedFilter"}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}}},"tags":["SavedFilters"],"operationId":"deleteSavedFilter"}},"/segments":{"get":{"summary":"Get all segments","description":"Return all Segments.","produces":["application/json"],"parameters":[{"in":"query","name":"page","description":"The page of results to return.","type":"integer","format":"int32","required":false},{"in":"query","name":"limit","description":"The amount of results to return. The maximum is 1000.","type":"integer","format":"int32","required":false}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/Segments"},"examples":{"application/json":{"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"}]}}}},"tags":["Segments"],"operationId":"getSegments"},"post":{"summary":"Create segment","description":"Create a Segment.","produces":["application/json"],"consumes":["application/json"],"parameters":[{"name":"createSegment","in":"body","required":true,"schema":{"$ref":"#/definitions/createSegment"}}],"security":[{"oauth2":["write"]}],"responses":{"201":{"description":"","schema":{"$ref":"#/definitions/Segment"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}},"422":{"description":"UnprocessableEntity","schema":{"$ref":"#/definitions/Errors"}}},"tags":["Segments"],"operationId":"createSegment"}},"/segments/{segment_token}":{"get":{"summary":"Get segment by token","description":"Return a Segment.","produces":["application/json"],"parameters":[{"in":"path","name":"segment_token","type":"string","required":true}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/Segment"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}}},"tags":["Segments"],"operationId":"getSegment"},"put":{"summary":"Update segment","description":"Update a Segment.","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","name":"segment_token","type":"string","required":true},{"name":"updateSegment","in":"body","required":true,"schema":{"$ref":"#/definitions/updateSegment"}}],"security":[{"oauth2":["write"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/Segment"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}}},"tags":["Segments"],"operationId":"updateSegment"},"delete":{"summary":"Delete segment","description":"Delete a Segment.","produces":["application/json"],"parameters":[{"in":"path","name":"segment_token","type":"string","required":true}],"security":[{"oauth2":["write"]}],"responses":{"204":{"description":"","schema":{"$ref":"#/definitions/Segment"}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}}},"tags":["Segments"],"operationId":"deleteSegment"}},"/tags":{"get":{"summary":"Get all tags","description":"Return all Tags that the current API token has access to.","produces":["application/json"],"parameters":[{"in":"query","name":"providers","description":"An array of providers to scope Tags by.","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"]},"required":false},{"in":"query","name":"search_query","description":"A search query to filter Tags by tag key.","type":"string","required":false},{"in":"query","name":"sort_direction","description":"The direction in which you would like to sort the data by. Defaults to 'asc'.","type":"string","enum":["asc","desc"],"required":false},{"in":"query","name":"page","description":"The page of results to return.","type":"integer","format":"int32","default":1,"required":false},{"in":"query","name":"limit","description":"The number of results to return per page. Defaults to 100. The maximum is 1000.","type":"integer","format":"int32","default":100,"required":false}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/Tags"},"examples":{"application/json":{"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"]}]}}}},"tags":["Tags"],"operationId":"getTags"},"put":{"summary":"Update tag","description":"Updates an existing Tag.","produces":["application/json"],"consumes":["application/json"],"parameters":[{"name":"updateTag","in":"body","required":true,"schema":{"$ref":"#/definitions/updateTag"}}],"security":[{"oauth2":["write"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/Tags"},"examples":{"application/json":{"tags":[{"tag_key":"app","hidden":true,"preferred":false,"providers":["aws","azure","custom_provider:accss_crdntl_6d2b7b71244943a1"]}]}}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}},"400":{"description":"BadRequest","schema":{"$ref":"#/definitions/Errors"}},"422":{"description":"UnprocessableEntity","schema":{"$ref":"#/definitions/Errors"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/Errors"}}},"tags":["Tags"],"operationId":"updateTag"}},"/tags/{key}/values":{"get":{"summary":"Get tag values","description":"Returns corresponding TagValues for a given Tag.","produces":["application/json"],"parameters":[{"in":"path","name":"key","description":"The key of the Tag for which you would like to retrieve TagValues.","type":"string","required":true},{"in":"query","name":"providers","description":"An array of providers to scope TagValues by.","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"]},"required":false},{"in":"query","name":"sort_direction","description":"The direction in which to sort the TagValues. Defaults to 'asc'.","type":"string","default":"asc","enum":["asc","desc"],"required":false},{"in":"query","name":"search_query","description":"A search query to filter TagValues by the value name.","type":"string","required":false},{"in":"query","name":"page","description":"The page of results to return.","type":"integer","format":"int32","default":1,"required":false},{"in":"query","name":"limit","description":"The number of results to return per page. Defaults to 100. The maximum is 1000.","type":"integer","format":"int32","default":100,"required":false}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/TagValues"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}}},"tags":["Tags"],"operationId":"getTagValues"}},"/teams":{"get":{"summary":"Get all teams","description":"Return all Teams that the current API token has access to.","produces":["application/json"],"parameters":[{"in":"query","name":"page","description":"The page of results to return.","type":"integer","format":"int32","required":false},{"in":"query","name":"limit","description":"The amount of results to return. The maximum is 1000.","type":"integer","format":"int32","required":false}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/Teams"},"examples":{"application/json":{"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}]}}}},"tags":["Teams"],"operationId":"getTeams"},"post":{"summary":"Create team","description":"Create a new Team.","produces":["application/json"],"consumes":["application/json"],"parameters":[{"name":"createTeam","in":"body","required":true,"schema":{"$ref":"#/definitions/createTeam"}}],"security":[{"oauth2":["write"]}],"responses":{"201":{"description":"","schema":{"$ref":"#/definitions/Team"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}},"400":{"description":"BadRequest","schema":{"$ref":"#/definitions/Errors"}},"422":{"description":"UnprocessableEntity","schema":{"$ref":"#/definitions/Errors"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/Errors"}}},"tags":["Teams"],"operationId":"createTeam"}},"/teams/{team_token}":{"get":{"summary":"Get team by token","description":"Return a specific Team.","produces":["application/json"],"parameters":[{"in":"path","name":"team_token","type":"string","required":true}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/Team"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}}},"tags":["Teams"],"operationId":"getTeam"},"put":{"summary":"Update team","description":"Update a Team.","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","name":"team_token","type":"string","required":true},{"name":"updateTeam","in":"body","required":true,"schema":{"$ref":"#/definitions/updateTeam"}}],"security":[{"oauth2":["write"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/Team"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}},"400":{"description":"BadRequest","schema":{"$ref":"#/definitions/Errors"}},"422":{"description":"UnprocessableEntity","schema":{"$ref":"#/definitions/Errors"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/Errors"}}},"tags":["Teams"],"operationId":"updateTeam"},"delete":{"summary":"Delete team","description":"Delete a Team.","produces":["application/json"],"parameters":[{"in":"path","name":"team_token","type":"string","required":true}],"security":[{"oauth2":["write"]}],"responses":{"204":{"description":"","schema":{"$ref":"#/definitions/Team"}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}},"400":{"description":"BadRequest","schema":{"$ref":"#/definitions/Errors"}},"422":{"description":"UnprocessableEntity","schema":{"$ref":"#/definitions/Errors"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/Errors"}}},"tags":["Teams"],"operationId":"deleteTeam"}},"/teams/{team_token}/members":{"get":{"summary":"Get team members","description":"Return all members of a Team.","produces":["application/json"],"parameters":[{"in":"path","name":"team_token","type":"string","required":true},{"in":"query","name":"page","description":"The page of results to return.","type":"integer","format":"int32","required":false},{"in":"query","name":"limit","description":"The amount of results to return. The maximum is 1000.","type":"integer","format":"int32","required":false}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/TeamMembers"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}}},"tags":["Teams"],"operationId":"getTeamMembers"},"post":{"summary":"Add team member","description":"Add a member to a Team.","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","name":"team_token","type":"string","required":true},{"name":"addTeamMember","in":"body","required":true,"schema":{"$ref":"#/definitions/addTeamMember"}}],"security":[{"oauth2":["write"]}],"responses":{"201":{"description":"","schema":{"$ref":"#/definitions/TeamMember"},"examples":{"application/json":{"user_email":"john.doe@acme.com","role":"editor"}}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}},"400":{"description":"BadRequest","schema":{"$ref":"#/definitions/Errors"}},"422":{"description":"UnprocessableEntity","schema":{"$ref":"#/definitions/Errors"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/Errors"}}},"tags":["Teams"],"operationId":"addTeamMember"}},"/teams/{team_token}/members/{user_token}":{"delete":{"summary":"Remove team member","description":"Remove a member from a Team.","produces":["application/json"],"parameters":[{"in":"path","name":"team_token","type":"string","required":true},{"in":"path","name":"user_token","type":"string","required":true}],"security":[{"oauth2":["write"]}],"responses":{"204":{"description":""},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}},"400":{"description":"BadRequest","schema":{"$ref":"#/definitions/Errors"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/Errors"}}},"tags":["Teams"],"operationId":"removeTeamMember"}},"/unit_costs/data_exports":{"post":{"summary":"Generate data export of unit costs","description":"Generate a DataExport of unit costs.","produces":["application/json"],"consumes":["application/json"],"parameters":[{"name":"createUnitCostsExport","in":"body","required":true,"schema":{"$ref":"#/definitions/createUnitCostsExport"}}],"security":[{"oauth2":["read"]}],"responses":{"202":{"description":"The data export has been queued and will be available at the location specified in the Location header.","schema":{"$ref":"#/definitions/DataExport"}},"400":{"description":"BadRequest","schema":{"$ref":"#/definitions/Errors"}},"402":{"description":"PaymentRequired","schema":{"$ref":"#/definitions/Errors"}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}}},"tags":["UnitCosts"],"operationId":"createUnitCostsExport"}},"/unit_costs":{"get":{"summary":"Get all unit costs for a cost report","description":"Return all UnitCosts for a CostReport.","produces":["application/json"],"parameters":[{"in":"query","name":"cost_report_token","description":"The CostReport token.","type":"string","required":true},{"in":"query","name":"start_date","description":"First date you would like to filter unit costs from. Defaults to the report's default. ISO 8601 formatted.","type":"string","required":false},{"in":"query","name":"end_date","description":"Last date you would like to filter unit costs to. Defaults to the report's default. ISO 8601 formatted.","type":"string","required":false},{"in":"query","name":"date_bin","description":"The date bin of the unit costs. Defaults to the report's default or day.","type":"string","enum":["day","week","month","quarter","hour"],"required":false},{"in":"query","name":"order","description":"Whether to order unit costs by date in an ascending or descending manner.","type":"string","default":"desc","enum":["asc","desc"],"required":false},{"in":"query","name":"limit","description":"The amount of results to return. The maximum is 1000.","type":"integer","format":"int32","required":false},{"in":"query","name":"page","description":"The page of results to return.","type":"integer","format":"int32","required":false}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/UnitCosts"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}},"402":{"description":"PaymentRequired","schema":{"$ref":"#/definitions/Errors"}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}}},"tags":["UnitCosts"],"operationId":"getUnitCosts"}},"/users":{"get":{"summary":"Get all users","description":"Return all Users that the current API token has access to.","produces":["application/json"],"parameters":[{"in":"query","name":"page","description":"The page of results to return.","type":"integer","format":"int32","required":false},{"in":"query","name":"limit","description":"The amount of results to return. The maximum is 1000.","type":"integer","format":"int32","required":false}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/Users"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}}},"tags":["Users"],"operationId":"getUsers"}},"/users/{user_token}":{"get":{"summary":"Get user by token","description":"Return a specific User.","produces":["application/json"],"parameters":[{"in":"path","name":"user_token","type":"string","required":true}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/User"},"examples":{"application/json":{"token":"usr_bfc6ab15e635f848","name":"Patrick White","email":"white.patrick@kassulke-nitzsche.net","role":"Owner","last_seen_at":"2024-01-01"}}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}}},"tags":["Users"],"operationId":"getUser"},"put":{"summary":"Update a user","description":"Update a specific User.","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","name":"user_token","type":"string","required":true},{"name":"updateUser","in":"body","required":true,"schema":{"$ref":"#/definitions/updateUser"}}],"security":[{"oauth2":["write"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/User"}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}},"422":{"description":"UnprocessableEntity","schema":{"$ref":"#/definitions/Errors"}}},"tags":["Users"],"operationId":"updateUser"}},"/virtual_tag_configs":{"get":{"summary":"Get all virtual tag configs","description":"Return all VirtualTagConfigs that the current API token has access to.","produces":["application/json"],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/VirtualTagConfigs"},"examples":{"application/json":{"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}]}]}]}}}},"tags":["VirtualTags"],"operationId":"getVirtualTagConfigs"},"post":{"summary":"Create virtual tag config","description":"Create a new VirtualTagConfig.","produces":["application/json"],"consumes":["application/json"],"parameters":[{"name":"createVirtualTagConfig","in":"body","required":true,"schema":{"$ref":"#/definitions/createVirtualTagConfig"}}],"security":[{"oauth2":["write"]}],"responses":{"201":{"description":"","schema":{"$ref":"#/definitions/VirtualTagConfig"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}},"400":{"description":"BadRequest","schema":{"$ref":"#/definitions/Errors"}},"422":{"description":"UnprocessableEntity","schema":{"$ref":"#/definitions/Errors"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/Errors"}}},"tags":["VirtualTags"],"operationId":"createVirtualTagConfig"}},"/virtual_tag_configs/{token}":{"get":{"summary":"Get virtual tag config by token","description":"Return a specific VirtualTagConfig.","produces":["application/json"],"parameters":[{"in":"path","name":"token","type":"string","required":true}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/VirtualTagConfig"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}}},"tags":["VirtualTags"],"operationId":"getVirtualTagConfig"},"put":{"summary":"Update virtual tag config","description":"Updates an existing VirtualTagConfig.","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","name":"token","type":"string","required":true},{"name":"updateVirtualTagConfig","in":"body","required":true,"schema":{"$ref":"#/definitions/updateVirtualTagConfig"}}],"security":[{"oauth2":["write"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/VirtualTagConfig"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/AsyncVirtualTagConfigUpdate"}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}},"400":{"description":"BadRequest","schema":{"$ref":"#/definitions/Errors"}},"422":{"description":"UnprocessableEntity","schema":{"$ref":"#/definitions/Errors"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/Errors"}}},"tags":["VirtualTags"],"operationId":"updateVirtualTagConfig"},"delete":{"summary":"Delete virtual tag config","description":"Deletes an existing VirtualTagConfig.","produces":["application/json"],"parameters":[{"in":"path","name":"token","type":"string","required":true}],"security":[{"oauth2":["write"]}],"responses":{"204":{"description":"","schema":{"$ref":"#/definitions/VirtualTagConfig"}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/Errors"}}},"tags":["VirtualTags"],"operationId":"deleteVirtualTagConfig"}},"/virtual_tag_configs/{token}/status":{"get":{"summary":"Get virtual tag config processing status","description":"Return the processing status of a specific VirtualTagConfig.","produces":["application/json"],"parameters":[{"in":"path","name":"token","type":"string","required":true}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"Processing is complete","schema":{"$ref":"#/definitions/VirtualTagConfigStatus"},"examples":{"application/json":{"token":"vtag_1234","processing":true,"providers":[{"provider":"aws","status":"processing"},{"provider":"gcp","status":"complete"}]}}},"202":{"description":"Processing is still in progress","schema":{"$ref":"#/definitions/VirtualTagConfigStatus"},"examples":{"application/json":{"token":"vtag_1234","processing":true,"providers":[{"provider":"aws","status":"processing"},{"provider":"gcp","status":"complete"}]}}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}}},"tags":["VirtualTags"],"operationId":"getVirtualTagConfigStatus"}},"/virtual_tag_configs/{token}/async":{"put":{"summary":"Update virtual tag config asynchronously","description":"Asynchronously updates an existing VirtualTagConfig.","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","name":"token","type":"string","required":true},{"name":"updateAsyncVirtualTagConfig","in":"body","required":true,"schema":{"$ref":"#/definitions/updateAsyncVirtualTagConfig"}}],"security":[{"oauth2":["write"]}],"responses":{"202":{"description":"Request accepted for processing","schema":{"$ref":"#/definitions/AsyncVirtualTagConfigUpdate"}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}},"400":{"description":"BadRequest","schema":{"$ref":"#/definitions/Errors"}},"422":{"description":"UnprocessableEntity","schema":{"$ref":"#/definitions/Errors"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/Errors"}}},"tags":["VirtualTags"],"operationId":"updateAsyncVirtualTagConfig"}},"/virtual_tag_configs/async/{request_id}":{"get":{"summary":"Get async virtual tag config update status","description":"Check the status of an async VirtualTagConfig update.","produces":["application/json"],"parameters":[{"in":"path","name":"request_id","type":"string","required":true}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"Request completed successfully"},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}}},"tags":["VirtualTags"],"operationId":"getAsyncVirtualTagConfigStatus"}},"/workspaces":{"get":{"summary":"Get all workspaces","description":"Return all Workspaces that the current API token has access to.","produces":["application/json"],"parameters":[{"in":"query","name":"page","description":"The page of results to return.","type":"integer","format":"int32","required":false},{"in":"query","name":"limit","description":"The amount of results to return. The maximum is 1000.","type":"integer","format":"int32","required":false}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/Workspaces"},"examples":{"application/json":{"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"}]}}}},"tags":["Workspaces"],"operationId":"getWorkspaces"},"post":{"summary":"Create workspace","description":"Create a workspace","produces":["application/json"],"consumes":["application/json"],"parameters":[{"name":"createWorkspace","in":"body","required":true,"schema":{"$ref":"#/definitions/createWorkspace"}}],"security":[{"oauth2":["write"]}],"responses":{"201":{"description":"","schema":{"$ref":"#/definitions/Workspace"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}}},"tags":["Workspaces"],"operationId":"createWorkspace"}},"/workspaces/{workspace_token}":{"get":{"summary":"Get workspace by token","description":"Return a specific Workspace.","produces":["application/json"],"parameters":[{"in":"path","name":"workspace_token","type":"string","required":true}],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/Workspace"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}}},"tags":["Workspaces"],"operationId":"getWorkspace"},"put":{"summary":"Update workspace","description":"Update a workspace","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","name":"workspace_token","type":"string","required":true},{"name":"updateWorkspace","in":"body","required":true,"schema":{"$ref":"#/definitions/updateWorkspace"}}],"security":[{"oauth2":["write"]}],"responses":{"200":{"description":"","schema":{"$ref":"#/definitions/Workspace"},"examples":{"application/json":{"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","schema":{"$ref":"#/definitions/Errors"}}},"tags":["Workspaces"],"operationId":"updateWorkspace"},"delete":{"summary":"Delete workspace","description":"Delete a workspace","produces":["application/json"],"parameters":[{"in":"path","name":"workspace_token","type":"string","required":true}],"security":[{"oauth2":["write"]}],"responses":{"204":{"description":"","schema":{"$ref":"#/definitions/Workspace"}},"404":{"description":"NotFound","schema":{"$ref":"#/definitions/Errors"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/Errors"}},"422":{"description":"UnprocessableEntity","schema":{"$ref":"#/definitions/Errors"}}},"tags":["Workspaces"],"operationId":"deleteWorkspace"}},"/ping":{"get":{"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.","produces":["application/json"],"security":[{"oauth2":["read"]}],"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."}},"tags":["Ping"],"operationId":"ping"}},"/oas_v3.json":{"get":{"description":"This is an OpenAPI specification endpoint. It can be used to access a compliant OpenAPI specification for Vantage's API.","produces":["application/json"],"security":[{"oauth2":["read"]}],"responses":{"200":{"description":"This is an OpenAPI specification endpoint. It can be used to access a compliant OpenAPI specification for Vantage's API."}},"tags":["OpenAPISpecification"],"operationId":"getOpenAPISpecifications"}}},"definitions":{"AccessGrants":{"type":"object","properties":{"links":{"$ref":"#/definitions/Links"},"access_grants":{"type":"array","items":{"$ref":"#/definitions/AccessGrant"}}},"required":["access_grants"],"description":"AccessGrants model"},"Links":{"type":"object","properties":{"self":{"type":"string","x-nullable":true,"description":"The URL of the current page of results."},"first":{"type":"string","x-nullable":true,"description":"The URL of the first page of results."},"next":{"type":"string","x-nullable":true,"description":"The URL of the next page of results, if one exists."},"last":{"type":"string","x-nullable":true,"description":"The URL of the last page of results, if one exists."},"prev":{"type":"string","x-nullable":true,"description":"The URL of the previous page of results, if one exists."}}},"AccessGrant":{"type":"object","properties":{"token":{"type":"string","x-nullable":false},"resource_token":{"type":"string","example":"rprt_abcd1234","x-nullable":false,"description":"The token for any resource the AccessGrant is applied to."},"access":{"type":"string","x-nullable":false,"description":"The access status of the AccessGrant."},"team_token":{"type":"string","x-nullable":true,"description":"The Team token for which an AccessGrant is applied to."},"created_at":{"type":"string","example":"2023-08-04T00:00:00Z","x-nullable":false,"description":"The date and time, in UTC, the AccessGrant was created. ISO 8601 Formatted."},"created_by":{"type":"string","x-nullable":true,"description":"The token for the User who created the AccessGrant."}},"required":["token","resource_token","access","team_token","created_at","created_by"],"description":"AccessGrant model"},"Errors":{"type":"object","properties":{"links":{"$ref":"#/definitions/Links"},"errors":{"type":"array","items":{"type":"string"},"x-nullable":false}},"required":["errors"],"description":"Errors model"},"createAccessGrant":{"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"]}},"required":["resource_token","team_token"],"description":"Create an Access Grant."},"updateAccessGrant":{"type":"object","properties":{"access":{"type":"string","description":"Allowed or denied access to resource.","enum":["denied","allowed"]}},"required":["access"],"description":"Update an AccessGrant."},"AnomalyAlerts":{"type":"object","properties":{"links":{"$ref":"#/definitions/Links"},"anomaly_alerts":{"type":"array","items":{"$ref":"#/definitions/AnomalyAlert"}}},"required":["anomaly_alerts"],"description":"AnomalyAlerts model"},"AnomalyAlert":{"type":"object","properties":{"token":{"type":"string","x-nullable":false},"created_at":{"type":"string","example":"2021-07-09T00:00:00Z","x-nullable":false,"description":"The date and time, in UTC, the AnomalyAlert was created. ISO 8601 Formatted."},"alerted_at":{"type":"string","example":"2021-07-09T00:00:00Z","x-nullable":true,"description":"The date and time, in UTC, the AnomalyAlert is sent. ISO 8601 Formatted."},"category":{"type":"string","x-nullable":true,"description":"The category of the AnomalyAlert."},"service":{"type":"string","x-nullable":false,"description":"The provider service causing the AnomalyAlert."},"provider":{"type":"string","x-nullable":false,"description":"The provider of the service causing the AnomalyAlert."},"amount":{"type":"string","x-nullable":false,"description":"The amount observed."},"previous_amount":{"type":"string","x-nullable":false,"description":"The previous amount observed."},"seven_day_average":{"type":"string","x-nullable":false,"description":"The seven day average of the amount observed."},"status":{"type":"string","x-nullable":false,"description":"The status of the AnomalyAlert."},"feedback":{"type":"string","x-nullable":true,"description":"The user-provided feedback of why alert was ignored/archived."},"resources":{"type":"array","items":{"type":"string"},"x-nullable":false,"description":"The names of the resources the AnomalyAlert was attributed to."},"resource_tokens":{"type":"array","items":{"type":"string"},"x-nullable":false,"description":"The tokens of the Resources the AnomalyAlert was attributed to."},"cost_report_token":{"type":"string","x-nullable":false,"description":"The token of the Report associated with the AnomalyAlert."}},"required":["token","created_at","category","service","provider","amount","previous_amount","seven_day_average","status","resources","resource_tokens","cost_report_token"],"description":"AnomalyAlert model"},"updateAnomalyAlert":{"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."}},"required":["status"],"description":"Update an AnomalyAlert."},"AnomalyNotifications":{"type":"object","properties":{"links":{"$ref":"#/definitions/Links"},"anomaly_notifications":{"type":"array","items":{"$ref":"#/definitions/AnomalyNotification"}}},"required":["anomaly_notifications"],"description":"AnomalyNotifications model"},"AnomalyNotification":{"type":"object","properties":{"token":{"type":"string","x-nullable":false},"cost_report_token":{"type":"string","x-nullable":false,"description":"The token for the CostReport the AnomalyNotification is associated with."},"created_at":{"type":"string","example":"2023-08-04T00:00:00Z","x-nullable":false,"description":"The date and time, in UTC, the AnomalyNotification was created. ISO 8601 Formatted."},"updated_at":{"type":"string","example":"2023-08-04T00:00:00Z","x-nullable":false,"description":"The date and time, in UTC, the AnomalyNotification was last updated at. ISO 8601 Formatted."},"threshold":{"type":"integer","format":"int32","x-nullable":false,"description":"The threshold amount that must be met for the notification to fire."},"user_tokens":{"type":"array","items":{"type":"string"},"x-nullable":false,"description":"The tokens of the users that receive the notification."},"recipient_channels":{"type":"array","items":{"type":"string"},"x-nullable":false,"description":"The channels that the notification is sent to."}},"required":["token","cost_report_token","created_at","updated_at","threshold","user_tokens","recipient_channels"],"description":"AnomalyNotification model"},"createAnomalyNotification":{"type":"object","properties":{"cost_report_token":{"type":"string","description":"The token of the Cost Report that has the notification."},"threshold":{"type":"integer","format":"int32","description":"The threshold amount that must be met for the notification to fire."},"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"}}},"required":["cost_report_token"],"description":"Create an Anomaly Notification for a Cost Report."},"updateAnomalyNotification":{"type":"object","properties":{"threshold":{"type":"integer","format":"int32","description":"The threshold amount that must be met for the notification to fire."},"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":{"type":"object","properties":{"links":{"$ref":"#/definitions/Links"},"audit_logs":{"type":"array","items":{"$ref":"#/definitions/AuditLog"}}},"required":["audit_logs"],"description":"AuditLogs model"},"AuditLog":{"type":"object","properties":{"token":{"type":"string","example":"adt_lg_1234567890abcdef","x-nullable":false,"description":"The unique token identifying the audit log."},"object_token":{"type":"string","example":"rpt_1234567890abcdef","x-nullable":true,"description":"The token of the audited object."},"object_type":{"type":"string","example":"Report","x-nullable":false,"description":"The type of the audited object."},"object_title":{"type":"string","example":"Production Cost Report","x-nullable":true,"description":"The title of the audited object."},"event":{"type":"string","example":"record_created","x-nullable":false,"description":"The event type of the audit log."},"source":{"type":"string","example":"console","x-nullable":false,"description":"The source of the action (console, api, developer)."},"user":{"type":"string","x-nullable":true,"description":"The name of the user who performed the action."},"workspace_title":{"type":"string","x-nullable":true,"description":"The name of the workspace associated with the audit log."},"workspace_token":{"type":"string","example":"wrkspc_1234567890abcdef","x-nullable":true,"description":"The token of the workspace associated with the audit log."},"created_at":{"type":"string","example":"2021-07-09T00:00:00Z","x-nullable":false,"description":"The date and time, in UTC, the audit log was created. ISO 8601 Formatted."},"changed_values":{"type":"object","x-nullable":false,"description":"The changed values of the object."},"unchanged_values":{"type":"object","x-nullable":false,"description":"The unchanged values of the object."}},"required":["token","object_token","object_type","object_title","event","source","created_at","changed_values","unchanged_values"],"description":"AuditLog model"},"BillingProfiles":{"type":"object","properties":{"links":{"$ref":"#/definitions/Links"},"billing_profiles":{"type":"array","items":{"$ref":"#/definitions/BillingProfile"}}},"required":["billing_profiles"],"description":"BillingProfiles model"},"BillingProfile":{"type":"object","properties":{"token":{"type":"string","x-nullable":false},"nickname":{"type":"string","x-nullable":false,"description":"Display name for the billing profile"},"created_at":{"type":"string","example":"2023-08-04T00:00:00Z","x-nullable":false,"description":"The date and time, in UTC, the billing profile was created. ISO 8601 formatted."},"updated_at":{"type":"string","example":"2023-08-04T00:00:00Z","x-nullable":false,"description":"The date and time, in UTC, the billing profile was last updated. ISO 8601 formatted."},"billing_information_attributes":{"$ref":"#/definitions/BillingInformation","description":"Billing address and contact information"},"business_information_attributes":{"$ref":"#/definitions/BusinessInformation","description":"Business-specific information and custom fields"},"banking_information_attributes":{"$ref":"#/definitions/BankingInformation","description":"Banking details for payments (MSP accounts only)"},"invoice_adjustment_attributes":{"$ref":"#/definitions/InvoiceAdjustment","description":"Invoice adjustments (taxes, fees, etc.)"},"managed_accounts_count":{"type":"string","x-nullable":false,"description":"Number of managed accounts using this billing profile"}},"required":["token","nickname","created_at","updated_at","billing_information_attributes","business_information_attributes","invoice_adjustment_attributes","managed_accounts_count"],"description":"BillingProfile model"},"BillingInformation":{"type":"object","properties":{"token":{"type":"string","x-nullable":false},"company_name":{"type":"string","x-nullable":true,"description":"Company name for billing"},"country_code":{"type":"string","x-nullable":true,"description":"ISO country code"},"address_line_1":{"type":"string","x-nullable":true,"description":"First line of billing address"},"address_line_2":{"type":"string","x-nullable":true,"description":"Second line of billing address"},"city":{"type":"string","x-nullable":true,"description":"City for billing address"},"state":{"type":"string","x-nullable":true,"description":"State or province for billing address"},"postal_code":{"type":"string","x-nullable":true,"description":"Postal or ZIP code"},"billing_email":{"type":"array","items":{"type":"string"},"x-nullable":true,"description":"Array of billing email addresses"}},"required":["token","company_name","country_code","address_line_1","address_line_2","city","state","postal_code","billing_email"]},"BusinessInformation":{"type":"object","properties":{"token":{"type":"string","x-nullable":false},"metadata":{"$ref":"#/definitions/BusinessInformationMetadata","description":"Business information metadata including custom fields"}},"required":["token"]},"BusinessInformationMetadata":{"type":"object","properties":{"custom_fields":{"type":"array","items":{"$ref":"#/definitions/BusinessInformationCustomField"},"description":"Array of custom field objects"}}},"BusinessInformationCustomField":{"type":"object","properties":{"name":{"type":"string","x-nullable":false,"description":"Custom field name"},"value":{"type":"string","x-nullable":true,"description":"Custom field value"}},"required":["name","value"]},"BankingInformation":{"type":"object","properties":{"token":{"type":"string","x-nullable":false},"bank_name":{"type":"string","x-nullable":true,"description":"Name of the bank"},"beneficiary_name":{"type":"string","x-nullable":true,"description":"Name of the account beneficiary"},"tax_id":{"type":"string","x-nullable":true,"description":"Tax identification number"},"secure_data":{"$ref":"#/definitions/BankingInformationSecureData","description":"Encrypted banking details (account numbers, routing info)"}},"required":["token","bank_name","beneficiary_name","tax_id"]},"BankingInformationSecureData":{"type":"object","properties":{"account_number":{"type":"string","x-nullable":true,"description":"Bank account number (US)"},"routing_number":{"type":"string","x-nullable":true,"description":"Bank routing number (US)"},"iban":{"type":"string","x-nullable":true,"description":"International Bank Account Number (EU)"},"swift_bic":{"type":"string","x-nullable":true,"description":"SWIFT/BIC code (EU)"}},"required":["account_number","routing_number","iban","swift_bic"]},"InvoiceAdjustment":{"type":"object","properties":{"token":{"type":"string","x-nullable":false},"adjustment_items":{"type":"array","items":{"$ref":"#/definitions/AdjustmentItem"},"description":"Array of adjustment items (taxes, fees, etc.)"}},"required":["token","adjustment_items"]},"AdjustmentItem":{"type":"object","properties":{"name":{"type":"string","x-nullable":false,"description":"Name of the adjustment (e.g., 'State Tax', 'Processing Fee')"},"adjustment_type":{"type":"string","enum":["charge","credit","discount"],"x-nullable":false,"description":"Type of adjustment"},"calculation_type":{"type":"string","enum":["fixed","percentage"],"x-nullable":false,"description":"How the adjustment is calculated"},"amount":{"type":"string","x-nullable":false,"description":"Amount or percentage value for the adjustment"}},"required":["name","adjustment_type","calculation_type","amount"]},"createBillingProfile":{"type":"object","properties":{"nickname":{"type":"string","description":"Display name for the billing profile"},"billing_information_attributes":{"type":"object","description":"Billing address and contact information","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"}}}},"business_information_attributes":{"type":"object","description":"Business information and custom fields","properties":{"token":{"type":"string"},"metadata":{"type":"object","description":"Business metadata including custom fields","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"}}}}}}}},"banking_information_attributes":{"type":"object","description":"Banking details (MSP accounts only)","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","description":"Encrypted banking details","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)"}}}}},"invoice_adjustment_attributes":{"type":"object","description":"Invoice adjustments (taxes, fees, etc.)","properties":{"token":{"type":"string"},"adjustment_items":{"type":"array","description":"Array of adjustment items","items":{"type":"object","properties":{"name":{"type":"string","description":"Name of the adjustment"},"adjustment_type":{"type":"string","description":"Type of adjustment","enum":["charge","credit","discount"],"default":"charge"},"calculation_type":{"type":"string","description":"How the adjustment is calculated","enum":["fixed","percentage"]},"amount":{"type":"number","format":"double","description":"Amount or percentage value"}},"required":["name","calculation_type","amount"]}}}}},"required":["nickname"],"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","description":"Billing address and contact information","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"}}}},"business_information_attributes":{"type":"object","description":"Business information and custom fields","properties":{"token":{"type":"string"},"metadata":{"type":"object","description":"Business metadata including custom fields","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"}}}}}}}},"banking_information_attributes":{"type":"object","description":"Banking details (MSP accounts only)","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","description":"Encrypted banking details","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)"}}}}},"invoice_adjustment_attributes":{"type":"object","description":"Invoice adjustments (taxes, fees, etc.)","properties":{"token":{"type":"string"},"adjustment_items":{"type":"array","description":"Array of adjustment items","items":{"type":"object","properties":{"name":{"type":"string","description":"Name of the adjustment"},"adjustment_type":{"type":"string","description":"Type of adjustment","enum":["charge","credit","discount"],"default":"charge"},"calculation_type":{"type":"string","description":"How the adjustment is calculated","enum":["fixed","percentage"]},"amount":{"type":"number","format":"double","description":"Amount or percentage value"}},"required":["name","calculation_type","amount"]}}}}},"description":"Update a billing profile (MSP invoicing required)."},"BillingRules":{"type":"object","properties":{"links":{"$ref":"#/definitions/Links"},"billing_rules":{"type":"array","items":{"$ref":"#/definitions/BillingRule"}}},"required":["billing_rules"],"description":"BillingRules model"},"BillingRule":{"type":"object","properties":{"token":{"type":"string","x-nullable":false},"title":{"type":"string","example":"Credit for Unused EC2 Instances","x-nullable":false,"description":"The title of the BillingRule."},"type":{"type":"string","example":"credit","x-nullable":false,"description":"The type of the BillingRule."},"start_date":{"type":"string","example":"2024-06-28T00:00:00Z","x-nullable":true,"description":"The start date of the BillingRule."},"end_date":{"type":"string","example":"2024-06-28T00:00:00Z","x-nullable":true,"description":"The end date of the BillingRule."},"apply_to_all":{"type":"boolean","example":true,"x-nullable":true,"description":"Whether the BillingRule applies to all future managed accounts."},"created_by_token":{"type":"string","example":"usr_1234","x-nullable":false,"description":"The token of the Creator of the BillingRule."},"created_at":{"type":"string","example":"2024-06-28T00:00:00Z","x-nullable":false,"description":"The date and time, in UTC, the BillingRule was created. ISO 8601 Formatted."},"service":{"type":"string","example":"AWS Cloudfront","x-nullable":true,"description":"The service for the BillingRule (Charge)."},"category":{"type":"string","example":"MSP Fee","x-nullable":true,"description":"The category for the BillingRule (Charge)."},"percentage":{"type":"string","example":"75.0","x-nullable":true,"description":"The percentage of the cost shown for the BillingRule (Adjustment)."},"charge_type":{"type":"string","example":"RIFee","x-nullable":true,"description":"The charge type for the BillingRule."},"sub_category":{"type":"string","example":"One-time","x-nullable":true,"description":"The subcategory for the BillingRule (Charge)."},"start_period":{"type":"string","example":"2024-05-01","x-nullable":true,"description":"The start period for the BillingRule (Charge)."},"amount":{"type":"string","example":"5000.25","x-nullable":true,"description":"The amount for the BillingRule (Charge)."},"sql_query":{"type":"string","example":"UPDATE costs SET costs.amount = costs.amount * 0.95","x-nullable":true,"description":"The SQL query for the BillingRule (Custom)."}},"required":["token","title","type","apply_to_all","created_by_token","created_at"],"description":"BillingRule model"},"createBillingRule":{"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","format":"double","description":"The percentage of the cost shown. Required for Adjustment rules. Example value: 75.0"},"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","format":"double","description":"The amount for the BillingRule. Required for Charge and Credit rules. Example value: 300"},"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"}},"required":["type","title"],"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","format":"double","description":"The percentage of the cost shown. Example value: 75.0"},"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","format":"double","description":"The credit amount for the BillingRule. Example value: 300"},"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":{"type":"object","properties":{"links":{"$ref":"#/definitions/Links"},"budget_alerts":{"type":"array","items":{"$ref":"#/definitions/BudgetAlert"}}},"required":["budget_alerts"],"description":"BudgetAlerts model"},"BudgetAlert":{"type":"object","properties":{"token":{"type":"string","x-nullable":false},"budget_tokens":{"type":"array","items":{"type":"string","example":["bdgt_22dc1ac6e000cd14","bdgt_e045e8d2c739cb2c"]},"x-nullable":false,"description":"The tokens for the Budgets that the Budget Alert is monitoring to trigger alerts on."},"created_at":{"type":"string","example":"2024-03-19T00:00:00Z","x-nullable":false,"description":"The date and time, in UTC, the Budget Alert was created. ISO 8601 Formatted."},"workspace_token":{"type":"string","x-nullable":true,"description":"The token for the Workspace the ResourceReport is a part of."},"user_token":{"type":"string","x-nullable":true,"description":"The token for the User who created this BudgetAlert."},"user_tokens":{"type":"array","items":{"type":"string","example":["usr_abcd1234","usr_efgh5678"]},"x-nullable":false,"description":"The Users that receive the alert."},"duration_in_days":{"type":"integer","format":"int32","x-nullable":true,"description":"The number of days from the start or end of the month to trigger the alert if the threshold is reached."},"threshold":{"type":"integer","format":"int32","example":75,"x-nullable":false,"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."},"period_to_track":{"type":"string","example":"start_of_the_month","x-nullable":true,"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."},"integration_provider":{"type":"string","example":"slack","x-nullable":true,"description":"The provider used for sending alerts. This must be configured in the console. Possible values are: slack, microsoft_graph."},"recipient_channels":{"type":"array","items":{"type":"string","example":["#budget-notifications","#finance"]},"x-nullable":true,"description":"The channels receiving the alerts. Requires an integration provider to be connected."}},"required":["token","budget_tokens","created_at","workspace_token","user_tokens","duration_in_days","threshold","period_to_track","recipient_channels"],"description":"BudgetAlert model"},"createBudgetAlert":{"type":"object","properties":{"budget_tokens":{"type":"array","description":"The tokens of the Budget that has the alert.","items":{"type":"string"}},"threshold":{"type":"integer","format":"int32","description":"The threshold amount that must be met for the alert to fire."},"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"}}},"required":["budget_tokens","threshold","duration_in_days"],"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","format":"int32","description":"The threshold amount that must be met for the alert to fire."},"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":{"type":"object","properties":{"links":{"$ref":"#/definitions/Links"},"budgets":{"type":"array","items":{"$ref":"#/definitions/Budget"}}},"required":["budgets"],"description":"Budgets model"},"Budget":{"type":"object","properties":{"token":{"type":"string","x-nullable":false},"name":{"type":"string","example":"Acme123 Budget","x-nullable":true,"description":"The name of the Budget."},"workspace_token":{"type":"string","x-nullable":false,"description":"The token for the Workspace the Budget is a part of."},"user_token":{"type":"string","x-nullable":true,"description":"The token for the User who created this Budget."},"created_by_token":{"type":"string","x-nullable":true,"description":"The token of the Creator of the Budget."},"cost_report_token":{"type":"string","x-nullable":true,"description":"The token of the Report associated with the Budget."},"created_at":{"type":"string","example":"2024-03-19T00:00:00Z","x-nullable":false,"description":"The date and time, in UTC, the Budget was created. ISO 8601 Formatted."},"budget_alert_tokens":{"type":"array","items":{"type":"string","example":["bdgt_alrt_c9cd4e1a7127461b"]},"x-nullable":false,"description":"The tokens of the BudgetAlerts associated with the Budget."},"child_budget_tokens":{"type":"array","items":{"type":"string","example":["bdgt_7303d69d4cfd5443"]},"x-nullable":false,"description":"The tokens of the child Budgets associated with the hierarchical Budget."},"periods":{"type":"array","items":{"$ref":"#/definitions/BudgetPeriod"},"description":"The budget periods associated with the Budget."},"performance":{"type":"array","items":{"$ref":"#/definitions/BudgetPerformance"},"description":"The historical performance of the Budget."}},"required":["token","name","workspace_token","created_at","budget_alert_tokens","child_budget_tokens","periods"],"description":"Budget model"},"BudgetPeriod":{"type":"object","properties":{"start_at":{"type":"string","example":"2024-03-19T00:00:00Z","x-nullable":false,"description":"The date and time, in UTC, the Budget was created. ISO 8601 Formatted."},"end_at":{"type":"string","example":"2024-03-19T00:00:00Z","x-nullable":false,"description":"The date and time, in UTC, the Budget was created. ISO 8601 Formatted."},"amount":{"type":"string","example":"100.00","x-nullable":false,"description":"The amount of the Budget Period as a string to ensure precision."}},"required":["start_at","end_at","amount"]},"BudgetPerformance":{"type":"object","properties":{"date":{"type":"string","example":"2024-03-19T00:00:00Z","x-nullable":false,"description":"The date and time, in UTC, the Budget was created. ISO 8601 Formatted."},"actual":{"type":"string","example":"2024-03-19T00:00:00Z","x-nullable":false,"description":"The date and time, in UTC, the Budget was created. ISO 8601 Formatted."},"amount":{"type":"string","example":"100.00","x-nullable":false,"description":"The amount of the Budget Period as a string to ensure precision."}},"required":["date","actual","amount"]},"createBudget":{"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":{"type":"object","properties":{"start_at":{"type":"string","format":"date","description":"The start date of the period."},"end_at":{"type":"string","format":"date","description":"The end date of the period.","x-nullable":true},"amount":{"type":"number","format":"double","description":"The amount of the period."}},"required":["start_at","amount"]}}},"required":["name"],"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":{"type":"object","properties":{"start_at":{"type":"string","format":"date","description":"The start date of the period."},"end_at":{"type":"string","format":"date","description":"The end date of the period.","x-nullable":true},"amount":{"type":"number","format":"double","description":"The amount of the period."}},"required":["start_at","amount"]}}},"description":"Update a Budget."},"BusinessMetrics":{"type":"object","properties":{"business_metrics":{"type":"array","items":{"$ref":"#/definitions/BusinessMetric"}}},"required":["business_metrics"],"description":"BusinessMetrics model"},"BusinessMetric":{"type":"object","properties":{"token":{"type":"string","example":"bsnss_mtrc_1234","x-nullable":false,"description":"The token of the BusinessMetric."},"title":{"type":"string","example":"Total Revenue","x-nullable":false,"description":"The title of the BusinessMetric."},"created_by_token":{"type":"string","example":"usr_1234","x-nullable":true,"description":"The token of the Creator of the BusinessMetric."},"cost_report_tokens_with_metadata":{"type":"array","items":{"$ref":"#/definitions/AttachedCostReportForBusinessMetric"},"description":"The tokens for any CostReports that use the BusinessMetric, the unit scale, and label filter."},"import_type":{"type":"string","example":"datadog_metrics","enum":["datadog_metrics","cloudwatch","csv"],"x-nullable":true,"description":"The type of import for the BusinessMetric."},"integration_token":{"type":"string","x-nullable":true,"description":"The Integration token used to import the BusinessMetric."},"cloudwatch_fields":{"$ref":"#/definitions/CloudwatchFields","description":"The fields used to generate the cloudwatch metrics BusinessMetric."},"datadog_metric_fields":{"$ref":"#/definitions/DatadogMetricFields","description":"The fields used to generate the Datadog metrics for BusinessMetric."}},"required":["token","title","cost_report_tokens_with_metadata","import_type","integration_token"],"description":"BusinessMetric model"},"AttachedCostReportForBusinessMetric":{"type":"object","properties":{"cost_report_token":{"type":"string","example":"rprt_1234","x-nullable":true,"description":"The token of the CostReport the BusinessMetric is attached to."},"unit_scale":{"type":"string","example":"per_hundred","enum":["per_unit","per_hundred","per_thousand","per_million","per_billion"],"x-nullable":false,"description":"Determines the scale of the BusinessMetric's values within a particular CostReport."},"label_filter":{"type":"array","items":{"type":"string","example":["label_1","label_2"]},"x-omitempty":true,"x-nullable":true,"description":"The labels that the BusinessMetric is filtered by within a particular CostReport."}},"required":["cost_report_token","unit_scale"]},"CloudwatchFields":{"type":"object","properties":{"stat":{"type":"string","example":"Average","enum":["Sum","Average","Minimum","Maximum"],"x-nullable":false,"description":"The time aggregation function used to import Cloudwatch metrics."},"region":{"type":"string","example":"us-east-1","x-nullable":false,"description":"The region used to import Cloudwatch metrics."},"namespace":{"type":"string","example":"AWS/EC2","x-nullable":false,"description":"The namespace used to import Cloudwatch metrics."},"metric_name":{"type":"string","example":"CPUUtilization","x-nullable":false,"description":"The metric name used to import Cloudwatch metrics."},"dimensions":{"type":"array","items":{"$ref":"#/definitions/CloudwatchDimension"},"description":"The dimensions used to pull specific statistical data for Cloudwatch metrics."},"label_dimension":{"type":"string","x-nullable":true,"description":"The dimension used to aggregate the Cloudwatch metrics."}},"required":["stat","region","namespace","metric_name","dimensions","label_dimension"]},"CloudwatchDimension":{"type":"object","properties":{"name":{"type":"string","x-nullable":false},"value":{"type":"string","x-nullable":false}},"required":["name","value"]},"DatadogMetricFields":{"type":"object","properties":{"query":{"type":"string","example":"sum:aws.applicationelb.request_count{region:us-east-1}.rollup(avg,daily)","x-nullable":false,"description":"The query used to import Datadog metrics."}},"required":["query"]},"BusinessMetricValues":{"type":"object","properties":{"values":{"type":"array","items":{"$ref":"#/definitions/BusinessMetricValue"}}},"required":["values"],"description":"BusinessMetricValues model"},"BusinessMetricValue":{"type":"object","properties":{"date":{"type":"string","example":"2024-03-01+00:00","x-nullable":false,"description":"The date of the Business Metric Value. ISO 8601 formatted."},"amount":{"type":"string","example":"100.00","x-nullable":false,"description":"The amount of the Business Metric Value as a string to ensure precision."},"label":{"type":"string","example":"Cost Center A","x-nullable":true,"description":"The label of the Business Metric Value."}},"required":["date","amount"]},"createBusinessMetric":{"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":{"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.","enum":["per_unit","per_hundred","per_thousand","per_million","per_billion"],"default":"per_unit"},"label_filter":{"type":"array","description":"Include only values with these labels in the CostReport.","items":{"type":"string"}}},"required":["cost_report_token"]}},"values":{"type":"array","description":"The dates, amounts, and (optional) labels for the BusinessMetric.","items":{"type":"object","properties":{"date":{"type":"string","format":"date-time"},"amount":{"type":"number","format":"double"},"label":{"type":"string","x-nullable":true}},"required":["date","amount"]},"x-omitempty":true},"forecasted_values":{"type":"array","description":"The dates, amounts, and (optional) labels for forecasted BusinessMetric values.","items":{"type":"object","properties":{"date":{"type":"string","format":"date-time"},"amount":{"type":"number","format":"double"},"label":{"type":"string","x-nullable":true}},"required":["date","amount"]},"x-omitempty":true},"datadog_metric_fields":{"type":"object","description":"Datadog metric configuration fields","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)"}}},"cloudwatch_fields":{"type":"object","description":"Cloudwatch configuration fields.","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"}}}}}}},"required":["title"],"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":{"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.","enum":["per_unit","per_hundred","per_thousand","per_million","per_billion"],"default":"per_unit"},"label_filter":{"type":"array","description":"Include only values with these labels in the CostReport.","items":{"type":"string"}}},"required":["cost_report_token"]}},"values":{"type":"array","description":"The dates, amounts, and (optional) labels for the BusinessMetric.","items":{"type":"object","properties":{"date":{"type":"string","format":"date-time"},"amount":{"type":"number","format":"double"},"label":{"type":"string","x-nullable":true}},"required":["date","amount"]},"x-omitempty":true},"forecasted_values":{"type":"array","description":"The dates, amounts, and (optional) labels for forecasted BusinessMetric values.","items":{"type":"object","properties":{"date":{"type":"string","format":"date-time"},"amount":{"type":"number","format":"double"},"label":{"type":"string","x-nullable":true}},"required":["date","amount"]},"x-omitempty":true},"datadog_metric_fields":{"type":"object","description":"Datadog metric configuration fields","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)"}}},"cloudwatch_fields":{"type":"object","description":"Cloudwatch configuration fields.","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":"Updates an existing BusinessMetric."},"CostAlertEvents":{"type":"object","properties":{"links":{"$ref":"#/definitions/Links"},"cost_alert_events":{"type":"array","items":{"$ref":"#/definitions/CostAlertEvent"}}},"required":["cost_alert_events"],"description":"CostAlertEvents model"},"CostAlertEvent":{"type":"object","properties":{"token":{"type":"string","x-nullable":false},"created_at":{"type":"string","example":"2021-07-09T00:00:00Z","x-nullable":false,"description":"The date and time, in UTC, the CostAlertEvent was created. ISO 8601 Formatted."},"triggered_at":{"type":"string","example":"2021-07-09T00:00:00Z","x-nullable":false,"description":"The date and time, in UTC, the CostAlertEvent is sent. ISO 8601 Formatted."},"description":{"type":"string","x-nullable":false,"description":"The description of the CostAlertEvent."},"alert_type":{"type":"string","x-nullable":false,"description":"The type of the CostAlertEvent."},"metadata":{"type":"object","x-nullable":false,"description":"The metadata of the CostAlertEvent."},"report_token":{"type":"string","x-nullable":false,"description":"The token of the report associated with the CostAlertEvent."},"alert_token":{"type":"string","x-nullable":false,"description":"The token of the alert associated with the CostAlertEvent."}},"required":["token","created_at","triggered_at","description","alert_type","metadata","report_token","alert_token"],"description":"CostAlertEvent model"},"CostAlerts":{"type":"object","properties":{"links":{"$ref":"#/definitions/Links"},"cost_alerts":{"type":"array","items":{"$ref":"#/definitions/CostAlert"}}},"required":["cost_alerts"],"description":"CostAlerts model"},"CostAlert":{"type":"object","properties":{"token":{"type":"string","x-nullable":false},"title":{"type":"string","x-nullable":false},"email_recipients":{"type":"array","items":{"type":"string"},"x-nullable":false,"description":"The email addresses that will receive the alert."},"slack_channels":{"type":"array","items":{"type":"string"},"x-nullable":false,"description":"The Slack channels that will receive the alert. Make sure your slack integration is connected at https://console.vantage.sh/settings/slack."},"teams_channels":{"type":"array","items":{"type":"string"},"x-nullable":false,"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."},"created_at":{"type":"string","example":"2023-10-01T12:00:00Z","x-nullable":false,"description":"The date and time, in UTC, for when the alert was created. ISO 8601 Formatted."},"updated_at":{"type":"string","example":"2023-10-01T12:00:00Z","x-nullable":false,"description":"The date and time, in UTC, for when the alert was last updated. ISO 8601 Formatted."},"workspace_token":{"type":"string","x-nullable":false,"description":"The ID of the organization that owns the CostAlert."},"interval":{"type":"string","x-nullable":false,"description":"The period of time used to compare costs. Options are 'day', 'week', 'month', 'quarter'."},"threshold":{"type":"number","x-nullable":false,"description":"The cost change threshold to alert on."},"unit_type":{"type":"string","x-nullable":false,"description":"The unit type used to compare costs. Options are 'currency' or 'percentage'."},"minimum_threshold":{"type":"number","x-nullable":true,"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."},"report_tokens":{"type":"array","items":{"type":"string"},"x-nullable":false,"description":"The tokens of the reports to alert on."}},"required":["token","title","email_recipients","slack_channels","teams_channels","created_at","updated_at","workspace_token","interval","threshold","unit_type","minimum_threshold","report_tokens"],"description":"CostAlert model"},"createCostAlert":{"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","format":"float","description":"The threshold value for the Cost Alert."},"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","format":"float","description":"The minimum monetary amount threshold for percentage-based alerts. Only applicable when unit_type is 'percentage'."}},"required":["title","interval","threshold","unit_type","workspace_token","report_tokens"],"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","format":"float","description":"The threshold value for the Cost Alert."},"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","format":"float","description":"The minimum monetary amount threshold for percentage-based alerts. Only applicable when unit_type is 'percentage'."}},"description":"Update a Cost Alert"},"CostProviderAccounts":{"type":"object","properties":{"links":{"$ref":"#/definitions/Links"},"cost_provider_accounts":{"type":"array","items":{"$ref":"#/definitions/CostProviderAccount"}}},"required":["cost_provider_accounts"],"description":"CostProviderAccounts model"},"CostProviderAccount":{"type":"object","properties":{"title":{"type":"string","example":"Production Account","x-nullable":false,"description":"The display name of the provider account."},"account_id":{"type":"string","example":"123456789012","x-nullable":false,"description":"The provider account identifier (e.g., AWS account ID, Azure subscription ID)."},"provider_uuid":{"type":"string","example":"arn:aws:organizations::123456789012:account/o-example12345/123456789012","x-nullable":false,"description":"The provider-specific unique identifier."},"provider":{"type":"string","example":"aws","x-nullable":false,"description":"The provider type (aws, azure, gcp, etc.)."}},"required":["title","account_id","provider_uuid","provider"]},"CostReports":{"type":"object","properties":{"links":{"$ref":"#/definitions/Links"},"cost_reports":{"type":"array","items":{"$ref":"#/definitions/CostReport"}}},"required":["cost_reports"],"description":"CostReports model"},"CostReport":{"type":"object","properties":{"token":{"type":"string","x-nullable":false},"title":{"type":"string","example":"Production Environment","x-nullable":false,"description":"The title of the CostReport."},"folder_token":{"type":"string","x-nullable":true,"description":"The token for the Folder the CostReport is a part of."},"saved_filter_tokens":{"type":"array","items":{"type":"string"},"x-nullable":true,"description":"The tokens for the SavedFilters assigned to the CostReport."},"business_metric_tokens_with_metadata":{"type":"array","items":{"$ref":"#/definitions/AttachedBusinessMetricForCostReport"},"description":"The tokens for the BusinessMetrics assigned to the CostReport, the unit scale, and label filter."},"filter":{"type":"string","x-nullable":true,"description":"The filter applied to the CostReport. Additional documentation available at https://docs.vantage.sh/vql."},"groupings":{"type":"string","example":"provider, service","x-nullable":true,"description":"The grouping aggregations applied to the filtered data."},"settings":{"type":"object","properties":{"include_credits":{"type":"boolean","default":false,"x-nullable":true,"description":"Report will include credits."},"include_refunds":{"type":"boolean","default":false,"x-nullable":true,"description":"Report will include refunds."},"include_discounts":{"type":"boolean","default":true,"x-nullable":true,"description":"Report will include discounts."},"include_tax":{"type":"boolean","default":true,"x-nullable":true,"description":"Report will include tax."},"amortize":{"type":"boolean","default":true,"x-nullable":true,"description":"Report will amortize."},"unallocated":{"type":"boolean","default":false,"x-nullable":true,"description":"Report will show unallocated costs."},"aggregate_by":{"type":"string","default":"cost","x-nullable":true,"description":"Report will aggregate by cost or usage."},"show_previous_period":{"type":"boolean","default":true,"x-nullable":true,"description":"Report will show previous period costs or usage comparison."},"complete_period":{"type":"boolean","default":false,"x-nullable":true,"description":"Report will restrict date ranges to completed periods only."}},"description":"Report settings."},"created_at":{"type":"string","example":"2021-07-09T00:00:00Z","x-nullable":false,"description":"The date and time, in UTC, the report was created. ISO 8601 Formatted."},"workspace_token":{"type":"string","x-nullable":false,"description":"The token for the Workspace the CostReport is a part of."},"previous_period_start_date":{"type":"string","example":"2024-06-01","x-nullable":true,"description":"The previous period start date of the CostReport. ISO 8601 Formatted."},"previous_period_end_date":{"type":"string","example":"2024-06-15","x-nullable":true,"description":"The previous period end date of the CostReport. ISO 8601 Formatted."},"start_date":{"type":"string","example":"2024-07-01","x-nullable":true,"description":"The start date of the CostReports. ISO 8601 Formatted. Overwrites 'date_interval' if set."},"end_date":{"type":"string","example":"2024-07-15","x-nullable":true,"description":"The end date of the CostReports. ISO 8601 Formatted. Overwrites 'date_interval' if set."},"date_interval":{"type":"string","x-nullable":false,"description":"The date interval of the CostReport."},"chart_type":{"type":"string","x-nullable":false,"description":"The chart type of the CostReport."},"date_bin":{"type":"string","x-nullable":false,"description":"The date bin of the CostReport."},"chart_settings":{"$ref":"#/definitions/ChartSettings","description":"The chart settings of the CostReport."}},"required":["token","title","business_metric_tokens_with_metadata","filter","created_at","workspace_token","date_interval","chart_type","date_bin","chart_settings"],"description":"CostReport model"},"AttachedBusinessMetricForCostReport":{"type":"object","properties":{"business_metric_token":{"type":"string","example":"bsnss_mtrc_1234","x-nullable":false,"description":"The token of the BusinessMetric that's attached to the CostReport."},"unit_scale":{"type":"string","example":"per_hundred","enum":["per_unit","per_hundred","per_thousand","per_million","per_billion"],"x-nullable":false,"description":"Determines the scale of the BusinessMetric's values within a particular CostReport."},"label_filter":{"type":"array","items":{"type":"string","example":["label_1","label_2"]},"x-omitempty":true,"x-nullable":true,"description":"The labels that the BusinessMetric is filtered by within a particular CostReport."}},"required":["business_metric_token","unit_scale"]},"ChartSettings":{"type":"object","properties":{"y_axis_dimension":{"type":"string","x-nullable":false,"description":"The metric or measure displayed on the chart’s y-axis. Possible values: 'cost', 'usage'. Defaults to 'cost'."},"x_axis_dimension":{"type":"array","items":{"type":"string"},"x-nullable":false,"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']."}},"required":["y_axis_dimension","x_axis_dimension"]},"ForecastedCosts":{"type":"object","properties":{"links":{"$ref":"#/definitions/Links"},"forecasted_costs":{"type":"array","items":{"$ref":"#/definitions/ForecastedCost"}},"currency":{"type":"string","example":"USD","x-nullable":true,"description":"The currency of the forecasted costs."}},"required":["forecasted_costs","currency"],"description":"ForecastedCosts model"},"ForecastedCost":{"type":"object","properties":{"links":{"$ref":"#/definitions/Links"},"date":{"type":"string","example":"2035-09-05+00:00","x-nullable":false,"description":"The date the forecasted cost is projected to accrue. ISO 8601 Formatted."},"amount":{"type":"string","example":"4.25","x-nullable":false,"description":"The amount of the forecasted cost."},"provider":{"type":"string","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"],"x-nullable":false,"description":"The cost provider which incurred the cost. Will be 'all' for all combined providers."},"service":{"type":"string","example":"Amazon Elastic Compute Cloud - Compute","x-nullable":false,"description":"The service for the forecasted cost. Will be 'all' for all combined services"}},"required":["date","amount","provider","service"]},"createCostReport":{"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":{"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.","enum":["per_unit","per_hundred","per_thousand","per_million","per_billion"],"default":"per_unit"},"label_filter":{"type":"array","description":"Include only values with these labels in the CostReport.","items":{"type":"string"}}},"required":["business_metric_token"]}},"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","description":"Report settings.","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}}},"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.","enum":["area","line","pie","bar","multi_bar"],"default":"line"},"date_bin":{"type":"string","description":"The date bin of the CostReport.","enum":["cumulative","day","week","month","quarter","hour"],"default":"cumulative"},"chart_settings":{"type":"object","description":"Report chart settings.","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'."}}}},"required":["title","previous_period_end_date","end_date"],"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":{"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.","enum":["per_unit","per_hundred","per_thousand","per_million","per_billion"],"default":"per_unit"},"label_filter":{"type":"array","description":"Include only values with these labels in the CostReport.","items":{"type":"string"}}},"required":["business_metric_token"]}},"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","description":"Report settings.","properties":{"include_credits":{"type":"boolean","description":"Report will include credits.","x-nullable":true},"include_refunds":{"type":"boolean","description":"Report will include refunds.","x-nullable":true},"include_discounts":{"type":"boolean","description":"Report will include discounts.","x-nullable":true},"include_tax":{"type":"boolean","description":"Report will include tax.","x-nullable":true},"amortize":{"type":"boolean","description":"Report will amortize.","x-nullable":true},"unallocated":{"type":"boolean","description":"Report will show unallocated costs.","x-nullable":true},"aggregate_by":{"type":"string","description":"Report will aggregate by cost or usage.","x-nullable":true},"show_previous_period":{"type":"boolean","description":"Report will show previous period costs or usage comparison.","x-nullable":true},"complete_period":{"type":"boolean","description":"Report will restrict date ranges to completed periods only."}}},"chart_settings":{"type":"object","description":"Report chart settings.","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'."}}},"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.","enum":["area","line","pie","bar","multi_bar"],"default":"line"},"date_bin":{"type":"string","description":"The date bin of the CostReport.","enum":["cumulative","day","week","month","quarter","hour"],"default":"cumulative"}},"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.","enum":["vntg","focus","comparison"],"default":"vntg"},"settings":{"type":"object","description":"Cost-related settings.","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":"Generate a DataExport of costs."},"Costs":{"type":"object","properties":{"links":{"$ref":"#/definitions/Links"},"total_cost":{"$ref":"#/definitions/CostPartial","description":"The sum of all costs for the CostReport for the requested period, rounded to 2 decimal places, alongside the ISO 4217 currency code."},"total_usage":{"type":"array","items":{"$ref":"#/definitions/UsagePartial"},"description":"The sum of all usage for the CostReport for the requested period, rounded to 2 decimal places, grouped by usage unit."},"costs":{"type":"array","items":{"$ref":"#/definitions/Cost"}}},"required":["total_cost","costs"],"description":"Costs model"},"CostPartial":{"type":"object","properties":{"amount":{"type":"string","example":"4.25","x-nullable":false,"description":"The amount of the cost."},"currency":{"type":"string","example":"USD","x-nullable":false,"description":"The currency of the cost."}},"required":["amount","currency"]},"UsagePartial":{"type":"object","properties":{"amount":{"type":"string","example":"4.25","x-nullable":false,"description":"The sum of the usage."},"unit":{"type":"string","example":"USD","x-nullable":false,"description":"The unit of the usage."}},"required":["amount","unit"]},"Cost":{"type":"object","properties":{"links":{"$ref":"#/definitions/Links"},"accrued_at":{"type":"string","example":"2023-09-05+00:00","x-nullable":false,"description":"The date the cost was accrued. ISO 8601 Formatted."},"amount":{"type":"string","example":"4.25","x-nullable":false,"description":"The amount of the cost."},"currency":{"type":"string","example":"USD","x-nullable":false,"description":"The currency of the cost."},"usage":{"type":"object","x-nullable":true,"description":"The usage amount and unit incurred by the cost."},"provider":{"type":"string","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"],"x-nullable":true,"description":"The cost provider which incurred the cost."},"billing_account_id":{"type":"string","example":"9109237192","x-nullable":true,"description":"The cost provider's billing account id that incurred the cost."},"account_id":{"type":"string","example":"9109237192","x-nullable":true,"description":"The cost provider's account id that incurred the cost."},"service":{"type":"string","example":"Amazon Elastic Compute Cloud - Compute","x-nullable":true,"description":"The service which incurred the cost."},"region":{"type":"string","example":"us-east-1","x-nullable":true,"description":"The region which incurred the cost."},"resource_id":{"type":"string","example":"arn:aws:ec2:us-east-1:123456789012:instance/i-1234567890abcdef0","x-nullable":true,"description":"The resource id which incurred the cost."},"tag":{"type":"string","example":"production","x-nullable":true,"description":"The tag attached to the cost that was incurred.\nDEPRECATED: does not support multiple tags."},"tags":{"type":"array","items":{"type":"string","example":["environment:production","aws:ecs:serviceName:frontend"]},"x-nullable":true,"description":"The tag pairs attached to the cost that was incurred."},"cost_category":{"type":"string","example":"Data Transfer","x-nullable":true,"description":"The category for the cost."},"cost_subcategory":{"type":"string","example":"DataTransfer-Regional-Bytes","x-nullable":true,"description":"The subcategory for the cost."},"segment":{"type":"string","example":"Engineering","x-nullable":true,"description":"The segment name for segment report costs."}},"required":["accrued_at","amount","currency"],"description":"Cost model"},"Dashboards":{"type":"object","properties":{"links":{"$ref":"#/definitions/Links"},"dashboards":{"type":"array","items":{"$ref":"#/definitions/Dashboard"}}},"required":["dashboards"],"description":"Dashboards model"},"Dashboard":{"type":"object","properties":{"token":{"type":"string","example":"dshbrd_abcd1234567890","x-nullable":false},"title":{"type":"string","example":"AWS Dashboard","x-nullable":false,"description":"The title of the Dashboard."},"widgets":{"type":"array","items":{"$ref":"#/definitions/DashboardWidget"}},"saved_filter_tokens":{"type":"array","items":{"type":"string"},"x-nullable":false,"description":"The tokens of the Saved Filters used in the Dashboard."},"date_bin":{"type":"string","enum":["cumulative","day","week","month"],"x-nullable":true,"description":"Determines how to group costs in the Dashboard."},"date_interval":{"type":"string","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-nullable":true,"description":"Determines the date range for Reports in the Dashboard. Guaranteed to be set to 'custom' if 'start_date' and 'end_date' are set."},"start_date":{"type":"string","example":"2023-08-04","x-nullable":true,"description":"The start date for the date range for Reports in the Dashboard. ISO 8601 Formatted. Overwrites 'date_interval' if set."},"end_date":{"type":"string","example":"2023-09-04","x-nullable":true,"description":"The end date for the date range for Reports in the Dashboard. ISO 8601 Formatted. Overwrites 'date_interval' if set."},"created_at":{"type":"string","example":"2023-08-04T00:00:00Z","x-nullable":false,"description":"The date and time, in UTC, the Dashboard was created. ISO 8601 Formatted."},"updated_at":{"type":"string","example":"2023-08-04T00:00:00Z","x-nullable":false,"description":"The date and time, in UTC, the Dashboard was created. ISO 8601 Formatted."},"workspace_token":{"type":"string","example":"wrkspc_abcd1234567890","x-nullable":false,"description":"The token for the Workspace the Dashboard is a part of."}},"required":["token","title","widgets","saved_filter_tokens","date_bin","date_interval","created_at","updated_at","workspace_token"],"description":"Dashboard model"},"DashboardWidget":{"type":"object","properties":{"widgetable_token":{"type":"string","example":"rprt_a12b3c","x-nullable":false},"title":{"type":"string","example":"My Widget","x-nullable":false,"description":"The title of the Widget."},"settings":{"$ref":"#/definitions/DashboardWidgetSettings","description":"The settings for the DashboardWidget"}},"required":["widgetable_token","title","settings"]},"DashboardWidgetSettings":{"type":"object","properties":{"display_type":{"type":"string","enum":["table","chart"],"x-nullable":false}},"required":["display_type"]},"createDashboard":{"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":{"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":{"type":"object","description":"The settings for the DashboardWidget.","properties":{"display_type":{"type":"string","enum":["table","chart"]}},"required":["display_type"]}},"required":["widgetable_token"]}},"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."}},"required":["title"],"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":{"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":{"type":"object","description":"The settings for the DashboardWidget.","properties":{"display_type":{"type":"string","enum":["table","chart"]}},"required":["display_type"]}},"required":["widgetable_token"]}},"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":{"type":"object","properties":{"token":{"type":"string","example":"dta_xprt_abcd1234567890","x-nullable":false},"status":{"type":"string","example":"pending","x-nullable":false},"created_at":{"type":"string","example":"2025-03-20T12:00:00Z","x-nullable":false},"export_type":{"type":"string","example":"cost_report","x-nullable":false},"manifest":{"$ref":"#/definitions/DataExportManifest"},"attributes":{"type":"object","x-nullable":false}},"required":["token","status","created_at","export_type","manifest","attributes"],"description":"DataExport model"},"DataExportManifest":{"type":"object","properties":{"files":{"type":"array","items":{"type":"string","example":["https://example.com/file1.csv"]},"x-nullable":false},"completed_at":{"type":"string","example":"2025-03-20T12:00:00Z","x-nullable":true},"valid_until":{"type":"string","example":"2025-03-20T12:00:00Z","x-nullable":true}},"required":["files","completed_at","valid_until"]},"ExchangeRates":{"type":"object","properties":{"links":{"$ref":"#/definitions/Links"},"exchange_rates":{"type":"array","items":{"$ref":"#/definitions/exchange_rate"}}},"required":["exchange_rates"],"description":"ExchangeRates model"},"exchange_rate":{"type":"object","properties":{"base_currency_code":{"type":"string"},"currency_code":{"type":"string"},"rate":{"type":"string"},"effective_date":{"type":"string"},"updated_at":{"type":"string"}},"required":["base_currency_code","currency_code","rate","effective_date","updated_at"]},"FinancialCommitmentReports":{"type":"object","properties":{"links":{"$ref":"#/definitions/Links"},"financial_commitment_reports":{"type":"array","items":{"$ref":"#/definitions/FinancialCommitmentReport"}}},"required":["financial_commitment_reports"],"description":"FinancialCommitmentReports model"},"FinancialCommitmentReport":{"type":"object","properties":{"token":{"type":"string","x-nullable":false},"title":{"type":"string","example":"Acme123 Financial Commitment Report","x-nullable":false,"description":"The title of the FinancialCommitmentReport."},"default":{"type":"boolean","x-nullable":false,"description":"Indicates whether the FinancialCommitmentReport is the default report."},"created_at":{"type":"string","example":"2024-03-19T00:00:00Z","x-nullable":false,"description":"The date and time, in UTC, the report was created. ISO 8601 Formatted."},"workspace_token":{"type":"string","x-nullable":false,"description":"The token for the Workspace the FinancialCommitmentReport is a part of."},"user_token":{"type":"string","x-nullable":true,"description":"The token for the User who created this FinancialCommitmentReport."},"start_date":{"type":"string","example":"2024-03-01","x-nullable":true,"description":"The start date for the FinancialCommitmentReport. Only set for custom date ranges. ISO 8601 Formatted."},"end_date":{"type":"string","example":"2024-03-20","x-nullable":true,"description":"The end date for the FinancialCommitmentReport. Only set for custom date ranges. ISO 8601 Formatted."},"date_interval":{"type":"string","example":"last_month","x-nullable":true,"description":"The date range for the FinancialCommitmentReport. Only present if a custom date range is not specified."},"date_bucket":{"type":"string","example":"month","x-nullable":false,"description":"How costs are grouped and displayed in the FinancialCommitmentReport. Possible values: day, week, month."},"groupings":{"type":"string","example":"cost_type, tag:account","x-nullable":true,"description":"The grouping aggregations applied to the filtered data."},"on_demand_costs_scope":{"type":"string","example":"discountable","x-nullable":false,"description":"The scope for the costs. Possible values: discountable, all."},"filter":{"type":"string","x-nullable":true,"description":"The filter applied to the FinancialCommitmentReport. Additional documentation available at https://docs.vantage.sh/vql."}},"required":["token","title","default","created_at","workspace_token","start_date","end_date","date_interval","date_bucket","groupings","on_demand_costs_scope","filter"],"description":"FinancialCommitmentReport model"},"createFinancialCommitmentReport":{"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","format":"date","description":"The start date of the FinancialCommitmentReport. YYYY-MM-DD formatted. Incompatible with 'date_interval' parameter.","example":"2024-03-01"},"end_date":{"type":"string","format":"date","description":"The end date of the FinancialCommitmentReport. YYYY-MM-DD formatted. Incompatible with 'date_interval' parameter.","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"}}},"required":["workspace_token","title"],"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","format":"date","description":"The start date of the FinancialCommitmentReport. YYYY-MM-DD formatted. Incompatible with 'date_interval' parameter.","example":"2024-03-01"},"end_date":{"type":"string","format":"date","description":"The end date of the FinancialCommitmentReport. YYYY-MM-DD formatted. Incompatible with 'date_interval' parameter.","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":{"type":"object","properties":{"links":{"$ref":"#/definitions/Links"},"financial_commitments":{"type":"array","items":{"$ref":"#/definitions/FinancialCommitment"}}},"required":["financial_commitments"],"description":"FinancialCommitments model"},"FinancialCommitment":{"type":"object","properties":{"commitment_type":{"type":"string","example":"Savings Plan","x-nullable":false,"description":"The commitment type (eg Savings Plan or Reserved Instance)."},"service":{"type":"string","example":"Compute","x-nullable":false,"description":"The service this commitment applies towards."},"account":{"type":"string","example":"113074892135","x-nullable":false,"description":"The account for this financial commitment."},"type":{"type":"string","example":"m5.large","x-nullable":false,"description":"The type of financial commitment."},"amount":{"type":"integer","format":"int32","example":4,"x-nullable":true,"description":"The number of instances for the financial commitment."},"term":{"type":"string","example":"3 Year","x-nullable":true,"description":"The duration in years of the financial commitment."},"payment_type":{"type":"string","example":"No upfront","x-nullable":true,"description":"The type of payment for the financial commitment."},"region":{"type":"string","example":"us-east-1","x-nullable":true,"description":"The region for the financial commitment."},"purchase_date":{"type":"string","example":"2023-08-30","x-nullable":false,"description":"The purchase date of the financial commitment. ISO 8601 Formatted."},"expiration_date":{"type":"string","example":"2026-08-30","x-nullable":false,"description":"The expiration date of the financial commitment. ISO 8601 Formatted."},"commitment":{"type":"string","example":"$2.18","x-nullable":false,"description":"The amount of the financial commitment."},"status":{"type":"string","example":"active","x-nullable":true,"description":"The status of the financial commitment (e.g. active vs expired)."},"created_at":{"type":"string","example":"2024-03-19T00:00:00Z","x-nullable":false,"description":"The date and time, in UTC, the Financial Commitment was created. ISO 8601 Formatted."},"workspace_token":{"type":"string","x-nullable":false,"description":"The token for the Workspace the FinancialCommitment is a part of."}},"required":["commitment_type","service","account","type","amount","term","payment_type","region","purchase_date","expiration_date","commitment","status","created_at","workspace_token"]},"Folders":{"type":"object","properties":{"links":{"$ref":"#/definitions/Links"},"folders":{"type":"array","items":{"$ref":"#/definitions/Folder"}}},"required":["folders"],"description":"Folders model"},"Folder":{"type":"object","properties":{"token":{"type":"string","x-nullable":false},"title":{"type":"string","example":"Platform Team Reports","x-nullable":true,"description":"The title of the Folder."},"type":{"type":"string","x-nullable":false,"description":"The type of the Folder."},"parent_folder_token":{"type":"string","x-nullable":true,"description":"The token for the parent Folder, if any."},"saved_filter_tokens":{"type":"array","items":{"type":"string"},"x-nullable":false,"description":"The tokens for the SavedFilters assigned to the Folder."},"created_at":{"type":"string","example":"2023-08-04T00:00:00Z","x-nullable":false,"description":"The date and time, in UTC, the Folder was created. ISO 8601 Formatted."},"updated_at":{"type":"string","example":"2023-08-04T00:00:00Z","x-nullable":false,"description":"The date and time, in UTC, the Folder was last updated at. ISO 8601 Formatted."},"workspace_token":{"type":"string","x-nullable":false,"description":"The token for the Workspace the Folder is a part of."}},"required":["token","title","type","saved_filter_tokens","created_at","updated_at","workspace_token"],"description":"Folder model"},"createFolder":{"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.","enum":["CostFolder","ProviderResourceFolder"],"default":"CostFolder"}},"required":["title"],"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":{"type":"object","properties":{"links":{"$ref":"#/definitions/Links"},"integrations":{"type":"array","items":{"$ref":"#/definitions/Integration"}}},"required":["integrations"],"description":"Integrations model"},"Integration":{"type":"object","properties":{"token":{"type":"string","x-nullable":false},"provider":{"type":"string","example":"AWS","x-nullable":false,"description":"The name of the Integration."},"account_identifier":{"type":"string","example":"011389-EF4C3E-3ED7AE","x-nullable":true,"description":"The account identifier. For GCP this is the billing Account ID, for Azure this is the account ID"},"status":{"type":"string","example":"imported","enum":["connected","error","pending","importing","imported","disconnected"],"x-nullable":false,"description":"The status of the Integration. Can be 'connected', 'error', 'pending', 'importing', 'imported', or 'disconnected'."},"last_updated":{"type":"string","example":"2023-08-04T00:00:00Z","x-nullable":true,"description":"The date and time, in UTC, when the Integration was last updated. ISO 8601 Formatted."},"workspace_tokens":{"type":"array","items":{"type":"string"},"x-nullable":false,"description":"The tokens for any Workspaces that the account belongs to."},"created_at":{"type":"string","example":"2023-08-04T00:00:00Z","x-nullable":false,"description":"The date and time, in UTC, the Integration was created. ISO 8601 Formatted."},"managed_account_tokens":{"type":"array","items":{"type":"string"},"x-nullable":false,"description":"The tokens for any Managed Accounts that are associated with the Integration."}},"required":["token","provider","account_identifier","status","workspace_tokens","created_at","managed_account_tokens"],"description":"Integration model"},"createCustomProviderIntegration":{"type":"object","properties":{"name":{"type":"string","description":"Name of the Custom Provider Integration."},"description":{"type":"string","description":"Description of the Custom Provider Integration."}},"required":["name"],"description":"Create a Custom Provider Integration"},"UserCostsUpload":{"type":"object","properties":{"token":{"type":"string","example":"usr_csts_upld_1234","x-nullable":false,"description":"The token of the UserCostsUpload."},"filename":{"type":"string","example":"usr_csts_upld_1234.parquet","x-nullable":false,"description":"The filename of the uploaded costs UserCostsUpload."},"amount":{"type":"string","example":1234.56,"x-nullable":false,"description":"The total amount of the costs in the UserCostsUpload."},"start_date":{"type":"string","example":"2021-01-01","x-nullable":false,"description":"The start date of the costs in the UserCostsUpload."},"end_date":{"type":"string","example":"2021-01-31","x-nullable":false,"description":"The end date of the costs in the UserCostsUpload."},"import_status":{"type":"string","example":"processing","x-nullable":false,"description":"Import status of the UserCostsUpload."},"created_by_token":{"type":"string","example":"usr_1234","x-nullable":false,"description":"The token of the Creator of the UserCostsUpload."},"created_at":{"type":"string","example":"2021-01-01T00:00:00Z","x-nullable":false,"description":"When the UserCostsUpload was uploaded."}},"required":["token","filename","amount","start_date","end_date","import_status","created_by_token","created_at"],"description":"UserCostsUpload model"},"UserCostsUploads":{"type":"object","properties":{"links":{"$ref":"#/definitions/Links"},"user_costs_uploads":{"type":"array","items":{"$ref":"#/definitions/UserCostsUpload"}}},"required":["user_costs_uploads"],"description":"UserCostsUploads model"},"createGCPIntegration":{"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."}},"required":["billing_account_id","project_id","dataset_name"],"description":"Create a GCP Integration"},"createAzureIntegration":{"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."}},"required":["tenant","app_id","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":{"type":"object","properties":{"links":{"$ref":"#/definitions/Links"},"invoices":{"type":"array","items":{"$ref":"#/definitions/Invoice"}}},"required":["invoices"],"description":"Invoices model"},"Invoice":{"type":"object","properties":{"token":{"type":"string","x-nullable":false},"invoice_number":{"type":"string","x-nullable":false,"description":"Sequential invoice number for the MSP account"},"total":{"type":"string","x-nullable":true,"description":"Total amount for the invoice period"},"billing_period_start":{"type":"string","x-nullable":false,"description":"Start date of the billing period. ISO 8601 formatted."},"billing_period_end":{"type":"string","x-nullable":false,"description":"End date of the billing period. ISO 8601 formatted."},"status":{"type":"string","x-nullable":false,"description":"Current status of the invoice"},"created_at":{"type":"string","x-nullable":false,"description":"The date and time, in UTC, the invoice was created. ISO 8601 formatted."},"updated_at":{"type":"string","x-nullable":false,"description":"The date and time, in UTC, the invoice was last updated. ISO 8601 formatted."},"account_token":{"type":"string","x-nullable":false,"description":"Token of the managed account this invoice belongs to"},"account_name":{"type":"string","x-nullable":false,"description":"Name of the managed account this invoice belongs to"},"msp_account_token":{"type":"string","x-nullable":false,"description":"Token of the MSP account that owns this invoice"}},"required":["token","invoice_number","total","billing_period_start","billing_period_end","status","created_at","updated_at","account_token","account_name","msp_account_token"],"description":"Invoice model"},"createInvoice":{"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"}},"required":["billing_period_start","billing_period_end","account_token"],"description":"Create an invoice (MSP accounts only)."},"downloadInvoice":{"type":"object","properties":{"file_type":{"type":"string","description":"Type of file to download (pdf or csv)","enum":["pdf","csv"]}},"required":["file_type"],"description":"Download invoice file (PDF or CSV)."},"DownloadInvoice":{"type":"object","properties":{"download_url":{"type":"string","example":"https://example.com/invoice.pdf","x-nullable":false,"description":"The URL to download the invoice file."}},"required":["download_url"],"description":"DownloadInvoice model"},"SendInvoice":{"type":"object","properties":{"recipients":{"type":"array","items":{"type":"string","example":["john_doe@acme.com","jane_doe@acme.com"]},"x-nullable":false}},"required":["recipients"],"description":"SendInvoice model"},"CostReportUrl":{"type":"object","properties":{"cost_report_url":{"type":"string","example":"https://example.com/cost_report.pdf","x-nullable":false,"description":"The URL of the cost report."}},"required":["cost_report_url"],"description":"CostReportUrl model"},"KubernetesEfficiencyReports":{"type":"object","properties":{"links":{"$ref":"#/definitions/Links"},"kubernetes_efficiency_reports":{"type":"array","items":{"$ref":"#/definitions/KubernetesEfficiencyReport"}}},"required":["kubernetes_efficiency_reports"],"description":"KubernetesEfficiencyReports model"},"KubernetesEfficiencyReport":{"type":"object","properties":{"token":{"type":"string","x-nullable":false},"title":{"type":"string","example":"Acme123 Kubernetes Efficiency Metrics","x-nullable":false,"description":"The title of the KubernetesEfficiencyReport."},"default":{"type":"boolean","x-nullable":false,"description":"Indicates whether the KubernetesEfficiencyReport is the default report."},"created_at":{"type":"string","example":"2024-03-19T00:00:00Z","x-nullable":false,"description":"The date and time, in UTC, the report was created. ISO 8601 Formatted."},"workspace_token":{"type":"string","x-nullable":false,"description":"The token for the Workspace the KubernetesEfficiencyReport is a part of."},"user_token":{"type":"string","x-nullable":true,"description":"The token for the User who created this KubernetesEfficiencyReport."},"start_date":{"type":"string","example":"2024-03-01","x-nullable":true,"description":"The start date for the KubernetesEfficiencyReport. Only set for custom date ranges. ISO 8601 Formatted."},"end_date":{"type":"string","example":"2024-03-20","x-nullable":true,"description":"The end date for the KubernetesEfficiencyReport. Only set for custom date ranges. ISO 8601 Formatted."},"date_interval":{"type":"string","example":"last_month","x-nullable":true,"description":"The date range for the KubernetesEfficiencyReport. Only present if a custom date range is not specified."},"date_bucket":{"type":"string","example":"month","x-nullable":false,"description":"How costs are grouped and displayed in the KubernetesEfficiencyReport. Possible values: day, week, month."},"aggregated_by":{"type":"string","x-nullable":false,"description":"How costs are aggregated by. Possible values: idle_cost, amount, cost_efficiency."},"groupings":{"type":"string","example":"cluster_id, namespace","x-nullable":true,"description":"Grouping values for aggregating costs on the KubernetesEfficiencyReport. Valid groupings: cluster_id, namespace, labeled, category, pod, label, label:\u003clabel_name\u003e."},"filter":{"type":"string","x-nullable":true,"description":"The filter applied to the KubernetesEfficiencyReport. Additional documentation available at https://docs.vantage.sh/vql."}},"required":["token","title","default","created_at","workspace_token","start_date","end_date","date_interval","date_bucket","aggregated_by","groupings","filter"],"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":{"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","format":"date","description":"The start date of the KubernetesEfficiencyReport. ISO 8601 Formatted. Incompatible with 'date_interval' parameter."},"end_date":{"type":"string","format":"date","description":"The end date of the KubernetesEfficiencyReport. ISO 8601 Formatted. Incompatible with 'date_interval' parameter."},"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"}}},"required":["workspace_token","title"],"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","format":"date","description":"The start date of the KubernetesEfficiencyReport. ISO 8601 Formatted. Incompatible with 'date_interval' parameter."},"end_date":{"type":"string","format":"date","description":"The end date of the KubernetesEfficiencyReport. ISO 8601 Formatted. Incompatible with 'date_interval' parameter."},"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":{"type":"object","properties":{"links":{"$ref":"#/definitions/Links"},"managed_accounts":{"type":"array","items":{"$ref":"#/definitions/ManagedAccount"}}},"required":["managed_accounts"],"description":"ManagedAccounts model"},"ManagedAccount":{"type":"object","properties":{"token":{"type":"string","x-nullable":false},"name":{"type":"string","x-nullable":false},"contact_email":{"type":"string","x-nullable":false},"parent_account_token":{"type":"string","x-nullable":false,"description":"The token for the parent Account."},"access_credential_tokens":{"type":"array","items":{"type":"string"},"x-nullable":false,"description":"The tokens for the Access Credentials assigned to the Managed Account."},"billing_rule_tokens":{"type":"array","items":{"type":"string"},"x-nullable":false,"description":"The tokens for the Billing Rules assigned to the Managed Account."},"email_domain":{"type":"string","x-nullable":true,"description":"Email domain associated with this Managed Account for SSO."},"msp_billing_profile_token":{"type":"string","x-nullable":true,"description":"Token of the MSP billing profile used for this managed account (MSP invoicing accounts only)"},"payment_terms_days":{"type":"integer","format":"int32","x-nullable":true,"description":"Number of days until payment is due after invoice date (MSP invoicing accounts only)"},"include_managed_account_integrations":{"type":"boolean","x-nullable":true,"description":"Whether to include managed account's own integrations in invoice cost calculations (MSP invoicing accounts only)"},"billing_information_attributes":{"$ref":"#/definitions/BillingInformation","description":"Billing address and contact information (MSP invoicing accounts only)"},"business_information_attributes":{"$ref":"#/definitions/BusinessInformation","description":"Business-specific information and custom fields (MSP invoicing accounts only)"}},"required":["token","name","contact_email","parent_account_token","access_credential_tokens","billing_rule_tokens"],"description":"ManagedAccount model"},"createManagedAccount":{"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."}},"required":["name","contact_email"],"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","format":"int32","description":"Number of days until payment is due after invoice date (MSP invoicing accounts only). Defaults to 10."},"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","description":"Billing address and contact information (MSP invoicing accounts only)","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"}}}},"business_information_attributes":{"type":"object","description":"Business information and custom fields (MSP invoicing accounts only)","properties":{"id":{"type":"integer","format":"int32"},"token":{"type":"string"},"metadata":{"type":"object","description":"Business metadata including custom fields","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":"Update a Managed Account."},"createSsoConnectionForManagedAccount":{"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"}}},"required":["type"],"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":{"type":"object","properties":{"default_workspace_token":{"type":"string","x-nullable":true},"default_dashboard_token":{"type":"string","x-nullable":true,"description":"The token of the default Dashboard for the User."},"workspaces":{"type":"array","items":{"$ref":"#/definitions/Workspace"}},"bearer_token":{"$ref":"#/definitions/BearerToken"}},"required":["default_workspace_token","workspaces","bearer_token"],"description":"Me model"},"Workspace":{"type":"object","properties":{"token":{"type":"string","x-nullable":false},"name":{"type":"string","example":"Acme Corp.","x-nullable":false,"description":"The name of the Workspace."},"created_at":{"type":"string","example":"2023-08-04T00:00:00Z","x-nullable":false,"description":"The date and time, in UTC, the Workspace was created. ISO 8601 Formatted."},"enable_currency_conversion":{"type":"boolean","x-nullable":false,"description":"Whether or not currency conversion is enabled for the Workspace."},"currency":{"type":"string","example":"USD","x-nullable":false,"description":"The currency code for the Workspace that will be used for currency conversion."},"exchange_rate_date":{"type":"string","x-nullable":false,"description":"The exchange rate date that will be used to convert currency for your cost data."}},"required":["token","name","created_at","enable_currency_conversion","currency","exchange_rate_date"],"description":"Workspace model"},"BearerToken":{"type":"object","properties":{"description":{"type":"string","x-nullable":false,"description":"The user supplied description of this BearerToken"},"created_at":{"type":"string","example":"2023-08-04T00:00:00Z","x-nullable":false,"description":"The date and time, in UTC, the BearerToken was created. ISO 8601 Formatted."},"scope":{"type":"array","items":{"type":"string"},"x-nullable":false,"description":"The scopes applied to the BearerToken used to authenticate this request."}},"required":["description","created_at","scope"]},"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.","x-omitempty":false,"x-nullable":true}},"description":"Update the authenticated User."},"CostProviders":{"type":"object","properties":{"links":{"$ref":"#/definitions/Links"},"cost_providers":{"type":"array","items":{"$ref":"#/definitions/CostProvider"}}},"required":["cost_providers"],"description":"CostProviders model"},"CostProvider":{"type":"object","properties":{"name":{"type":"string","example":"AWS","x-nullable":false,"description":"The name of the CostProvider."},"key":{"type":"string","example":"aws","x-nullable":false,"description":"The key of the CostProvider, useful for filtering Costs."}},"required":["name","key"]},"CostServices":{"type":"object","properties":{"links":{"$ref":"#/definitions/Links"},"cost_services":{"type":"array","items":{"$ref":"#/definitions/CostService"}}},"required":["cost_services"],"description":"CostServices model"},"CostService":{"type":"object","properties":{"name":{"type":"string","example":"Amazon Simple Storage Service","x-nullable":false,"description":"The name of the CostService."},"provider":{"type":"string","example":"aws","x-nullable":false,"description":"The key value of the CostProvider."}},"required":["name","provider"]},"createUserFeedback":{"type":"object","properties":{"message":{"type":"string","description":"UserFeedback message"}},"required":["message"],"description":"Provide UserFeedback for our product and features."},"UserFeedback":{"type":"object","properties":{"token":{"type":"string","x-nullable":false,"description":"Token of the feedback"},"message":{"type":"string","x-nullable":false,"description":"User feedback message"},"created_by_token":{"type":"string","x-nullable":true,"description":"Token of the creator of the feedback"},"created_at":{"type":"string","example":"2023-01-01T00:00:00Z","x-nullable":false,"description":"Feedback creation timestamp"}},"required":["token","message","created_at"],"description":"UserFeedback model"},"NetworkFlowReports":{"type":"object","properties":{"links":{"$ref":"#/definitions/Links"},"network_flow_reports":{"type":"array","items":{"$ref":"#/definitions/NetworkFlowReport"}}},"required":["network_flow_reports"],"description":"NetworkFlowReports model"},"NetworkFlowReport":{"type":"object","properties":{"token":{"type":"string","x-nullable":false},"title":{"type":"string","example":"Public Traffic Destinations","x-nullable":false,"description":"The title of the NetworkFlowReport."},"default":{"type":"boolean","x-nullable":false,"description":"Indicates whether the NetworkFlowReport is the default report."},"created_at":{"type":"string","example":"2024-03-19T00:00:00Z","x-nullable":false,"description":"The date and time, in UTC, the report was created. ISO 8601 Formatted."},"workspace_token":{"type":"string","x-nullable":false,"description":"The token for the Workspace the NetworkFlowReport is a part of."},"created_by_token":{"type":"string","x-nullable":true,"description":"The token for the User or Team that created this NetworkFlowReport."},"start_date":{"type":"string","example":"2024-03-01","x-nullable":true,"description":"The start date for the NetworkFlowReport. Only set for custom date ranges. ISO 8601 Formatted."},"end_date":{"type":"string","example":"2024-03-20","x-nullable":true,"description":"The end date for the NetworkFlowReport. Only set for custom date ranges. ISO 8601 Formatted."},"date_interval":{"type":"string","example":"last_month","x-nullable":true,"description":"The date range for the NetworkFlowReport. Only present if a custom date range is not specified."},"groupings":{"type":"string","example":"cost_type, tag:account","x-nullable":true,"description":"The grouping aggregations applied to the filtered data."},"flow_direction":{"type":"string","example":"ingress","x-nullable":true,"description":"The flow weight of the NetworkFlowReport. Possible values: costs, bytes."},"flow_weight":{"type":"string","example":"costs","x-nullable":false,"description":"The flow weight of the NetworkFlowReport. Possible values: costs, bytes."},"filter":{"type":"string","x-nullable":true,"description":"The filter applied to the NetworkFlowReport. Additional documentation available at https://docs.vantage.sh/vql."}},"required":["token","title","default","created_at","workspace_token","start_date","end_date","date_interval","groupings","flow_direction","flow_weight","filter"],"description":"NetworkFlowReport model"},"createNetworkFlowReport":{"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","format":"date","description":"The start date of the NetworkFlowReport. YYYY-MM-DD formatted. Incompatible with 'date_interval' parameter."},"end_date":{"type":"string","format":"date","description":"The end date of the NetworkFlowReport. YYYY-MM-DD formatted. Incompatible with 'date_interval' parameter."},"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"]}},"required":["workspace_token","title"],"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","format":"date","description":"The start date of the NetworkFlowReport. YYYY-MM-DD formatted. Incompatible with 'date_interval' parameter."},"end_date":{"type":"string","format":"date","description":"The end date of the NetworkFlowReport. YYYY-MM-DD formatted. Incompatible with 'date_interval' parameter."},"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":{"type":"object","properties":{"links":{"$ref":"#/definitions/Links"},"prices":{"type":"array","items":{"$ref":"#/definitions/Price"}}},"required":["prices"],"description":"Prices model"},"Price":{"type":"object","properties":{"id":{"type":"string","x-nullable":false},"unit":{"type":"string","example":"hour","x-nullable":false,"description":"The unit in which the amount is billed."},"region":{"type":"string","example":"us-east-1","x-nullable":false,"description":"The region the price is specific to."},"rate_type":{"type":"string","example":"compute","x-nullable":false,"description":"The part of the product the price applies to. (compute, transfer, etc..)"},"currency":{"type":"string","example":"USD","x-nullable":false,"description":"The currency of the amount."},"amount":{"type":"number","example":"1.324","x-nullable":false,"description":"The amount of money this specific product price costs."},"details":{"type":"object","example":{"platform":"linux-enterprise","lifecycle":"on-demand"},"x-nullable":false,"description":"Service specific metadata."}},"required":["id","unit","region","rate_type","currency","amount","details"],"description":"Price model"},"Products":{"type":"object","properties":{"links":{"$ref":"#/definitions/Links"},"products":{"type":"array","items":{"$ref":"#/definitions/Product"}}},"required":["products"],"description":"Products model"},"Product":{"type":"object","properties":{"id":{"type":"string","x-nullable":false},"category":{"type":"string","example":"compute","x-nullable":false,"description":"The category of the cloud product"},"name":{"type":"string","example":"EC2","x-nullable":false,"description":"The common name of the product."},"service_id":{"type":"string","example":"aws-ec2","x-nullable":false,"description":"A unique slug for the service the product belongs to."},"provider_id":{"type":"string","example":"aws","x-nullable":false,"description":"A unique slug for the provider the product belongs to."},"details":{"type":"object","example":{"gpu":0,"name":"M5 General Purpose 16xlarge","vcpu":64,"memory":256,"clock_speed_ghz":3.1,"physical_processor_description":"Intel Xeon Platinum 8175 (Skylake)","network_performance_description":"20 Gigabit"},"x-nullable":false,"description":"An object of metadata about the product."}},"required":["id","category","name","service_id","provider_id","details"],"description":"Product model"},"Recommendations":{"type":"object","properties":{"links":{"$ref":"#/definitions/Links"},"recommendations":{"type":"array","items":{"$ref":"#/definitions/Recommendation"}}},"required":["recommendations"],"description":"Recommendations model"},"Recommendation":{"type":"object","properties":{"token":{"type":"string","x-nullable":false},"type":{"type":"string","example":"aws:ec2:co-rightsizing","x-nullable":false,"description":"The type of the Recommendation. This is analogous to category, but with a uniform format."},"category":{"type":"string","example":"ec2_compute_optimizer_recommender","x-nullable":false,"description":"The category of the Recommendation."},"workspace_token":{"type":"string","x-nullable":false,"description":"The token for the Workspace the Recommendation is a part of."},"provider":{"type":"string","x-nullable":false,"description":"The provider the Recommendation is for."},"provider_account_id":{"type":"string","x-nullable":true,"description":"The account ID of the provider. For Azure, this is the subscription ID."},"description":{"type":"string","x-nullable":false},"potential_savings":{"type":"string","example":"100.00","x-nullable":true,"description":"The monthly potential savings of the Recommendation, converted to the organization's selected currency."},"service":{"type":"string","example":"Amazon EC2","x-nullable":false,"description":"The service the Recommendation is for."},"created_at":{"type":"string","x-nullable":false,"description":"The date and time, in UTC, the Recommendation was created. ISO 8601 Formatted."},"resources_affected_count":{"type":"integer","format":"int32","x-nullable":false,"description":"The number of ProviderResources related to the Recommendation. Use the `recommendations/:token/resources` endpoint to get the full list of resources."},"currency_code":{"type":"string","example":"EUR","x-nullable":true,"description":"The currency code used by the Workspace to which this Recommendation belongs."},"currency_symbol":{"type":"string","example":"EUR","x-nullable":true,"description":"The currency symbol used by the Workspace to which this Recommendation belongs."}},"required":["token","type","category","workspace_token","provider","provider_account_id","description","potential_savings","service","created_at","resources_affected_count"],"description":"Recommendation model"},"RecommendationProviderResources":{"type":"object","properties":{"links":{"$ref":"#/definitions/Links"},"resources":{"type":"array","items":{"$ref":"#/definitions/RecommendationProviderResource"}}},"required":["resources"],"description":"RecommendationProviderResources model"},"RecommendationProviderResource":{"type":"object","properties":{"token":{"type":"string","x-nullable":false},"uuid":{"type":"string","example":"i-0a1b2c3d4e5f6g7h8","x-nullable":false,"description":"The unique identifier for the resource."},"type":{"type":"string","example":"aws_instance","x-nullable":false,"description":"The kind of resource."},"label":{"type":"string","x-nullable":true},"metadata":{"type":"object","x-nullable":true,"description":"Type-specific attributes of the resource."},"account_id":{"type":"string","x-nullable":true,"description":"The provider account where the resource is located."},"billing_account_id":{"type":"string","x-nullable":true,"description":"The provider billing account this resource is charged to."},"provider":{"type":"string","example":"aws","x-nullable":false,"description":"The provider of the resource."},"region":{"type":"string","example":"us-west-2","x-nullable":true,"description":"The region where the resource is located. Region values are specific to each provider."},"costs":{"type":"array","items":{"$ref":"#/definitions/ResourceCost"},"description":"The cost of the resource broken down by category."},"created_at":{"type":"string","x-nullable":false,"description":"The date and time when Vantage first observed the resource."},"resource_id":{"type":"string","example":"i-0a1b2c3d4e5f6g7h8","x-nullable":false,"description":"The unique identifier of the Active Resource."},"recommendation_actions":{"type":"array","items":{"$ref":"#/definitions/RecommendationAction"},"description":"The actions to take to implement the Recommendation."}},"required":["token","uuid","type","label","metadata","account_id","billing_account_id","provider","region","created_at","resource_id"],"description":"RecommendationProviderResource model"},"ResourceCost":{"type":"object","properties":{"category":{"type":"string","x-nullable":false,"description":"The category of the cost."},"amount":{"type":"number","format":"float","x-nullable":false,"description":"The cost amount."}},"required":["category","amount"]},"RecommendationAction":{"type":"object","properties":{"action":{"type":"string","x-nullable":false},"description":{"type":"string","x-nullable":false},"potential_savings":{"type":"string","example":"100.00","x-nullable":false,"description":"Potential savings in dollars"},"instance_type":{"type":"string","x-nullable":true},"containers":{"type":"string","x-nullable":true},"remediation_cli_command":{"type":"string","example":"aws ec2 stop-instances --instance-ids i-1234567890abcdef0","x-nullable":true,"description":"CLI command to remediate this recommendation"}},"required":["action","description","potential_savings"]},"RecommendationViews":{"type":"object","properties":{"links":{"$ref":"#/definitions/Links"},"recommendation_views":{"type":"array","items":{"$ref":"#/definitions/RecommendationView"}}},"description":"RecommendationViews model"},"RecommendationView":{"type":"object","properties":{"token":{"type":"string","x-nullable":true},"title":{"type":"string","example":"Production Recommendations","x-nullable":true,"description":"The title of the RecommendationView."},"workspace_token":{"type":"string","x-nullable":true,"description":"The token for the Workspace the RecommendationView is a part of."},"start_date":{"type":"string","example":"2024-01-01","x-nullable":true,"description":"Filter recommendations created on/after this YYYY-MM-DD date."},"end_date":{"type":"string","example":"2024-12-31","x-nullable":true,"description":"Filter recommendations created on/before this YYYY-MM-DD date."},"provider_ids":{"type":"array","items":{"type":"string","example":["aws","gcp"]},"x-nullable":true,"description":"Filter by one or more providers."},"billing_account_ids":{"type":"array","items":{"type":"string","example":["123456789012"]},"x-nullable":true,"description":"Filter by billing account identifiers."},"account_ids":{"type":"array","items":{"type":"string","example":["123456789012"]},"x-nullable":true,"description":"Filter by cloud account identifiers."},"regions":{"type":"array","items":{"type":"string","example":["us-east-1","us-west-2"]},"x-nullable":true,"description":"Filter by region slugs (e.g. us-east-1, eastus, asia-east1)."},"tag_key":{"type":"string","example":"environment","x-nullable":true,"description":"Filter by tag key (must be used with tag_value)."},"tag_value":{"type":"string","example":"production","x-nullable":true,"description":"Filter by tag value (requires tag_key)."},"created_at":{"type":"string","example":"2023-08-04T00:00:00Z","x-nullable":true,"description":"The date and time, in UTC, the view was created. ISO 8601 Formatted."},"created_by":{"type":"string","x-nullable":true,"description":"The token for the Creator of this RecommendationView."}},"description":"RecommendationView model"},"createRecommendationView":{"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."}},"required":["title","workspace_token"],"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":{"type":"object","properties":{"links":{"$ref":"#/definitions/Links"},"report_notifications":{"type":"array","items":{"$ref":"#/definitions/ReportNotification"}}},"required":["report_notifications"],"description":"ReportNotifications model"},"ReportNotification":{"type":"object","properties":{"token":{"type":"string","x-nullable":false},"title":{"type":"string","example":"Acme Report Notification","x-nullable":false,"description":"The title of the ReportNotification."},"cost_report_token":{"type":"string","example":"rprt_abcd1234","x-nullable":false,"description":"The token for a CostReport the ReportNotification is applied to."},"user_tokens":{"type":"array","items":{"type":"string","example":["usr_abcd1234","usr_efgh5678"]},"x-nullable":false,"description":"The Users that receive the notification."},"recipient_channels":{"type":"array","items":{"type":"string","example":["#notifications-channel"]},"x-nullable":false,"description":"The Slack or Microsoft Teams channels that receive the notification."},"frequency":{"type":"string","example":"weekly","enum":["daily","weekly","monthly"],"x-nullable":false,"description":"The frequency the ReportNotification is sent."},"change":{"type":"string","example":"percentage","enum":["percentage","dollars"],"x-nullable":false,"description":"The type of change the ReportNotification is tracking."}},"required":["token","title","cost_report_token","user_tokens","recipient_channels","frequency","change"],"description":"ReportNotification model"},"createReportNotification":{"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."}},"required":["title","cost_report_token","frequency","change"],"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":{"type":"object","properties":{"columns":{"type":"array","items":{"type":"string","example":["provider","label","accruedCosts","region","type"]},"x-nullable":false,"description":"Array of available column names for the specified resource type."}},"required":["columns"],"description":"ResourceReportColumns model"},"ResourceReports":{"type":"object","properties":{"links":{"$ref":"#/definitions/Links"},"resource_reports":{"type":"array","items":{"$ref":"#/definitions/ResourceReport"}}},"required":["resource_reports"],"description":"ResourceReports model"},"ResourceReport":{"type":"object","properties":{"token":{"type":"string","x-nullable":false},"title":{"type":"string","example":"Acme123 Active Resources","x-nullable":false,"description":"The title of the ResourceReport."},"filter":{"type":"string","x-nullable":true,"description":"The filter applied to the ResourceReport. Additional documentation available at https://docs.vantage.sh/vql."},"created_at":{"type":"string","example":"2024-03-19T00:00:00Z","x-nullable":false,"description":"The date and time, in UTC, the report was created. ISO 8601 Formatted."},"workspace_token":{"type":"string","x-nullable":false,"description":"The token for the Workspace the ResourceReport is a part of."},"user_token":{"type":"string","x-nullable":true,"description":"The token for the User who created this ResourceReport."},"created_by_token":{"type":"string","x-nullable":true,"description":"The token for the User or Team who created this ResourceReport."},"folder_token":{"type":"string","x-nullable":true,"description":"The token for the Folder the ResourceReport is a part of."},"columns":{"type":"array","items":{"type":"string","example":["provider","label","accrued_costs","region","type"]},"x-nullable":false,"description":"Array of column names configured for the ResourceReport table display."}},"required":["token","title","filter","created_at","workspace_token","user_token","created_by_token","columns"],"description":"ResourceReport model"},"createResourceReport":{"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."}},"required":["workspace_token"],"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":{"type":"object","properties":{"links":{"$ref":"#/definitions/Links"},"resources":{"type":"array","items":{"$ref":"#/definitions/Resource"}}},"required":["resources"],"description":"Resources model"},"Resource":{"type":"object","properties":{"token":{"type":"string","x-nullable":false},"uuid":{"type":"string","example":"i-0a1b2c3d4e5f6g7h8","x-nullable":false,"description":"The unique identifier for the resource."},"type":{"type":"string","example":"aws_instance","x-nullable":false,"description":"The kind of resource."},"label":{"type":"string","x-nullable":true},"metadata":{"type":"object","x-nullable":true,"description":"Type-specific attributes of the resource."},"account_id":{"type":"string","x-nullable":true,"description":"The provider account where the resource is located."},"billing_account_id":{"type":"string","x-nullable":true,"description":"The provider billing account this resource is charged to."},"provider":{"type":"string","example":"aws","x-nullable":false,"description":"The provider of the resource."},"region":{"type":"string","example":"us-west-2","x-nullable":true,"description":"The region where the resource is located. Region values are specific to each provider."},"costs":{"type":"array","items":{"$ref":"#/definitions/ResourceCost"},"description":"The cost of the resource broken down by category."},"created_at":{"type":"string","x-nullable":false,"description":"The date and time when Vantage first observed the resource."}},"required":["token","uuid","type","label","metadata","account_id","billing_account_id","provider","region","created_at"],"description":"Resource model"},"SavedFilters":{"type":"object","properties":{"links":{"$ref":"#/definitions/Links"},"saved_filters":{"type":"array","items":{"$ref":"#/definitions/SavedFilter"}}},"required":["saved_filters"],"description":"SavedFilters model"},"SavedFilter":{"type":"object","properties":{"token":{"type":"string","x-nullable":false},"title":{"type":"string","example":"Platform Team Reports","x-nullable":false,"description":"The title of the SavedFilter."},"cost_report_tokens":{"type":"array","items":{"type":"string","example":["rprt_abcd1234","rprt_efgh5678"]},"x-nullable":false,"description":"The tokens for any CostReports the SavedFilter is applied to."},"filter":{"type":"string","example":"costs.provider = 'azure'","x-nullable":true,"description":"The SavedFilter's filter, applied to any relevant CostReports. Additional documentation available at https://docs.vantage.sh/vql."},"created_at":{"type":"string","example":"2023-08-04T00:00:00Z","x-nullable":false,"description":"The date and time, in UTC, the report was created. ISO 8601 Formatted."},"created_by":{"type":"string","x-nullable":true,"description":"The token for the Creator of this SavedFilter."},"workspace_token":{"type":"string","x-nullable":false,"description":"The token for the Workspace the SavedFilter is a part of."}},"required":["token","title","cost_report_tokens","filter","created_at","created_by","workspace_token"],"description":"SavedFilter model"},"createSavedFilter":{"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."}},"required":["title"],"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":{"type":"object","properties":{"links":{"$ref":"#/definitions/Links"},"segments":{"type":"array","items":{"$ref":"#/definitions/Segment"}}},"required":["segments"],"description":"Segments model"},"Segment":{"type":"object","properties":{"token":{"type":"string","x-nullable":false},"title":{"type":"string","example":"OPEX","x-nullable":false,"description":"The title of the Segment."},"parent_segment_token":{"type":"string","x-nullable":true,"description":"The token of the parent Segment of this Segment."},"description":{"type":"string","example":"Operating expenses","x-nullable":false,"description":"The description of the Segment."},"track_unallocated":{"type":"boolean","example":false,"x-nullable":false,"description":"Track Unallocated Costs which are not assigned to any of the created Segments."},"report_settings":{"type":"object","properties":{"include_credits":{"type":"boolean","x-nullable":true},"include_refunds":{"type":"boolean","x-nullable":true},"include_discounts":{"type":"boolean","x-nullable":true},"include_tax":{"type":"boolean","x-nullable":true},"amortize":{"type":"boolean","x-nullable":true}},"description":"Report settings configurable on top-level Segments."},"priority":{"type":"integer","format":"int32","example":100,"x-nullable":false,"description":"Costs are assigned in priority order across all Segments with assigned filters."},"filter":{"type":"string","x-nullable":true,"description":"The filter applied to the Segment. Additional documentation available at https://docs.vantage.sh/vql."},"created_at":{"type":"string","example":"2021-07-09T00:00:00Z","x-nullable":false,"description":"The date and time, in UTC, the Segment was created. ISO 8601 Formatted."},"workspace_token":{"type":"string","x-nullable":false,"description":"The token for the Workspace the Segment is a part of."},"report_token":{"type":"string","x-nullable":true,"description":"The token for the Report the Segment has generated."}},"required":["token","title","parent_segment_token","description","track_unallocated","priority","filter","created_at","workspace_token","report_token"],"description":"Segment model"},"createSegment":{"type":"object","properties":{"title":{"type":"string","description":"The title of the Segment."},"description":{"type":"string","description":"The description of the Segment."},"priority":{"type":"integer","format":"int32","description":"The priority of the Segment."},"track_unallocated":{"type":"boolean","description":"Track Unallocated Costs which are not assigned to any of the created Segments.","default":false},"report_settings":{"type":"object","description":"Report settings configurable on top-level Segments.","properties":{"include_credits":{"type":"boolean","description":"Reports created under this Segment will include credits.","x-nullable":true},"include_refunds":{"type":"boolean","description":"Reports created under this Segment will include refunds.","x-nullable":true},"include_discounts":{"type":"boolean","description":"Reports created under this Segment will include discounts.","x-nullable":true},"include_tax":{"type":"boolean","description":"Reports created under this Segment will include tax.","x-nullable":true},"amortize":{"type":"boolean","description":"Reports created under this Segment will amortize.","x-nullable":true}}},"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."}},"required":["title"],"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","format":"int32","description":"The priority of the Segment."},"track_unallocated":{"type":"boolean","description":"Track Unallocated Costs which are not assigned to any of the created Segments.","default":false},"report_settings":{"type":"object","description":"Report settings configurable on top-level Segments.","properties":{"include_credits":{"type":"boolean","description":"Reports created under this Segment will include credits.","x-nullable":true},"include_refunds":{"type":"boolean","description":"Reports created under this Segment will include refunds.","x-nullable":true},"include_discounts":{"type":"boolean","description":"Reports created under this Segment will include discounts.","x-nullable":true},"include_tax":{"type":"boolean","description":"Reports created under this Segment will include tax.","x-nullable":true},"amortize":{"type":"boolean","description":"Reports created under this Segment will amortize.","x-nullable":true}}},"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":{"type":"object","properties":{"links":{"$ref":"#/definitions/Links"},"tags":{"type":"array","items":{"$ref":"#/definitions/Tag"}}},"required":["tags"],"description":"Tags model"},"Tag":{"type":"object","properties":{"tag_key":{"type":"string","example":"aws:createdBy","x-nullable":false,"description":"The Tag key."},"hidden":{"type":"boolean","x-nullable":false,"description":"Whether the Tag has been hidden from the Vantage UI."},"preferred":{"type":"boolean","x-nullable":false,"description":"Whether the Tag has been marked as preferred."},"providers":{"type":"array","items":{"type":"string","example":["aws","gcp","custom_provider:accss_crdntl_1234567890abcdef"]},"x-nullable":false,"description":"The unique providers that are covered by the Tag key."}},"required":["tag_key","hidden","preferred","providers"]},"TagValues":{"type":"object","properties":{"links":{"$ref":"#/definitions/Links"},"tag_values":{"type":"array","items":{"$ref":"#/definitions/TagValue"}}},"required":["tag_values"],"description":"TagValues model"},"TagValue":{"type":"object","properties":{"tag_value":{"type":"string","example":"vantage","x-nullable":false,"description":"The TagValue."},"providers":{"type":"array","items":{"type":"string","example":["aws","gcp","custom_provider:accss_crdntl_1234567890abcdef"]},"x-nullable":false,"description":"The unique providers that are covered by the TagValue."}},"required":["tag_value","providers"]},"updateTag":{"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."}},"required":["hidden"],"description":"Updates an existing Tag."},"Teams":{"type":"object","properties":{"links":{"$ref":"#/definitions/Links"},"teams":{"type":"array","items":{"$ref":"#/definitions/Team"}}},"required":["teams"],"description":"Teams model"},"Team":{"type":"object","properties":{"token":{"type":"string","x-nullable":false},"name":{"type":"string","example":"Cost Savers","x-nullable":false,"description":"The name of the Team."},"description":{"type":"string","example":"The Team that saves costs","x-nullable":true,"description":"The description of the Team."},"workspace_tokens":{"type":"array","items":{"type":"string","example":["wrkspc_abcd1234","wrkspc_efgh5678"]},"x-nullable":false,"description":"The tokens for any Workspaces that the Team belongs to"},"user_emails":{"type":"array","items":{"type":"string","example":["wileycoyote@acme.com","roadrunner@acme.com"]},"x-nullable":false,"description":"The email addresses for Users that belong to the Team"},"user_tokens":{"type":"array","items":{"type":"string","example":["usr_abcd1234","usr_efgh5678"]},"x-nullable":false,"description":"The tokens for Users that belong to the Team"},"default_dashboard_token":{"type":"string","example":"dshbrd_abcd1234","x-nullable":true,"description":"The token of the default Dashboard for the Team."}},"required":["token","name","description","workspace_tokens","user_emails","user_tokens","default_dashboard_token"],"description":"Team model"},"createTeam":{"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.","x-omitempty":false,"x-nullable":true}},"required":["name"],"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.","x-omitempty":false,"x-nullable":true}},"description":"Update a Team."},"TeamMembers":{"type":"object","properties":{"links":{"$ref":"#/definitions/Links"},"members":{"type":"array","items":{"$ref":"#/definitions/TeamMember"}}},"required":["members"],"description":"TeamMembers model"},"TeamMember":{"type":"object","properties":{"name":{"type":"string","example":"John Doe","x-nullable":false,"description":"The name of the team member."},"email":{"type":"string","example":"john@acme.com","x-nullable":false,"description":"The email address of the team member."},"user_token":{"type":"string","example":"usr_abcd1234","x-nullable":false,"description":"The token of the team member."},"role":{"type":"string","example":"editor","x-nullable":false,"description":"The role of the team member in the team."}},"required":["name","email","user_token","role"],"description":"TeamMember model"},"addTeamMember":{"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'.","enum":["owner","editor","viewer","integration_owner"],"default":"editor"}},"required":["user_email","role"],"description":"Add a member to a Team."},"createUnitCostsExport":{"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"]}},"required":["cost_report_token"],"description":"Generate a DataExport of unit costs."},"UnitCosts":{"type":"object","properties":{"links":{"$ref":"#/definitions/Links"},"unit_costs":{"type":"array","items":{"$ref":"#/definitions/UnitCost"}}},"required":["unit_costs"],"description":"UnitCosts model"},"UnitCost":{"type":"object","properties":{"links":{"$ref":"#/definitions/Links"},"business_metric_token":{"type":"string","example":"bsnss_mtrc_1234","x-nullable":false,"description":"The token of the BusinessMetric for which the unit cost was calculated."},"business_metric_title":{"type":"string","example":"Total Revenue","x-nullable":false,"description":"The title of the BusinessMetric for which the unit cost was calculated."},"unit_cost_amount":{"type":"string","example":"4.25","x-nullable":false,"description":"The amount of the unit cost."},"business_metric_amount":{"type":"string","example":"0.371","x-nullable":false,"description":"The amount of the business metric."},"scale":{"type":"number","format":"float","example":1.0,"x-nullable":false,"description":"The scale of the BusinessMetric's values within a particular CostReport."},"date":{"type":"string","example":"2023-09-05+00:00","x-nullable":false,"description":"The date for which the unit cost was calculated. ISO 8601 Formatted."}},"required":["business_metric_token","business_metric_title","unit_cost_amount","business_metric_amount","scale","date"]},"Users":{"type":"object","properties":{"links":{"$ref":"#/definitions/Links"},"users":{"type":"array","items":{"$ref":"#/definitions/User"}}},"required":["users"],"description":"Users model"},"User":{"type":"object","properties":{"token":{"type":"string","x-nullable":false},"name":{"type":"string","example":"John Doe","x-nullable":true,"description":"The name of the User."},"email":{"type":"string","example":"john_doe@acme.com","x-nullable":false,"description":"The email of the User."},"role":{"type":"string","example":"Admin","x-nullable":false,"description":"The role of the User."},"default_dashboard_token":{"type":"string","example":"dshbrd_abcdef123456","x-nullable":true,"description":"The token of the default Dashboard for the User."},"last_seen_at":{"type":"string","example":"2024-01-01T00:00:00Z","x-nullable":true,"description":"The last time the User logged in."}},"required":["token","name","email","role"],"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.","x-omitempty":false,"x-nullable":true}},"description":"Update a specific User."},"VirtualTagConfigs":{"type":"object","properties":{"virtual_tag_configs":{"type":"array","items":{"$ref":"#/definitions/VirtualTagConfig"}}},"required":["virtual_tag_configs"],"description":"VirtualTagConfigs model"},"VirtualTagConfig":{"type":"object","properties":{"token":{"type":"string","example":"vtag_1234","x-nullable":false,"description":"The token of the VirtualTagConfig."},"created_by_token":{"type":"string","example":"usr_1234","x-nullable":true,"description":"The token of the Creator of the VirtualTagConfig."},"key":{"type":"string","example":"Cost Center","x-nullable":false,"description":"The key of the VirtualTagConfig."},"overridable":{"type":"boolean","x-nullable":false,"description":"Whether the VirtualTagConfig can override a provider-supplied tag on a matching Cost."},"backfill_until":{"type":"string","example":"2025-10-01","x-nullable":false,"description":"The earliest month VirtualTagConfig should be backfilled to."},"collapsed_tag_keys":{"type":"array","items":{"$ref":"#/definitions/VirtualTagConfigCollapsedTagKey"},"description":"Tag keys to collapse values for."},"values":{"type":"array","items":{"$ref":"#/definitions/VirtualTagConfigValue"},"description":"Values for the VirtualTagConfig, with match precedence determined by their relative order in the list."}},"required":["token","created_by_token","key","overridable","backfill_until","values"],"description":"VirtualTagConfig model"},"VirtualTagConfigCollapsedTagKey":{"type":"object","properties":{"key":{"type":"string","example":"team","x-nullable":false,"description":"The tag key to collapse values for."},"providers":{"type":"array","items":{"type":"string","example":["aws","gcp"]},"x-nullable":true,"description":"The providers this collapsed tag key applies to. Defaults to all providers when omitted."},"filter":{"type":"string","example":"(costs.provider = 'aws') OR (costs.provider = 'gcp')","x-nullable":true,"description":"The VQL filter this collapsed tag key applies to."}},"required":["key"]},"VirtualTagConfigValue":{"type":"object","properties":{"filter":{"type":"string","example":"costs.provider = 'aws' AND costs.service = 'Amazon Simple Storage Service'","x-nullable":true,"description":"The filter VQL for the Value."},"name":{"type":"string","example":"Informatics","x-nullable":true,"description":"The name of the Value."},"business_metric_token":{"type":"string","example":"bsnss_mtrc_abc123","x-nullable":true,"description":"The token of the associated BusinessMetric."},"cost_metric":{"$ref":"#/definitions/VirtualTagConfigValueCostMetric","description":"The associated cost metric."},"display_name":{"type":"string","x-nullable":true,"description":"The display name for this allocation value."},"label_transforms":{"type":"array","items":{"$ref":"#/definitions/VirtualTagConfigValueLabelTransform"},"description":"Label transforms applied to business metric labels."},"percentages":{"type":"array","items":{"$ref":"#/definitions/VirtualTagConfigValuePercentage"},"description":"Labeled percentage allocations for matching costs."},"date_ranges":{"type":"array","items":{"$ref":"#/definitions/VirtualTagConfigValueDateRange"},"description":"Date ranges restricting when this value applies."}},"required":["filter"]},"VirtualTagConfigValueCostMetric":{"type":"object","properties":{"filter":{"type":"string","x-nullable":true,"description":"The filter VQL for the cost metric."},"aggregation":{"$ref":"#/definitions/VirtualTagConfigValueCostMetricAggregation","description":"The aggregation type of the CostMetric."}},"required":["filter","aggregation"]},"VirtualTagConfigValueCostMetricAggregation":{"type":"object","properties":{"tag":{"type":"string","x-nullable":true,"description":"The tag to aggregate on."}}},"VirtualTagConfigValueLabelTransform":{"type":"object","properties":{"type":{"type":"string","enum":["split","format"],"x-nullable":false,"description":"The label transform type."},"delimiter":{"type":"string","x-nullable":true,"description":"Delimiter used by split transforms."},"index":{"type":"integer","format":"int32","x-nullable":true,"description":"Zero-based index used by split transforms."},"template":{"type":"string","x-nullable":true,"description":"Template used by format transforms."}},"required":["type"]},"VirtualTagConfigValuePercentage":{"type":"object","properties":{"value":{"type":"string","example":"cost-center-a","x-nullable":false,"description":"The tag value associated with a percentage of matched costs."},"pct":{"type":"number","example":50.0,"x-nullable":false,"description":"The percentage of matched costs associated with the value."}},"required":["value","pct"]},"VirtualTagConfigValueDateRange":{"type":"object","properties":{"start_date":{"type":"string","x-nullable":true,"description":"The start date of the range (inclusive), or null for unbounded."},"end_date":{"type":"string","x-nullable":true,"description":"The end date of the range (inclusive), or null for unbounded."}},"required":["start_date","end_date"]},"VirtualTagConfigStatus":{"type":"object","properties":{"token":{"type":"string","example":"vtag_1234","x-nullable":false,"description":"The token of the VirtualTagConfig."},"processing":{"type":"boolean","x-nullable":false,"description":"Whether the VirtualTagConfig is currently processing. True if any provider has not completed processing."},"providers":{"type":"array","items":{"$ref":"#/definitions/VirtualTagConfigProviderStatus"},"description":"Processing status broken down by provider."}},"required":["token","processing","providers"],"description":"VirtualTagConfigStatus model"},"VirtualTagConfigProviderStatus":{"type":"object","properties":{"provider":{"type":"string","example":"aws","x-nullable":false,"description":"The provider name."},"status":{"type":"string","example":"processing","x-nullable":false,"description":"The processing status for this provider. Possible values: queued, processing, complete, failed."}},"required":["provider","status"]},"createVirtualTagConfig":{"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","format":"date","description":"The earliest month the VirtualTagConfig should be backfilled to."},"collapsed_tag_keys":{"type":"array","description":"Tag keys to collapse values for.","items":{"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."}},"required":["key"]}},"values":{"type":"array","description":"Values for the VirtualTagConfig, with match precedence determined by order in the list.","items":{"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":{"type":"object","properties":{"type":{"type":"string"},"delimiter":{"type":"string"},"index":{"type":"integer","format":"int32"},"template":{"type":"string"}},"required":["type"]},"x-omitempty":true},"cost_metric":{"type":"object","properties":{"filter":{"type":"string"},"aggregation":{"type":"object","properties":{"tag":{"type":"string"}},"required":["tag"]}},"required":["filter","aggregation"]},"percentages":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"pct":{"type":"number","format":"float"}},"required":["value","pct"]},"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}},"required":["filter"]}}},"required":["key","overridable"],"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.","x-nullable":true},"backfill_until":{"type":"string","format":"date","description":"The earliest month the VirtualTagConfig should be backfilled to.","x-nullable":true},"collapsed_tag_keys":{"type":"array","description":"Tag keys to collapse values for.","items":{"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."}},"required":["key"]}},"values":{"type":"array","description":"Values for the VirtualTagConfig, with match precedence determined by order in the list.","items":{"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":{"type":"object","properties":{"type":{"type":"string"},"delimiter":{"type":"string"},"index":{"type":"integer","format":"int32"},"template":{"type":"string"}},"required":["type"]},"x-omitempty":true},"cost_metric":{"type":"object","properties":{"filter":{"type":"string"},"aggregation":{"type":"object","properties":{"tag":{"type":"string"}},"required":["tag"]}},"required":["filter","aggregation"]},"percentages":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"pct":{"type":"number","format":"float"}},"required":["value","pct"]},"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}},"required":["filter"]}}},"description":"Updates an existing VirtualTagConfig."},"AsyncVirtualTagConfigUpdate":{"type":"object","properties":{"request_id":{"type":"string","example":"550e8400-e29b-41d4-a716-446655440000","x-nullable":false,"description":"The request ID of the async virtual tag config update."},"status_url":{"type":"string","example":"/v2/virtual_tag_configs/async/550e8400-e29b-41d4-a716-446655440000","x-nullable":false,"description":"The status path of the async virtual tag config update."}},"required":["request_id","status_url"],"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.","x-nullable":true},"backfill_until":{"type":"string","format":"date","description":"The earliest month the VirtualTagConfig should be backfilled to.","x-nullable":true},"collapsed_tag_keys":{"type":"array","description":"Tag keys to collapse values for.","items":{"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."}},"required":["key"]}},"values":{"type":"array","description":"Values for the VirtualTagConfig, with match precedence determined by order in the list.","items":{"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":{"type":"object","properties":{"type":{"type":"string"},"delimiter":{"type":"string"},"index":{"type":"integer","format":"int32"},"template":{"type":"string"}},"required":["type"]},"x-omitempty":true},"cost_metric":{"type":"object","properties":{"filter":{"type":"string"},"aggregation":{"type":"object","properties":{"tag":{"type":"string"}},"required":["tag"]}},"required":["filter","aggregation"]},"percentages":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"pct":{"type":"number","format":"float"}},"required":["value","pct"]},"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}},"required":["filter"]}}},"description":"Asynchronously updates an existing VirtualTagConfig."},"Workspaces":{"type":"object","properties":{"links":{"$ref":"#/definitions/Links"},"workspaces":{"type":"array","items":{"$ref":"#/definitions/Workspace"}}},"required":["workspaces"],"description":"Workspaces model"},"createWorkspace":{"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.","enum":["daily_rate","end_of_billing_period_rate"],"default":"daily_rate"}},"required":["name"],"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.","enum":["daily_rate","end_of_billing_period_rate"],"default":"daily_rate"}},"description":"Update a workspace"}}}