This documentation is in beta, and might contain errors. Contact us at integration@instabee.com with any questions.

Instabee API

Post Packing Flow

The Post Packing flow confirms that the parcel is physically packed and ready for home delivery pickup. Call this once the parcel is prepared in your warehouse. It follows the Post Purchase call and triggers the final delivery planning with Instabee.

API Endpoint

EndpointMethodContent-Type
api.integration.instabee.com/orders (production) · sandbox-api.integration.instabee.com/orders (sandbox)PUTapplication/json

When to Use

Call this endpoint after:

  1. A parcel has been registered with the Post Purchase API
  2. The order has been physically packed and prepared for shipping
  3. The final dimensions and weight are known (if different from initial estimates)

Integration Levels

Merchants can send information in different steps depending on their workflow:

  • Bare Minimum: If everything was sent in Post Purchase, just confirm packing
  • Minimum: Basic confirmation with essential parcel details
  • Maximum: Complete order details with final dimensions and product information

Key Benefits

  1. Pickup Scheduling: Triggers pickup scheduling and route optimization
  2. Label Generation: Provides shipping labels for the packed parcels
  3. Final Confirmation: Confirms actual dimensions and weight for accurate delivery
  4. Status Updates: Updates tracking status for customers

Integration Workflow

  1. Post Purchase: Initial prebooking reserves delivery capacity
  2. Physical Packing: Pack the order in your warehouse
  3. Post Packing: Confirm packing with this API (final dimensions, weight)
  4. Label Download: Download shipping labels from the response
  5. Pickup: Prepare parcels for scheduled pickup

Next Steps


Create Order API (Post Packing)

The Post Packing API is used to update a parcel's status after it has been physically packed and is ready for pickup and delivery. This is the final confirmation step after the initial Post Purchase prebooking.

Post Purchase vs Post Packing: The Post Purchase flow is like a prebooking that reserves delivery capacity. The Post Packing flow is the final confirmation after physical packing, providing actual dimensions and confirming the parcel is ready for pickup.

This endpoint should be called after:

  1. A parcel has been registered with the Post Purchase API
  2. The order has been physically packed and prepared for shipping
  3. The final dimensions and weight are known

Merchants can send information in different steps - some may provide all details in Post Purchase, others may provide minimal information initially and complete details in Post Packing.

Request Body

ParameterTypeRequiredDescriptionConstraintsEnumComment
parcelPackingConfrimedbooleanoptional*1. Set to true if only the post packing call is made. 2. If you want to make more edits then actively set to false. 3. The post packing call will automatically set this param to true if nothing is sent.true or false
brandstringoptionalDefine brand of the delivery optionsinstabox or budbee
productstringrequiredDefine the product of the delivery optionsMust be oneHOME_DELIVERY
countryCodestringrequired*Recipient country code. Can be sent in query paramISO 3166 alpha 2DK, FI, NO, SE
parcelPackingConfirmedbooleanconditional*Confirm parcel is packed and ready for pickupSee docs
availabilityTokenstringoptionalAvailability token from availability response
orderIdstringoptionalUnique order reference for subsequent calls
parcelIdstringoptionalUnique identifier/barcode for parcelAuto-generated if omitted
senderobjectoptionalSender information objectNot normally needed for Home Delivery
recipientobjectrequiredRecipient information object
dispatchobjectoptionalDispatch readiness and warehouse
optionsobjectoptionalResponse options / language
deliveryInstructionsobjectoptionalDelivery instruction details
additionalServicesobjectoptionalAdditional services
cartobjectoptionalParcel and/or product details

recipient

ParameterTypeRequiredDescriptionConstraintsEnumComment
namestringrequiredRecipient name
emailstringrequiredRecipient email addressValid email formatUsed for delivery notifications
phonestringrequiredRecipient phone numberBox: Min 6 digits, Home delivery: Min 10 digits, Max 15 digitsCan be made optional with setting
ssnstringoptionalSocial security numberFor age verification services
streetstringrequiredRecipient street address
street2stringoptionalAdditional address informationFloor, apartment, etc.
postalCodestringrequiredRecipient postal code
citystringrequiredRecipient city
countryCodestringrequiredRecipient country codeISO 3166 alpha 2DK, FI, NO, SE
coordinatesobjectoptionalGPS coordinatesFor precise location

recipient.coordinates

