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

# Get orders

> Retrieve a list of orders with optional filtering, pagination and sorting.




## OpenAPI

````yaml get /v1/orders
openapi: 3.1.0
info:
  title: Quickbutik API
  version: 1.0.0
  description: >-
    Use the Quickbutik API to access and manage stores, products, orders, and
    more.
  contact:
    name: Quickbutik API Support
    url: https://quickbutik.com/support
  license:
    name: Proprietary
  x-fiddle-import-file: true
servers:
  - url: https://api.quickbutik.com
    description: Production server
security:
  - BasicAuth: []
tags:
  - name: Orders
    description: Order management operations
  - name: Products
    description: Product catalog management
  - name: Categories
    description: Product category management
  - name: Payment Methods
    description: Available payment methods
  - name: Shipping Methods
    description: Available shipping methods
  - name: Metadata
    description: Custom metadata management
  - name: Settings
    description: Store settings and configuration
  - name: Scripts
    description: Storefront script management
paths:
  /v1/orders:
    get:
      tags:
        - Orders
      summary: Get orders
      description: >
        Retrieve a list of orders with optional filtering, pagination and
        sorting.
      operationId: get-orders
      parameters:
        - name: search
          in: query
          description: Search orders by customer name, email or order ID
          schema:
            type: string
            example: john@example.com
        - name: offset
          in: query
          description: Number of records to skip for pagination
          schema:
            type: integer
            minimum: 0
            default: 0
        - name: limit
          in: query
          description: Maximum number of records to return (max 1000)
          schema:
            type: integer
            minimum: 1
            maximum: 1000
            default: 1000
        - name: sort_order
          in: query
          description: Sort direction
          schema:
            type: string
            enum:
              - asc
              - desc
            default: desc
        - name: order_by
          in: query
          description: Field to sort by
          schema:
            type: string
            enum:
              - price
              - date
              - order_id
            default: order_id
        - name: include_details
          in: query
          description: >-
            Include detailed order information including products, customer
            details, payment info, and product package components for bundled
            products
          schema:
            type: boolean
            default: false
        - $ref: '#/components/parameters/OrderIdQuery'
        - $ref: '#/components/parameters/FromDatePaid'
        - $ref: '#/components/parameters/ToDatePaid'
        - $ref: '#/components/parameters/FromStatusDate'
        - $ref: '#/components/parameters/OrderStatus'
        - $ref: '#/components/parameters/AppsLoad'
      responses:
        '200':
          $ref: '#/components/responses/OrdersSuccess'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/OrderNotFound'
components:
  parameters:
    OrderIdQuery:
      name: order_id
      in: query
      schema:
        type: string
      description: Order number for the order you would like to load
    FromDatePaid:
      name: from_date_paid
      in: query
      schema:
        type: string
        example: '1596097247'
      description: >-
        Fetch paid orders since a specific date. UNIX timestamp should be used
        here
    ToDatePaid:
      name: to_date_paid
      in: query
      schema:
        type: string
        example: '1596097247'
      description: >-
        Fetch paid orders up to a specific date. UNIX timestamp should be used
        here
    FromStatusDate:
      name: from_status_date
      in: query
      schema:
        type: string
        example: '1596097247'
      description: >-
        Fetch orders since a specific status transition date. UNIX timestamp
        should be used here
    OrderStatus:
      name: status
      in: query
      schema:
        type: string
        example: done
      description: >-
        Fetch orders with a specific status. Can be used together with
        from_date_paid parameter
    AppsLoad:
      name: apps_load
      in: query
      schema:
        type: boolean
        example: true
      description: >-
        Optional. Used together with a specific order_id and will return app
        specific order data (such as productproperties from the order)
  responses:
    OrdersSuccess:
      description: Orders retrieved successfully
      content:
        application/json:
          schema:
            type: array
            items:
              $ref: '#/components/schemas/Order'
    Unauthorized:
      description: Unauthorized - Invalid or missing authentication
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    OrderNotFound:
      description: Order could not be found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    Order:
      type: object
      properties:
        order_id:
          type: string
          example: '12345'
        date_created:
          type: string
          example: '2025-01-29 11:35:39'
        total_amount:
          type: string
          example: '148.95'
        status:
          type: string
          example: '1'
        products:
          type: array
          description: Order products. Only included when include_details=true.
          items:
            $ref: '#/components/schemas/OrderProduct'
    Error:
      type: object
      properties:
        code:
          type: integer
          example: 404
        error:
          type: string
          example: Resource not found
    OrderProduct:
      type: object
      description: Product within an order
      properties:
        id:
          type: integer
          description: Order product ID
        product_id:
          type: integer
          description: Product ID
        variant_id:
          type:
            - integer
            - 'null'
          description: Variant ID (null if no variant)
        title:
          type: string
          description: Product title
        price:
          type: string
          description: Product price in the order
        qty:
          type: integer
          description: Product quantity
        sku:
          type: string
          description: Product SKU
        variant:
          type:
            - string
            - 'null'
          description: Variant name (null if no variant)
        weight:
          type: string
          description: Product weight
        status:
          type: string
          description: Product status in order
        image:
          type:
            - string
            - 'null'
          description: Product image URL
        app:
          type: object
          description: App-specific data for the product
          properties:
            productpackages:
              type: array
              description: >-
                Product package components. Only present if the ordered product
                is a package containing other products.
              items:
                $ref: '#/components/schemas/ProductPackageComponent'
    ProductPackageComponent:
      type: object
      description: Represents a component product within a product package
      properties:
        product_id:
          type: integer
          description: ID of the component product
          example: 456
        variant_id:
          type:
            - integer
            - 'null'
          description: Variant ID of the component product (null if no variant)
          example: 789
        title:
          type: string
          description: Title of the component product
          example: T-shirt Red
        variant:
          type:
            - string
            - 'null'
          description: Variant name (null if no variant)
          example: Large
        qty:
          type: integer
          description: Quantity of this component in the package
          example: 2
        sku:
          type: string
          description: SKU of the component product/variant
          example: TSHIRT-RED-L
        price:
          type: string
          description: Price of the component product/variant
          example: '299'
  securitySchemes:
    BasicAuth:
      type: http
      scheme: basic
      description: >
        **Basic Authentication with API Keys**


        The Quickbutik API uses Basic Authentication where you use your API key
        as both the username and password.


        **How it works:**

        1. Format your credentials as `api_key:api_key` (using the SAME API key
        for both username and password)

        2. Base64 encode the formatted string

        3. Include in the Authorization header as: `Authorization: Basic
        ENCODED_STRING`


        **Example:**

        - API Key: `sk_live_abc123`

        - Formatted: `sk_live_abc123:sk_live_abc123`

        - Base64 Encoded: `c2tfbGl2ZV9hYmMxMjM6c2tfbGl2ZV9hYmMxMjM=`

        - Header: `Authorization: Basic
        c2tfbGl2ZV9hYmMxMjM6c2tfbGl2ZV9hYmMxMjM=`


        **cURL Example:**

        ```bash

        curl https://api.quickbutik.com/v1/orders -u your_api_key:your_api_key

        ```


        All API requests must be made over HTTPS. Requests made over HTTP will
        be rejected.


        API keys can be generated in the Quickbutik Control Panel under Settings
        → API.

````