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

# Get Offers

> Query available GPU offers from a raw YAML string.

Offer expiration: 30 minutes from creation

Query real-time GPU offers across all vendors. This is the primary entry point for finding available compute.

<Warning>
  This endpoint accepts a **YAML** request body, not JSON. Set `Content-Type: application/yaml`.
</Warning>

## Request format

```yaml theme={null}
vendor: nebius              # Optional: filter by vendor
region: EU                  # Optional: US, EU, APAC, Other
compute:
  gpu_type: H100            # Family name or canonical name
  gpu_count: 1              # Number of GPUs
  max_price_per_gpu_hour: 5 # Price cap in USD
  contract_type: ondemand   # ondemand or spot
network:                    # Optional
  supports_cilium: true     # Filter to Cilium-capable vendors
```

## Key fields

| Field                            | Required | Description                                                                 |
| -------------------------------- | -------- | --------------------------------------------------------------------------- |
| `compute.gpu_type`               | Yes      | GPU family (e.g., `H100`) or canonical name (e.g., `nvidia-h100-sxm5-80gb`) |
| `compute.gpu_count`              | No       | Number of GPUs (default: 1)                                                 |
| `compute.max_price_per_gpu_hour` | No       | Max price in USD per GPU per hour                                           |
| `compute.contract_type`          | No       | `ondemand` or `spot`                                                        |
| `vendor`                         | No       | Filter to a specific vendor (e.g., `nebius`, `hyperstack`, `scaleway`)      |
| `region`                         | No       | Filter to a region group: `US`, `EU`, `APAC`, `Other`                       |

## Rate limiting

This endpoint is rate-limited to **5 requests per minute** per client. Exceeding the limit returns `429 Too Many Requests`.

## Offer expiration

Offers expire after **30 minutes**. Use the `offer_id` to procure before expiration.

## Filtering by vendor

Pass the vendor name directly:

```yaml theme={null}
vendor: massedcompute
compute:
  gpu_type: A100
  gpu_count: 1
```


## OpenAPI

````yaml POST /get_offers
openapi: 3.1.0
info:
  title: Supply Service
  description: GPU offers querying and provisioning service
  version: 0.1.0
servers:
  - url: https://supply-api.compute-desk.com