ParameterTypeRequiredDescriptionEnum
latnumberoptionalLatitude
lonnumberoptionalLongitude

sender

ParameterTypeRequiredDescriptionConstraintsEnumComment
namestringoptionalSender/merchant name
emailstringoptionalSender email addressValid email format
phonestringoptionalSender phone numberBox: Min 6 digits, Home delivery: Min 10 digits, Max 15 digits
streetstringoptionalSender street address
street2stringoptionalAdditional sender address info
postalCodestringoptionalSender postal code
citystringoptionalSender city
countryCodestringoptionalSender (merchant) country codeISO 3166 alpha 2BE, DE, DK, FI, NL, NO, PL, SEDE and PL are merchant address countries only, not delivery markets
coordinatesobjectoptionalSender GPS coordinates

sender.coordinates

ParameterTypeRequiredDescriptionEnum
latnumberoptionalLatitude
lonnumberoptionalLongitude

deliveryOption

ParameterTypeRequiredDescriptionEnumComment
sortCodestringrequiredSort code for the selected home delivery slotIdentifies the specific home delivery option
etaIntervalobjectoptionalPreferred delivery time window

deliveryOption.etaInterval

ParameterTypeRequiredDescriptionConstraintsEnumComment
fromstringrequired*Start of delivery windowISO-8601 datetimeRequired when etaInterval is sent
tostringrequired*End of delivery windowISO-8601 datetimeRequired when etaInterval is sent. Defaults to best available if it doesn't match

dispatch

ParameterTypeRequiredDescriptionConstraintsEnumComment
readyToShipstringoptionalWhen parcel is ready for pickupISO-8601 datetimeOnly one of readyToShip/readyToPack/outOfStock
readyToPackstringoptionalWhen packing process will startISO-8601 datetimeInstabee adds packing time to this
outOfStockbooleanoptionalProduct is out of stocktrue/falseRemoves ETA from delivery options
packingTimenumberoptionalRequired packing time in minutes
collectionPointIdstringoptionalSpecific warehouse/pickup pointConfigured by Instabee
returnPointIdstringoptionalReturn address point IDFor failed deliveries

options

ParameterTypeRequiredDescriptionConstraintsEnumComment
languageCodestringoptionalLanguage for customer communicationsISO 639-1da, en, fi, nl, no, svDefaults to the main language of the countryCode
localEtasbooleanoptionalReturn local delivery termstrue/falseDifferent local terms for delivery promise
estimatedParcelTypebooleanoptionalReturn estimated parcel sizetrue/falseCalculated based on cart contents

deliveryInstructions

ParameterTypeRequiredDescriptionEnumComment
notifyBystringoptionalHow to notify recipientring_doorbell, knock_on_door
doorCodestringoptionalDoor or building access code
messagestringoptionalSpecial delivery instructionsFree text message
intercombooleanoptionalUse intercom if availabletrue/false

additionalServices

ParameterTypeRequiredDescriptionConstraintsEnumComment
identificationobjectoptionalIdentity verification requirements
leaveOutsideDoorbooleanoptionalAllow leaving the parcel outside the doortrue/falseDefault is true
leaveWithNeighbourbooleanoptionalAllow leaving the parcel with a neighbourtrue/falseDefault is false
numberOfMissRetriesnumberoptionalNumber of delivery retry attemptsMin: 1, Max: 5null = default. Extra cost applies

additionalServices.identification

ParameterTypeRequiredDescriptionConstraintsEnumComment
typestringrequired*Type of verificationAGE_LIMIT, AGE_LIMIT_AT_HANDOVER, AGE_LIMIT_BY_MERCHANT_AT_HANDOVER, ALREADY_IDENTIFIED, ANY_PERSON, FRAUD_DETECTION, SPECIFIC_PERSON, SPECIFIC_PERSON_AT_HANDOVERRequired when the identification object is sent
ageLimitnumberoptionalMinimum age requiredMin: 0, Max: 20Used with AGE_LIMIT types
ssnstringoptionalRequired SSN for verification
namestringoptionalRequired name for verification

cart

ParameterTypeRequiredDescriptionConstraintsEnumComment
checkoutIdstringoptionalCheckout session IDOneOf this, orderNumber, or availabilityToken
orderNumberstringrequired*Your order numberOneOf this, checkoutId, or availabilityTokenUsed to link with your system
totalValueInCentsnumberoptionalTotal order value in centsUsed for insurance purposes
totalWeightInGramsnumberoptionalTotal weight in gramsFor logistics planning
parcelobjectoptionalParcel dimensions and contentsDetailed parcel information

