Sales Orders API

Get access to your sales orders data through Cloudbox's v1 API.

Retrieving Sales Orders

Sales orders with lines and shipments.

Use GET /api/v1/sales-orders to page through every record in your organization, or GET /api/v1/sales-orders/{id} to fetch a single record with its related data. The id is a UUID, and a 404 means it doesn't exist in your organization.

API Endpoint

GET
/api/v1/sales-orders
GET
/api/v1/sales-orders/{id}

Required Headers

Every request must include the following:

Header Key
Description
org-api-key
Your Organization API key. Contact Cloudbox Support For Access: support@cloudboxapp.com.
user-api-key
Your User API Key

Requests missing either header will return 401 Unauthorized

Example Request

bash curl -X GET "https://app.cloudboxapp.com/api/v1/sales-orders?limit=100" \ -H "org-api-key: YOUR_ORG_API_KEY" \ -H "user-api-key: YOUR_USER_API_KEY" \ -H "Accept: application/json"

Response Schema

Column
Type
Description
id
string (uuid)
Unique ID
order_number
string, nullable
Filterable (exact). Sortable
order_type
string, nullable
Filterable (exact)
status
string, nullable
Filterable (exact)
date
string (YYYY-MM-DD), nullable
Sortable
requested_on
string (YYYY-MM-DD), nullable
customer_order_nbr
string, nullable
external_reference
string, nullable
Filterable (exact)
description
string, nullable
customer_account_id
string (uuid), nullable
References CustomerAccounts. Filterable (exact)
customer_location_id
string (uuid), nullable
References CustomerLocations
customer_contact_id
integer, nullable
References CustomerContacts
location_id
string (uuid), nullable
Location (building/site) ID
ship_via
string, nullable
shipping_terms
string, nullable
ordered_qty
number, nullable
detail_total
number, nullable
line_discounts
number, nullable
document_discounts
number, nullable
freight_total
number, nullable
tax_total
number, nullable
duties_total
number, nullable
order_total
number, nullable
cogs_total
number, nullable
profit
number, nullable
integration_ref
string, nullable
created_at
string (ISO 8601), nullable
Creation timestamp (UTC). Sortable
updated_at
string (ISO 8601), nullable
Last update timestamp (UTC). Sortable
cogs_materials
number, nullable
Detail endpoint only
cogs_labor
number, nullable
Detail endpoint only
cogs_equipment
number, nullable
Detail endpoint only
cogs_inbound_freight
number, nullable
Detail endpoint only
customer
object
Detail endpoint only. Related record: id, name, account_code
lines
array of objects
Detail endpoint only. Related records: id, line_number, sku_id, product_id, line_description, uom, quantity, fulfilled_quantity, unit_price, discount_percent, disc_unit_price, amount, requested_on, ship_on, cogs_amount
shipments
array of objects
Detail endpoint only. Related records: id, shipment_number, status, ship_date, delivered_date, tracking_number, tracking_url

Filters

limitPage size (default 100, max 1000)
offsetNumber of records to skip (default 0)
sortOne of: date, order_number, created_at, updated_at
orderasc | desc
statusOrder status
order_typeOrder type
customer_account_idOrders for this customer
order_numberExact order number match
external_referenceExact external reference match
date_fromOrder date on or after (YYYY-MM-DD)
date_toOrder date on or before (YYYY-MM-DD)
updated_sinceOnly records updated at or after this ISO 8601 timestamp
default sortcreated_at descending

Errors

Cloudbox uses standard HTTP status codes to indicate API success or failure:

  • 200–299 – Request succeeded
  • 400 – Bad request (missing parameters, invalid values)
  • 401 – Unauthorized (missing or invalid API keys)
  • 404 – Resource not found
  • 429 – Too many requests (rate limited)