Create shipment draft
Creates a priced shipment draft.
Prerequisites
- Use a service and package type returned by service discovery for your account.
- Carrier pickup dates cannot be in the past on the Copenhagen calendar.
Behavior
- Returns
201with aPENDINGdraft. Request booking separately. - Saves address snapshots and the calculated price.
- An inline receiver is saved to the address book.
Permission
SHIPMENTS_WRITE
See Troubleshooting for authentication, access, rate-limit, and service errors.
/shipmentsAuthorizationBearer token · headerrequiredRequired header: Authorization: Bearer <customer-api-key>. Use a Customer API key with the operation's required permission. Never use a dashboard or webshop token.
Idempotency-KeystringrequiredUnique operation key, at most 255 characters after trimming. Retry the same request with the same key; use a new key for a changed request.
application/jsonShipment details for a new unbooked PENDING draft. Creating the draft does not request carrier booking.
serviceCodestringrequiredChoose a serviceCode returned by GET /services for this account. The enum lists recognized codes; availability depends on the account and route. OTHER has no carrier booking or printable label. Express services require pickup and delivery within Denmark.
PALLETLEMAN_PALLETBUSINESS_PARCELPRIVATE_PARCELPICKUP_SHIPMENTSHOP_DELIVERYDIRECT_SHOPSHOP_RETURNPICKUP_RETURNGLOBAL_EXPRESSEXPRESS_10EXPRESS_12OTHERsenderIdstringrequiredRequired ID of a saved sender belonging to this account. Obtain it from GET /senders or POST /senders.
receiverIdstringID of a saved receiver belonging to this account. Provide exactly one of receiverId or receiver.
receiverAddressInline receiver address instead of receiverId. Creating or replacing a draft saves it in the address book; price preview does not save it.
Show propertiesHide properties
namestringrequiredPerson or company name. Required and nonempty after trimming; see maxLength. Shipment services may impose a lower name limit.
street1stringrequiredPrimary street address, including house number. Required and nonempty after trimming; see maxLength and service fieldLimits.
street2string | anyOptional additional address line. Omit or send null to clear it; see maxLength and service fieldLimits.
Show propertiesHide properties
stringanycitystringrequiredTown or city. Required and nonempty after trimming; see maxLength.
zipstringrequiredPostal code as text, preserving leading zeros. It must match the country for carrier shipments; see maxLength.
countrystringrequiredSupported country code in two-letter uppercase ISO format, such as DK. The country and service must have an available route and price.
addressTypestringrequiredRESIDENTIAL for a private address or COMMERCIAL for a business address.
RESIDENTIALCOMMERCIALregionstring | anyOptional state, province, or region as text. Omit or send null to clear it.
Show propertiesHide properties
stringanyattentionstring | anyOptional contact person or attention line. Omit or send null to clear it; see maxLength.
Show propertiesHide properties
stringanyemailstring<email> | anyValid contact email address, or null. Required for a shipment receiver when GET /services reports receiverEmailRequired.
Show propertiesHide properties
string<email>anyphonestring | anyTelephone number in international E.164 format, such as +4512345678, or null. Required for a shipment receiver when receiverPhoneRequired is true.
Show propertiesHide properties
stringanymobilestring | anyMobile number in international E.164 format, such as +4512345678, or null. Required for a shipment receiver when receiverMobileRequired is true.
Show propertiesHide properties
stringanypickupDatestringrequiredValid YYYY-MM-DD date on the Copenhagen calendar. Carrier shipments cannot use a past date; OTHER still requires a valid date.
packagesobject[]One item per physical package or pallet. At least one is required for carrier services. OTHER accepts an omitted or empty array. Each item requires type, positive weight, and hasDg.
Show propertiesHide properties
objecttypestringrequiredChoose a packageTypes[].type returned by GET /services for the selected serviceCode. A recognized enum value is not necessarily enabled for this account.
EURO_PALLET_QUARTEREURO_PALLET_HALFEURO_PALLETPKKLEMAN_EURO_PALLET_HALFLEMAN_EURO_PALLETINDUSTRIAL_PALLETBUSINESS_PARCELPRIVATE_PARCELPICKUP_SHIPMENTSHOP_DELIVERYDIRECT_SHOPSHOP_RETURNPICKUP_RETURNGLOBAL_EXPRESSEXPRESS_10EXPRESS_12OTHERweightnumberrequiredPositive weight of this package in kg, no greater than the selected package type's maxWeight from GET /services.
lengthnumber | anyPositive package length in cm, no greater than maxLength from GET /services. Required with width and height for international volume-weight pricing; otherwise may be omitted or null.
Show propertiesHide properties
numberanywidthnumber | anyPositive package width in cm, no greater than maxWidth from GET /services. Required with length and height for international volume-weight pricing; otherwise may be omitted or null.
Show propertiesHide properties
numberanyheightnumber | anyPositive package height in cm, no greater than maxHeight from GET /services. Required when listed in requiredPackageFields or for international volume-weight pricing; otherwise may be omitted or null.
Show propertiesHide properties
numberanydescriptionstringPackage contents or goods description. Required when GET /services lists description in requiredPackageFields. Must not exceed the service's maxDescriptionLength.
hasDgbooleanrequiredRequired boolean. Set true for dangerous goods and supply dg. Only GLS and LEMAN services support dangerous goods. Set false for ordinary goods and omit dg or send null.
dgobject | anyDangerous-goods details, required when hasDg is true. Must be omitted or null when hasDg is false.
Show propertiesHide properties
hazardClassstringrequiredNonempty dangerous-goods hazard-class designation for the shipment.
unNumberstringrequiredFour-digit UN number as a string without the UN prefix, such as 1234. Leading zeros are preserved.
properShippingNamestringrequiredNonempty proper shipping name of the dangerous goods.
weightnumberrequiredPositive weight of the dangerous goods in kg.
packingGroupstringrequiredNonempty packing-group designation as text, such as II, appropriate for the goods and carrier.
flashPointstring | anyOptional flash-point value as text. Omit or send null when not needed.
Show propertiesHide properties
stringanytechnicalNamestring | anyOptional technical or chemical name. Omit or send null when not needed.
Show propertiesHide properties
stringanymarinePollutantstring | anyOptional marine-pollutant designation as text. Omit or send null when not needed.
Show propertiesHide properties
stringanyanypickupLocationobject | anySelected GLS parcel-shop ID. Required for SHOP_DELIVERY. Optional for other carrier services; ignored for OTHER. Bookogsend resolves the shop details and checks that the shop exists in the receiver country.
Show propertiesHide properties
externalLocationIdstringrequiredCarrier's ID for the selected parcel shop, not a Bookogsend address-book ID.
anyisExchangePalletsbooleanEnable pallet exchange for serviceCode PALLET only; otherwise ignored. Defaults to false when omitted. If all exchange-count fields are omitted, eligible quarter, half, and full euro pallets are counted from packages.
exchangePalletsQuarterintegerOptional quarter-euro-pallet exchange count, integer 0–99, used with PALLET and isExchangePallets=true. Supplying any exchange count overrides automatic counting; omitted sizes count as zero.
exchangePalletsHalfintegerOptional half-euro-pallet exchange count, integer 0–99, used with PALLET and isExchangePallets=true. Supplying any exchange count overrides automatic counting; omitted sizes count as zero.
exchangePalletsFullintegerOptional full-euro-pallet exchange count, integer 0–99, used with PALLET and isExchangePallets=true. Supplying any exchange count overrides automatic counting; omitted sizes count as zero.
deliveryNotestring | anyOptional delivery instructions as text. Omit or send null to clear the value when replacing a draft.
Show propertiesHide properties
stringanycustomerReferencestring | anyOptional reference from your system, such as an order number. Omit or send null to clear the value when replacing a draft. Listing filters match this value exactly.
Show propertiesHide properties
stringanySuccessful result
successanyrequiredmessagestringrequireddataobjectrequiredShow propertiesHide properties
idstringrequiredstatusstringrequiredpricePriceShow propertiesHide properties
currencystringrequiredbaseAmountstringrequiredsurchargeAmountstringrequiredpalletExchangeAmountstringrequiredtaxAmountstringrequiredtotalAmountstringrequiredcustomerReferencestring | nullreceiverIdstringrequestIdstringrequiredInvalid shipment input, including an invalid GLS shop ID or receiver-country mismatch.
successanyrequiredmessagestringrequireddataanyrequiredrequestIdstringrequirederrorCodestringrequirederrorsobject | anyrequiredShow propertiesHide properties
fieldsobject[]Show propertiesHide properties
objectpathstringrequirederrorCodestringrequiredmessagestringrequiredpricePriceShow propertiesHide properties
currencystringrequiredbaseAmountstringrequiredsurchargeAmountstringrequiredpalletExchangeAmountstringrequiredtaxAmountstringrequiredtotalAmountstringrequiredcurrentStatusstringretryAfterSecondsintegeranyResource does not exist or belongs to another account.
successanyrequiredmessagestringrequireddataanyrequiredrequestIdstringrequirederrorCodestringrequirederrorsobject | anyrequiredShow propertiesHide properties
fieldsobject[]Show propertiesHide properties
objectpathstringrequirederrorCodestringrequiredmessagestringrequiredpricePriceShow propertiesHide properties
currencystringrequiredbaseAmountstringrequiredsurchargeAmountstringrequiredpalletExchangeAmountstringrequiredtaxAmountstringrequiredtotalAmountstringrequiredcurrentStatusstringretryAfterSecondsintegeranyState, idempotency, price, or label conflict; inspect errorCode and errors.
successanyrequiredmessagestringrequireddataanyrequiredrequestIdstringrequirederrorCodestringrequirederrorsobject | anyrequiredShow propertiesHide properties
fieldsobject[]Show propertiesHide properties
objectpathstringrequirederrorCodestringrequiredmessagestringrequiredpricePriceShow propertiesHide properties
currencystringrequiredbaseAmountstringrequiredsurchargeAmountstringrequiredpalletExchangeAmountstringrequiredtaxAmountstringrequiredtotalAmountstringrequiredcurrentStatusstringretryAfterSecondsintegeranyPickup locations or receiver coordinates are temporarily unavailable. Retry later.
successanyrequiredmessagestringrequireddataanyrequiredrequestIdstringrequirederrorCodestringrequirederrorsobject | anyrequiredShow propertiesHide properties
fieldsobject[]Show propertiesHide properties
objectpathstringrequirederrorCodestringrequiredmessagestringrequiredpricePriceShow propertiesHide properties
currencystringrequiredbaseAmountstringrequiredsurchargeAmountstringrequiredpalletExchangeAmountstringrequiredtaxAmountstringrequiredtotalAmountstringrequiredcurrentStatusstringretryAfterSecondsintegerany