> ## 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.

# Get recommendations for disks

> Get the cheapest disk candidate per provider with savings versus the requested disk



## OpenAPI

````yaml https://raw.githubusercontent.com/baselinehq/mintlify-docs/main/api-reference/openapi.json post /recommendations/disks
openapi: 3.0.1
info:
  title: CostGraph Pricing API
  description: Provides API level access to the Costgraph Services.
  termsOfService: https://costgraph.baselinehq.cloud/terms-of-use
  contact:
    name: Customer Support
    url: https://costgraph.baselinehq.cloud/support
    email: contact@baselinehq.cloud
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
  version: '1.0'
servers:
  - url: https://pricing.baselinehq.cloud/
security: []
paths:
  /recommendations/disks:
    post:
      summary: Get recommendations for disks
      description: >-
        Get the cheapest disk candidate per provider with savings versus the
        requested disk
      requestBody:
        description: Instance
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/types.DiskRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: >-
                    #/components/schemas/recommendations.DiskRecommendationResult
        '400':
          description: Invalid request body
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/handler.ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/handler.ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/handler.ErrorResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/handler.ErrorResponse'
      security:
        - ApiKeyAuth: []
        - BearerAuth: []
components:
  schemas:
    types.DiskRequest:
      type: object
      properties:
        include_metadata:
          type: boolean
        instance:
          $ref: '#/components/schemas/types.Disk'
        predicates:
          $ref: '#/components/schemas/types.Predicates'
        usage:
          $ref: '#/components/schemas/types.Disk'
    recommendations.DiskRecommendationResult:
      type: object
      properties:
        pricing:
          $ref: '#/components/schemas/schema.DiskPricingsRow'
        savings:
          $ref: '#/components/schemas/types.Savings'
    handler.ErrorResponse:
      type: object
      properties:
        error:
          type: string
    types.Disk:
      type: object
      properties:
        availability_zone:
          type: string
        capacity_gb:
          type: number
        fallback_to_base_pricing:
          type: boolean
        id:
          type: string
        iops:
          type: number
        provider:
          $ref: >-
            #/components/schemas/github_com_baselinehq_golang-shared_types.Provider
        region:
          type: string
        service:
          $ref: >-
            #/components/schemas/github_com_baselinehq_golang-shared_types.Service
        throughput_mbps:
          type: number
        type:
          type: string
        usage_type:
          $ref: >-
            #/components/schemas/github_com_baselinehq_golang-shared_types.UsageType
    types.Predicates:
      type: object
      properties:
        availability_zones:
          type: array
          items:
            type: string
        disk_types:
          type: array
          items:
            type: string
        instance_types:
          type: array
          items:
            type: string
        operating_systems:
          type: array
          items:
            type: string
        providers:
          type: array
          items:
            type: string
        regions:
          type: array
          items:
            type: string
        services:
          type: array
          items:
            type: string
        usage_types:
          type: array
          items:
            type: string
    schema.DiskPricingsRow:
      type: object
      properties:
        availability_zone:
          type: string
        cost_per_gb_hour:
          type: number
        cost_per_iops_hour:
          type: number
        cost_per_throughput_mbps_hour:
          type: number
        created_at:
          type: string
        id:
          type: string
        max_capacity_gb:
          type: number
        max_iops:
          type: number
        max_throughput_mbps:
          type: number
        min_capacity_gb:
          type: number
        min_iops:
          type: number
        min_throughput_mbps:
          type: number
        period_billing_hours:
          type: number
        provider:
          type: string
        raw_pricing_data:
          type: object
          properties: {}
        region:
          type: string
        service:
          type: string
        tags:
          type: object
          properties: {}
        type:
          type: string
        updated_at:
          type: string
        usage_type:
          type: string
    types.Savings:
      type: object
      properties:
        amount_per_hour:
          type: number
        amount_per_month:
          type: number
        amount_per_year:
          type: number
        percentage:
          type: number
    github_com_baselinehq_golang-shared_types.Provider:
      type: string
      enum:
        - GCP
        - AWS
        - DigitalOcean
        - Azure
        - Hetzner
        - OVHCloud
        - Base
      x-enum-comments:
        Base: Base provider for default pricing, no specific cloud provider
      x-enum-descriptions:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - Base provider for default pricing, no specific cloud provider
      x-enum-varnames:
        - GCP
        - AWS
        - DigitalOcean
        - Azure
        - Hetzner
        - OVHCloud
        - Base
    github_com_baselinehq_golang-shared_types.Service:
      type: string
      enum:
        - ComputeEngine
        - AmazonEC2
        - Droplet
        - AzureCompute
        - AzureManagedDisks
        - HetznerCompute
        - OVHPublicCloud
        - BaseCompute
        - BaseDisks
        - AmazonEBS
        - ComputeEnginePersistentDisk
      x-enum-varnames:
        - ComputeEngine
        - AmazonEC2
        - Droplet
        - AzureCompute
        - AzureManagedDisks
        - HetznerCompute
        - OVHPublicCloud
        - BaseCompute
        - BaseDisks
        - AmazonEBS
        - ComputeEnginePersistentDisk
    github_com_baselinehq_golang-shared_types.UsageType:
      type: string
      enum:
        - SPOT_PREEMPTIBLE
        - ONDEMAND
        - RESERVED
        - ONDEMAND_CUSTOM
        - SPOT_PREEMPTIBLE_CUSTOM
        - RESERVED_CUSTOM
        - SOLE_TENANCY
        - CUSTOM
        - EXTENDED
      x-enum-varnames:
        - SPOT_PREEMPTIBLE
        - ONDEMAND
        - RESERVED
        - ONDEMAND_CUSTOM
        - SPOT_PREEMPTIBLE_CUSTOM
        - RESERVED_CUSTOM
        - SOLE_TENANCY
        - CUSTOM
        - EXTENDED
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      description: API key with "bl_" prefix (e.g. "bl_<api_key>")
      name: X-API-Key
      in: header
    BearerAuth:
      type: apiKey
      description: Bearer token for authentication (e.g. "Bearer <token>")
      name: Authorization
      in: header

````