Vantage Canvases API

Operations about Canvases

OpenAPI Specification

vantage-sh-canvases-api-openapi.yml Raw ↑
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'