Create shipment
Persist a new shipment attached to an existing Order. The shipment is created with shippingStatus: awaiting and is NOT booked with the carrier unless you set autoBook: true.
When to set autoBook: true — only when you already have all sender/delivery/package details and want to immediately request pickup with KiriminAja or RideBlitz. For GoSend the auto-book flag is accepted but no outbound call is made (GoSend booking happens via the Gojek pickup flow in the merchant app).
If the carrier booking fails, the shipment row is still persisted; the response returns a 400 with both data (the persisted row) and error (the booking failure reason) so you can decide whether to retry via POST /shipping/shipments/{id}/cancel followed by a fresh create.
Authorizations
API key for authentication. Create one in Settings > Developer. The key must have the BITCRM product scope and an orders resource scope; required action depends on the endpoint (READ, WRITE, or DELETE).
Body
ID of an Order in this company. Required — every shipment is attached to an order.
Provider/courier code. gosend, kirimin_aja, and ride_blitz are externally integrated; jne is a passthrough placeholder; custom is for merchant-defined methods.
gosend, kirimin_aja, ride_blitz, jne, custom Human-readable label, e.g. JNE REG or GoSend Instant.
255Shipping cost in the smallest unit of currency (e.g. 22000 = IDR 22,000).
x >= 0Service category. INSTANT = on-demand intra-city; EXPRESS = scheduled inter-city.
INSTANT, EXPRESS Provider service identifier, e.g. jne:reg, instant_2_hours, Instant.
KiriminAja Express group: regular, economy, one_day, cargo, next_day.
Vehicle requested for the pickup. TWO_WHEEL = motorcycle, FOUR_WHEEL = car.
TWO_WHEEL, FOUR_WHEEL RideBlitz fuel preference. green = electric fleet (lower emissions, may have limited availability).
regular, green How the merchant hands the package to the carrier. PICKUP = courier picks up from the store, DROPOFF = merchant drops off at carrier hub.
PICKUP, DROPOFF ISO-8601 timestamp (with offset) when KiriminAja Express should pick up. Required when packageHandover=PICKUP for KA.
Optional — link this shipment to a saved store location for analytics + future booking lookups.
x >= 0x >= 0x >= 00 <= x <= 100Pickup → delivery distance in km.
x >= 0When true, immediately request pickup with the carrier after persisting. Supported for kirimin_aja and ride_blitz.
Response
Shipment created.

