Pickup API
The Pickup API enables you to book ad hoc pickup (to the terminal) when you don't have a fixed pickup agreement with Bring for your shipments. The API serves two main use cases:
- Business Customers: Book ad hoc pickups for cargo shipments in Norway and for parcels and business pallets in NO/SE/DK.
- C2C Platforms: Support customer ordering with mailbox pickup options, fetch available pickup dates, and modify or cancel pickups after booking.
Authentication
To integrate with the Bring APIs, you will need a Mybring user account with an API key. Information about prerequisites and authentication headers can be found on the general API Getting Started page. In addition to authentication, you need to be authorized.
Rate limiting
Clients exceeding a certain number of requests per second will be throttled, and the response will contain http status code 429. If you have a use case requiring rates above the limit, please contact developer-booking@bring.com for assistance.
Formats
REST JSON over HTTP is recommended for all new integrations. While we currently also support XML, this is very likely to be phased out in the future. Pickup endpoints will assume all requests are UTF-8 encoded.
Special topics
Where is ad hoc cargo pickup applicable?
For cargo services in Norway, ad hoc pickup orders are only applicable in the below scenarios.
Applicable:
- 5400 if shipment not booked with pickup
- 5100 if shipment not booked via Booking API (where pickup is always included)
Not applicable:
- 5300
- 5200
Available pickup types
The create endpoint for ad hoc pickup to business address supports the following types
- PARCEL - Pickup of business parcel and pallet in Norway, Sweden and Denmark
- CARGO - Cargo/freight Pickup
The Pickup Options endpoint supports the following shipment types:
- PARCEL - Pickup of business parcel and pallet in Norway
- CARGO - Cargo/freight Pickup
- PARCEL_INTERNATIONAL - Pickup of business parcel and pallet in Sweden and Denmark
- MAILBOX - Mailbox pickup for C2C platforms (customer picks up from their local mailbox)
Use Case Guide
For Business Customers
If you’re a business customer needing ad hoc pickups at your business address, use this API to:
- Book cargo pickup in Norway (service 5400, 5100) through create endpoint
- Book parcels and business pallets pickup across NO/SE/DK through create endpoint
For C2C Platforms
If you’re allowing customers to add pickup in the mailbox (vas 1073) to their shipments:
- Use the Pickup Options endpoint to fetch available pickup dates
- Allow customers to modify or cancel pickups after booking (parcels booked with service codes 3622, 5900, 5901, 5902 in Norway)
Modifying and Cancelling Pickups
Endpoints for modifying and cancelling pickups are currently available only for C2C parcels in Norway. Specifically, these operations are supported for parcels booked with service codes 3622, 5900, 5901, or 5902 that have mailbox pickup enabled (VAS 1073).
For Business Customers: If you need to make changes to an ad hoc pickup at your business address, direct API-based modification and cancellation are not currently available. Please contact our customer service team at developer-booking@bring.com to manage your pickup orders.
Endpoints
- Base URL
https://api.bring.com/pickup- OpenAPI document
- https://api.bring.com/pickup/api-docs
| Usage | Method | Endpoint |
|---|---|---|
| Cancel a pickup order | DELETE |
/api/cancel/{shipmentnumber}
|
| Order a pickup | POST |
/api/create
|
| Modify a pickup order | PUT |
/api/modify/{shipmentnumber}
|
| Get available pickup options | GET |
/api/pickup-options
|
Cancel a pickup order
- DELETE
-
https://api.bring.com/pickup/api/cancel/{shipmentnumber}
Request
header parameters
-
X-Mybring-API-UidRequired -
- Description
- Mybring login ID
- Type
- string
-
X-Mybring-API-KeyRequired -
- Description
- Your user's API key
- Type
- string
path parameters
-
shipmentnumberRequired -
- Description
- Shipment number
- Type
- string
Responses
200 OK
Schema
Media type: application/json
- object
-
-
messageRequired - string
-
-
statusRequired - string
400 Bad Request
Schema
Media type: application/json
- object
-
-
messageRequired - string
-
-
statusRequired - string
401 Unauthorized
Schema
Media type: application/json
- object
-
-
messageRequired - string
-
-
statusRequired - string
404 Not Found
Schema
Media type: application/json
- object
-
-
messageRequired - string
-
-
statusRequired - string
429 Too Many Requests
Schema
Media type: application/json
- object
-
-
messageRequired - string
-
-
statusRequired - string
500 Internal Server Error
Schema
Media type: application/json
- object
-
-
messageRequired - string
-
-
statusRequired - string
Response examples
Cancel pickup success response
{
"status": "ACCEPTED"
}{
"error": {
"message": "Order has already been picked up"
},
"status": "FAILED"
}{
"error": {
"message": "Existing pickup date is already invalid. Pickup can no longer be cancelled or modified."
},
"status": "FAILED"
}{
"error": {
"message": "Existing pickup date is already invalid. Pickup can no longer be cancelled or modified."
},
"status": "FAILED"
}{
"error": {
"message": "Order is invalid"
},
"status": "FAILED"
}Cancel pickup unauthorized response
{
"error": {
"message": "This user is not authorized to cancel or modify this booking"
},
"status": "FAILED"
}Cancel pickup missing booking response
{
"error": {
"message": "Could not find existing pickup order"
},
"status": "FAILED"
}Cancel pickup too many attempts response
{
"error": {
"message": "Too many attempts"
},
"status": "FAILED"
}Cancel pickup unexpected error response
{
"error": {
"message": "An unexpected error occurred"
},
"status": "FAILED"
}Order a pickup
- POST
-
https://api.bring.com/pickup/api/create
Request
header parameters
-
X-Mybring-API-UidRequired -
- Description
- Mybring login ID
- Type
- string
-
X-Mybring-API-KeyRequired -
- Description
- Your user's API key
- Type
- string
-
X-Bring-Test-IndicatorRequired -
- Description
- A boolean value indicating whether this is a test or not
- Type
- boolean
Body schema
-
countryCodeRequired - Two-letter ISO-3166-1 country codestring
-
Required
- object
-
-
companyNameRequired - string
-
customerNumberRequired - string
-
-
Required
- object
-
-
cityRequired - string
-
contactName - string
-
deliveryInstruction - Delivery instruction to the driverstring
-
emailRequired - stringMax length: 60
-
message - Generic message to the driverstring
-
phoneNumberRequired - string
-
postalCodeRequired - string
-
streetRequired - string
-
-
pickupDateRequired - string
- object
-
-
numberOfPackagesDeprecated - This is deprecated. Use packages and count insteadinteger <int32>
-
numberOfPalletsDeprecated - This is deprecated. Use pallets and count insteadinteger <int32>
-
numberOfPostContainersDeprecated - This is deprecated. Use postContainers and count insteadinteger <int32>
- object
-
-
countRequired - For giving number of packages. Applicable for parcel pickups in Norway and Nordics and cargo pickupinteger <int32>
-
volumeInDm3 - Applicable and required for cargo pickupnumber
-
weightInGrams - Applicable for parcel pickups in Norway and Nordics and required for cargo pickupinteger <int32>
-
- object
-
-
countRequired - For giving number of pallets. Applicable for parcel pickups in Norway and Nordicsinteger <int32>
-
weightInGrams - Applicable for parcel pickups in Norway and Nordicsinteger <int32>
-
- object
-
-
countRequired - For giving number of postContainers. Applicable for parcel pickups in Norwayinteger <int32>
-
weightInGrams - Applicable for parcel pickups in Norwayinteger <int32>
-
-
volumeInDm3Deprecated - This is deprecated. Use packages and volumeInDm3 insteadnumber
-
weightInGrams - Applicable for pickup in Nordicsinteger <int32>
-
-
pickupIsReadyAtTime - Currently not in usestring
-
pickupTimeZone - string
-
serviceRequired - The pickup service you want to bookstring
- Enum
-
PARCEL -
CARGO
-
testIndicatorDeprecated - Deprecated, use HTTP header instead. For test orders, set this to trueboolean
- object
-
-
countryCodeRequired - Two-letter ISO-3166-1 country codestring
-
Required
- object
-
-
companyNameRequired - string
-
customerNumberRequired - string
-
-
Required
- object
-
-
cityRequired - string
-
contactName - string
-
deliveryInstructionToDriver - Delivery instruction to the driverstring
-
emailRequired - stringMax length: 60
-
messageToDriver - Generic message to the driverstring
-
phoneNumberRequired - string
-
postalCodeRequired - string
-
streetRequired - string
-
-
pickupDateRequired - string
- object
-
-
numberOfPackagesDeprecated - This is deprecated. Use packages and count insteadinteger <int32>
-
numberOfPalletsDeprecated - This is deprecated. Use pallets and count insteadinteger <int32>
-
numberOfPostContainersDeprecated - This is deprecated. Use postContainers and count insteadinteger <int32>
- object
-
-
countRequired - For giving number of packages. Applicable for parcel pickups in Norway and Nordics and cargo pickupinteger <int32>
-
volumeInDm3 - Applicable and required for cargo pickupnumber
-
weightInGrams - Applicable for parcel pickups in Norway and Nordics and required for cargo pickupinteger <int32>
-
- object
-
-
countRequired - For giving number of pallets. Applicable for parcel pickups in Norway and Nordicsinteger <int32>
-
weightInGrams - Applicable for parcel pickups in Norway and Nordicsinteger <int32>
-
- object
-
-
countRequired - For giving number of postContainers. Applicable for parcel pickups in Norwayinteger <int32>
-
weightInGrams - Applicable for parcel pickups in Norwayinteger <int32>
-
-
volumeInDm3Deprecated - This is deprecated. Use packages and volumeInDm3 insteadnumber
-
weightInGrams - Applicable for pickup in Nordicsinteger <int32>
-
-
pickupIsReadyAtTime - Currently not in usestring
-
pickupTimeZone - string
-
serviceRequired - The pickup service you want to bookstring
- Enum
-
PARCEL -
CARGO
-
testIndicatorDeprecated - Deprecated, use HTTP header instead. For test orders, set this to trueboolean attribute
-
Responses
200 OK
Schema
-
- string
-
- string
400 Bad Request
Schema
- array of strings
-
- string
-
- array
-
-
- string
-
Request examples
{
"countryCode": "NO",
"customerInformation": {
"companyName": "Norsk Bedrift AS",
"customerNumber": "*******"
},
"pickupAddress": {
"city": "OSLO",
"email": "norsk.bedrift@example.com",
"message": "Hentes på baksiden",
"phoneNumber": "+4712345678",
"postalCode": "0263",
"street": "Testsvingen 12"
},
"pickupDate": "2015-12-03",
"pickupDetails": {
"packages": {
"count": 2,
"volumeInDm3": 40,
"weightInGrams": 1000
}
},
"pickupIsReadyAtTime": null,
"pickupTimeZone": "Europe/Oslo",
"service": "CARGO"
}{
"countryCode": "SE",
"customerInformation": {
"companyName": "Svensk Bedrift AS",
"customerNumber": "************"
},
"pickupAddress": {
"city": "Stockholm",
"email": "svensk.bedrift@example.com",
"message": "Hentes på baksiden",
"phoneNumber": "+46781234567",
"postalCode": "12000",
"street": "Testsvingen 12"
},
"pickupDate": "2015-12-03",
"pickupDetails": {
"packages": {
"count": 2
},
"pallets": {
"count": 1
},
"weightInGrams": 15000
},
"pickupIsReadyAtTime": null,
"pickupTimeZone": null,
"service": "PARCEL"
}{
"countryCode": "NO",
"customerInformation": {
"companyName": "Norsk Bedrift AS",
"customerNumber": "************"
},
"pickupAddress": {
"city": "OSLO",
"email": "norsk.bedrift@example.com",
"message": "Hentes på baksiden",
"phoneNumber": "+4712345678",
"postalCode": "0263",
"street": "Testsvingen 12"
},
"pickupDate": "2015-12-03",
"pickupDetails": {
"packages": {
"count": 2,
"weightInGrams": 1000
},
"pallets": {
"count": 1,
"weightInGrams": 15000
},
"postContainers": {
"count": 0
}
},
"pickupIsReadyAtTime": null,
"pickupTimeZone": null,
"service": "PARCEL"
}<?xml version="1.0" encoding="UTF-8"?>
<pickupOrderRequest>
<countryCode>NO</countryCode>
<customerInformation>
<companyName>Norsk Bedrift AS</companyName>
<customerNumber>*******</customerNumber>
</customerInformation>
<pickupAddress>
<city>OSLO</city>
<email>norsk.bedrift@example.com</email>
<messageToDriver>Hentes på baksiden</messageToDriver>
<phoneNumber>+4712345678</phoneNumber>
<postalCode>0263</postalCode>
<street>Testsvingen 12</street>
</pickupAddress>
<pickupDate>2015-12-03</pickupDate>
<pickupDetails>
<packages>
<count>2</count>
<volumeInDm3>40</volumeInDm3>
<weightInGrams>1000</weightInGrams>
</packages>
</pickupDetails>
<pickupTimeZone>Europe/Oslo</pickupTimeZone>
<service>CARGO</service>
</pickupOrderRequest>
<?xml version="1.0" encoding="UTF-8"?>
<pickupOrderRequest>
<countryCode>SE</countryCode>
<customerInformation>
<companyName>Svensk Bedrift AS</companyName>
<customerNumber>************</customerNumber>
</customerInformation>
<pickupAddress>
<city>Stockholm</city>
<email>svensk.bedrift@example.com</email>
<messageToDriver>Hentes på baksiden</messageToDriver>
<phoneNumber>+46781234567</phoneNumber>
<postalCode>12000</postalCode>
<street>Testsvingen 12</street>
</pickupAddress>
<pickupDate>2015-12-03</pickupDate>
<pickupDetails>
<packages>
<count>2</count>
</packages>
<pallets>
<count>1</count>
</pallets>
<weightInGrams>15000</weightInGrams>
</pickupDetails>
<service>PARCEL</service>
</pickupOrderRequest>
<?xml version="1.0" encoding="UTF-8"?>
<pickupOrderRequest>
<countryCode>NO</countryCode>
<customerInformation>
<companyName>Norsk Bedrift AS</companyName>
<customerNumber>************</customerNumber>
</customerInformation>
<pickupAddress>
<city>OSLO</city>
<email>norsk.bedrift@example.com</email>
<messageToDriver>Hentes på baksiden</messageToDriver>
<phoneNumber>+4712345678</phoneNumber>
<postalCode>0263</postalCode>
<street>Testsvingen 12</street>
</pickupAddress>
<pickupDate>2015-12-03</pickupDate>
<pickupDetails>
<packages>
<count>2</count>
<weightInGrams>1000</weightInGrams>
</packages>
<pallets>
<count>1</count>
<weightInGrams>15000</weightInGrams>
</pallets>
<postContainers>
</postContainers>
</pickupDetails>
<service>PARCEL</service>
</pickupOrderRequest>
Response examples
Pickup Order Response
{
"errors": null,
"pickupConfirmation": {
"earliestPickupDate": 1720159200000,
"isoFormattedEarliestPickupDateTime": "2024-05-27T08:00:00.000+00:00",
"isoFormattedLatestPickupDateTime": "2024-05-27T16:00:00.000+00:00",
"latestPickupDate": 1720188000000,
"packageNumber": "123456789012345678",
"status": "OK",
"url": "https://www.mybring.com/order-pickup/receipt/xxxxxxxxx"
}
}Pickup Order Response
<pickupOrderResponse>
<pickupConfirmation>
<status>OK</status>
<earliestPickupDate>2024-05-27T08:00:00+00:00</earliestPickupDate>
<latestPickupDate>2024-05-27T16:00:00+00:00</latestPickupDate>
<url>https://www.mybring.com/order-pickup/receipt/xxxxxxxxx</url>
<packageNumber>123456789012345678</packageNumber>
</pickupConfirmation>
</pickupOrderResponse>
{
"errors": [
{
"code": "BOOK-INPUT-022",
"messages": [
{
"lang": "en",
"message": "Illegal product for country"
}
],
"uniqueId": "144cb4f6-c21b-4716-841f-d0f29dd707fe"
}
]
}{
"errors": [
{
"code": "BOOK-INPUT-028",
"messages": [
{
"lang": "en",
"message": "Invalid country code"
}
],
"uniqueId": "8f1e9054-4049-4bea-b7bd-1939bd61a796"
}
]
}{
"errors": [
{
"code": "PICKUP-INPUT-012",
"messages": [
{
"lang": "en",
"message": "Selected pickup point should be in recipient country"
}
],
"uniqueId": "db0f24e5-336e-46fd-a53d-9e9cc8bf28de"
}
]
}{
"errors": [
{
"code": "BOOK-INPUT-020",
"messages": [
{
"lang": "en",
"message": "Invalid product ID"
}
],
"uniqueId": "f4cd1391-cd27-4c0f-b1ad-03b2f887595b"
}
]
}{
"errors": [
{
"code": "PICKUP-INPUT-007",
"messages": [
{
"lang": "en",
"message": "Pickup date must be in the future"
}
],
"uniqueId": "5375ea4b-6bbf-4388-964a-6c8ed35acbd1"
}
]
}{
"errors": [
{
"code": "PICKUP-INPUT-001",
"messages": [
{
"lang": "en",
"message": "Error with input in pickupOrder"
}
],
"uniqueId": "e3f572ef-bbeb-4d56-9209-8f276a9f9c6e"
}
]
}{
"errors": [
{
"code": "PICKUP-INPUT-003",
"messages": [
{
"lang": "en",
"message": "Cargo customer must provide cargoInformation element. Parcel customer must provide parcelsInformation element"
}
],
"uniqueId": "e3706cf1-e7cc-482a-81a0-971a3c3201ec"
}
]
}{
"errors": [
{
"code": "PICKUP-INPUT-015",
"messages": [
{
"lang": "en",
"message": "Chargeable weight must be below groupage max weight limit"
}
],
"uniqueId": "b755731c-008e-4c89-8395-4023d00e3e84"
}
]
}{
"errors": [
{
"code": "PICKUP-INPUT-006",
"messages": [
{
"lang": "en",
"message": "You must specify pickupDate element yyyy-MM-dd"
}
],
"uniqueId": "a8f0f52b-79db-4314-aba0-1dbed0d4c80d"
}
]
}{
"errors": [
{
"code": "PICKUP-INPUT-016",
"messages": [
{
"lang": "en",
"message": "Must either have weightInGrams in pickupDetails, or on package or pallets level. Can not have both"
}
],
"uniqueId": "a5230d31-c17f-4f1c-8bd7-fa02511ef302"
}
]
}{
"errors": [
{
"code": "PICKUP-INPUT-002",
"messages": [
{
"lang": "en",
"message": "Postal code must be given and be valid"
}
],
"uniqueId": "63ed8980-bdc1-4d62-8fa1-460c56bc07cf"
}
]
}{
"errors": [
{
"code": "PICKUP-INPUT-005",
"messages": [
{
"lang": "en",
"message": "You must specify pickupIsReadyAtTime element HH:mm:ss"
}
],
"uniqueId": "458e86a3-976b-4d65-86d5-42e25a334e30"
}
]
}{
"errors": [
{
"code": "PICKUP-INPUT-008",
"messages": [
{
"lang": "en",
"message": "weightInGrams is required, and must be an integer larger than zero"
}
],
"uniqueId": "520c4e85-43fc-4f60-b3f3-b19fdd29392a"
}
]
}{
"errors": [
{
"code": "PICKUP-INPUT-010",
"messages": [
{
"lang": "en",
"message": "Country code is required"
}
],
"uniqueId": "c2a869e1-3636-43ad-8110-36d355ab939b"
}
]
}{
"errors": [
{
"code": "PICKUP-INPUT-009",
"messages": [
{
"lang": "en",
"message": "Must be an integer larger than zero"
}
],
"uniqueId": "7b096004-c2b2-41a7-b3b4-40d10384bf0f"
}
]
}{
"errors": [
{
"code": "PICKUP-INPUT-004",
"messages": [
{
"lang": "en",
"message": "This customer number cannot be used to order Pickup"
}
],
"uniqueId": "5fbc922b-0b0e-45a7-8d28-3696f307b513"
}
]
}{
"errors": [
{
"code": "PICKUP-INPUT-013",
"messages": [
{
"lang": "en",
"message": "Combination pickupIsReadyAtTime and pickupDate must be in the future"
}
],
"uniqueId": "a9eb9471-0fe8-44ec-bc59-b3b663b2ec20"
}
]
}{
"errors": [
{
"code": "PICKUP-INTERNAL-001",
"messages": [
{
"lang": "en",
"message": "An unexpected error occurred"
}
],
"uniqueId": "615de8d0-0dd2-420d-8f98-2287bb30c4eb"
}
]
}{
"errors": [
{
"code": "PICKUP-INPUT-011",
"messages": [
{
"lang": "en",
"message": "Both Pickup Point ID and Country Code is Required"
}
],
"uniqueId": "1318a8c4-db33-4208-a2ab-9fc7c789a9eb"
}
]
}{
"errors": [
{
"code": "BOOK-AUTHORIZATION-001",
"messages": [
{
"lang": "en",
"message": "Your user is not authorized to perform this action"
}
],
"uniqueId": "01101bc3-de60-4e20-bf86-e513ca9f45d6"
}
]
}<?xml version="1.0" encoding="UTF-8"?>
<!-- Example cannot be generated; root element name is undefined --><?xml version="1.0" encoding="UTF-8"?>
<!-- Example cannot be generated; root element name is undefined --><?xml version="1.0" encoding="UTF-8"?>
<!-- Example cannot be generated; root element name is undefined --><?xml version="1.0" encoding="UTF-8"?>
<!-- Example cannot be generated; root element name is undefined --><?xml version="1.0" encoding="UTF-8"?>
<!-- Example cannot be generated; root element name is undefined --><?xml version="1.0" encoding="UTF-8"?>
<!-- Example cannot be generated; root element name is undefined --><?xml version="1.0" encoding="UTF-8"?>
<!-- Example cannot be generated; root element name is undefined --><?xml version="1.0" encoding="UTF-8"?>
<!-- Example cannot be generated; root element name is undefined --><?xml version="1.0" encoding="UTF-8"?>
<!-- Example cannot be generated; root element name is undefined --><?xml version="1.0" encoding="UTF-8"?>
<!-- Example cannot be generated; root element name is undefined --><?xml version="1.0" encoding="UTF-8"?>
<!-- Example cannot be generated; root element name is undefined --><?xml version="1.0" encoding="UTF-8"?>
<!-- Example cannot be generated; root element name is undefined --><?xml version="1.0" encoding="UTF-8"?>
<!-- Example cannot be generated; root element name is undefined --><?xml version="1.0" encoding="UTF-8"?>
<!-- Example cannot be generated; root element name is undefined --><?xml version="1.0" encoding="UTF-8"?>
<!-- Example cannot be generated; root element name is undefined --><?xml version="1.0" encoding="UTF-8"?>
<!-- Example cannot be generated; root element name is undefined --><?xml version="1.0" encoding="UTF-8"?>
<!-- Example cannot be generated; root element name is undefined --><?xml version="1.0" encoding="UTF-8"?>
<!-- Example cannot be generated; root element name is undefined --><?xml version="1.0" encoding="UTF-8"?>
<!-- Example cannot be generated; root element name is undefined --><?xml version="1.0" encoding="UTF-8"?>
<!-- Example cannot be generated; root element name is undefined -->Modify a pickup order
- PUT
-
https://api.bring.com/pickup/api/modify/{shipmentnumber}
Request
header parameters
-
X-Mybring-API-UidRequired -
- Description
- Mybring login ID
- Type
- string
-
X-Mybring-API-KeyRequired -
- Description
- Your user's API key
- Type
- string
path parameters
-
shipmentnumberRequired -
- Description
- Shipment number
- Type
- string
Body schema
Media type: application/json
-
dateRequired - string <date>
Responses
200 OK
Schema
Media type: application/json
- object
-
-
messageRequired - string
-
-
statusRequired - string
400 Bad Request
Schema
Media type: application/json
- object
-
-
messageRequired - string
-
-
statusRequired - string
401 Unauthorized
Schema
Media type: application/json
- object
-
-
messageRequired - string
-
-
statusRequired - string
404 Not Found
Schema
Media type: application/json
- object
-
-
messageRequired - string
-
-
statusRequired - string
429 Too Many Requests
Schema
Media type: application/json
- object
-
-
messageRequired - string
-
-
statusRequired - string
500 Internal Server Error
Schema
Media type: application/json
- object
-
-
messageRequired - string
-
-
statusRequired - string
Request examples
Modify pickup request
{
"date": "2026-05-06"
}Response examples
Modify pickup success response
{
"status": "ACCEPTED"
}{
"error": {
"message": "Order has already been picked up"
},
"status": "FAILED"
}{
"error": {
"message": "Existing pickup date is already invalid. Pickup can no longer be cancelled or modified."
},
"status": "FAILED"
}{
"error": {
"message": "Pickup date is not available"
},
"status": "FAILED"
}{
"error": {
"message": "Existing pickup date is already invalid. Pickup can no longer be cancelled or modified."
},
"status": "FAILED"
}{
"error": {
"message": "Provided pickup date is in the past"
},
"status": "FAILED"
}{
"error": {
"message": "Provided pickup date is today. Please provide a future date."
},
"status": "FAILED"
}{
"error": {
"message": "Malformed payload at line: 1, column: 5"
},
"status": "FAILED"
}{
"error": {
"message": "Mismatched type at line: 1, column: 12"
},
"status": "FAILED"
}{
"error": {
"message": "Order is invalid"
},
"status": "FAILED"
}Modify pickup unauthorized response
{
"error": {
"message": "This user is not authorized to cancel or modify this booking"
},
"status": "FAILED"
}Modify pickup missing booking response
{
"error": {
"message": "Could not find existing pickup order"
},
"status": "FAILED"
}Modify pickup too many attempts response
{
"error": {
"message": "Too many attempts"
},
"status": "FAILED"
}Modify pickup unexpected error response
{
"error": {
"message": "An unexpected error occurred"
},
"status": "FAILED"
}Get available pickup options
- GET
-
https://api.bring.com/pickup/api/pickup-options
Returns available pickup windows for a shipment context. `price` may be omitted.
Request
query parameters
-
typeRequired -
- Description
- Shipment type.
- Type
- string
- Enum
-
PARCEL -
PARCEL_INTERNATIONAL -
CARGO -
MAILBOX - Example
type=PARCEL
-
countryCodeRequired -
- Description
- Two-letter ISO-3166-1 country code
- Type
- string
- Example
countryCode=false
-
shippingDateRequired -
- Description
- Shipment date.
- Type
- string
- Example
shippingDate=2026-05-15
-
postalCodeRequired -
- Description
- Postal code for pickup location.
- Type
- string
- Example
postalCode=0150
-
numberOfAlternativePickupDates -
- Description
- Number of additional pickup dates to return.
- Type
- number
- Example
numberOfAlternativePickupDates=3
-
customerNumber -
- Description
- Customer number for pricing.
- Type
- string
- Example
customerNumber=123456789
Responses
200 OK
Schema
Media type: application/json
-
Required
- array of objects
-
dateRequired - string <date>
-
fromRequired - string <time>
-
toRequired - string <time>
-
- object
-
-
amountWithVATRequired - number <double>
-
amountWithoutVATRequired - number <double>
-
vatRequired - number <double>
-
400 Invalid request parameters.
Schema
Media type: application/json
-
Required
- array of objects
-
codeRequired - string
-
fieldRequired - string
-
messageRequired - string
-
Response examples
Example response with price
{
"pickupOptions": [
{
"date": "2026-05-15",
"from": "08:00:00",
"to": "16:00:00"
},
{
"date": "2026-05-18",
"from": "08:00:00",
"to": "16:00:00"
},
{
"date": "2026-05-19",
"from": "08:00:00",
"to": "16:00:00"
},
{
"date": "2026-05-20",
"from": "08:00:00",
"to": "16:00:00"
}
],
"price": {
"amountWithVAT": 535,
"amountWithoutVAT": 428,
"vat": 107
}
}Example validation response
{
"validationErrors": [
{
"code": "INVALID_POSTAL_CODE",
"field": "postalCode",
"message": "Postal code is invalid"
},
{
"code": "COUNTRY_NOT_SUPPORTED",
"field": "countryCode",
"message": "Country is not supported for this pickup type"
}
]
}