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

# List buy orders

> Returns a cursor-paginated page of the API key owner's buy orders, ordered by spend amount. Excludes deleted buy orders unless `?status=deleted` is passed.



## OpenAPI

````yaml https://thefirm.biz/api/public/v1/openapi.json get /api/public/v1/orders
openapi: 3.1.0
info:
  title: AutoBoy Public API
  version: 0.1.0
  description: >-
    REST API for AutoBoy — browse projects, view detailed stats about your own
    launch, create buy orders and manage your AutoBoy smart wallet.


    ## Authentication


    Most endpoints require an API key, sent as a bearer token:


    ```

    Authorization: Bearer autoboy_…

    ```


    ## Quick start


    1. **Request a key** — `POST /api/public/v1/api-key-requests`

    2. **Register a project** — `POST /api/public/v1/projects`.


    New to AutoBoy? Read the product docs https://docs.thefirm.biz.
servers:
  - url: https://thefirm.biz
security: []
tags:
  - name: API Keys
    description: Request, create, and inspect API keys.
  - name: Projects
    description: Browse projects and their buyers.
  - name: Buy Orders
    description: Read and manage the API key owner's pre-launch buy orders.
  - name: AutoBoy Wallet
    description: Balances of, and withdrawals from, the AutoBoy smart wallet.
  - name: Feedback
    description: Send feedback to The Firm.
paths:
  /api/public/v1/orders:
    get:
      tags:
        - Buy Orders
      summary: List buy orders
      description: >-
        Returns a cursor-paginated page of the API key owner's buy orders,
        ordered by spend amount. Excludes deleted buy orders unless
        `?status=deleted` is passed.
      operationId: listBuyOrders
      parameters:
        - schema:
            type: string
            minLength: 1
            description: >-
              Opaque cursor marking where the previous page ended. Omit it to
              fetch the first page; pass the `meta.nextCursor` from a response
              verbatim to fetch the next. A null `meta.nextCursor` means there
              are no more pages. Treat the value as opaque — its format varies
              per endpoint.
          required: false
          description: >-
            Opaque cursor marking where the previous page ended. Omit it to
            fetch the first page; pass the `meta.nextCursor` from a response
            verbatim to fetch the next. A null `meta.nextCursor` means there are
            no more pages. Treat the value as opaque — its format varies per
            endpoint.
          name: cursor
          in: query
        - schema:
            type:
              - integer
              - 'null'
            default: 20
            description: >-
              Maximum number of items per page. Defaults to 20; values are
              clamped to 1–100.
          required: false
          description: >-
            Maximum number of items per page. Defaults to 20; values are clamped
            to 1–100.
          name: limit
          in: query
        - schema:
            type: string
            enum:
              - active
              - execution_in_progress
              - execution_success
              - execution_failed
              - deleted
              - monitoring_started
              - monitoring_expired
          required: false
          name: status
          in: query
      responses:
        '200':
          description: A page of buy orders.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuyOrderListResponse'
              example:
                data:
                  - slug: thefirm
                    status: active
                    maxSpendUsdc: '50'
                    maxFdvUsdc: '5000000'
                    expiresInMs: 86400000
                    createdAt: '2026-01-15T09:30:00.000Z'
                    updatedAt: null
                  - slug: charms
                    status: active
                    maxSpendUsdc: '25'
                    maxFdvUsdc: null
                    expiresInMs: 3600000
                    createdAt: '2026-01-14T12:00:00.000Z'
                    updatedAt: '2026-01-15T08:00:00.000Z'
                meta:
                  limit: 20
                  nextCursor: >-
                    eyJtYXhTcGVuZFVzZGNBdG9taWMiOiIyNTAwMDAwMCIsImlkIjoiYjJjM2Q0ZTUifQ
        '400':
          description: >-
            Invalid pagination parameters, an unknown cursor, or an unknown
            status filter.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                invalidPagination:
                  value:
                    error: Bad request
                    message: Invalid pagination parameters
                invalidCursor:
                  value:
                    error: Bad request
                    message: Invalid cursor
                invalidStatus:
                  value:
                    error: Bad request
                    message: >-
                      status must be one of: active, execution_in_progress,
                      execution_success, execution_failed, deleted,
                      monitoring_started, monitoring_expired
        '401':
          description: Missing, invalid, or revoked API key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                missingAuthorizationHeader:
                  value:
                    error: Unauthorized
                    message: Missing or invalid Authorization header
                invalidApiKey:
                  value:
                    error: Unauthorized
                    message: Invalid API key
        '500':
          description: An unexpected server-side error occurred.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error: Internal server error
                message: Failed to load buy orders
      security:
        - apiKeyAuth: []
components:
  schemas:
    BuyOrderListResponse:
      type: object
      properties:
        data:
          type: array
          items:
            type: object
            properties:
              slug:
                type: string
                example: thefirm
              status:
                type: string
                enum:
                  - active
                  - execution_in_progress
                  - execution_success
                  - execution_failed
                  - deleted
                  - monitoring_started
                  - monitoring_expired
                example: active
              maxSpendUsdc:
                type: string
                description: Per-buy USDC spend cap.
                example: '50'
              maxFdvUsdc:
                type:
                  - string
                  - 'null'
                description: FDV cap in USDC, or null when uncapped.
                example: '5000000'
              expiresInMs:
                type: integer
                description: How long, in milliseconds, the buy order stays active.
                example: 86400000
              createdAt:
                type: string
                format: date-time
                example: '2026-01-15T09:30:00.000Z'
              updatedAt:
                type:
                  - string
                  - 'null'
                format: date-time
                example: null
            required:
              - slug
              - status
              - maxSpendUsdc
              - maxFdvUsdc
              - expiresInMs
              - createdAt
              - updatedAt
        meta:
          type: object
          properties:
            limit:
              type: integer
              example: 20
            nextCursor:
              type:
                - string
                - 'null'
              description: >-
                Opaque cursor for the next page, or null on the last page. Pass
                it back as the `cursor` query parameter.
              example: >-
                eyJtYXhTcGVuZFVzZGNBdG9taWMiOiIyNTAwMDAwMCIsImlkIjoiYjJjM2Q0ZTUifQ
          required:
            - limit
            - nextCursor
      required:
        - data
        - meta
    ErrorResponse:
      type: object
      properties:
        error:
          type: string
        message:
          type: string
      required:
        - error
        - message
      example:
        error: Bad request
        message: Invalid request body
  securitySchemes:
    apiKeyAuth:
      type: http
      scheme: bearer
      bearerFormat: API key
      description: API key issued via POST /api/public/v1/api-keys.

````