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

Instabee API

Post Purchase Flow

The Post Purchase flow for Locker Light works the same as standard Locker Delivery. Call this immediately after the consumer completes their purchase. Use the temporary sortCode from the availability response exactly as received — do not modify it. Instabee will use it to reserve capacity and manage the delivery.

What is Post Purchase? This is like a "prebooking" except that we do not actually "book" anything. It's being used for:

  1. Capacity management
  2. Information for our operation to plan pickups and routes better
  3. Gives Instabee the possibility to talk to the consumer earlier to help them with any of their needs.

It does also levels up the integration and enables you to send information in the post purchase call that is not possible to send in the post packing call. As Instabee will easily merge the information on our end without introducing any extra complexity.

When to Use

Call this endpoint immediately after:

  • Customer completes their purchase in your checkout system

Integration Levels

You can integrate at different levels on what's possible:

  • Nothing: This call can of course be skipped completely but that just makes it harder for Instabee to achieve a great delivery experience.
  • Bare Minimum: Just an availability token/short toke/order reference/cart ID and the selected delivery options. This is the absolute minimum and will enable us to reserve the capacity.
  • Regular (or Instabee prefered option): Basic recipient and delivery information.
  • Maximum: Complete order details including products, dimensions, and special services. You can create a full order directly and just confirm the packing is done at a later stage.

Create Order API

API Endpoint

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

The Create Order API (also known as Create Parcel API) is used to register a parcel for delivery immediately after a customer completes their purchase. This is the prebooking step that reserves capacity for delivery before the parcel is physically packed.

Integration Levels

You can provide information at different levels:

  • Bare Minimum: Nothing
  • Minimum: Basic order identification and delivery option
  • Regular: Basic recipient and delivery information
  • Maximum: Complete order details including products, dimensions, and special services

Request Body

ParameterTypeRequiredDescriptionConstraintsEnumComment
brandstringrequiredDefine brand of the delivery optionsinstabox or budbee
productstringrequiredDefine the product of the delivery optionsLOCKER_EXPRESS
parcelPackingConfirmedbooleanconditional*Confirm parcel is packed and ready for pickupsend as falseIf not sent we will default to false for one call per availabilityToken, shortToken or checkoutID
availabilityTokenstringrequiredAvailability token from availability responseCan be discussed with your Implementation Manager to be excluded. Used as a link in Instabee system
parcelIdstringoptionalUnique identifier/barcode for parcelAuto-generated if omitted
communicationNamestringoptionalCommunication name overrideNote! This will only change the name in Instabee communication such as notifications, SMS or email for locker deliveries. Will not change partner name in our partner portal nor change any specs on invoices
recipientobjectrequiredRecipient information object
dispatchobjectoptionalDispatch readiness and warehouse information
additionalServicesobjectoptionalAdditional services such as identification methods
cartobjectoptionalParcel and/or product details

recipient

ParameterTypeRequiredDescriptionConstraintsEnumComment
namestringrequiredRecipient name
emailstringrequiredRecipient email addressValid email format e.g email@domain.comUsed for delivery notifications
phonestringrequiredRecipient phone numberBox: Min 6 digits, Home delivery: Min 10 digits, Max 15 digitsCan be made optional with setting, talk to your Implementation Manager
ssnstringoptionalSocial security numberFor age verification services
streetstringrequiredRecipient street address
street2stringoptionalAdditional address informationFloor, apartment, C/O etc.
postalCodestringrequiredRecipient postal code
citystringrequiredRecipient city
countryCodestringrequiredRecipient country codeISO 3166 alpha 2BE, DK, FI, NL, NO, SE

deliveryOption

ParameterTypeRequiredDescriptionEnumComment
sortCodestringrequiredSort code for the lockerIdentifies the specific locker

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
collectionPointIdstringoptionalSpecific warehouse/pickup pointConfigured by Instabee
returnPointIdstringoptionalCurrently not implemented! Return address point IDFor failed deliveries

additionalServices

ParameterTypeRequiredDescriptionEnum
identificationobjectoptionalIdentity verification requirements

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
type explanations
TypeDescription
AGE_LIMITVerify the consumer age. This verification will be triggered when the parcel is created. Only live with Swedish BankID
AGE_LIMIT_AT_HANDOVERVerify the consumer age when they pickup the parcel (at handover). Only live with Swedish BankID
SPECIFIC_PERSONVerify the consumer identify by matching SSN sent on the order with the SSN from the verification. Only live with Swedish BankID
SPECIFIC_PERSON_AT_HANDOVERVerify the consumer identify by matching SSN sent on the order with the SSN from the verification when they pickup the parcel (at handover). Only live with Swedish BankID
ANY_PERSONVerify the consumer identify by matching doing a BankID or NemID verification. Currently live in Sweden, Denmark and Norway
AGE_LIMIT_BY_MERCHANT_AT_HANDOVERAccepted by the API. Contact your Instabee representative before using it
ALREADY_IDENTIFIEDAccepted by the API. Contact your Instabee representative before using it
FRAUD_DETECTIONAccepted by the API. Contact your Instabee representative before using it

cart

ParameterTypeRequiredDescriptionEnumComment
checkoutIdstringoptionalCheckout session IDUsed as a link in Instabee system
orderNumberstringrequired*Your order numberUsed as a link in Instabee system
totalValueInCentsnumberoptionalTotal order value in centsThis helps us with claims process
totalWeightInGramsnumberoptionalTotal weight in gramsThis helps us with claims process
parcelobjectoptionalParcel dimensions and contentsDetailed parcel information

cart.parcel

ParameterTypeRequiredDescriptionEnumComment
heightMmnumberoptionalParcel height in mmIf you do not have this data, do not send anything
widthMmnumberoptionalParcel width in mmIf you do not have this data, do not send anything
lengthMmnumberoptionalParcel length in mmIf you do not have this data, do not send anything
volumeDm3numberoptionalParcel volume in dm³If you do not have this data, do not send anything
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 8. Temperature in Celsius
maxnumberoptionalMaximum 15. Temperature in Celsius

cart.parcel.products[].packages[]

ParameterTypeRequiredDescriptionEnumComment
widthMmstringoptionalPackage width in mmIf you do not have this data, do not send anything
heightMmstringoptionalPackage height in mmIf you do not have this data, do not send anything
lengthMmstringoptionalPackage length in mmIf you do not have this data, do not send anything
weightGramstringoptionalPackage weight in gramsIf you do not have this data, do not send anything
volumeDm3stringoptionalPackage volume in dm³ (liters)If you do not have this data, do not send anything
barcodesobjectoptionalBarcode object for the packageSingle object, not an array

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

ParameterTypeRequiredDescriptionEnum
codestringoptionalBarcode value
typestringoptionalThe barcode typeEAN13

Response

The API returns the created order/parcel with:

FieldTypeDescription
orderIdstringThe Instabee order ID
parcelIdstringThe Instabee parcel ID
statestringParcel state ("PENDING_PACKING" until packing is confirmed)

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.

Key Benefits

  1. Capacity Reservation: Ensures delivery slots are reserved for your customers
  2. Flexible Integration: Send as much or as little information as you have available
  3. Early Tracking: Customers get tracking information immediately after purchase
  4. Optimized Logistics: Helps Instabee plan pickup and delivery routes

Next Steps

  • Complete Parameter Reference: See the Create Order API page for all available parameters
  • After Packing: Use the Post Packing API to confirm when parcels are ready for pickup
  • Integration Guide: Check the Authentication section for API setup

Command Palette

Search for a command to run...