Vantage Users API

Operations about Users

OpenAPI Specification

vantage-sh-users-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Vantage AccessGrants Users 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: Users
  description: Operations about Users
paths:
  /users:
    get:
      tags:
      - Users
      summary: Get all users
      description: Return all Users that the current API token has access to.
      operationId: getUsers
      parameters:
      - name: page
        in: query
        description: The page of results to return.
        schema:
          type: integer
          format: int32
      - name: limit
        in: query
        description: The amount of results to return. The maximum is 1000.
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Users'
              example:
                links:
                  self: https://api.vantage.sh/v2/users
                  first: https://api.vantage.sh/v2/users?page=1
                  next: null
                  last: https://api.vantage.sh/v2/users?page=1
                  prev: null
                users:
                - token: usr_aa5cce4180981299
                  name: Jeanice Bins
                  email: jeanice_bins@torp-huels.name
                  role: Owner
                  last_seen_at: '2024-01-01'
                - token: usr_2372916b9f9589e7
                  name: Otto Goyette
                  email: otto_goyette@cronin.net
                  role: Owner
                  last_seen_at: '2024-01-01'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
      security:
      - oauth2:
        - read
  /users/{user_token}:
    get:
      tags:
      - Users
      summary: Get user by token
      description: Return a specific User.
      operationId: getUser
      parameters:
      - name: user_token
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
              example:
                token: usr_bfc6ab15e635f848
                name: Patrick White
                email: white.patrick@kassulke-nitzsche.net
                role: Owner
                last_seen_at: '2024-01-01'
        '404':
          description: NotFound
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
      security:
      - oauth2:
        - read
    put:
      tags:
      - Users
      summary: Update a user
      description: Update a specific User.
      operationId: updateUser
      parameters:
      - name: user_token
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/updateUser'
        required: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
        '404':
          description: NotFound
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
        '422':
          description: UnprocessableEntity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
      security:
      - oauth2:
        - write
      x-codegen-request-body-name: updateUser
components:
  schemas:
    updateUser:
      type: object
      properties:
        default_dashboard_token:
          type: string
          description: The token of a Dashboard to set as the User default. Send null to clear.
          nullable: true
          x-omitempty: false
      description: Update a specific User.
    Errors:
      required:
      - errors
      type: object
      properties:
        links:
          $ref: '#/components/schemas/Links'
        errors:
          type: array
          nullable: false
          items:
            type: string
      description: Errors model
    User:
      required:
      - email
      - name
      - role
      - token
      type: object
      properties:
        token:
          type: string
          nullable: false
        name:
          type: string
          description: The name of the User.
          nullable: true
          example: John Doe
        email:
          type: string
          description: The email of the User.
          nullable: false
          example: john_doe@acme.com
        role:
          type: string
          description: The role of the User.
          nullable: false
          example: Admin
        default_dashboard_token:
          type: string
          description: The token of the default Dashboard for the User.
          nullable: true
          example: dshbrd_abcdef123456
        last_seen_at:
          type: string
          description: The last time the User logged in.
          nullable: true
          example: '2024-01-01T00:00:00Z'
      description: User model
    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
    Users:
      required:
      - users
      type: object
      properties:
        links:
          $ref: '#/components/schemas/Links'
        users:
          type: array
          items:
            $ref: '#/components/schemas/User'
      description: Users 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'