# PostNord International

[PostNord International](https://www.postnord.com/) offers international shipping solutions for shipments originating in GB, DE, NL, PL, FR, US, CA, BE, CZ.

This guide provides developers with the details needed to build PostNord International shipping capabilities into your ShipStation V2 API workflows.

## Requirements

The following fields are required to establish a connection with PostNord International:

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `api_key` | *string* | **required** | API Key provided by PostNord International (via developer portal); used to identify API customer. |
| `customer_number` | *string* | **required** | Customer Number for party identification (DK typically 9 digits). |
| `application_version` | *string* | **required** | Application Version: This 3-letter code is a Customer ID provided by the carrier. |


### Connection Requirements

**Optional**: To successfully integrate your account, provide the specific pickup, consignor, and authentication credentials detailed below.

| Field | Description | Type | Required? |
|  --- | --- | --- | --- |
| `brand_name` | Brand name that will be used as an application name. | *string* | optional |
| `issuer_code` | Issuer code associated with the customer number country agreement. | *string* | optional |
| `generate_standard_label_size` | Return longer, standard PostNord labels instead of 4x6. | *boolean* | optional |
| `pickup_party_name` | Pickup Party Name | *string* | optional |
| `pickup_party_address` | Pickup Party Address | *string* | optional |
| `pickup_party_postal_code` | Pickup Party Postcode | *string* | optional |
| `pickup_party_city` | Pickup Party City | *string* | optional |
| `pickup_party_country` | Pickup Party Country [ISO Alpha-2 Code](https://www.iban.com/country-codes) | *string* | optional |
| `consignor_name` | Consignor Name | *string* | optional |
| `consignor_address` | Consignor Address | *string* | optional |
| `consignor_postal_code` | Consignor Postcode | *string* | optional |
| `consignor_city` | Consignor City | *string* | optional |
| `consignor_country` | Consignor Country [ISO Alpha-2 Code](https://www.iban.com/country-codes) | *string* | optional |
| `consignor_state` | Consignor State | *string* | optional |
| `consignor_email` | Consignor Email | *string* | optional |
| `consignor_phone` | Consignor Phone | *string* | optional |


## Connect Account

You can connect a PostNord International account using the POST method to the `/v2/connections/carriers/` endpoint, or via the ShipStation dashboard.

### Connect via Dashboard

Log in to your ShipStation account and navigate to the Carriers section to connect your PostNord International account using your credentials.

For instructions on connecting PostNord International via the ShipStation dashboard, go to our [PostNord International help article](https://help.shipstation.com/hc/en-us/articles/51600862977691).

### Connect via Endpoint

`carrier_code`: `postnord_international`

**POST /v2/connections/carriers/:carrier_code**


```http
POST /v2/connections/carriers/postnord_international HTTP/1.1
Host: api.shipstation.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json

{
  "nickname": "my PostNord International account nickname",
  "api_key": "your_api_key_here",
  "customer_number": "123456789",
  "application_version": "ABC"
}
```

A successful connection will return a response with the `carrier_id`, which you'll use for any requests for this account going forward.

## Rates

PostNord International does not send estimated rates to ShipStation V2 API. Your PostNord International account contact can provide you with the details about your contracted rates.

## Service Details

Available PostNord International services are provided below. Please note that carriers may update their available services at any time. To ensure you are always using valid services, you can use the list carrier services endpoint at any time.

### International Services

PostNord International shipping services:

| Service | API Code |
|  --- | --- |
| PostNord Home International | `postnord_international_my_pack_home_international` |
| PostNord Service Point International | `postnord_international_my_pack_collect_international` |
| PostNord Service Point PUDO International | `postnord_international_my_pack_collect_service_point_international` |
| Merchandise Mail Level 2 | `postnord_international_merchandise_mail_level_2` |
| Merchandise Mail Level 3 | `postnord_international_merchandise_mail_level_3` |
| Merchandise Mail Plus Parcel Level 3 | `postnord_international_merchandise_mail_plus_parcel_level_3` |


### Return Services

| Service | API Code |
|  --- | --- |
| PostNord Returns International | `postnord_international_my_pack_return_intl` |
| Merchandise Mail Return | `postnord_international_merchandise_mail_return` |


> **NOTE:**
**PostNord Returns International requires non-standard address formatting** - Unlike typical API shipments, the `ship_to` address format must be confirmed directly with PostNord, as it varies by destination country and does not follow standard address conventions.
For example, returns to Sweden require "U-Box: [value]" to be entered in the `address_line1` field (where [value] corresponds to the PO Box number assigned by PostNord) instead of a street address. All other address fields (postal code, city, country) must strictly comply with PostNord's specific requirements.
**Example for Sweden returns:**

```json
{
  "ship_to": {
    "name": "PostNord Returns Center",
    "address_line1": "U-Box: 374",
    "address_line2": "",
    "address_line3": "",
    "city_locality": "Malmö",
    "state_province": "",
    "postal_code": "20226",
    "country_code": "SE"
  }
}
```


### Packages

The following [carrier package types](/apis/shipengine/docs/shipping/carrier-packaging) are available for PostNord International services:

| Name | API Code | Package Attributes |
|  --- | --- | --- |
| Parcel | `postnord_international_pc` | International |


### Adding Shipment Insurance

PostNord International does not support adding carrier insurance to your shipments.

## Label Support

* Label sizes: 4" x 6", 4" x 8"
* Label formats: PDF, ZPL, PNG


By default carrier returns 4x6 label. Other label sizes can be enabled by setting `generate_standard_label_size` in the carrier settings. If selected then the label will be generated in the standard PostNord size which is longer than 4x6 and may vary depending on the service (set to false as default).

### Label Reference Fields

PostNord International supports adding [custom label messages](/apis/shipengine/docs/labels/messages). Use `label_message_1` to add custom label messages to the label reference fields.

### Multi-Package Labels

PostNord International supports creating [multi-package shipments](/apis/shipengine/docs/shipping/multi-package) with all available services.

### Voiding Labels

PostNord International does not support [voiding labels](/apis/shipengine/docs/labels/voiding) with ShipStation V2 API. There is an internal voiding method implemented.

### Paperless Labels

PostNord International does not currently support [paperless labels](/apis/shipengine/docs/labels/paperless).

## Delivery Confirmation

PostNord International does not support Shipping Delivery Confirmation.

## Advanced Options

PostNord International supports [advanced options](/apis/shipengine/docs/carriers/advanced-options). Supported Advanced Options:

* Limited Quantities of Dangerous Goods (DG) - Shipping Limited Quantities of DG is supported but for Denmark and Norway it is required to provide additional details in the products dangerous goods section:


`dangerous_goods.id_number`

`dangerous_goods.technical_name`

`dangerous_amount.amount`

## Manifests

PostNord International does not require [manifesting](/apis/shipengine/docs/shipping/manifests) your shipments.

## Scheduling Pickups

PostNord International does not support [scheduling a pickup](/apis/shipengine/docs/shipping/pickups) with ShipStation V2 API.

## Service Points (PUDO)

PostNord International supports shipping to [service points](/apis/shipengine/docs/pick-up-drop-off/pudo-intro). Carrier supports delivery to PUDO points and Service Point finder methods.

## Tracking

ShipStation V2 API's integration with PostNord International supports receiving tracking updates. Review our ​[Track a Package guides​](/apis/shipengine/docs/tracking/tracking)​ for details on tracking with the ShipStation V2 API.

## Troubleshooting Tips

| Issue | Resolution |
|  --- | --- |
| HTTP 403 from PostNord API usually indicates missing/invalid api_key. Reconfirm API key in connection settings and regenerate if needed via Developer Portal. | Carrier Info (801) |
| For UK/US → Nordics on services 17/19/24 ensure issuer_code applies ZDL so customs data is accepted and CN22/CN23 print correctly. |  |
| If labels exceed 4×6 layout, either enable standard PostNord size or apply trimming logic per integration guidance. | Enable `generate_standard_label_size` in carrier settings to use PostNord's standard label size, or adjust label handling to accommodate larger formats. |
| 403 Forbidden (PostNord API) - means Authentication failed; api_key missing or invalid. | Verify carrier connection credentials; generate/replace API key in PostNord Developer Portal; retry request |


## Disconnecting Your PostNord International Account

See the Disconnect section in our [Delete a Carrier page](/apis/shipengine/docs/reference/carriers/delete-carrier) for the process of deleting or disconnecting a carrier from ShipStation V2 API.

> **NOTE:**
If you disconnect a carrier account and reconnect it, the account will have a new `carrier_id` in ShipStation V2 API.