OpenAPI Specification
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'