Help CenterGitHub

Purchase a label

POST Purchase

Purchase a draft label.

Wallet purchase: The amount is deducted from your atoship wallet. rate in the response = what you paid.

BYOCA purchase: When the draft has a carrier_account_id, the shipment is created via your own carrier credentials. rate in the response = the carrier's quoted rate. Your atoship wallet is NOT charged for the shipment cost — your carrier account (or the third party you specified via billing) is billed by the carrier directly.

Third-party billing (UPS only): Set billing.payer = "third_party" with the third party's UPS account number, country, and postal code. UPS will bill that account instead of yours. This is the standard pattern for ERPNext/ERP integrations where shipping costs flow back to a customer's own UPS account.

Authorization: By submitting a third-party billing request, you confirm the third party has authorized you to bill their UPS account. atoship logs the authorization timestamp for audit/dispute resolution.

Parameters

Path Parameters

id string Required
Label ID from POST /v1/labels. Must be in draft status.

Request Body (optional)

billing object
Override or supply billing at purchase time. Same shape as billing on POST /v1/labels. Takes precedence over billing saved on the draft.

payer: shipper | recipient | third_party
accountNumber: Required for recipient/third_party
countryCode: 2-letter ISO. Required for third_party
postalCode: Required for third_party

Returns

200 Success
401 Unauthorized
500 Internal Server Error

Related

Labels
POST/api/v1/labels/[id]/purchase
atoship © 2026