> ## Documentation Index
> Fetch the complete documentation index at: https://docs.costgraph.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Compare a price with public providers

> For a compute, disk, database or AI model price your organization published, returns the cheapest public option from each provider that matches or beats its spec, in any region, ordered cheapest first. Each option carries the price difference against yours as a signed percentage (empty when your price is zero) and a per-dimension comparison saying whether it is better, the same or worse for you.



## OpenAPI

````yaml /api-reference/costgraph/openapi.json get /api/v1/tenant/pricing/{kind}/{id}/alternatives
openapi: 3.0.0
info:
  description: Read and manage your CostGraph organization, spend, alerts, and settings.
  title: CostGraph API
  contact: {}
  version: '1.0'
servers:
  - url: https://api.costgraph.ai
security: []
tags:
  - name: ai
    x-group: AI
  - name: ai-serving
    x-group: AI serving
  - name: anomalies
    x-group: Anomalies
  - name: auth
    x-group: Auth
  - name: billing
    x-group: Billing
  - name: billing-export
    x-group: Billing export
  - name: budgets
    x-group: Budgets
  - name: ci
    x-group: CI
  - name: compute-recommendations
    x-group: Compute recommendations
  - name: config
    x-group: Config
  - name: context-graph
    x-group: Context graph
  - name: cost
    x-group: Cost
  - name: gpus
    x-group: GPUs
  - name: graphai
    x-group: Graph AI
  - name: integrations
    x-group: Integrations
  - name: invitations
    x-group: Invitations
  - name: kubernetes-clusters
    x-group: Kubernetes clusters
  - name: marketplace
    x-group: Marketplace
  - name: network-requests
    x-group: Network requests
  - name: notifications
    x-group: Notifications
  - name: oauth
    x-group: OAuth
  - name: oauth-clients
    x-group: OAuth clients
  - name: opencost
    x-group: OpenCost
  - name: organization
    x-group: Audit log
  - name: organizations
    x-group: Organizations
  - name: placement-alternatives
    x-group: Placement alternatives
  - name: reports
    x-group: Reports
  - name: service-map
    x-group: Service map
  - name: settings
    x-group: Settings
  - name: sso
    x-group: Single sign-on
  - name: tenants
    x-group: Tenants
  - name: ticketing
    x-group: Ticketing
  - name: user
    x-group: Users
  - name: virtual-machines
    x-group: Virtual machines
  - name: virtual-tags
    x-group: Virtual tags
  - name: workflows
    x-group: Workflows
paths:
  /api/v1/tenant/pricing/{kind}/{id}/alternatives:
    get:
      tags:
        - virtual-machines
      summary: Compare a price with public providers
      description: >-
        For a compute, disk, database or AI model price your organization
        published, returns the cheapest public option from each provider that
        matches or beats its spec, in any region, ordered cheapest first. Each
        option carries the price difference against yours as a signed percentage
        (empty when your price is zero) and a per-dimension comparison saying
        whether it is better, the same or worse for you.
      parameters:
        - description: Tenant ID
          name: X-CostGraph-Tenant-ID
          in: header
          required: true
          schema:
            type: string
        - description: Price kind
          name: kind
          in: path
          required: true
          schema:
            type: string
            enum:
              - compute
              - disk
              - database
              - model
        - description: Price ID
          name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/responses.SuccessResponse'
                  - type: object
                    properties:
                      data:
                        type: array
                        items:
                          $ref: '#/components/schemas/db.ProviderAlternative'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responses.ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responses.ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responses.ErrorResponse'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responses.ErrorResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responses.ErrorResponse'
      security:
        - BearerAuth: []
components:
  schemas:
    responses.SuccessResponse:
      type: object
      required:
        - message
        - status
      properties:
        data: {}
        message:
          type: string
          example: some message
        status:
          type: string
          example: success
    db.ProviderAlternative:
      type: object
      required:
        - comparisons
        - currency
        - name
        - price
        - pricing_id
        - provider
        - region
      properties:
        comparisons:
          type: array
          items:
            $ref: '#/components/schemas/db.SpecComparison'
        currency:
          type: string
        difference_percent:
          type: number
          nullable: true
        name:
          type: string
        price:
          type: number
        pricing_id:
          type: string
        provider:
          type: string
        region:
          type: string
    responses.ErrorResponse:
      type: object
      required:
        - message
        - status
      properties:
        message:
          type: string
          example: some message
        status:
          type: string
          example: error
    db.SpecComparison:
      type: object
      required:
        - dimension
        - outcome
        - theirs
        - unit
        - yours
      properties:
        dimension:
          type: string
        outcome:
          type: string
          enum:
            - better
            - same
            - worse
        theirs:
          type: number
        unit:
          type: string
        yours:
          type: number
  securitySchemes:
    BearerAuth:
      description: Enter "Bearer {token}"
      type: apiKey
      name: Authorization
      in: header

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.