Skip to main content

Customs API

Updates

Older 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).

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 Customs API is used to submit customs declarations electronically

Authentication

To integrate with 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

What can the Customs API help me with?

The Customs API can help users send customs declarations as structured data to Bring.

Endpoints

Base URL
https://api.bring.com/customs/v1
Usage Method Endpoint
Submit customs declaration for a shipment POST /declarations

Submit customs declaration for a shipment

POST
https://api.bring.com/customs/v1/declarations

Request

header parameters

X-Bring-Test-Indicator
Required
Description
Indicates whether this is a test message or a live one.
Type
boolean

Body schema

Media type: application/json

currencyCode
Currency code (ISO 4217) that applies to all amounts in the customs declaration
string
customerNumber
Customer number paying for the transport
string
List of customs lines
array of objects
amount
The value of the goods. In base units.
number
consignmentItemId
The customs consignment item id
string
countryCodeOrigin
The customs line's origin ISO 3166 country code
string
customsArticleNumber
The customs article number, or tariff code
string
array of objects
certificateCode
Certificate code for the customs line
string
documentCode
Document code for the customs line
string
goodsDescription
A description of the goods declared
string
grossWeight
Gross weight for the shipment. In base units (kgs).
number
netWeight
Net weight for the shipment. In base units (kg).
number
quantity
The quantity of the customs line if weight is not apt
string
salesOrder
A reference to the customer's sales order
string
tradePreferenceCode
The trade preference code. Defaults to J
string
Enum
A
B
C
G
P
J (default)
N
declarationType
Indicates whether the declaration should be import, export, or both. Defaults to IMPORT_EXPORT.
string
Enum
IMPORT
EXPORT
IMPORT_EXPORT (default)
Information about the importer or exporter
object
city
The party's name
string
countryCode
The party's ISO 3166 country code
string
id
The party's id. Usually a customer number.
string
name
The party's name
string
postalCode
The party's postal code
string
vatId
The party's VAT number
string
Information about the importer or exporter
object
city
The party's name
string
countryCode
The party's ISO 3166 country code
string
id
The party's id. Usually a customer number.
string
name
The party's name
string
postalCode
The party's postal code
string
vatId
The party's VAT number
string
List of invoice data
array of objects
amount
The invoice's total amount. In base units.
number
discount
The invoice's total discount. In base units.
number
invoiceDate
The invoice date
string
invoiceNumber
The invoice number
string
Describes shipment data associated with the customs declaration
object
consignmentId
Customs consignment id for the shipment. Top level id.
stringMax length: 35
freightCost
Cost of freight. In base units.
number
insuranceCost
Cost of insurance. In base units.
number
service
Service code declared. 0300 is the service code for bulk/routing label.
string
Enum
0300
0336
Information about terms of delivery
object
incotermsCode
The incoterms that applies for the customer's shipment
string
Enum
EXW
FCA
FAS
FOB
CFR
CIF
CPT
CIP
DPU
DAP
DDP
location
The location for the shipment
string

Responses

200 Successfully submitted customs declaration for a shipment

Schema

Media type: application/json

error
A description of the error that occurred
string
processingId
A processing id for the request
string
status
The outcome of the request
string
Enum
ACCEPTED
FAILED

Request examples

{
  "currencyCode": "SEK",
  "customerNumber": "1234567890",
  "customsDeclarations": [
    {
      "amount": 1500.5,
      "consignmentItemId": "CS128104136NO",
      "countryCodeOrigin": "SE",
      "customsArticleNumber": "article number 1",
      "documentReferences": "null,",
      "goodsDescription": "description 1",
      "grossWeight": 1,
      "netWeight": 1,
      "quantityOtherUnit": 2,
      "salesOrder": null,
      "tradePreferenceCode": "A"
    },
    {
      "amount": 250.5,
      "consignmentItemId": "CS128104137NO",
      "countryCodeOrigin": "FI",
      "customsArticleNumber": "article number 2",
      "documentReferences": [
        {
          "certificateCode": "SE/HF/003245"
        }
      ],
      "goodsDescription": "description 2",
      "grossWeight": 2,
      "netWeight": 2,
      "numberOfPieces": 3,
      "salesOrder": {
        "articleNumber": "GK153-1",
        "orderNumber": "OPT5566"
      }
    }
  ],
  "declarationType": "IMPORT_EXPORT",
  "exporter": {
    "addressLine1": "Exporter street 42",
    "city": "Oslo",
    "countryCode": "NO",
    "id": null,
    "name": "Ex Porter",
    "postalCode": "1234",
    "vatId": null
  },
  "importer": {
    "addressLine1": "Importer street 42",
    "city": "Stockholm",
    "countryCode": "SE",
    "id": "1234567891",
    "name": "Im Porter",
    "postalCode": "12000",
    "vatId": null
  },
  "invoices": [
    {
      "amount": 100887.5,
      "discount": 250.5,
      "invoiceDate": "2025-11-13",
      "invoiceNumber": "401528"
    },
    {
      "amount": 100887.5,
      "invoiceDate": "2025-11-14",
      "invoiceNumber": "401529"
    }
  ],
  "shipment": {
    "consignmentId": "012345678910",
    "freightCost": 1000.5,
    "insuranceCost": 5000.5,
    "service": "0300",
    "termsOfDelivery": {
      "incotermsCode": "DDP",
      "location": "Oslo"
    }
  }
}

Response examples

{
  "error": null,
  "processingId": "89257cb6-43be-4250-9a56-eb679b95ba8d",
  "status": "ACCEPTED"
}