Skip to main content

Orders API

Integrate with the Uphance Orders API to create, update and track sales orders. Automate order processing, synchronize fulfillment data, and simplify backend operations.

Written by Christopher Ike
Updated over 2 weeks ago

Orders API

You can access sales orders in a Uphance account or create new sales orders using these API calls.  You can retrieve all sales orders or new sales orders since a certain ID.

GET all orders

Retrieve all orders. This endpoint will return 100 orders at most (see the Pagination section to learn how to access all pages).

$ curl https://api.uphance.com/sales_orders \
    -H "Authorization: ACCESS_TOKEN"

Example response:

{
"sales_orders": [
{
"id": 862329,
"created_at": "2026-03-27T10:18:08.000Z",
"updated_at": "2026-03-27T10:18:09.000Z",
"items_total": "1280.0",
"items_tax": "0.0",
"subtotal": "1280.0",
"total_tax": "0.0",
"grand_total": "1280.0",
"total_quantity": 40,
"shipping_cost": "0.0",
"shipping_tax": "0.0",
"settlement_discount": "0.0",
"deposit_percentage": "0.0",
"custom_fields": [
{
"name": "Fuel charges",
"field_type": "number",
"value": 0.0
},
{
"name": "Handling charges",
"field_type": "number",
"value": 0.0
}
],
"start_ship_date": "2025-10-17",
"cancel_ship_date": "2025-11-11",
"submitted_at": null,
"confirmed_at": null,
"notes": "",
"internal_notes": null,
"currency": "CAD",
"proforma_number": null,
"proforma_date": null,
"order_number": "1181",
"purchase_order_ref": null,
"invoice_numbers": "",
"shipment_numbers": "",
"next_due_date": null,
"company_name": "buyers",
"season_id": 18317,
"organisation_id": 36619,
"status": "draft",
"channel_id": 11953,
"channel_name": "Wholesale(CAD)",
"company_id": 816911,
"invoice_method": "SHIPMENTS",
"warehouse_name": "Primary warehouse",
"fulfillment_status": "not_shipped",
"financial_status": "not_paid",
"payment_term_name": "Net 7",
"shipping_instructions": "",
"return_label": false,
"line_items": [
{
"id": 3662219,
"product_id": 423382,
"product_name": "3085_One",
"product_identifier": "3085_oneadd_on_s",
"variation_id": 865429,
"color": "Beige",
"unit_tax": "0.0",
"tax_level": "0.0",
"unit_price": "32.0",
"original_price": "32.0",
"weight": "0.0",
"weight_unit": "lb",
"percentage_discount": "0.0",
"bundle_line_item": false,
"comments": null,
"product_brand": null,
"season": "SS27",
"country_of_origin": "",
"intrastat_code": "",
"line_quantities": [
{
"id": 17606576,
"size": "S/N",
"quantity": 30,
"sku_number": "3085_ONEADD_ON_S-BEI-S/N",
"sku_id": 4273551,
"upc_number": "1234567895741",
"inventory_id": 13890428,
"bundle_components": []
},
{
"id": 17606577,
"size": "M/N",
"quantity": 0,
"sku_number": "3085_ONEADD_ON_S-BEI-M/N",
"sku_id": 4273554,
"upc_number": "1234567895772",
"inventory_id": 13890443,
"bundle_components": []
}
]
},
{
"id": 3662220,
"product_id": 423382,
"product_name": "3085_One",
"product_identifier": "3085_oneadd_on_s",
"variation_id": 865430,
"color": "Blue",
"unit_tax": "0.0",
"tax_level": "0.0",
"unit_price": "32.0",
"original_price": "32.0",
"weight": "0.0",
"weight_unit": "lb",
"percentage_discount": "0.0",
"bundle_line_item": false,
"comments": null,
"product_brand": null,
"season": "SS27",
"country_of_origin": "",
"intrastat_code": "",
"line_quantities": [
{
"id": 17606578,
"size": "S/N",
"quantity": 10,
"sku_number": "3085_ONEADD_ON_S-BLUE_FOR_SHIRT3-S/N",
"sku_id": 4273552,
"upc_number": "1234567895758",
"inventory_id": 13890433,
"bundle_components": []
},
{
"id": 17606579,
"size": "M/N",
"quantity": 0,
"sku_number": "3085_ONEADD_ON_S-BLUE_FOR_SHIRT3-M/N",
"sku_id": 4273555,
"upc_number": "1234567895789",
"inventory_id": 13890448,
"bundle_components": []
}
]
}
],
"agents": [
{
"id": 10237,
"name": "Cora Agencies",
"email": "[email protected]",
"phone": "12025550137",
"address": "",
"city": "NY",
"postal_code": "10001",
"country": "US",
"currency": "USD"
}
]
}
]
}

GET orders with filter parameters

Retrieve all orders since a certain order ID. This endpoint will return 100 orders at most (see the Pagination section to learn how to access all pages).

$ curl https://api.uphance.com/sales_orders?since_id=12500 \
    -H "Authorization: ACCESS_TOKEN"

Filter by purchase order reference

$ curl https://api.uphance.com/sales_orders??by_purchase_order_ref= PURCHASE_ORDER_REF \
    -H "Authorization: ACCESS_TOKEN"

Filter by shipment number

$ curl https://api.uphance.com/sales_orders??by_shipment_number= SHIPMENT_NUMBER \
    -H "Authorization: ACCESS_TOKEN"

GET one sales order

Retrieve a single sales order by passing the order ID or order number.

$ curl https://api.uphance.com/sales_orders/[ORDER_ID] \
    -H "Authorization: ACCESS_TOKEN"
$ curl https://api.uphance.com/sales_orders?by_order_number=ORDER_NUMBER \
    -H "Authorization: ACCESS_TOKEN"

POST a sales order

You can create a sales order in Uphance from an external system using a POST request to /sales_orders. These orders can be in a draft or confirmed state.

POST https://api.uphance.com/sales_orders

The caller should provide the following headers along with the request:

Content-Type : application/json
Authorization: Bearer ACCESS_TOKEN

The body of your request should be a JSON document formatted as below.

Example request:

{
    "customerId": 55140,
    "season_name": "UPHANCE2023",
    "channel_name": "Wholesale",
    "channel_currency": "USD",
    "notes": "Sale from API",
    "purchaseOrderRef": "PO 0000001",
    "startShipDate": "2019-06-06",
    "endShipDate": "2020-07-07",
    "paymentTerm":"30% Deposit, Net 30",
    "billing_contact_id":51678,
    "shipping_contact_id":51678,
    "billing_address_id":68207,
    "shipping_address_id":68207,
    "tax_level":10,
    "shipping_cost": 15,
    "order_status":"confirmed",
    "agent_name":"Mary Jones",
    "warehouse_name":"Primary warehouse",
    "total_tax": "10",
    "total_amount": "125",
    "line_items":
    [
        {
            "product_id": "uphance-cap",
            "variation_id": 163794,
            "unit_price": 1,
            "line_quantities":
            [
                {
                    "sku_id":867893,
                    "quantity": 10
        }
   ]
},  
         {
            "product_id": 77630,
            "variation_id": 163772,
            "unit_price": 10,
            "line_quantities":
            [
                {
                    "quantity": 3,
                    "sku_id": 867799
        },
        {
                    "quantity": 3,
                    "sku_id": 867800
        },
                {
                    "quantity": 3,
                    "sku_id": 867801
        }
   ]
}
   ]
}

Channels

GET all channels

$ curl https://api.uphance.com/channels \ 
     -H "Authorization: ACCESS_TOKEN"

Next steps

Did this answer your question?