Card Shipments
Create shipment draft
https://api.firstleeward.com/v0/card-shipmentsCreates a new card shipment in DRAFT status. No manufacturer call is made until the draft is explicitly submitted.
Authorizations
Authorizationstring · headerrequiredAPI key as Bearer token, e.g. Bearer YOUR_API_KEY
Headers
Leeward-Versionenum<string>requiredAPI version (YYYY-MM-DD). Available option: 2026-09-18
Body
application/json
destinationAddressobjectrequiredBox-level destination address
Show child attributes
line1stringrequiredStreet address line 1
line2string | nullStreet address line 2
zonestring | nullState, province, or zone
citystringrequiredCity
postalCodestringrequiredPostal code
countrystringrequiredISO 3166-1 alpha-2 country code
recipientobjectrequiredRecipient details
Show child attributes
firstNamestringrequiredRecipient first name
lastNamestringrequiredRecipient last name
phoneNumberstringrequiredRecipient phone number
dialCodeintegerrequiredPhone dial code
emailstring<email>requiredRecipient email address
courierobjectrequiredCourier selection. POSTAL takes no name; COURIER requires a selectable courier name. A manufacturer-assigned courier may appear on the shipment after submit.
Show child attributes
Option 1 · Postal
typestringrequiredOption 2 · Courier
typestringrequirednamestringrequiredDHLFEDEXcardsobject[]requiredCards to include in this shipment
Show child attributes
cardIdstring<uuid>requiredID of the card to ship
cardDesignIdstringrequiredCard design identifier
shippingAddressobjectrequiredPer-card final destination address
Show child attributes
line1stringrequiredStreet address line 1
line2string | nullStreet address line 2
zonestring | nullState, province, or zone
citystringrequiredCity
postalCodestringrequiredPostal code
countrystringrequiredISO 3166-1 alpha-2 country code
Response
200Card shipment resource
idstring<uuid>requiredUnique shipment identifier
statusstringrequiredShipment lifecycle status
DRAFTPLACEDIN_PRODUCTIONREADY_TO_SHIPIN_TRANSITOUT_FOR_DELIVERYDELIVEREDDELIVERY_FAILEDEXCEPTIONCANCELEDdestinationAddressobjectrequiredShipping address
Show child attributes
line1stringrequiredStreet address line 1
line2string | nullrequiredStreet address line 2
zonestring | nullrequiredState, province, or zone
citystringrequiredCity
postalCodestringrequiredPostal code
countrystringrequiredISO 3166-1 alpha-2 country code
recipientobjectrequiredRecipient details
Show child attributes
firstNamestringrequiredRecipient first name
lastNamestringrequiredRecipient last name
phoneNumberstringrequiredRecipient phone number
dialCodeintegerrequiredPhone dial code
emailstring<email>requiredRecipient email address
courierobjectrequiredCourier on the shipment
Show child attributes
Option 1 · Postal
typestringrequiredOption 2 · Courier
typestringrequirednamestringrequiredCourier name. May be manufacturer-assigned after submit.
DHLFEDEXSFEXPRESStrackingNumberstring | nullrequiredCourier tracking number
trackingUrlstring | nullrequiredCourier tracking URL
cutoffDatestring | nullrequiredISO 8601 cutoff date returned by the manufacturer
createdAtstringrequiredISO 8601 creation timestamp
updatedAtstringrequiredISO 8601 last update timestamp
submittedAtstring | nullrequiredISO 8601 timestamp when submitted to the manufacturer
deliveredAtstring | nullrequiredISO 8601 timestamp when all cards were delivered
400Response for status 400
Option 1 · CardNotPhysicalError
errorobjectrequiredShow child attributes
codestringrequiredmessagestringrequireddetailobject | nullrequiredOption 2 · CardNotShippableError
errorobjectrequiredShow child attributes
codestringrequiredmessagestringrequireddetailobject | nullrequiredOption 3 · ShippingNotAllowedForCountryError
errorobjectrequiredShow child attributes
codestringrequiredmessagestringrequireddetailobject | nullrequiredOption 4 · ZoneRequiredError
errorobjectrequiredShow child attributes
codestringrequiredmessagestringrequireddetailobject | nullrequiredOption 5 · InvalidZoneError
errorobjectrequiredShow child attributes
codestringrequiredmessagestringrequireddetailobject | nullrequiredOption 6 · ShippingEmailInvalidError
errorobjectrequiredShow child attributes
codestringrequiredmessagestringrequireddetailobject | nullrequiredOption 7 · CourierNotSupportedError
errorobjectrequiredShow child attributes
codestringrequiredmessagestringrequireddetailobject | nullrequiredOption 8 · DuplicateCardInShipmentError
errorobjectrequiredShow child attributes
codestringrequiredmessagestringrequireddetailobject | nullrequiredOption 9 · SingleCardShipmentAddressMismatchError
errorobjectrequiredShow child attributes
codestringrequiredmessagestringrequireddetailobject | nullrequiredOption 10 · CardShipmentEmptyError
errorobjectrequiredShow child attributes
codestringrequiredmessagestringrequireddetailobject | nullrequiredOption 11 · CardShipmentCardLimitExceededError
errorobjectrequiredShow child attributes
codestringrequiredmessagestringrequireddetailobject | nullrequiredOption 12 · CardShipmentCardDesignNotActiveError
errorobjectrequiredShow child attributes
codestringrequiredmessagestringrequireddetailobject | nullrequiredOption 13 · CardShipmentCardDesignNotPhysicalCapableError
errorobjectrequiredShow child attributes
codestringrequiredmessagestringrequireddetailobject | nullrequiredOption 14 · CardDesignOutOfStockError
errorobjectrequiredShow child attributes
codestringrequiredmessagestringrequireddetailobject | nullrequired404Response for status 404
Option 1 · CardShipmentCardNotFoundError
errorobjectrequiredShow child attributes
codestringrequiredmessagestringrequireddetailobject | nullrequiredOption 2 · CardShipmentCardDesignNotFoundError
errorobjectrequiredShow child attributes
codestringrequiredmessagestringrequireddetailobject | nullrequired409Card already belongs to an active shipment
errorobjectrequiredShow child attributes
codestringrequiredmessagestringrequireddetailobject | nullrequired