Commit order

POST /api/v1/orders tenant key

Tenant fulfillment, step 2. Requires a TENANT API key. Commits a PENDING_PAYMENT order (from POST /shipping-quote) to one of its quoted rate_ids: starts redemption for every card on the order and locks in the chosen rate. You’re billed exactly what that rate quoted. Returns 201.

Try it POST /api/v1/orders money

These inputs are shared across all docs pages — an id entered here carries over.

request body
object · 2 keys
{
  "order_id": 0,
  "rate_id": ""
}
response

Not run yet — press Run to make a live call against https://service.rip.fun (through this demo's server-side proxy; the API key never reaches the browser).

curl (tracks the inputs above)
curl -X POST 'https://service.rip.fun/api/v1/orders' \
  -H 'X-API-Key: rip_…' \
  -H 'Content-Type: application/json' \
  -d '{"order_id":0,"rate_id":""}'

Request fields

FieldTypeRequiredDescription
order_idnumberyesThe PENDING_PAYMENT order id from /shipping-quote (tenant_order_id also accepted)
rate_idstringyesA rate_id from that order's quoted rates[]

Response fields (data)

FieldDescription
order_id / statusThe committed order + its new status
unique_idsCards on the order
shippo_rate_idThe committed (quoted) rate id
shippo_shipment_id / shippo_address_idShippo shipment + address object ids
ship_by_atTarget ship date

Errors

StatusCodeWhen
400order_id requiredorder_id missing / not a positive integer
400rate_id requiredrate_id missing or empty
404order not foundno such order for this tenant
400card not redeemablea card on the order cannot begin redemption (RawCardIntakeError)
409already submittedorder is not PENDING_PAYMENT (already committed / cancelled)

See Errors for the response envelope and the full code list.

Flow

  1. Needs order_id + a rate_id from POST /api/v1/shipping-quote — see the Shipping quote flow.