security: []
paths:
  /get_offers:
    post:
      tags:
        - Offers
      summary: Get Offers
      description: |-
        Query available GPU offers from a raw YAML string.

        Offer expiration: 30 minutes from creation
      operationId: get_offers_get_offers_post
      requestBody:
        content:
          application/yaml:
            schema:
              type: string
              title: Yaml Body
            examples:
              sample:
                summary: Sample spec
                description: >-
                  Only required fields (name, compute.gpu_type,
                  compute.gpu_count)
                value: |
                  vendor: nebius
                  region: EU

                  compute:
                    gpu_type: nvidia-l40s-48gb
                    gpu_count: 1
                    max_price_per_gpu_hour: 5
                    contract_type: ondemand
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetOffersYAMLResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
components:
  schemas:
    GetOffersYAMLResponse:
      properties:
        offers:
          items:
            $ref: '#/components/schemas/GetOffersSummary'
          type: array
          title: Offers
        total_count:
          type: integer
          title: Total Count
        filters_applied:
          additionalProperties: true
          type: object
          title: Filters Applied
          description: Filters that were applied to the query
      type: object
      required:
        - offers
        - total_count
        - filters_applied
      title: GetOffersYAMLResponse
      description: Response containing available offers.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    GetOffersSummary:
      properties:
        offer_id:
          type: string
          format: uuid
          title: Offer Id
          description: Unique offer identifier. Use this to procure via POST /procure_offer
        gpu_type:
          type: string
          title: Gpu Type
          description: Canonical GPU name (e.g. nvidia-h100-sxm5-80gb)
        gpu_family:
          type: string
          title: Gpu Family
          description: GPU family name (e.g. H100, A100)
        gpu_count:
          type: integer
          title: Gpu Count
          description: Number of GPUs in this offer
        vendor:
          type: string
          title: Vendor
          description: Cloud vendor providing this offer
        region:
          type: string
          title: Region
          description: 'Region group: US, EU, APAC, or Other'
        vendor_region:
          anyOf:
            - type: string
            - type: 'null'
          title: Vendor Region
          description: Vendor-specific region code (e.g. montreal-canada-2, eu-north1-c)
        contract_type:
          anyOf:
            - type: string
            - type: 'null'
          title: Contract Type
          description: 'Contract type: ondemand or spot'
        type:
          type: string
          title: Type
          description: 'Instance type: vm or container'
          default: vm
        gpu_price_per_hour:
          anyOf:
            - type: number
            - type: 'null'
          title: Gpu Price Per Hour
          description: >-
            Price per GPU per hour in USD (includes boot disk cost). Total
            hourly cost = gpu_price_per_hour * gpu_count
        boot_disk_in_gb:
          anyOf:
            - type: integer
            - type: 'null'
          title: Boot Disk In Gb
          description: >-
            Boot disk size in GB. Null when the vendor does not validate boot
            disk size
        vcpu_count:
          anyOf:
            - type: integer
            - type: 'null'
          title: Vcpu Count
          description: Number of vCPUs (null if not reported by vendor)
        memory_in_gb:
          anyOf:
            - type: integer
            - type: 'null'
          title: Memory In Gb
          description: RAM in GB (null if not reported by vendor)
        storage_details:
          anyOf:
            - items:
                $ref: '#/components/schemas/StorageDetailResponse'
              type: array
            - type: 'null'
          title: Storage Details
          description: Resolved storage volumes with vendor-specific classes and pricing
        storage_price_per_hour:
          anyOf:
            - type: number
            - type: 'null'
          title: Storage Price Per Hour
          description: Total hourly cost of all storage volumes
        total_price_per_hour:
          anyOf:
            - type: number
            - type: 'null'
          title: Total Price Per Hour
          description: Combined compute + storage hourly cost
        created_at:
          type: string
          format: date-time
          title: Created At
          description: When this offer was created
        expires_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Expires At
          description: When this offer expires (30 minutes from creation)
        deployment_type:
          anyOf:
            - type: string
            - type: 'null'
          title: Deployment Type
          description: 'Cluster deployment type: vm_cluster or kubernetes'
        node_count:
          anyOf:
            - type: integer
            - type: 'null'
          title: Node Count
          description: Number of cluster nodes
        gpus_per_node:
          anyOf:
            - type: integer
            - type: 'null'
          title: Gpus Per Node
          description: GPUs per cluster node
        infiniband_bandwidth_gbps:
          anyOf:
            - type: integer
            - type: 'null'
          title: Infiniband Bandwidth Gbps
          description: InfiniBand bandwidth in Gbps
        cluster_storage_gb:
          anyOf:
            - type: integer
            - type: 'null'
          title: Cluster Storage Gb
          description: Shared filesystem size in GB
      type: object
      required:
        - offer_id
        - gpu_type
        - gpu_family
        - gpu_count
        - vendor
        - region
        - gpu_price_per_hour
        - boot_disk_in_gb
        - created_at
      title: GetOffersSummary
      description: Summary of a single offer returned by POST /get_offers.
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
    StorageDetailResponse:
      properties:
        name:
          type: string
          title: Name
          description: Auto-generated at procurement time
        size_gb:
          type: integer
          title: Size Gb
        type:
          type: string
          title: Type
        storage_class:
          type: string
          title: Storage Class
        vendor_class:
          type: string
          title: Vendor Class
        vendor_region:
          anyOf:
            - type: string
            - type: 'null'
          title: Vendor Region
        price_per_gb_month:
          anyOf:
            - type: number
            - type: 'null'
          title: Price Per Gb Month
        monthly_cost:
          anyOf:
            - type: number
            - type: 'null'
          title: Monthly Cost
        hourly_cost:
          anyOf:
            - type: number
            - type: 'null'
          title: Hourly Cost
        persistent:
          type: boolean
          title: Persistent
          default: false
      type: object
      required:
        - name
        - size_gb
        - type
        - storage_class
        - vendor_class
      title: StorageDetailResponse
      description: Detail of a single storage volume in an offer.
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer

````