Vantage Teams API

Operations about Teams

Operations 8

GET /teams Get all teams #
POST /teams Create team #
GET /teams/{team_token} Get team by token #
PUT /teams/{team_token} Update team #
DELETE /teams/{team_token} Delete team #
GET /teams/{team_token}/members Get team members #
POST /teams/{team_token}/members Add team member #
DELETE /teams/{team_token}/members/{user_token} Remove team member #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/vantage-sh-teams-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

vantage-sh-teams-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Vantage AccessGrants Teams 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: Teams
  description: Operations about Teams
paths:
  /teams:
    get:
      tags:
      - Teams
      summary: Get all teams
      description: Return all Teams that the current API token has access to.
      operationId: getTeams
      parameters:
      - name: page
        in: query
        description: The page of results to return.
        schema:
          type: integer
          format: int32
      - name: limit
        in: query
        description: The amount of results to return. The maximum is 1000.
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Teams'
              example:
                links:
                  self: https://api.vantage.sh/v2/teams
                  first: https://api.vantage.sh/v2/teams?page=1
                  next: null
                  last: https://api.vantage.sh/v2/teams?page=1
                  prev: null
                teams:
                - token: team_2d4733920ec4385e
                  name: Prod Team
                  description: Handles all production deployments
                  workspace_tokens:
                  - wrkspc_08026aa5fb4c90f8
                  user_tokens:
                  - usr_c59398553e838116
                  default_dashboard_token: null
      security:
      - oauth2:
        - read
    post:
      tags:
      - Teams
      summary: Create team
      description: Create a new Team.
      operationId: createTeam
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/createTeam'
        required: true
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Team'
              example:
                token: team_8467157535a30221
                name: New Team
                description: New Team Description
                workspace_tokens:
                - wrkspc_52b6e5e663b4cde1
                user_tokens:
                - usr_a00e614b5843c234
                default_dashboard_token: null
        '404':
          description: NotFound
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
        '400':
          description: BadRequest
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
        '422':
          description: UnprocessableEntity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
      security:
      - oauth2:
        - write
      x-codegen-request-body-name: createTeam
  /teams/{team_token}:
    get:
      tags:
      - Teams
      summary: Get team by token
      description: Return a specific Team.
      operationId: getTeam
      parameters:
      - name: team_token
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Team'
              example:
                token: team_081e09bbb812d369
                name: Prod Team
                description: Handles all production deployments.
                workspace_tokens:
                - wrkspc_ddc003a2f0171bf8
                user_tokens:
                - usr_7c309915e847cfc6
                default_dashboard_token: null
        '404':
          description: NotFound
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
      security:
      - oauth2:
        - read
    put:
      tags:
      - Teams
      summary: Update team
      description: Update a Team.
      operationId: updateTeam
      parameters:
      - name: team_token
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/updateTeam'
        required: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Team'
              example:
                token: team_d617e73dcc6b57c5
                name: Updated Team
                description: Updated Team Description
                workspace_tokens:
                - wrkspc_efc4284a56772481
                user_tokens:
                - usr_d268561e520c7aac
                default_dashboard_token: null
        '404':
          description: NotFound
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
        '400':
          description: BadRequest
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
        '422':
          description: UnprocessableEntity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
      security:
      - oauth2:
        - write
      x-codegen-request-body-name: updateTeam
    delete:
      tags:
      - Teams
      summary: Delete team
      description: Delete a Team.
      operationId: deleteTeam
      parameters:
      - name: team_token
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Team'
        '404':
          description: NotFound
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
        '400':
          description: BadRequest
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
        '422':
          description: UnprocessableEntity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
      security:
      - oauth2:
        - write
  /teams/{team_token}/members:
    get:
      tags:
      - Teams
      summary: Get team members
      description: Return all members of a Team.
      operationId: getTeamMembers
      parameters:
      - name: team_token
        in: path
        required: true
        schema:
          type: string
      - name: page
        in: query
        description: The page of results to return.
        schema:
          type: integer
          format: int32
      - name: limit
        in: query
        description: The amount of results to return. The maximum is 1000.
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TeamMembers'
              example:
                links:
                  self: https://api.vantage.sh/v2/teams/team_081e09bbb812d369/members
                  first: https://api.vantage.sh/v2/teams/team_081e09bbb812d369/members?page=1
                  next: null
                  last: https://api.vantage.sh/v2/teams/team_081e09bbb812d369/members?page=1
                  prev: null
                members:
                - name: John Doe
                  email: john.doe@acme.com
                  user_token: usr_7c309915e847cfc6
                  role: editor
                - name: Jane Smith
                  email: jane.smith@acme.com
                  user_token: usr_a1b2c3d4e5f67890
                  role: viewer
        '404':
          description: NotFound
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
      security:
      - oauth2:
        - read
    post:
      tags:
      - Teams
      summary: Add team member
      description: Add a member to a Team.
      operationId: addTeamMember
      parameters:
      - name: team_token
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/addTeamMember'
        required: true
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TeamMember'
              example:
                user_email: john.doe@acme.com
                role: editor
        '404':
          description: NotFound
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
        '400':
          description: BadRequest
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
        '422':
          description: UnprocessableEntity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
      security:
      - oauth2:
        - write
      x-codegen-request-body-name: addTeamMember
  /teams/{team_token}/members/{user_token}:
    delete:
      tags:
      - Teams
      summary: Remove team member
      description: Remove a member from a Team.
      operationId: removeTeamMember
      parameters:
      - name: team_token
        in: path
        required: true
        schema:
          type: string
      - name: user_token
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: ''
          content: {}
        '404':
          description: NotFound
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
        '400':
          description: BadRequest
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
      security:
      - oauth2:
        - write
