Skip to main content
POST
Scope: ship:cards, granted on request · MCP tool: create_shipment, which takes the header below as order_id Charges your balance the rate’s full amount, plus the premium if you choose insurance, and queues the shipment for us to fulfill. We quote again before charging: if the total has gone above max_cost, nothing is charged and you get 409 PRICE_CHANGED. Read Shipping cards first, including what covers a parcel.
string
required
Your id for this shipment, 8–128 characters of A-Za-z0-9_-, unique per account among your shipments. Pack and card order ids are a separate set. Reuse it, with the same body, to retry the same shipment safely: Retries.
string[]
required
1–10 card ids from Get vault, each once. A listed card has to be delisted first.
object
required
Your customer’s address, with the same fields and limits as Estimate a shipment.
object
required
The rate you chose from Estimate a shipment.
number
required
The most you’ll pay for this shipment, in dollars, with any insurance: more than 0 and at most 10,000. Normally the amount from the estimate, or its total if you chose insurance.
number
Optional insurance: the dollars of cover you want, with at most two decimals, from $100 up to max_cover from the estimate. Leave it out and the only cover is what the carrier includes automatically: up to $100 on USPS and UPS labels. Other carriers may include less or none. You carry any loss above your cover: how insurance works.

Response

200, with the shipment and every field described in List shipments. A new one is processing.
boolean
Present and true when this answers a retry of a shipment that went through. The body is the shipment as it stands now, which may have moved on.

Errors

A refused shipment charges nothing and frees its id, so you can fix the problem and send it again under the same id.

Retries

A retry has to send the same body, so if a fresh estimate changes your rate or max_cost, a shipment still held under that id answers 422. If it’s with our team, wait: a new id isn’t safe until you hear from us. If a shipment still answers 409 after 30 minutes, contact us with its shipment_id.