Skip to main content

Bulksplit API

Updates

System maintenance

21 October 2025General

On 26 October we will do some system maintenance that will affect our APIs. You might experience some outage between 07:00 and 09:00 Sunday 26 October.

Important Update! New TLS certificates on api.bring.com 27th of October 2025

26 September 2025General

Migration from Buypass to Let’s Encrypt TLS Certificates As of 15 September 2025, Buypass has stopped allowing registration of new ACME Account and will stop generating/renewing TLS certificates from 15th October 2025. To ensure continuity, we are migrating all TLS certificates from Buypass to Let´s Encrypt.

As part of this activity:

  • Old Buypass certificates will be removed
  • New Let´s Encrypt certificates will be created

Impact to Customers:

  • If your application does not pin the certificate, no action is required and there will be zero impact.
  • If your application does pin the certificate, you will need to download the new Let´s Encrypt certificate and update your application configuration accordingly.

We recommend reviewing your applications to check whether certificate pinning is in place and preparing for updates if needed.

For more queries, contact integrasjon.norge@bring.com (Norway) or edi@bring.com (outside Norway).

Older updates

Note! Removal of temporary domain api-new.bring.com

11 January 2023General

From 19 January 2023, APIs hosted on api-new.bring.com will stop working. Please start using api.bring.com instead of api-new.bring.com.

For more queries contact to integrasjon.norge@bring.com (Norway) or edi@bring.com (outside Norway).

Upcoming DNS change 1st of April 2022

21 December 2021General

Bring’s applications and infrastructure are going through bigger changes, as part of modernizing our infrastructure. One of these changes, is update of our load balancing component, and that will affect services running on api.bring.com. Be sure to verify your integration before the change to ensure no service disruption.

EDI documentation

8 June 2021General

New versions of the documents Appendix2 Available Services and Appendix 2A Instructions for service Implementation

The Bulksplit API is used to register consolidated shipment information for bulksplit parcels and pallet shipments transported in bulk.

The API provides three functions:

  1. Reserving bulk shipment IDs. These IDs can optionally be referenced at time of booking the individual shipments to enable a better tracking experience.
  2. Producing routing labels for a shipment ahead of booking. This is an optional step if you want to create a routing label when you start work on loading a pallet.
  3. Registering the complete shipment. When a pallet or group of pallets is ready for shipping, the pallet information including final weight should now be provided. This step is important as it triggers sending of the EDI information fir the consolidated shipment. At this point we can also produce a CMR waybill for the shipment and routing labels if your workflow involves labelling at the end.
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.

Workflow

When working with the Bulksplit API the process is as follows:

1. Reserve a bulk shipment ID

Use the /bulk-shipment-ids endpoint to reserve an identifier for use on the CMR documentation and identifies the bulk shipment.

2. (Optional) Produce routing labels

Use the /bulk-shipments/{bulk-shipment-id}/routing-labels endpoint to reserve an identifier for use on the routing label and produce a printable PDF.

If you do not need to print routing labels until the whole shipment is registered this is not necessary.

3. (Optional) Book the shipping for the individual parcels/letters contained in the bulk shipment

Using the booking-api book shipping for the individual parcels or letters contained in this bulk shipment placing the reserved CMR ID into the consignments[0].references.consolidatedShipmentId field.

4. Register the bulk-shipment and produce labels

Use the /bulk-shipments/{bulk-shipment-id} endpoint to register the bulk-shipment providing all the necessary metadata to fill out the Waybill and Routing labels for each of the pallets, the API response contains links to the PDF representation of these labels.

Lifetime of reserved id

Unused bulk-shipment-ids will be deleted after 1 year.

Pallet types

Valid pallet types are:

  • EUR_PALLETS
  • OTHER_PALLETS
  • OTHER_LOAD_CARRIER

Service types

Service types are identified by their 4 digit codes:

  • 0332 : Business Parcel Bulk
  • 0334 : Express Nordic 09:00 Bulk
  • 0342 : PickUp Parcel Bulk
  • 0344 : Parcel Locker
  • 0349 : Home Delivery Parcel
  • 0336 : Business Pallet
  • 0370 : Bring Parcel Connect
  • 0345 : Home Delivery Mailbox
  • 3584 : Letter pallet

Endpoints

Base URL
https://api.bring.com/bulksplit/v1
Usage Method Endpoint
Reserve a bulk shipment id POST /bulk-shipment-ids
Register bulk shipment for reserved shipment-id POST /bulk-shipments/{bulk-shipment-id}
Reserve a routing label id and produce label POST /bulk-shipments/{bulk-shipment-id}/routing-labels
List available terminals GET /terminals

Reserve a bulk shipment id

POST
https://api.bring.com/bulksplit/v1/bulk-shipment-ids

Request

header parameters

X-Bring-Test-Indicator
Description
No effect on this endpoint at the current time.
Type
string

Body schema

Media type: application/json