components:
  schemas:
    Team:
      required:
      - default_dashboard_token
      - description
      - name
      - token
      - user_emails
      - user_tokens
      - workspace_tokens
      type: object
      properties:
        token:
          type: string
        name:
          type: string
          description: The name of the Team.
          example: Cost Savers
        description:
          type:
          - string
          - 'null'
          description: The description of the Team.
          example: The Team that saves costs
        workspace_tokens:
          type: array
          description: The tokens for any Workspaces that the Team belongs to
          items:
            type: string
            example: ''
        user_emails:
          type: array
          description: The email addresses for Users that belong to the Team
          items:
            type: string
            example: ''
        user_tokens:
          type: array
          description: The tokens for Users that belong to the Team
          items:
            type: string
            example: ''
        default_dashboard_token:
          type:
          - string
          - 'null'
          description: The token of the default Dashboard for the Team.
          example: dshbrd_abcd1234
      description: Team model
    TeamMembers:
      required:
      - members
      type: object
      properties:
        links:
          $ref: '#/components/schemas/Links'
        members:
          type: array
          items:
            $ref: '#/components/schemas/TeamMember'
      description: TeamMembers model
    Errors:
      required:
      - errors
      type: object
      properties:
        links:
          $ref: '#/components/schemas/Links'
        errors:
          type: array
          items:
            type: string
      description: Errors model
    Links:
      type: object
      properties:
        self:
          type:
          - string
          - 'null'
          description: The URL of the current page of results.
        first:
          type:
          - string
          - 'null'
          description: The URL of the first page of results.
        next:
          type:
          - string
          - 'null'
          description: The URL of the next page of results, if one exists.
        last:
          type:
          - string
          - 'null'
          description: The URL of the last page of results, if one exists.
        prev:
          type:
          - string
          - 'null'
          description: The URL of the previous page of results, if one exists.
    Teams:
      required:
      - teams
      type: object
      properties:
        links:
          $ref: '#/components/schemas/Links'
        teams:
          type: array
          items:
            $ref: '#/components/schemas/Team'
      description: Teams model
    addTeamMember:
      required:
      - role
      - user_email
      type: object
      properties:
        user_email:
          type: string
          description: The email address of the user to add to the Team.
        role:
          type: string
          description: The role to assign to the user. Defaults to 'editor'.
          default: editor
          enum:
          - owner
          - editor
          - viewer
          - integration_owner
      description: Add a member to a Team.
    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
          - 'null'
          description: The token of a Dashboard to set as the Team default. Send null to clear.
          x-omitempty: false
      description: Update a Team.
    createTeam:
      required:
      - name
      type: object
      properties:
        name:
          type: string
          description: The name of the Team.
        description:
          type: string
          description: The description of the Team.
        workspace_tokens:
          type: array
          description: The Workspace tokens to associate to the Team.
          items:
            type: string
        user_tokens:
          type: array
          description: The User tokens to associate to the Team.
          items:
            type: string
        user_emails:
          type: array
          description: The User emails to associate to the Team.
          items:
            type: string
        role:
          type: string
          description: The role to assign to the provided Users. Defaults to 'editor' which has editor permissions.
          enum:
          - owner
          - editor
          - viewer
        default_dashboard_token:
          type:
          - string
          - 'null'
          description: The token of a Dashboard to set as the Team default. Send null to clear.
          x-omitempty: false
      description: Create a new Team.
    TeamMember:
      required:
      - email
      - name
      - role
      - user_token
      type: object
      properties:
        name:
          type: string
          description: The name of the team member.
          example: John Doe
        email:
          type: string
          description: The email address of the team member.
          example: john@acme.com
        user_token:
          type: string
          description: The token of the team member.
          example: usr_abcd1234
        role:
          type: string
          description: The role of the team member in the team.
          example: editor
      description: TeamMember model
  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'