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

# List all order forms

> This endpoint is used to list all existing order forms.
This is a premium feature.

<RequestExample>
  ```bash cURL theme={"dark"}
  LAGO_URL="https://api.getlago.com"
  API_KEY="__YOUR_API_KEY__"

  curl --location --request GET "$LAGO_URL/api/v1/order_forms?per_page=20&page=1&status[]=generated" \
    --header "Authorization: Bearer $API_KEY"
  ```

  ```python Python theme={"dark"}
  from lago_python_client.client import Client
  from lago_python_client.exceptions import LagoApiError

  client = Client(api_key='__YOUR_API_KEY__')

  try:
      client.order_forms.find_all({'per_page': 20, 'page': 1, 'status[]': ['generated']})
  except LagoApiError as e:
      repair_broken_state(e)  # do something on error or raise your own exception
  ```

  ```ruby Ruby theme={"dark"}
  require 'lago-ruby-client'

  client = Lago::Api::Client.new(api_key: '__YOUR_API_KEY__')

  client.order_forms.get_all({ per_page: 20, page: 1, 'status[]': ['generated'] })
  ```

  ```js Javascript theme={"dark"}
  await client.orderForms.findAllOrderForms({ per_page: 20, page: 1, "status[]": ["generated"] });
  ```

  ```go Go theme={"dark"}
  import (
  	"context"
  	"fmt"

  	lago "github.com/getlago/lago-go-client"
  )

  func main() {
  	lagoClient := lago.New().SetApiKey("__YOUR_API_KEY__")
  	ctx := context.Background()

  	page, perPage := 1, 20
  	orderFormResult, err := lagoClient.OrderForm().GetList(ctx, &lago.OrderFormListInput{
  		Page:    &page,
  		PerPage: &perPage,
  		Status:  []lago.OrderFormStatus{lago.OrderFormStatusGenerated},
  	})
  	if err != nil {
  		// Error is *lago.Error
  		panic(err)
  	}

  	// orderFormResult is *lago.OrderFormResult
  	fmt.Println(orderFormResult)
  }
  ```
</RequestExample>


## OpenAPI

````yaml GET /order_forms
openapi: 3.1.0
info:
  title: Lago API documentation
  description: >-
    Lago API allows your application to push customer information and metrics
    (events) from your application to the billing application.
  version: 1.52.0
  license:
    name: AGPLv3
    url: https://github.com/getlago/lago-openapi/blob/main/LICENSE
  contact:
    email: tech@getlago.com
servers:
  - url: https://api.getlago.com/api/v1
    description: US Lago cluster
  - url: https://api.eu.getlago.com/api/v1
    description: EU Lago cluster
security:
  - bearerAuth: []
