Skip to main content
POST

Authorizations

Authorization
string
header
required

Token returned by POST /auth/token, sent as Authorization: Bearer <token>.

Body

application/json
store_id
integer
required

Id of the store the order belongs to. Your API credentials must have access to it.

Example:

1234

order_number
string
required

Your identifier for the order. Must be unique within the store.

Example:

"ORD-0001"

shipping
object
required

Recipient and delivery address.

products
object[]
required

Lines of the order. The same SKU may appear more than once.

Minimum array length: 1
shipping_method_id
integer

Id of a Cubbo shipping method. Get it from GET /shipping-methods/quote: each option in the response has a shipping_method_id. Required unless shipping_line_code is sent. Coverage for the destination is checked synchronously: by zip code in Mexico, by shipping.city in Chile. In Chile a shipping.city that cannot be identified does not refuse the order; it is created in error until it is corrected.

Example:

12

shipping_line_code
string

Exact name of a shipping method you created in the Cubbo app, under Integrations, your Open API integration, Shipping Methods (field Integration Delivery Method). It must match character by character: the comparison is case-sensitive and does not trim spaces. Cubbo uses the shipping configuration assigned to that method to pick the carrier. See Set up your integration. Required unless shipping_method_id is sent; ignored when shipping_method_id is present. If no active method has that name, Cubbo falls back to the integration's default shipping method when one exists. If the method exists but no carrier can be resolved (no coverage, unknown weight or tariff), the order is still created and lands in an error status for Cubbo to resolve.

Example:

"Express"

is_paid
boolean
default:true

Whether the order is already paid. Defaults to true when omitted.

Example:

true

is_click_and_collect
boolean
default:false

Set to true to deliver to a carrier pickup point. Requires click_and_collect_service_code.

Example:

false

click_and_collect_service_code
string | null

Pickup point code returned by GET /carrier-services/pickup-locations, in the form CUBBOCNC + carrier code (EST, CUBBO, DHL, PUNTOPOST, 99) + location id. Ignored (cleared) unless is_click_and_collect is true.

Example:

"CUBBOCNCEST001"

channel_name
string

Name of the sales channel the order came from, echoed back as channel_name on the order. Sending it also lets the order be created when a SKU is missing from the catalog (see the endpoint description).

Example:

"my-webstore"

channel_order_id
string

Identifier of the order in your sales channel, echoed back as channel_order_id.

Example:

"WEB-98765"

is_b2b
boolean

Business-model classification. Only read for stores enabled for both B2B and D2C: omit it (or send false) for a consumer order, send true for a B2B order. Stores enabled for a single model always get that model regardless of this value.

Example:

false

has_carrier_insurance
boolean
default:false

Ask the carrier to insure the shipment. Available only for stores with a warehouse in Chile; true elsewhere is refused with CARRIER_INSURANCE_NOT_AVAILABLE.

Example:

false

is_cod
boolean
default:false

Cash on delivery; the courier collects payment at the door.

Example:

false

cod_amount
number

Amount the courier must collect when it differs from the order total (partial collection). Omit, or send 0, to collect the order total. A non-zero amount is available only for stores with a warehouse in Chile; elsewhere it is refused with COD_AMOUNT_NOT_AVAILABLE.

Required range: x >= 0
Example:

30000

requires_document_return
boolean
default:false

Ask the carrier to bring back a signed document with the delivery. Available only for stores with a warehouse in Chile; cannot be combined with requires_pickup_on_delivery.

Example:

false

requires_pickup_on_delivery
boolean
default:false

Include a prepaid return label inside the outbound package. Available only for consumer (D2C) orders of stores with a warehouse in Chile, and cannot be combined with requires_document_return.

Example:

false

billing
object

Optional billing contact and address.

shipping_documents
object[]

Optional PDF documents to print and include with the shipment (for example a label or invoice you issued). Each document is fetched from a URL or decoded from base64 at creation time.

Response

Order created. The body is the full order as Cubbo stores it, including its lines and the resolved shipping method. The order is still in its initial status; processing happens asynchronously. When the order was created with SKUs that are not in the store's catalog (only possible with channel_name), or with a Colombian shipping.city_code Cubbo does not know, the body also carries warnings.

The order as POST /orders returns it.

id
integer

Cubbo ID of the order. Use it in path parameters.

Example:

987654

store_id
integer

Store ID.

Example:

1234

order_number
string

Your order number, unique within the store.

Example:

"ORD-0001"

status
enum<string>

Fulfillment status of an order. processing, picking and packing all mean the order is being prepared in the warehouse. holded means the order is on hold. packed is unused.

Available options:
initial,
unpaid,
empty,
pending,
error,
cancelation_window,
entirely_dropshipping,
backorder,
processing,
picking,
packing,
packed,
shipped,
canceled,
holded,
interrupted,
returned,
return_arrived,
returning,
reentered,
awaiting_fulfillment_request,
awaiting_dropoff,
arrived_at_warehouse
Example:

"shipped"

channel_created_at
string<date-time>

When the order was created in the sales channel.

Example:

"2026-01-10T14:02:11.000Z"

