TekipostAPI
Create orders
POST/v1/intake/order

Create an order

requires orders.write

Creates a forward order. It does not book — call POST /v1/shipping/book next.

Idempotent on customer_order_no: re-sending the same reference answers 200 {order_id, deduped:true} instead of creating a second order. order.pickup_address_id must be one of your own warehouses; an id that is not yours is 400 invalid_pickup_address, never a 403 that would confirm it exists.

Refused for merchant_finance · merchant_support · merchant_staff — these are read-only roles, and the refusal happens before the handler runs.

Request body

FieldTypeDescription
customer_order_norequiredstringYour reference. The idempotency key.
channelstringWhere the order came from.
receiverrequiredobject{name, address_1, address_2?, landmark?, city?, state?, pincode, mobile_no}.
productrequiredobject{product_name, product_sku?, physical_weight, declared_order_total, cod_amount?, length?, width?, height?}.
orderrequiredobject{pickup_address_id (required), rto_address_id?, order_date?, order_type ("0" prepaid | "1" COD), order_from_source?}.

Responses

StatusMeaning
201{order_id}. A duplicate answers 200 {order_id, deduped:true}.
400
validation_failed
details lists every field that failed.
400
invalid_pickup_address
pickup_address_id is not one of your warehouses.
403
cannot create order for another sender
The body named a sender that is not yours.