OpenAPI Specification
openapi: 3.0.1
info:
title: Vantage AccessGrants Canvases API
description: The Vantage API provides programmatic access to the Vantage cloud cost management and FinOps platform. It covers cost reporting and querying (Costs, Cost Reports, forecasts, unit costs), cost visibility and optimization (Resources, Recommendations, Financial Commitments, Kubernetes efficiency), governance and alerting (Budgets, Budget Alerts, Cost Alerts, Anomaly Alerts and Notifications), organization (Segments, Folders, Saved Filters, Dashboards, Workspaces, Teams), and billing (Billing Profiles, Billing Rules, Invoices). The API spans AWS, Azure, GCP, Kubernetes, Datadog, Snowflake, MongoDB, and other supported providers. Base URL https://api.vantage.sh/v2. Authentication is via OAuth2 (client credentials / bearer token) with read and write scopes.
termsOfService: https://www.vantage.sh/terms-of-use
contact:
name: Vantage Support
url: https://www.vantage.sh
email: support@vantage.sh
version: 2.0.0
servers:
- url: https://api.vantage.sh/v2
security:
- oauth2:
- read
tags:
- name: Canvases
description: Operations about Canvases
paths:
/canvases:
get:
tags:
- Canvases
summary: Get all canvases
description: Return all Canvases.
operationId: getCanvases
parameters:
- name: page
in: query
description: The page of results to return.
schema:
type: integer
format: int32
- name: limit
in: query
description: The amount of results to return. The maximum is 1000.
schema:
type: integer
format: int32
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Canvases'
security:
- oauth2:
- read
post:
tags:
- Canvases
summary: Create canvas
description: Create a Canvas.
operationId: createCanvas
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/createCanvas'
required: true
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Canvas'
'400':
description: BadRequest
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
security:
- oauth2:
- write
x-codegen-request-body-name: createCanvas
/canvases/{canvas_token}:
get:
tags:
- Canvases
summary: Get canvas by token
description: Return a specific Canvas.
operationId: getCanvas
parameters:
- name: canvas_token
in: path
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Canvas'
'404':
description: NotFound
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
security:
- oauth2:
- read
put:
tags:
- Canvases
summary: Update canvas
description: Update a Canvas.
operationId: updateCanvas
parameters:
- name: canvas_token
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/updateCanvas'
required: true
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Canvas'
'400':
description: BadRequest
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
'404':
description: NotFound
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
security:
- oauth2:
- write
x-codegen-request-body-name: updateCanvas
delete:
tags:
- Canvases
summary: Delete canvas
description: Delete a Canvas.
operationId: deleteCanvas
parameters:
- name: canvas_token
in: path
required: true
schema:
type: string
responses:
'204':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Canvas'
'404':
description: NotFound
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
security:
- oauth2:
- write
components:
schemas:
Errors:
required:
- errors
type: object
properties:
links:
$ref: '#/components/schemas/Links'
errors:
type: array
nullable: false
items:
type: string
description: Errors model
createCanvas:
required:
- prompt
- title
type: object
properties:
title:
type: string
description: The title of the Canvas.
prompt:
type: string
description: The prompt used to generate the Canvas.
workspace_token:
type: string
description: The token of the Workspace to add the Canvas to. Required if the API token is associated with multiple Workspaces.
description: Create a Canvas.
Canvases:
required:
- canvases
type: object
properties:
links:
$ref: '#/components/schemas/Links'
canvases:
type: array
items:
$ref: '#/components/schemas/Canvas'
description: Canvases model
Canvas:
required:
- created_at
- prompt
- title
- token
- updated_at
- workspace_token
type: object
properties:
token:
type: string
nullable: false
example: cnvs_abcd1234567890
title:
type: string
description: The title of the Canvas.
nullable: false
example: Weekly Spend by Team
prompt:
type: string
description: The prompt used to generate the Canvas.
nullable: false
data:
$ref: '#/components/schemas/CanvasData'
workspace_token:
type: string
description: The token for the Workspace the Canvas belongs to.
nullable: false
example: wrkspc_abcd1234567890
created_at:
type: string
description: The date and time, in UTC, the Canvas was created. ISO 8601 Formatted.
nullable: false
example: '2024-01-01T00:00:00Z'
updated_at:
type: string
description: The date and time, in UTC, the Canvas was last updated. ISO 8601 Formatted.
nullable: false
example: '2024-01-01T00:00:00Z'
description: Canvas model
updateCanvas:
type: object
properties:
title:
type: string
description: The title of the Canvas.
prompt:
type: string
description: The prompt used to generate the Canvas.
description: Update a Canvas.
Links:
type: object
properties:
self:
type: string
description: The URL of the current page of results.
nullable: true
first:
type: string
description: The URL of the first page of results.
nullable: true
next:
type: string
description: The URL of the next page of results, if one exists.
nullable: true
last:
type: string
description: The URL of the last page of results, if one exists.
nullable: true
prev:
type: string
description: The URL of the previous page of results, if one exists.
nullable: true
CanvasTable:
type: object
CanvasData:
type: object
properties:
table:
$ref: '#/components/schemas/CanvasTable'
error:
type: string
description: Error message if the refresh workflow failed. Read-only.
nullable: true
securitySchemes:
oauth2:
type: oauth2
flows:
clientCredentials:
tokenUrl: https://console.vantage.sh/account/profile
scopes:
read: Grants read access
write: Grants write access
x-original-swagger-version: '2.0'