order_date
string<date-time> | null

Order date.

Example:

"2026-01-10T14:02:11.000Z"

shipping_date
string<date-time> | null

When the order was shipped.

Example:

"2026-01-11T18:30:00.000Z"

pending_at
string<date-time> | null

When the order became ready to be fulfilled.

Example:

"2026-01-10T14:05:00.000Z"

shipping_email
string | null

Buyer email.

Example:

"buyer@example.com"

shipping_address_1
string | null

Shipping street address line 1 (also inside shipping).

Example:

"Av. Ejemplo 123"

shipping_status
enum<string> | null

Carrier-side status of the shipment.

Available options:
shipment_created,
awaiting_collection,
shipment_collected,
shipment_in_transit,
shipment_out_for_delivery,
shipment_delivered,
shipment_partially_delivered,
shipment_with_incident,
shipment_to_be_self_collected,
shipment_canceled,
shipment_returned,
shipment_not_defined
Example:

"shipment_in_transit"

is_paid
boolean

Whether the order is paid. Unpaid orders are not fulfilled.

Example:

true

is_cod
boolean

Whether the order is cash on delivery.

Example:

false

cod_amount
string | null

Amount to collect on delivery, as a decimal string.

Example:

null

requires_document_return
boolean

Whether the carrier must bring back a signed document.

Example:

false

requires_pickup_on_delivery
boolean

Whether the carrier must pick something up when delivering.

Example:

false

has_carrier_insurance
boolean

Whether the shipment is insured with the carrier.

Example:

false

has_missing_info
boolean

Whether the order is blocked because data is missing.

Example:

false

missing_info
string | null

Description of the missing data, if any.

Example:

null

currency
string | null

Currency code of the prices.

Example:

"MXN"

total_price
string | null

Order total as a decimal string.

Example:

"899.00"

discount_price
string | null

Total discount as a decimal string.

Example:

"0.00"

buyer_shipping_price
string | null

Shipping price paid by the buyer, as a decimal string.

Example:

"0.00"

extra_fees_price
string | null

Extra fees as a decimal string.

Example:

"0.0"

is_pick_and_ship
boolean

Whether the order is a pick-and-ship order (you pick it up at the warehouse).

Example:

false

pick_n_ship_status
enum<string> | null

Pick-and-ship status.

Available options:
awaiting_pick_up,
picked_up,
in_warehouse,
null
Example:

null

is_b2b
boolean

Whether the order is a B2B order. In GET /orders only present for stores that handle both B2B and D2C.

Example:

false

is_first_time_buyer
boolean

Whether this is the buyer's first order in the store.

Example:

true

is_subscription_renewal
boolean

Whether the order is a subscription renewal.

Example:

false

is_click_and_collect
boolean

Whether the buyer picks the order up at a pickup point.

Example:

false

click_and_collect_metadata
object | null

Pickup-point details for click-and-collect orders; null otherwise.

is_multi_package
boolean

Whether the shipment has more than one package.

Example:

false

shipping
object

Shipping contact and address of an order.

billing
object

Billing contact, fiscal data and address of an order. Fiscal fields are returned in clear text to the store that owns the order.

delivery_tracking
object[]

Tracking per package. Return labels are excluded.

return_shipping_labels
object[] | null

Valid return labels of the order.

proof_of_delivery
object | null

Proof of delivery, when the carrier provided one for a shipped or returned order.

estimated_time_arrival
string<date-time> | null

Estimated delivery date.

Example:

"2026-01-13T00:00:00.000Z"

latest_estimated_time_arrival_range
object | null

Latest estimated delivery window, or null when no estimate exists.

delivered_at
string<date-time> | null

When the carrier delivered the order.

Example:

null

updated_at
string<date-time>

Last update of the order.

Example:

"2026-01-11T18:31:00.000Z"

channel_order_id
string | null

ID of the order in the sales channel.

Example:

"5566778899"

channel_name
string | null

Name of the sales channel the order came from.

Example:

"shopify"

channel_shipping_line_code
string | null

Code of the shipping option chosen at checkout in the sales channel (first shipping line).

Example:

"standard"

warehouse_timezone
string | null

IANA time zone of the warehouse fulfilling the order.

Example:

"America/Mexico_City"

shipping_method
object | null

Shipping method assigned to the order.

order_lines
object[]

Lines of the order.

invoices
object[]

NF-e documents attached to the order (Brazil).

store
object | null

Store the order belongs to.

channel_integration
object | null

Sales-channel integration the order came from.

return
object | null

The return opened for this order, if any. Use GET /returns/{return_id} for the full return.

created_by_return
object | null

The return that created this order (for exchanges), if any.

order_histories
object[]

Order timeline. Only returned by GET /orders with include_event_history=true.

warnings
object[]

Present only when the order was created with something it still needs from you. UNIDENTIFIED_PRODUCT lists, in context.skus, the SKUs not found in the store's catalog; the order waits with missing information until those products exist. UNRECOGNIZED_CITY_CODE gives, in context.city_code, the Colombian shipping.city_code Cubbo does not know; the order waits in error until you correct it with PUT /orders/{id}.