cart.parcel

ParameterTypeRequiredDescriptionEnumComment
heightMmnumberoptionalParcel height in mm
widthMmnumberoptionalParcel width in mm
lengthMmnumberoptionalParcel length in mm
volumeDm3numberoptionalParcel volume in dm³
estimatedSizestringoptionalEstimated size of the parcel. The sizes will be configured together with InstabeeSMALL, LARGE, TOOLARGE
weightGramnumberoptionalParcel weight in grams
typestringoptionalParcel typeBOX, BAG
productsarrayoptionalArray of products in parcelDetailed product information

cart.parcel.products[]

ParameterTypeRequiredDescriptionEnumComment
namestringoptionalProduct name
quantitystringoptionalQuantity of this productSent as a string, not a number
productIdstringoptionalYour product identifier
detailsobjectoptionalDetailed product information
temperatureobjectoptionalTemperature requirements for the product
packagesarrayoptionalPhysical packages the product is shipped in

cart.parcel.products[].details

ParameterTypeRequiredDescriptionConstraintsEnum
productTypestringoptionalType of producte.g., "Prescription"
imgUrlstringoptionalProduct image URL
categorystringoptionalProduct category
brandstringoptionalProduct brand
descriptionstringoptionalProduct description
priceobjectoptionalPrice information

cart.parcel.products[].details.price

ParameterTypeRequiredDescriptionConstraintsEnumComment
priceInCentsnumberoptionalPrice in cents
taxValueInCentsnumberoptionalTax amount in cents
discountRateInCentsnumberoptionalDiscount amount in cents
currencystringoptionalCurrency codeISO 4217e.g., "SEK"

cart.parcel.products[].temperature

ParameterTypeRequiredDescriptionEnum
minnumberoptionalMinimum temperature in Celsius
maxnumberoptionalMaximum temperature in Celsius

cart.parcel.products[].packages[]

ParameterTypeRequiredDescriptionEnumComment
widthMmstringoptionalPackage width in mm
heightMmstringoptionalPackage height in mm
lengthMmstringoptionalPackage length in mm
weightGramstringoptionalPackage weight in grams
volumeDm3stringoptionalPackage volume in dm³ (liters)
barcodesobjectoptionalBarcode object for the packageSingle object, not an array

cart.parcel.products[].packages[].barcodes

ParameterTypeRequiredDescriptionEnum
codestringoptionalBarcode value
typestringoptionalThe barcode typeEAN13

Response

The API returns an updated parcel object with:

FieldTypeDescription
parcelIdstringThe Instabee parcel ID
statusstringUpdated status (e.g., "PENDING_PACKING" or "FINALIZED")

links (object)

FieldTypeDescription
labelstringURL to download the shipping label
trackingstringPreliminary tracking URL — see the note below

Preliminary tracking link: links.tracking in this response is preliminary. It is generated before the parcel exists in our tracking system, so it does not resolve yet — opening it gives a broken link. Retrieve the working link with Get Tracking or Fetch Order once the parcel has been registered.

Separate senderTracking and recipientTracking links are not returned here. They only exist for LOCKER_TO_LOCKER (Consumer to Consumer) parcels — see Fetch Tracking Links.

label URL parameters

The label URL supports optional query parameters to customize the output:

ParamTypeDefaultOptionsDescription
fileFormatstringpdfpng, zpl, pdfOutput file format
encodingstringbase64Return label as base64-encoded string
templatestringa6a6, a7Label paper size
dpiinteger96Resolution in dots per inch
debugbooleanfalsetrue, falseEnable debug mode

Best Practices

  1. Accurate Measurements: Always provide accurate dimensions and weight
  2. Prompt Confirmation: Confirm packing as soon as possible after physical packing
  3. Error Handling: Implement proper error handling for failed confirmations
  4. Label Management: Download and store shipping labels immediately
  5. Status Tracking: Monitor the parcel status via the Instabee API or dashboard

Size Limitations

Each delivery method has maximum size and weight limitations:

Delivery TypeMax Length (cm)Max Width (cm)Max Height (cm)Max Weight (kg)
Home Delivery120XX (max total 300cm girth)20

Exceeding these limitations may result in additional charges or delivery refusal.

Command Palette

Search for a command to run...