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

# Orders

> Returns a paginated list of domain orders belonging to a specific customer under your partner account.

**Statuses returned:** Only orders with a current status of `Active`, `Suspended`, `Pending Delete Restorable`, or `Expired` are included. Domains past their expiry date are automatically marked as `Expired` based on their `expiry_timestamp`, regardless of the upstream registry status.

**Pagination:** Results are paged. Use the `page` parameter to navigate through large result sets. The response includes `total_orders` (total matching records across all pages) and `orders_on_page` (count on the current page).

**Filtering:** Use the optional `search` parameter to filter results by domain name keyword.

**Renewal workflow:** The `expiry_timestamp` on each order is the value you must pass to `POST /api/v1/domains/renew`. Always fetch the latest value from this endpoint immediately before submitting a renewal to avoid expiry mismatch errors.



## OpenAPI

````yaml GET /api/v1/domains/orders
openapi: 3.1.0
info:
  title: Namify API
  description: >-
    The Namify API gives resellers and platform builders programmatic access to
    domain search, registration, renewal, customer management, and DNS
    configuration — all through a single authenticated REST interface.


    All requests require a bearer token issued from the Namify dashboard
    (Settings > API Key). The API is scoped to your partner account: TLD
    availability, pricing, and order history are all filtered to your configured
    product catalogue.


    **Base URL:** `https://dev.namify.host`


    **Typical integration flow:**

    1. Create a customer account with `POST /api/v1/customers/signup`.

    2. Check domain availability with `GET /api/v1/domains/availability`.

    3. Register the domain with `POST /api/v1/domains/register`.

    4. Activate DNS with `POST /api/v1/dns/activate` and add records as needed.

    5. Renew the domain before expiry with `POST /api/v1/domains/renew`.
  version: 1.0.0
  license:
    name: MIT
servers:
  - url: https://dev.namify.host
security:
  - bearerAuth: []
paths:
  /api/v1/domains/orders:
    get:
      tags:
        - Domains
      summary: List domain orders
      description: >-
        Returns a paginated list of domain orders belonging to a specific
        customer under your partner account.


        **Statuses returned:** Only orders with a current status of `Active`,
        `Suspended`, `Pending Delete Restorable`, or `Expired` are included.
        Domains past their expiry date are automatically marked as `Expired`
        based on their `expiry_timestamp`, regardless of the upstream registry
        status.


        **Pagination:** Results are paged. Use the `page` parameter to navigate
        through large result sets. The response includes `total_orders` (total
        matching records across all pages) and `orders_on_page` (count on the
        current page).


        **Filtering:** Use the optional `search` parameter to filter results by
        domain name keyword.


        **Renewal workflow:** The `expiry_timestamp` on each order is the value
        you must pass to `POST /api/v1/domains/renew`. Always fetch the latest
        value from this endpoint immediately before submitting a renewal to
        avoid expiry mismatch errors.
      parameters:
        - name: customer_id
          in: query
          required: true
          description: ID of the customer whose domain orders to retrieve.
          schema:
            type: integer
            example: 85384231
        - name: page
          in: query
          description: Page number for pagination. Defaults to 1.
          schema:
            type: integer
            default: 1
            example: 1
        - name: search
          in: query
          description: Optional keyword to filter orders by domain name.
          schema:
            type: string
            example: example
      responses:
        '200':
          description: Domain orders retrieved successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DomainOrdersResponse'
              example:
                total_orders: 2
                orders_on_page: 2
                orders:
                  - order_id: 124680932
                    domain_name: example.com
                    status: Active
                    expiry: Mar 8, 2028
                    expiry_timestamp: 1835699117
                  - order_id: 124680901
                    domain_name: myshop.com
                    status: Expired
                    expiry: Jan 1, 2025
                    expiry_timestamp: 1735689600
        '401':
          description: API key is missing or invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
        '422':
          description: The `customer_id` does not correspond to a known customer.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorInvalidOrder'
              example:
                status: ERROR
                message: Invalid customer ID
components:
  schemas:
    DomainOrdersResponse:
      type: object
      properties:
        total_orders:
          type: integer
          description: Total number of orders matching the query across all pages.
          example: 42
        orders_on_page:
          type: integer
          description: Number of orders returned on the current page.
          example: 10
        orders:
          type: array
          items:
            $ref: '#/components/schemas/DomainOrder'
    ErrorUnauthorized:
      type: object
      required:
        - message
      properties:
        message:
          type: string
          example: Unauthorized
    ErrorInvalidOrder:
      type: object
      required:
        - status
        - message
      properties:
        status:
          type: string
          example: ERROR
        message:
          type: string
          example: Invalid order ID
    DomainOrder:
      type: object
      properties:
        order_id:
          type: integer
          description: >-
            Unique order identifier. Use this value for renewal (`POST
            /api/v1/domains/renew`) and DNS management.
          example: 124689073
        domain_name:
          type: string
          description: Fully qualified registered domain name.
          example: devtest0000003.com
        status:
          type: string
          description: Current lifecycle status of the domain order.
          enum:
            - Active
            - Suspended
            - Pending Delete Restorable
          example: Active
        expiry:
          type: string
          description: Human-readable expiry date (e.g. 'Mar 3, 2027').
          example: Mar 3, 2027
        expiry_timestamp:
          type: integer
          description: >-
            Expiry date as a Unix epoch timestamp. Pass this value unchanged as
            `expiry_timestamp` when calling `POST /api/v1/domains/renew`.
          example: 1804076717
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        A personal access token. Obtain one from the dashboard under Settings >
        API Key. Include it in the `Authorization` header as `Bearer <token>`.
        Unauthenticated requests to protected routes return `401 Unauthorized`.

````