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

# List market orders

> > ⚠️ This endpoint is in [public preview](/preview/roadmap#feature-states).

Open and filled orders created within the last 30 days on hardware meeting the requirements whose delivery windows match the requested range, sorted newest first. Participant, pool, and procurement identities are never exposed.



## OpenAPI

````yaml /preview/openapi.json get /preview/v2/orderbook/orders
openapi: 3.1.0
info:
  title: sfc-api
  description: >-
    SF Compute API public-preview routes — subject to change. Prefer the stable
    /v2 routes where a resource has graduated.
  version: 0.1.0
servers:
  - url: https://api.sfcompute.com
security:
  - bearer_auth: []
tags:
  - name: Limits
    description: Account limits and current usage.
  - name: Account
    description: The authenticated account and logged-in user.
  - name: Pools
    description: A bucket of owned compute balance over time.
  - name: Orders
    description: >-
      Place orders targeting a capacity to increase your reserved compute
      balance during some time period.
  - name: Instance Templates
    description: Reusable instance configuration.
  - name: Images
    description: Custom machine images for instances.
  - name: Roles
    description: TOML-based permission role definitions.
  - name: Grants
    description: Bind principals (users or tokens) to roles on a workspace.
  - name: Tokens
    description: Workspace-scoped API tokens.
  - name: Instances
    description: Spin up instances in a capacity to use your available compute.
  - name: Instance SKU Catalog
    description: Browse available instance SKU property definitions.
  - name: Subnets
    description: Private networks for instance-to-instance communication within a zone.
  - name: Procurements
    description: Market automations that maintain capacity by placing buy/sell orders.
  - name: Deployments
    description: >-
      Deployment automations that maintain a fleet of instances, including spot
      deployments that buy capacity up to a maximum price.
  - name: Users
    description: Read-only access to users within the caller's organization.
  - name: Workspaces
    description: Resource containers scoped to an account.
  - name: Permissions
    description: Inspect what the caller is allowed to do.
  - name: Billing
    description: Billing profile, contacts, and auto top-up settings.
  - name: InfiniBand Partitions
    description: Isolated InfiniBand networks for groups of instances.
  - name: Orderbook
    description: >-
      Read-only orderbook visibility: bid/ask spread, depth, open and filled
      orders, and historical fills, keyed on hardware requirements + delivery
      window.
  - name: Orders
    description: >-
      Estimate an order before placing it: filled price, fee, and operational
      notices.
paths:
  /preview/v2/orderbook/orders:
    get:
      tags:
        - Orderbook
      summary: List market orders
      description: >-
        > ⚠️ This endpoint is in [public
        preview](/preview/roadmap#feature-states).


        Open and filled orders created within the last 30 days on hardware
        meeting the requirements whose delivery windows match the requested
        range, sorted newest first. Participant, pool, and procurement
        identities are never exposed.
      operationId: list_orderbook_orders
      parameters:
        - name: requirements
          in: query
          description: URL-safe `field[:op]:value` triples joined by `;`.
          required: false
          schema:
            type: string
          example: accelerator:H100
        - name: range_start_at
          in: query
          description: >-
            Start of the delivery range to search. Unix epoch seconds,
            minute-aligned.
          required: true
          schema:
            $ref: '#/components/schemas/UnixEpoch'
          example: 1746057600
        - name: range_end_at
          in: query
          description: >-
            End of the delivery range to search. Unix epoch seconds,
            minute-aligned, and no more than 30 days after `range_start_at`.
          required: true
          schema:
            $ref: '#/components/schemas/UnixEpoch'
          example: 1748649600
        - name: window_relation
          in: query
          description: How each order's delivery window must relate to the requested range.
          required: false
          schema:
            oneOf:
              - $ref: '#/components/schemas/OrderbookWindowRelation'
            default: overlaps
        - name: status
          in: query
          description: >-
            Filter by lifecycle status. Repeat to include both. Omit to return
            open and filled orders.
          required: false
          schema:
            type: array
            items:
              $ref: '#/components/schemas/OrderbookOrderStatus'
          style: form
          explode: true
        - name: side
          in: query
          description: Filter by order side.
          required: false
          schema:
            $ref: '#/components/schemas/Side'
        - name: limit
          in: query
          description: Maximum results to return. Clamped to [1, 200]. Default 50.
          required: false
          schema:
            type: integer
            format: u-int32
            default: 50
            maximum: 200
            minimum: 1
        - name: starting_after
          in: query
          description: Set to the response's `cursor` to fetch the next page.
          required: false
          schema:
            $ref: '#/components/schemas/OrderbookOrdersCursor'
      responses:
        '200':
          description: Paginated list of orderbook orders.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListOrderbookOrdersResponse'
        '401':
          description: Unauthorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
        '422':
          description: Validation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnprocessableEntityError'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerError'
components:
  schemas:
    UnixEpoch:
      type: integer
      format: int64
      description: Unix timestamp.
      example: 1738972800
    OrderbookWindowRelation:
      type: string
      description: >-
        How an order's delivery window must relate to the requested range.
        Delivery windows are half-open: `[start_at, end_at)`. `overlaps` returns
        intersecting windows, `contained_within` returns windows fully inside
        the range, and `exact` returns windows equal to the range.
      enum:
        - overlaps
        - contained_within
        - exact
    OrderbookOrderStatus:
      type: string
      description: >-
        Lifecycle state for an orderbook order. `open` includes standing and
        partially filled orders; `filled` includes completely filled orders.
      enum:
        - open
        - filled
    Side:
      type: string
      enum:
        - sell
        - buy
    OrderbookOrdersCursor:
      type: string
      examples:
        - mordc_gqXR7s0Kj5mHvE2wNpLc4Q
      pattern: ^mordc_[A-Za-z0-9_-]+$
    ListOrderbookOrdersResponse:
      type: object
      description: >-
        Paginated orderbook orders created within the last 30 days, newest
        first.
      required:
        - object
        - requirements
        - range_start_at
        - range_end_at
        - window_relation
        - requested_at
        - has_more
        - data
      properties:
        object:
          type: string
          const: list
          default: list
          readOnly: true
        requirements:
          $ref: '#/components/schemas/Requirements'
        range_start_at:
          $ref: '#/components/schemas/UnixEpoch'
        range_end_at:
          $ref: '#/components/schemas/UnixEpoch'
        window_relation:
          $ref: '#/components/schemas/OrderbookWindowRelation'
        requested_at:
          $ref: '#/components/schemas/UnixEpoch'
          description: Server time used to determine the 30-day history boundary.
        cursor:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/OrderbookOrdersCursor'
              description: Pass as `starting_after` to fetch the next page.
        has_more:
          type: boolean
        data:
          type: array
          items:
            $ref: '#/components/schemas/OrderbookOrder'
    UnauthorizedError:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          required:
            - type
            - message
          properties:
            type:
              type: string
              const: authentication_error
              default: authentication_error
            message:
              type: string
              x-speakeasy-error-message: true
    UnprocessableEntityError:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          required:
            - type
            - message
          properties:
            type:
              type: string
              const: unprocessable_entity
              default: unprocessable_entity
            message:
              type: string
              x-speakeasy-error-message: true
            details:
              type: array
              items:
                $ref: '#/components/schemas/ErrorDetail'
    InternalServerError:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          required:
            - type
            - message
          properties:
            type:
              type: string
              const: api_error
              default: api_error
            message:
              type: string
              x-speakeasy-error-message: true
    Requirements:
      type: object
      description: >-
        Key/value filters on instance SKU properties.


        Keys are the property names instance SKUs carry on `GET
        /v2/instance_skus` (e.g. `accelerator`); values match each property's
        `value` spelling. The reserved `instance_sku` key pins to a single SKU
        by id.


        Empty map = no constraints.
      additionalProperties:
        type: array
        items:
          $ref: '#/components/schemas/Name'
      propertyNames:
        type: string
        examples:
          - my-resource-name
        maxLength: 255
        minLength: 1
        pattern: '[a-zA-Z0-9][a-zA-Z0-9._-]{0,254}'
      example:
        accelerator:
          - H100
    OrderbookOrder:
      type: object
      description: An open or filled order in the public orderbook.
      required:
        - instance_sku
        - side
        - status
        - allocation_schedule_delta
        - filled_allocation_schedule_delta
        - limit_price_dollars_per_node_hour
        - created_at
      properties:
        instance_sku:
          $ref: '#/components/schemas/InstanceSkuId'
          description: Instance SKU requested or offered by the order.
        side:
          $ref: '#/components/schemas/Side'
        status:
          $ref: '#/components/schemas/OrderbookOrderStatus'
        allocation_schedule_delta:
          $ref: '#/components/schemas/Schedule'
          description: The order's requested capacity over time.
        filled_allocation_schedule_delta:
          $ref: '#/components/schemas/Schedule'
          description: The portion of the requested capacity that has filled so far.
        limit_price_dollars_per_node_hour:
          $ref: '#/components/schemas/DollarsPerNodeHour'
        filled_average_price_dollars_per_node_hour:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/DollarsPerNodeHour'
        created_at:
          $ref: '#/components/schemas/UnixEpoch'
          description: >-
            When the order was created. Orders older than 30 days are not
            returned.
        filled_at:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/UnixEpoch'
              description: When the order became completely filled.
    ErrorDetail:
      type: object
      required:
        - code
        - message
      properties:
        field:
          type:
            - string
            - 'null'
          description: The field that caused the error (for validation errors)
        code:
          type: string
          description: Specific error code for this detail
        message:
          type: string
          description: Human-readable error message
    Name:
      type: string
      examples:
        - my-resource-name
      maxLength: 255
      minLength: 1
      pattern: '[a-zA-Z0-9][a-zA-Z0-9._-]{0,254}'
    InstanceSkuId:
      oneOf:
        - type: string
          examples:
            - isku_k3R-nX9vLm7Qp2Yw5Jd8F
          pattern: isku_[0-9a-zA-Z_-]{1,21}
        - type: string
          description: Legacy alias prefix; accepted on read, never emitted on write.
          pattern: clus_[0-9a-zA-Z_-]{1,21}
      description: >-
        Accepts the canonical prefix below; additional legacy prefixes are
        aliased for read compatibility. Writes always emit the canonical form.
    Schedule:
      type: array
      items:
        $ref: '#/components/schemas/ScheduleEntry'
      description: >-
        Node count over time, as a list of `[start_at, end_at)` time ranges.


        Example: 5 nodes from t=0 to t=3600 is `[{"start_at": 0, "end_at": 3600,
        "node_count": 5}]`.


        `start_at` and `end_at` must be 60-second aligned, `node_count` must be
        non-negative. On non-final entries, `end_at` may be omitted (inferred
        from the next entry's `start_at`); gaps fill with `node_count: 0`.


        In responses, a non-empty array always closes with a terminator entry
        whose `end_at` is `null` (the unbounded tail) and, for a bounded
        schedule, `node_count: 0`; an empty schedule is returned as `[]`.
    DollarsPerNodeHour:
      type: string
      description: >-
        Price in dollars per node-hour, encoded as a decimal string. Prices are
        rounded to the nearest $0.000060/node-hour market tick. This is one
        microdollar per node-minute. Responses contain the rounded value with
        six decimal places. Inputs must contain a decimal point, be
        non-negative, and not exceed $500/node-hour.
      examples:
        - '18.000000'
      pattern: ^\d+\.\d+$
    ScheduleEntry:
      type: object
      description: >-
        A `[start_at, end_at)` time range with a fixed `node_count`. `end_at` is
        `null` only on the final entry, marking an unbounded tail.
      required:
        - start_at
        - node_count
      properties:
        start_at:
          $ref: '#/components/schemas/UnixEpoch'
        end_at:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/UnixEpoch'
        node_count:
          type: integer
          format: int32
  securitySchemes:
    bearer_auth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Create an API token using `sf tokens create` or at
        https://sfcompute.com/dashboard/tokens.

````