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

# Post a draft transfer order

> Post a draft transfer order. Posting creates the linked sales order and purchase order
(returned as `sales_order_id` and `purchase_order_id`).

Set `push_to_wms` to also create the inbound shipment at the destination warehouse's WMS in the
same call. A failed WMS push does not undo the post: the response is still `200`, with
`data.wms_push.success` set to `false` and the error in `data.wms_push.message`. Retry the push
with `POST /transfer-orders/{id}/push-inbound-shipment`.




## OpenAPI

````yaml /api-reference/build.yaml post /transfer-orders/{id}/post
openapi: 3.0.0
info:
  title: Luminous API
  version: 1.0.0
  description: API documentation for Luminous
servers:
  - url: https://{companyName}.api.joinluminous.com/external/api/v1
    variables:
      companyName:
        default: companyName
        description: Your company-specific subdomain
security: []
tags:
  - name: Products
    description: Get and manage products
  - name: Pricing
    description: Manage price schedules, levels, and customizations
  - name: BOMs
    description: Manage Bills of Materials (BOMs)
  - name: Labels
    description: Label rendering via Labelary ZPL service
  - name: Companies
    description: Manage business accounts and their associated data
  - name: Contacts
    description: Manage contact information for individuals
  - name: Suppliers
    description: Manage suppliers (factories) — vendors used on purchase orders
  - name: Supplier SKUs
    description: Manage per-supplier SKU and unit-cost overrides for products
  - name: Locations
    description: Manage warehouses and locations
  - name: Inventory
    description: Get and adjust product stock levels
  - name: Lots
    description: Create, update, and delete product lots (batches)
  - name: Transfer Orders
    description: Manage transfer orders
  - name: Fulfillment Orders
    description: Manage fulfillment orders and picklists
  - name: Freight
    description: >-
      Freightview LTL freight — quotes, booking and documents for fulfillment
      orders
  - name: Fulfillment Priority Lists
    description: Configure fulfillment routing priority lists
  - name: Purchase Orders
    description: Get and modify purchase orders
  - name: Supplier Portal
    description: >-
      Read a supplier's response to a purchase order and control the one-click
      portal link
  - name: Receiving Reports
    description: Manage receiving reports
  - name: Payment Obligations
    description: Manage payment obligations for purchase orders
  - name: Sales Orders
    description: Manage sales orders and sales order shipments
  - name: Purgatory
    description: >-
      Inspect and resolve non-posted sales orders in the purgatory staging
      workflow
  - name: PickFlow Warehouse
    description: >-
      Warehouse-floor lookups for PickFlow — barcode resolution, bin and product
      stock, bin search, and receivables
  - name: PickFlow Shipping
    description: >-
      Provider-agnostic shipping rates, services, packages, and label purchase
      for PickFlow
  - name: Cycle Counts
    description: >-
      Create, drive, and post PickFlow cycle counts — batches, per-warehouse
      sessions, and CSV import/export
  - name: Print Stations
    description: List paired print stations and enqueue print jobs to them
  - name: Invoices
    description: Get and manage invoices
  - name: Work Orders
    description: >-
      Manage work orders — production lifecycle, steps, materials, links,
      shipments, and comments
  - name: Production Batches
    description: Group and manage work orders as production batches
  - name: Bills
    description: >-
      Accounts payable bill management, payments, attachments, allocations, and
      variance
  - name: Prepayments
    description: Manage vendor prepayments and applications
  - name: Vendor Credits
    description: Manage vendor credits and applications
  - name: Vendor Returns
    description: Manage vendor returns and credit generation
  - name: Customer Returns
    description: Manage customer returns (sales returns), receiving, and restock behavior
  - name: Stock Snapshot
    description: Point-in-time stock snapshots with export support
  - name: Consumption
    description: Consumption reports and exports
  - name: Inventory Aging
    description: Cost-layer-based inventory aging reports
  - name: Bills Reports
    description: Accounts payable bills aging reports
  - name: Forecast
    description: Materialized forecast data
  - name: Reports
    description: Close the books, inventory discrepancy, transaction COGS, and EDI reports
  - name: Tags
    description: Add/remove tags across various resources
  - name: Custom Fields
    description: Get and set custom fields across various resources
  - name: Currency
    description: Currency configuration, exchange rates, and conversion
  - name: Drive
    description: >
      Browse, upload, tag and manage files in your Luminous Drive. An API token
      sees the shared

      drive only, never My Files or restricted folders and files. Every write
      and download made

      through the API is recorded in the file's activity log (`GET
      /file-cabinet/files/{id}/activity`)

      with `actor_kind: api_token`.
  - name: Integration Mappings
    description: Manage integration mappings for external systems
  - name: Integration Field Mappings
    description: Manage field-level mappings between Luminous and external systems
  - name: Automations
    description: Create, test, and inspect automation rules and their runs
paths:
  /transfer-orders/{id}/post:
    post:
      tags:
        - Transfer Orders
      summary: Post a draft transfer order
      description: >
        Post a draft transfer order. Posting creates the linked sales order and
        purchase order

        (returned as `sales_order_id` and `purchase_order_id`).


        Set `push_to_wms` to also create the inbound shipment at the destination
        warehouse's WMS in the

        same call. A failed WMS push does not undo the post: the response is
        still `200`, with

        `data.wms_push.success` set to `false` and the error in
        `data.wms_push.message`. Retry the push

        with `POST /transfer-orders/{id}/push-inbound-shipment`.
      operationId: postTransferOrder
      parameters:
        - in: path
          name: id
          required: true
          schema:
            type: integer
          description: ID of the transfer order to post
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                push_to_wms:
                  type: boolean
                  default: false
                  description: >-
                    Also create the WMS inbound shipment for the posted transfer
                    order.
                tracking_number:
                  type: string
                  nullable: true
                  description: >-
                    Tracking number passed to the WMS inbound shipment when
                    `push_to_wms` is true.
      responses:
        '200':
          description: Transfer order posted
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    allOf:
                      - type: object
                        properties:
                          id:
                            type: integer
                            description: Unique identifier for the transfer order
                          number:
                            type: string
                            description: Transfer order number
                          date:
                            type: string
                            format: date
                            description: Date of the transfer order
                          arrival_date:
                            type: string
                            format: date
                            description: Expected arrival date
                          items_cost:
                            type: number
                            format: float
                            description: Total cost of items
                          shipping_cost:
                            type: number
                            format: float
                            description: Shipping cost
                          shipping_method:
                            type: string
                            description: Method of shipping
                          source_warehouse_id:
                            type: integer
                            description: ID of the source warehouse
                          destination_warehouse_id:
                            type: integer
                            description: ID of the destination warehouse
                          channel_id:
                            type: integer
                            nullable: true
                            description: ID of the fulfillment source channel
                          note:
                            type: string
                            nullable: true
                            description: Note on the transfer order
                          sales_order_id:
                            type: integer
                            nullable: true
                            description: >-
                              ID of the sales order created when the transfer
                              order was posted. `null` until posted.
                          purchase_order_id:
                            type: integer
                            nullable: true
                            description: >-
                              ID of the purchase order created when the transfer
                              order was posted. `null` until posted.
                          status:
                            type: string
                            description: Status of the transfer order (`DRAFT` or `POSTED`)
                          created_at:
                            type: string
                            format: date-time
                            description: Creation timestamp
                          updated_at:
                            type: string
                            format: date-time
                            description: Last update timestamp
                          items:
                            type: array
                            items:
                              type: object
                              properties:
                                id:
                                  type: integer
                                  description: >-
                                    Unique identifier for the transfer order
                                    item
                                transfer_order_id:
                                  type: integer
                                  description: ID of the associated transfer order
                                product_id:
                                  type: integer
                                  description: ID of the product
                                sku:
                                  type: string
                                  description: SKU of the product
                                product_name:
                                  type: string
                                  description: Name of the product
                                description:
                                  type: string
                                  description: Description of the item
                                quantity:
                                  type: number
                                  description: Quantity of the item
                                ordered_qty:
                                  type: number
                                  description: Ordered quantity of the item
                                base_uom_id:
                                  type: integer
                                  description: ID of the base unit of measure
                                ordered_uom_id:
                                  type: integer
                                  description: ID of the ordered unit of measure
                                unit_cost:
                                  type: number
                                  description: Unit cost of the item
                                line_item_cost:
                                  type: number
                                  description: Total cost of the line item
                                created_at:
                                  type: string
                                  format: date-time
                                  description: Creation timestamp
                                updated_at:
                                  type: string
                                  format: date-time
                                  description: Last update timestamp
                            description: List of items in the transfer order
                          extra_costs:
                            type: array
                            items:
                              type: object
                              properties:
                                id:
                                  type: integer
                                  description: Unique identifier for the extra cost
                                name:
                                  type: string
                                  description: >-
                                    Extra cost name (e.g. "Freight", "Customs
                                    duty")
                                cost_type:
                                  type: string
                                  nullable: true
                                  enum:
                                    - freight
                                    - duty
                                    - service
                                    - other
                                  description: >-
                                    Cost type. Inferred from the name when not
                                    supplied on create.
                                reference_number:
                                  type: string
                                  nullable: true
                                  description: Carrier invoice / booking reference
                                quantity:
                                  type: integer
                                  description: Quantity
                                unit_price:
                                  type: number
                                  description: Price per unit
                                line_total:
                                  type: number
                                  description: '`quantity` × `unit_price`'
                                cost_allocation_type:
                                  type: string
                                  nullable: true
                                  enum:
                                    - UNIT_BASED_ALLOCATION
                                    - VALUE_BASED_ALLOCATION
                                    - WEIGHT_BASED_ALLOCATION
                                    - VOLUME_BASED_ALLOCATION
                                  description: >-
                                    How the cost is allocated across the
                                    received units
                            description: >-
                              Extra costs (freight, duty, ...) on the transfer
                              order
                      - type: object
                        properties:
                          wms_push:
                            type: object
                            description: >-
                              Result of the WMS push. Only present when
                              `push_to_wms` is true.
                            properties:
                              success:
                                type: boolean
                              message:
                                type: string
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
        '404':
          description: Transfer order not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: Transfer order not found.
        '422':
          description: >-
            The transfer order is already posted or is not a draft, or posting
            failed. `error` holds the message.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
      security:
        - BearerAuth: []
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: >-
        Authenticate using a bearer token. To create a token, navigate to
        /settings/api-tokens and click Create API Token.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.