Vantage Prices API

Operations about Prices

OpenAPI Specification

vantage-sh-prices-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Vantage AccessGrants Prices 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: Prices
  description: Operations about Prices
paths:
  /products/{product_id}/prices:
    get:
      tags:
      - Prices
      summary: Get prices for a product
      description: Return available Prices across all Regions for a Product.
      operationId: getPrices
      parameters:
      - name: product_id
        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/Prices'
              example:
                links:
                  self: https://api.vantage.sh/v1/products/aws-ec2-m5d_16xlarge/prices
                  first: https://api.vantage.sh/v1/products/aws-ec2-m5d_16xlarge/prices?page=1
                  next: null
                  last: https://api.vantage.sh/v1/products/aws-ec2-m5d_16xlarge/prices?page=1
                  prev: null
                prices:
                - id: aws-ec2-m5d_16xlarge-eu_central_1-on_demand-linux_enterprise
                  unit: hour
                  region: eu-central-1
                  rate_type: compute
                  currency: USD
                  amount: 27.328
                  details:
                    platform: linux-enterprise
                    lifecycle: on-demand
                - id: aws-ec2-m5d_16xlarge-us_east_1-on_demand-linux_enterprise
                  unit: hour
                  region: us-east-1
                  rate_type: compute
                  currency: USD
                  amount: 3.616
                  details:
                    platform: linux-enterprise
                    lifecycle: on-demand
                - id: aws-ec2-m5d_16xlarge-us_east_1-on_demand-rhel
                  unit: hour
                  region: us-east-1
                  rate_type: compute
                  currency: USD
                  amount: 3.746
                  details:
                    platform: rhel
                    lifecycle: on-demand
      security:
      - oauth2:
        - read
  /products/{product_id}/prices/{id}:
    get:
      tags:
      - Prices
      summary: Get price by ID
      description: Returns a price
      operationId: getPrice
      parameters:
      - name: product_id
        in: path
        required: true
        schema:
          type: string
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Price'
              example:
                id: aws-ec2-m5d_16xlarge-eu_central_1-on_demand-linux_enterprise
                unit: hour
                region: eu-central-1
                rate_type: compute
                currency: USD
                amount: 27.328
                details:
                  platform: linux-enterprise
                  lifecycle: on-demand
      security:
      - oauth2:
        - read
  /products:
    get:
      tags:
      - Prices
      summary: Get all products
      description: Return available Products for a Service. For example, with a Provider of AWS and a Service of EC2, Products will be a list of all EC2 Instances. By default, this endpoint returns all Products across all Services and Providers but has optional query parameters for filtering listed below.
      operationId: getProducts
      parameters:
      - name: provider_id
        in: query
        description: Query by Provider to list all Products across all Services for a Provider. e.g. aws
        schema:
          type: string
      - name: service_id
        in: query
        description: Query by Service to list all Products for a specific provider service. e.g. aws-ec2
        schema:
          type: string
      - name: name
        in: query
        description: Query by name of the Product to see a list of products which match that name. e.g. m5a.16xlarge
        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/Products'
              example:
                links:
                  self: https://api.vantage.sh/v1/products
                  first: https://api.vantage.sh/v1/products?page=1
                  next: null
                  last: https://api.vantage.sh/v1/products?page=1
                  prev: null
                products:
                - id: aws-ec2-m5d_16xlarge
                  category: compute
                  name: m5d.16xlarge
                  service_id: aws-ec2
                  provider_id: aws
                  details:
                    gpu: 0
                    name: M5 General Purpose 16xlarge
                    vcpu: 64
                    memory: 256
                    clock_speed_ghz: 3.1
                    physical_processor_description: Intel Xeon Platinum 8175 (Skylake)
                    network_performance_description: 20 Gigabit
                - id: aws-ec2-c5a_8xlarge
                  category: compute
                  name: c5a.8xlarge
                  service_id: aws-ec2
                  provider_id: aws
                  details:
                    gpu: 0
                    name: C5A 8xlarge
                    vcpu: 64
                    memory: 256
                - id: aws-ec2-c5a_4large
                  category: compute
                  name: c5a.4large
                  service_id: aws-ec2
                  provider_id: aws
                  details:
                    gpu: 0
                    name: C5A 4large
                    vcpu: 64
                    memory: 4
                - id: aws-s3-standard
                  category: object_storage
                  name: standard
                  service_id: aws-s3
                  provider_id: aws
                  details: {}
      security:
      - oauth2:
        - read
  /products/{id}:
    get:
      tags:
      - Prices
      summary: Get product by ID
      description: Return a product
      operationId: getProduct
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Product'
              example:
                id: aws-ec2-m5d_16xlarge
                category: compute
                name: m5d.16xlarge
                service_id: aws-ec2
                provider_id: aws
                details:
                  gpu: 0
                  name: M5 General Purpose 16xlarge
                  vcpu: 64
                  memory: 256
                  clock_speed_ghz: 3.1
                  physical_processor_description: Intel Xeon Platinum 8175 (Skylake)
                  network_performance_description: 20 Gigabit
      security:
      - oauth2:
        - read
components:
  schemas:
    Product:
      required:
      - category
      - details
      - id
      - name
      - provider_id
      - service_id
      type: object
      properties:
        id:
          type: string
          nullable: false
        category:
          type: string
          description: The category of the cloud product
          nullable: false
          example: compute
        name:
          type: string
          description: The common name of the product.
          nullable: false
          example: EC2
        service_id:
          type: string
          description: A unique slug for the service the product belongs to.
          nullable: false
          example: aws-ec2
        provider_id:
          type: string
          description: A unique slug for the provider the product belongs to.
          nullable: false
          example: aws
        details:
          type: object
          properties: {}
          description: An object of metadata about the product.
          nullable: false
          example:
            gpu: 0
            name: M5 General Purpose 16xlarge
            vcpu: 64
            memory: 256
            clock_speed_ghz: 3.1
            physical_processor_description: Intel Xeon Platinum 8175 (Skylake)
            network_performance_description: 20 Gigabit
      description: Product model
    Prices:
      required:
      - prices
      type: object
      properties:
        links:
          $ref: '#/components/schemas/Links'
        prices:
          type: array
          items:
            $ref: '#/components/schemas/Price'
      description: Prices model
    Products:
      required:
      - products
      type: object
      properties:
        links:
          $ref: '#/components/schemas/Links'
        products:
          type: array
          items:
            $ref: '#/components/schemas/Product'
      description: Products 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
    Price:
      required:
      - amount
      - currency
      - details
      - id
      - rate_type
      - region
      - unit
      type: object
      properties:
        id:
          type: string
          nullable: false
        unit:
          type: string
          description: The unit in which the amount is billed.
          nullable: false
          example: hour
        region:
          type: string
          description: The region the price is specific to.
          nullable: false
          example: us-east-1
        rate_type:
          type: string
          description: The part of the product the price applies to. (compute, transfer, etc..)
          nullable: false
          example: compute
        currency:
          type: string
          description: The currency of the amount.
          nullable: false
          example: USD
        amount:
          type: number
          description: The amount of money this specific product price costs.
          nullable: false
          example: 1.324
        details:
          type: object
          properties: {}
          description: Service specific metadata.
          nullable: false
          example:
            platform: linux-enterprise
            lifecycle: on-demand
      description: Price 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'