Pickup API
The Pickup API is used to book ad hoc pickups.
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 XML/JSON over HTTP. Pickup endpoints will assume all requests are UTF-8 encoded.
Special topics
Endpoints
Base URL
https://api.bring.com/pickup
Usage | Method | Endpoint |
---|---|---|
Order a pickup | POST |
/api/create
|
OpenAPI document
https://api.bring.com/pickup/api-docsOrder a pickup
post
https://api.bring.com/pickup/api/create
When booking 5100 Stykkgods til bedrift, pickup is added automatically, hence it is not needed in the API request.
Request
header parameters
-
X-Mybring-API-Uid
Required -
- Description
- Mybring login ID
- Type
- string
-
X-Mybring-API-Key
Required -
- Description
- Your user's API key
- Type
- string
Body schema
-
countryCode
Required - Two-letter ISO-3166-1 country codestring
-
Required
- object
-
-
companyName
Required - string
-
customerNumber
Required - string
-
-
Required
- object
-
-
city
Required - string
-
contactName
- string
-
deliveryInstruction
- Delivery instruction to the driverstring
-
email
Required - stringMax length: 60
-
message
- Generic message to the driverstring
-
phoneNumber
Required - string
-
postalCode
Required - string
-
street
Required - string
-
-
pickupDate
Required - string
- object
-
-
numberOfPackages
- This is deprecated. Use packages and count insteadinteger <int32>
-
numberOfPallets
- This is deprecated. Use pallets and count insteadinteger <int32>
-
numberOfPostContainers
- This is deprecated. Use postContainers and count insteadinteger <int32>
- object
-
-
count
Required - 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
-
-
count
Required - 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
-
-
count
Required - For giving number of postContainers. Applicable for parcel pickups in Norwayinteger <int32>
-
weightInGrams
- Applicable for parcel pickups in Norwayinteger <int32>
-
-
volumeInDm3
- This is deprecated. Use packages and volumeInDm3 insteadnumber
-
weightInGrams
- Applicable for pickup in Nordicsinteger <int32>
-
-
pickupIsReadyAtTime
- Currently not in usestring
-
pickupTimeZone
- string
-
service
Required - The pickup service you want to bookstring
- Enum
PARCEL
CARGO
-
testIndicator
- For test bookings, set this to trueboolean
- object
-
-
countryCode
Required - Two-letter ISO-3166-1 country codestring
-
Required
- object
-
-
companyName
Required - string
-
customerNumber
Required - string
-
-
Required
- object
-
-
city
Required - string
-
contactName
- string
-
deliveryInstructionToDriver
- Delivery instruction to the driverstring
-
email
Required - stringMax length: 60
-
messageToDriver
- Generic message to the driverstring
-
phoneNumber
Required - string
-
postalCode
Required - string
-
street
Required - string
-
-
pickupDate
Required - string
- object
-
-
numberOfPackages
- This is deprecated. Use packages and count insteadinteger <int32>
-
numberOfPallets
- This is deprecated. Use pallets and count insteadinteger <int32>
-
numberOfPostContainers
- This is deprecated. Use postContainers and count insteadinteger <int32>
- object
-
-
count
Required - 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
-
-
count
Required - 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
-
-
count
Required - For giving number of postContainers. Applicable for parcel pickups in Norwayinteger <int32>
-
weightInGrams
- Applicable for parcel pickups in Norwayinteger <int32>
-
-
volumeInDm3
- This is deprecated. Use packages and volumeInDm3 insteadnumber
-
weightInGrams
- Applicable for pickup in Nordicsinteger <int32>
-
-
pickupIsReadyAtTime
- Currently not in usestring
-
pickupTimeZone
- string
-
service
Required - The pickup service you want to bookstring
- Enum
PARCEL
CARGO
-
testIndicator
- For test bookings, set this to trueboolean attribute
-
Responses
200 OK
Schema
- array of objects
-
code
- string
-
consignmentCorrelationId
- string
- array of objects
-
lang
- string
-
message
- string
-
-
packageCorrelationId
- string
-
uniqueId
- string
-
- object
-
-
earliestPickupDate
Required - string <date-time>
-
isoFormattedEarliestPickupDateTime
- ISO formatted datestring <date-time>
-
isoFormattedLatestPickupDateTime
- ISO formatted datestring <date-time>
-
latestPickupDate
- string <date-time>
-
packageNumber
- string
-
status
Required - string
-
url
- string
-
- object
-
- array wrapped
-
- object
-
-
code
Required - string
-
consignmentCorrelationId
- string attribute
-
Required
- array wrapped
-
- object
-
-
lang
- string attribute
-
message
- string
-
-
packageCorrelationId
- string attribute
-
uniqueId
Required - string
-
- object
-
-
earliestPickupDate
Required - string <date-time>
-
isoFormattedEarliestPickupDateTime
- ISO formatted datestring <date-time>
-
isoFormattedLatestPickupDateTime
- ISO formatted datestring <date-time>
-
latestPickupDate
- string <date-time>
-
packageNumber
- string
-
status
Required - string
-
url
- string
-
400 Bad Request
Schema
- array of objects
- array of objects
-
code
- string
-
consignmentCorrelationId
- string
- array of objects
-
lang
- string
-
message
- string
-
-
packageCorrelationId
- string
-
uniqueId
- string
-
- object
-
-
earliestPickupDate
Required - string <date-time>
-
isoFormattedEarliestPickupDateTime
- ISO formatted datestring <date-time>
-
isoFormattedLatestPickupDateTime
- ISO formatted datestring <date-time>
-
latestPickupDate
- string <date-time>
-
packageNumber
- string
-
status
Required - string
-
url
- string
-
- array
-
- object
-
- array wrapped
-
- object
-
-
code
Required - string
-
consignmentCorrelationId
- string attribute
-
Required
- array wrapped
-
- object
-
-
lang
- string attribute
-
message
- string
-
-
packageCorrelationId
- string attribute
-
uniqueId
Required - string
-
- object
-
-
earliestPickupDate
Required - string <date-time>
-
isoFormattedEarliestPickupDateTime
- ISO formatted datestring <date-time>
-
isoFormattedLatestPickupDateTime
- ISO formatted datestring <date-time>
-
latestPickupDate
- string <date-time>
-
packageNumber
- string
-
status
Required - string
-
url
- 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",
"testIndicator": true
}
{
"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",
"testIndicator": true
}
{
"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",
"testIndicator": true
}
<?xml version="1.0" encoding="UTF-8"?>
<pickupOrderRequest xmlns="http://www.bring.no/booking/" testIndicator="true">
<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 xmlns="http://www.bring.no/booking/" testIndicator="true">
<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 xmlns="http://www.bring.no/booking/" testIndicator="true">
<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": "458b53bb-7dfc-4f3d-96bd-36c7dba85dd3"
}
]
}
{
"errors": [
{
"code": "BOOK-INPUT-028",
"messages": [
{
"lang": "en",
"message": "Invalid country code"
}
],
"uniqueId": "afce2282-dfee-4333-ac7e-7f9a1115c3d0"
}
]
}
{
"errors": [
{
"code": "PICKUP-INPUT-012",
"messages": [
{
"lang": "en",
"message": "Selected pickup point should be in recipient country"
}
],
"uniqueId": "29d0ac6a-750c-4b48-b589-2bbbd873eb13"
}
]
}
{
"errors": [
{
"code": "BOOK-INPUT-020",
"messages": [
{
"lang": "en",
"message": "Invalid product ID"
}
],
"uniqueId": "92cbf851-1ddf-4316-a7e6-a1bf99ccb5be"
}
]
}
{
"errors": [
{
"code": "PICKUP-INPUT-007",
"messages": [
{
"lang": "en",
"message": "Pickup date must be in the future"
}
],
"uniqueId": "bf93ea80-0ead-4478-9c9c-998868affdb6"
}
]
}
{
"errors": [
{
"code": "PICKUP-INPUT-001",
"messages": [
{
"lang": "en",
"message": "Error with input in pickupOrder"
}
],
"uniqueId": "9a140b70-6716-4e3b-8d84-44cb4b77addb"
}
]
}
{
"errors": [
{
"code": "PICKUP-INPUT-003",
"messages": [
{
"lang": "en",
"message": "Cargo customer must provide cargoInformation element. Parcel customer must provide parcelsInformation element"
}
],
"uniqueId": "16c87090-132f-4e8a-a9f9-1290b70b14ce"
}
]
}
{
"errors": [
{
"code": "PICKUP-INPUT-015",
"messages": [
{
"lang": "en",
"message": "Chargeable weight must be below groupage max weight limit"
}
],
"uniqueId": "a0484454-2464-49bf-b702-b213f7aa96cb"
}
]
}
{
"errors": [
{
"code": "PICKUP-INPUT-006",
"messages": [
{
"lang": "en",
"message": "You must specify pickupDate element yyyy-MM-dd"
}
],
"uniqueId": "1064bd60-0172-425f-8559-3e38ff178bc0"
}
]
}
{
"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": "59b9f398-4045-419e-9762-2df3a5c85b6a"
}
]
}
{
"errors": [
{
"code": "PICKUP-INPUT-002",
"messages": [
{
"lang": "en",
"message": "Postal code must be given and be valid"
}
],
"uniqueId": "f3fb2c4c-2c07-400e-8dc4-a7c9cbb32558"
}
]
}
{
"errors": [
{
"code": "PICKUP-INPUT-005",
"messages": [
{
"lang": "en",
"message": "You must specify pickupIsReadyAtTime element HH:mm:ss"
}
],
"uniqueId": "0cf4c56f-7d20-4877-869c-2fdb04095535"
}
]
}
{
"errors": [
{
"code": "PICKUP-INPUT-008",
"messages": [
{
"lang": "en",
"message": "weightInGrams is required, and must be an integer larger than zero"
}
],
"uniqueId": "652aab4b-ab8b-4934-8463-cec260270d7e"
}
]
}
{
"errors": [
{
"code": "PICKUP-INPUT-010",
"messages": [
{
"lang": "en",
"message": "Country code is required"
}
],
"uniqueId": "96e9cc2f-6e3a-4257-b8e6-1d23d7f37490"
}
]
}
{
"errors": [
{
"code": "PICKUP-INPUT-009",
"messages": [
{
"lang": "en",
"message": "Must be an integer larger than zero"
}
],
"uniqueId": "e4dc8cf5-b780-463c-825a-c3f8be15a06a"
}
]
}
{
"errors": [
{
"code": "PICKUP-INPUT-004",
"messages": [
{
"lang": "en",
"message": "This customer number cannot be used to order Pickup"
}
],
"uniqueId": "dd913938-0f7f-407d-ad0f-58dcf83763a3"
}
]
}
{
"errors": [
{
"code": "PICKUP-INPUT-013",
"messages": [
{
"lang": "en",
"message": "Combination pickupIsReadyAtTime and pickupDate must be in the future"
}
],
"uniqueId": "03eab481-583c-4feb-b4b0-1a49bc9d8350"
}
]
}
{
"errors": [
{
"code": "PICKUP-INTERNAL-001",
"messages": [
{
"lang": "en",
"message": "An unexpected error occured"
}
],
"uniqueId": "11b884b6-e8ed-4c6f-b0ce-62f4aba62f49"
}
]
}
{
"errors": [
{
"code": "PICKUP-INPUT-011",
"messages": [
{
"lang": "en",
"message": "Both Pickup Point ID and Country Code is Required"
}
],
"uniqueId": "fb95d6d8-1e25-4794-8746-389142b33ff8"
}
]
}
{
"errors": [
{
"code": "BOOK-AUTHORIZATION-001",
"messages": [
{
"lang": "en",
"message": "Your user is not authorized to perform this action"
}
],
"uniqueId": "fa5508f0-a5b3-4c84-bfba-c59f9fc3da68"
}
]
}
<?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 -->