customerNumber
Required
Customer number
string
Required
Required if not using pre-reserved shipment number
object
addressLine1
Required
Sender's address line 1
string
addressLine2
Sender's address line 2
string
city
Required
Sender's city
string
countryCode
Required
Sender's country code
string
name
Required
Sender's name
string
postalCode
Required
Sender's postal code
string
senderReference
Sender's reference
string
terminalId
Required
Recipient terminal ID
string

Responses

201 Successfully reserved a bulk shipment ID

Schema

Media type: application/json

bulkShipmentId
Required
Reserved bulk shipment ID
string

Request examples

{
  "customerNumber": 1234567890,
  "senderParty": {
    "addressLine1": "Sender street 42",
    "city": "Copenhagen",
    "countryCode": "DK",
    "name": "Bulky Sender",
    "postalCode": 1234
  },
  "terminalId": "NO_OSLO_4"
}

Response examples

{
  "bulkShipmentId": "CS059102945NO"
}

Register bulk shipment for reserved shipment-id

POST
https://api.bring.com/bulksplit/v1/bulk-shipments/{bulk-shipment-id}

Request

path parameters

bulk-shipment-id
Required
Description
Bulk shipment ID
Type
string

header parameters

X-Bring-Test-Indicator
Description
If set to "true" indicates that this request is a test, otherwise the request is treated as real. If set all validations will be performed and labels will be generated but the booking will not be sent to the underlying systems.
Type
string

Body schema

Media type: application/json

Required if shipment is crossing customs border
object
numEurCertificates
Required
Number of EUR certificates
integer
numExportNotifications
Required
Number of export notifications
integer
numInvoices
Required
Number of invoices
integer
Required
array of objects
palletType
Required
Type of pallet
string
routingNumber
Routing number of the pallet
string
services
Required
List of services
array of strings
string
totalWeightKg
Required
Total weight of the pallet in kilograms
integer
routingLabelsType
Indication of whether to produce routing labels at this time or not. ROUTING or NONE, defaults to ROUTING.
string
shippingDateTime
Required
Scheduled pickup date
string <date-time>
waybillType
Type of waybill to produce for the shipment. CMR or NONE, defaults to CMR.
string

Responses

200 Successfully booked bulk shipment

Schema

Media type: application/json

bulkShipmentId
Required
Bulk shipment ID
string
routingLabelsUrl
URL to the routing labels
string <uri>
waybillUrl
URL to the waybill document
string <uri>

Request examples

{
  "customsDocuments": {
    "numEurCertifications": 2,
    "numExportNotifications": 3,
    "numInvoices": 3
  },
  "pallets": [
    {
      "palletType": "EUR_PALLETS",
      "routingNumber": "CS128103952NO",
      "services": [
        "0342",
        "0345"
      ],
      "totalWeightKg": 200
    }
  ],
  "routingLabelsType": "NONE",
  "shippingDateTime": "2025-10-10T13:00:00+02:00",
  "waybillType": "NONE"
}

Response examples

{
  "bulkShipmentId": "CS059102945NO",
  "routingLabelsUrl": "https://api.bring.com/labels/id/6eaeab58-da7e-4ce4-a1ce-b07607245e07.pdf",
  "waybillUrl": "https://api.bring.com/labels/id/c1c65ccc-99fe-4aad-90a3-08546d99e3b8.pdf"
}

Reserve a routing label id and produce label

POST
https://api.bring.com/bulksplit/v1/bulk-shipments/{bulk-shipment-id}/routing-labels

Request

path parameters

bulk-shipment-id
Required
Description
Bulk shipment ID
Type
string

header parameters

X-Bring-Test-Indicator
Description
No effect on this endpoint at the current time.
Type
string

Responses

201 Successfully reserved a routing number

Schema

Media type: application/json

bulkShipmentId
Required
Reserved bulk shipment ID
string
routingLabelId
Required
The routing number represented on the label
string
routingLabelUrl
Required
URL to the routing label
string <uri>

Response examples

{
  "bulkShipmentId": "CS059102945NO",
  "routingLabelUrl": "https://api.bring.com/labels/id/6eaeab58-da7e-4ce4-a1ce-b07607245e07.pdf",
  "routingNumber": "CS128103952NO"
}

List available terminals

GET
https://api.bring.com/bulksplit/v1/terminals

Responses

200 Successfully list all terminals

Schema

Media type: application/json

Required
array of objects
addressLine1
Required
First address line of the terminal
string
addressLine2
Required
Second address line of the terminal
string
city
Required
Terminal city
string
countryCode
Required
Terminal country
string
id
Required
Terminal Id for use when registering bulk shipment
string
name
Required
Name of the terminal
string
postalCode
Required
Terminal post code
string

Response examples

{
  "terminals": [
    {
      "addressLine1": "Alfasetvegen 24",
      "addressLine2": null,
      "city": "Oslo",
      "countryCode": "NO",
      "id": "NO_OSLO_4",
      "name": "Logistikksenter Oslo",
      "postalCode": 20
    },
    {
      "addressLine1": "Södra Stigamovägen 9A",
      "addressLine2": null,
      "city": "Jönköping",
      "countryCode": "SE",
      "id": "SE_JONKOPING_24",
      "name": "Bring",
      "postalCode": 55650
    }
  ]
}