tags:
  - name: activity_logs
    description: Everything about Activity logs
    externalDocs:
      description: Find out more
      url: https://getlago.com/docs/api-reference/audit-logs/activity-logs-object
  - name: analytics
    description: Everything about Analytics
  - name: api_logs
    description: Everything about API logs
    externalDocs:
      description: Find out more
      url: https://getlago.com/docs/api-reference/audit-logs/api-logs-object
  - name: billable_metrics
    description: Everything about Billable metric collection
    externalDocs:
      description: Find out more
      url: https://getlago.com/docs/api-reference/billable-metrics/object
  - name: features
    description: Everything about Feature collection
    externalDocs:
      description: Find out more
      url: >-
        https://getlago.com/docs/api-reference/entitlements/features/feature-object
  - name: entitlements
    description: Everything about Entitlement collection
    externalDocs:
      description: Find out more
      url: >-
        https://getlago.com/docs/api-reference/entitlements/plan-entitlements/plan-entitlement-object
  - name: billing_entities
    description: Everything about Billing Entities
    externalDocs:
      description: Find out more
      url: https://getlago.com/docs/api-reference/billing-entities/object
  - name: customers
    description: Everything about Customer collection
    externalDocs:
      description: Find out more
      url: https://getlago.com/docs/api-reference/customers/object
  - name: plans
    description: Everything about Plan collection
    externalDocs:
      description: Find out more
      url: https://getlago.com/docs/api-reference/plans/object
  - name: subscriptions
    description: Everything about Subscription collection
    externalDocs:
      description: Find out more
      url: https://getlago.com/docs/api-reference/subscriptions/subscription-object
  - name: events
    description: Everything about Event collection
    externalDocs:
      description: Find out more
      url: https://getlago.com/docs/api-reference/events/event-object
  - name: organizations
    description: Everything about Organization collection
    externalDocs:
      description: Find out more
      url: https://getlago.com/docs/api-reference/organizations/organization-object
  - name: taxes
    description: Everything about Tax collection
    externalDocs:
      description: Find out more
      url: https://getlago.com/docs/api-reference/taxes/tax-object
  - name: coupons
    description: Everything about Coupon collection
    externalDocs:
      description: Find out more
      url: https://getlago.com/docs/api-reference/coupons/coupon-object
  - name: add_ons
    description: Everything about Add-on collection
    externalDocs:
      description: Find out more
      url: https://getlago.com/docs/api-reference/add-ons/add-on-object
  - name: fees
    description: Everything about Fees
    externalDocs:
      description: Find out more
      url: >-
        https://getlago.com/docs/api-reference/invoices/invoice-object#fee-object
  - name: invoices
    description: Everything about Invoice collection
    externalDocs:
      description: Find out more
      url: https://getlago.com/docs/api-reference/invoices/invoice-object
  - name: wallets
    description: Everything about Wallet collection
    externalDocs:
      description: Find out more
      url: https://getlago.com/docs/api-reference/wallets/wallet-object
  - name: credit_notes
    description: Everything about Credit notes collection
    externalDocs:
      description: Find out more
      url: https://getlago.com/docs/api-reference/credit-notes/credit-note-object
  - name: webhooks
    description: Everything about Webhooks
    externalDocs:
      description: Find out more
      url: >-
        https://getlago.com/docs/api-reference/webhooks/format---signature#1-retrieve-the-public-key
  - name: webhook_endpoints
    description: Everything about Webhook Endpoints
    externalDocs:
      description: Find out more
      url: >-
        https://getlago.com/docs/api-reference/webhook-endpoints/webhook-endpoint-object
  - name: payment_receipts
    description: Everything about Payment receipts
    externalDocs:
      description: Find out more
      url: >-
        https://getlago.com/docs/api-reference/payment-receipts/payment-receipt-object
  - name: payment_requests
    description: Everything about PaymentRequests
    externalDocs:
      description: Find out more
      url: >-
        https://getlago.com/docs/api-reference/payment-requests/payment-request-object
  - name: payments
    description: Everything about Payments
    externalDocs:
      description: Find out more
      url: https://getlago.com/docs/api-reference/payments/payment-object
  - name: payment_methods
    description: Everything about Payment Methods
    externalDocs:
      description: Find out more
      url: >-
        https://getlago.com/docs/api-reference/payment-methods/payment-method-object
  - name: quotes
    description: Everything about Quote collection
  - name: order_forms
    description: Everything about Order form collection
  - name: orders
    description: Everything about Order collection
externalDocs:
  description: Lago Github
  url: https://github.com/getlago
paths:
  /order_forms:
    get:
      tags:
        - order_forms
      summary: List all order forms
      description: |-
        This endpoint is used to list all existing order forms.
        This is a premium feature.
      operationId: findAllOrderForms
      parameters:
        - $ref: '#/components/parameters/page'
        - $ref: '#/components/parameters/per_page'
        - name: status[]
          in: query
          description: >-
            Filter order forms by status. Possible values are `generated`,
            `signed`, `expired` and `voided`.
          required: false
          explode: true
          schema:
            type: array
            items:
              type: string
              enum:
                - generated
                - signed
                - expired
                - voided
        - name: customer_id[]
          in: query
          description: Filter order forms by the Lago identifiers of their customers.
          required: false
          explode: true
          schema:
            type: array
            items:
              type: string
              format: uuid
            example:
              - 1a901a90-1a90-1a90-1a90-1a901a901a90
        - name: number[]
          in: query
          description: Filter order forms by their number, as assigned by Lago.
          required: false
          explode: true
          schema:
            type: array
            items:
              type: string
            example:
              - OF-2026-0001
              - OF-2026-0002
        - name: quote_number[]
          in: query
          description: Filter order forms by the number of the quote they come from.
          required: false
          explode: true
          schema:
            type: array
            items:
              type: string
            example:
              - QT-2026-0001
        - name: owner_id[]
          in: query
          description: >-
            Filter order forms by the Lago identifiers of the users owning the
            quote they come from.
          required: false
          explode: true
          schema:
            type: array
            items:
              type: string
              format: uuid
            example:
              - 1a901a90-1a90-1a90-1a90-1a901a901a90
        - name: search_term
          in: query
          description: Search order forms by number.
          required: false
          explode: true
          schema:
            type: string
            example: OF-2026
        - name: created_at_from
          in: query
          description: >-
            Filter order forms created from a specific date and time, in UTC
            (ISO 8601).
          required: false
          explode: true
          schema:
            type: string
            format: date-time
            example: '2026-01-01T00:00:00Z'
        - name: created_at_to
          in: query
          description: >-
            Filter order forms created up to a specific date and time, in UTC
            (ISO 8601).
          required: false
          explode: true
          schema:
            type: string
            format: date-time
            example: '2026-12-31T23:59:59Z'
        - name: expires_at_from
          in: query
          description: >-
            Filter order forms expiring from a specific date and time, in UTC
            (ISO 8601). Order forms that never expire are excluded.
          required: false
          explode: true
          schema:
            type: string
            format: date-time
            example: '2026-01-01T00:00:00Z'
        - name: expires_at_to
          in: query
          description: >-
            Filter order forms expiring up to a specific date and time, in UTC
            (ISO 8601). Order forms that never expire are excluded.
          required: false
          explode: true
          schema:
            type: string
            format: date-time
            example: '2026-12-31T23:59:59Z'
      responses:
        '200':
          description: Order forms
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderFormsPaginated'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
components:
  parameters:
    page:
      name: page
      in: query
      description: Page number.
      required: false
      explode: true
      schema:
        type: integer
        example: 1
    per_page:
      name: per_page
      in: query
      description: Number of records per page.
      required: false
      explode: true
      schema:
        type: integer
        example: 20
  schemas:
    OrderFormsPaginated:
      type: object
      required:
        - order_forms
        - meta
      properties:
        order_forms:
          type: array
          items:
            $ref: '#/components/schemas/OrderFormObject'
        meta:
          $ref: '#/components/schemas/PaginationMeta'
    OrderFormObject:
      type: object
      required:
        - lago_id
        - number
        - status
        - void_reason
        - expires_at
        - signed_at
        - voided_at
        - signed_document_url
        - lago_organization_id
        - lago_customer_id
        - lago_quote_id
        - lago_quote_version_id
        - created_at
        - updated_at
      properties:
        lago_id:
          type: string
          format: uuid
          description: Unique identifier of the order form, created by Lago.
          example: 1a901a90-1a90-1a90-1a90-1a901a901a90
        number:
          type: string
          description: The unique number assigned to the order form by Lago.
          example: OF-2026-0001
        status:
          $ref: '#/components/schemas/OrderFormStatusEnum'
        void_reason:
          $ref: '#/components/schemas/OrderFormVoidReasonEnum'
        expires_at:
          type:
            - string
            - 'null'
          format: date-time
          description: >-
            The date and time in UTC (ISO 8601) after which the order form is
            meant to expire. It is `null` when the order form never expires. It
            is validated when the quote is approved, where a value on or after
            the day the quoted deal stops being executable is rejected rather
            than clamped. Expiry is then swept hourly and compared by calendar
            date, so signing keeps succeeding until the sweep moves the order
            form to `expired`.
          example: '2026-06-30T23:59:59Z'
        signed_at:
          type:
            - string
            - 'null'
          format: date-time
          description: >-
            The date and time in UTC (ISO 8601) when the order form was marked
            as signed. It is `null` unless the `status` is `signed`.
          example: '2026-04-29T08:59:51Z'
        voided_at:
          type:
            - string
            - 'null'
          format: date-time
          description: >-
            The date and time in UTC (ISO 8601) when the order form stopped
            being actionable. It is set both when the order form is voided and
            when it expires, and is `null` otherwise.
          example: '2026-04-29T08:59:51Z'
        signed_document_url:
          type:
            - string
            - 'null'
          format: uri
          description: >-
            The URL of the signed document attached to the order form. It is
            `null` when no document was uploaded.
          example: >-
            https://api.getlago.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMi/OF-2026-0001
        lago_organization_id:
          type: string
          format: uuid
          description: Unique identifier of the organization, created by Lago.
          example: 1a901a90-1a90-1a90-1a90-1a901a901a90
        lago_customer_id:
          type: string
          format: uuid
          description: >-
            Unique identifier of the customer the order form is addressed to,
            created by Lago.
          example: 1a901a90-1a90-1a90-1a90-1a901a901a90
        lago_quote_id:
          type: string
          format: uuid
          description: >-
            Unique identifier of the quote the order form comes from, created by
            Lago.
          example: 1a901a90-1a90-1a90-1a90-1a901a901a90
        lago_quote_version_id:
          type: string
          format: uuid
          description: >-
            Unique identifier of the approved quote version the order form was
            generated from, created by Lago. A quote version carries at most one
            order form.
          example: 1a901a90-1a90-1a90-1a90-1a901a901a90
        created_at:
          type: string
          format: date-time
          description: The date and time in UTC (ISO 8601) when the order form was created.
          example: '2026-04-29T08:59:51Z'
        updated_at:
          type: string
          format: date-time
          description: >-
            The date and time in UTC (ISO 8601) when the order form was last
            updated.
          example: '2026-04-29T08:59:51Z'
    PaginationMeta:
      type: object
      required:
        - current_page
        - total_pages
        - total_count
      properties:
        current_page:
          type: integer
          description: Current page.
          example: 2
        next_page:
          type:
            - integer
            - 'null'
          description: Next page.
          example: 3
        prev_page:
          type:
            - integer
            - 'null'
          description: Previous page.
          example: 1
        total_pages:
          type: integer
          description: Total number of pages.
          example: 4
        total_count:
          type: integer
          description: Total number of records.
          example: 70
    ApiErrorUnauthorized:
      type: object
      required:
        - status
        - error
      properties:
        status:
          type: integer
          format: int32
          example: 401
        error:
          type: string
          example: Unauthorized
    ApiErrorForbidden:
      type: object
      required:
        - status
        - error
        - code
      properties:
        status:
          type: integer
          format: int32
          example: 403
        error:
          type: string
          example: Forbidden
        code:
          type: string
          example: feature_unavailable
    ApiErrorUnprocessableEntity:
      type: object
      required:
        - status
        - error
        - code
        - error_details
      properties:
        status:
          type: integer
          format: int32
          example: 422
        error:
          type: string
          example: Unprocessable entity
        code:
          type: string
          example: validation_errors
        error_details:
          type: object
    OrderFormStatusEnum:
      type: string
      description: >
        The status of the order form. It can be any of the following values:
          - `generated`: the order form is waiting for the customer's signature.
          - `signed`: the customer has signed, and an order has been created from the order form.
          - `expired`: the order form reached its `expires_at` without being signed.
          - `voided`: the order form has been voided before being signed.

        Only a `generated` order form is actionable. Reaching `expired` or
        `voided` also voids the quote version the order form was generated from;
        signing does not, since the deal it quotes goes on to be executed.
      enum:
        - generated
        - signed
        - expired
        - voided
      example: generated
    OrderFormVoidReasonEnum:
      type:
        - string
        - 'null'
      description: >
        The reason why the order form is no longer actionable. It is `null`
        unless the `status` is `voided` or `expired`. It can be any of the
        following values:
          - `manual`: the order form has been voided explicitly, through the API or the Lago user interface.
          - `expired`: the order form reached its `expires_at` without being signed.
          - `invalid`: reserved for an order form Lago voids because it can no longer be executed. No flow writes it yet.
      enum:
        - null
        - manual
        - expired
        - invalid
      example: manual
  responses:
    Unauthorized:
      description: Unauthorized error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiErrorUnauthorized'
    Forbidden:
      description: Forbidden
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiErrorForbidden'
    UnprocessableEntity:
      description: Unprocessable entity error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiErrorUnprocessableEntity'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````