> ## Documentation Index
> Fetch the complete documentation index at: https://www.zippendo.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Connect Bring

> Connect Bring from Carriers → All Carriers — Mybring API Key, API Secret (login email), optional customer numbers, and Sandbox Mode.

**Bring** books Nordic parcel, cargo, and express labels from Zippendo, including pickup-point and locker products plus customs documents on international lanes. The catalog card copy is: **Generate Bring shipping labels directly from Zippendo with Nordic parcel, cargo, and express services plus automated customs documents.** Catalog slug: `bring`.

This page is the Bring connect form. Shared chrome: [Carrier credentials](/docs/how-to/carrier-credentials). Inventory: [Connect a carrier or integration](/docs/how-to/connect-index). Walkthrough: [Carriers](/docs/tutorials/carriers).

<Info>
  You do **not** pick a sender address on this form. Add addresses under **Manage → Addresses**. The address is chosen on the shipment or on a [shipping rule](/docs/how-to/shipping-rule-fields).
</Info>

## Prerequisites

* A **Mybring** user with API access ([mybring.com](https://www.mybring.com) / [developer.bring.com](https://developer.bring.com)).
* The **API key** Mybring generates for that user, and the **Mybring login email** used as API UID.
* Optional: the Bring **customer number** (and a different one for returns, if your agreement uses it).
* Permission to create carriers in the organization.

## Connect from All Carriers

<Steps>
  <Step title="Open All Carriers">
    Sidebar **Carriers**. Page title **Carriers / Integrations**. Tabs: **My Carriers** (`?tab=my-carriers`) and **All Carriers** (`?tab=all-carriers`).
  </Step>

  <Step title="Find Bring">
    Card title **Bring**. **Connect** and **Learn more** (opens [bring.com](https://www.bring.com) in a new tab).
  </Step>

  <Step title="Click Connect">
    Modal id `connect-carrier-modal`. Title **Create new carrier**. Subtitle **Fill out the information below to create a new carrier**.
  </Step>

  <Step title="Fill required fields">
    **Carrier name**, then **Carrier Configuration → Required Fields** (**API Key**, **API Secret**). Scroll **Optional Fields** for customer numbers and sandbox.
  </Step>

  <Step title="Create">
    **Create** (pending **Creating…**) or **Cancel**. Success toast: **Carrier created successfully**. Failure copy: **Failed to create carrier. Please try again.**
  </Step>
</Steps>

<Frame caption="Bring on All Carriers — Connect and Learn more">
  <img src="https://mintcdn.com/zippendo/pwy1g1EbXWJlGtUC/images/how-to/connect-bring/01-all-carriers-card-light.png?fit=max&auto=format&n=pwy1g1EbXWJlGtUC&q=85&s=ccff0a4dfe74f2fb27057a07f05bb73f" alt="All Carriers grid with the Bring card, Connect, and Learn more" className="block dark:hidden" width="2880" height="1800" data-path="images/how-to/connect-bring/01-all-carriers-card-light.png" />

  <img src="https://mintcdn.com/zippendo/pwy1g1EbXWJlGtUC/images/how-to/connect-bring/01-all-carriers-card-dark.png?fit=max&auto=format&n=pwy1g1EbXWJlGtUC&q=85&s=707bb06b3d9c0db9b693987d58e5d7b2" alt="All Carriers grid with the Bring card, Connect, and Learn more" className="hidden dark:block" width="2880" height="1800" data-path="images/how-to/connect-bring/01-all-carriers-card-dark.png" />
</Frame>

<Frame caption="Create new carrier for Bring — API Key and API Secret">
  <img src="https://mintcdn.com/zippendo/pwy1g1EbXWJlGtUC/images/how-to/connect-bring/02-connect-modal-light.png?fit=max&auto=format&n=pwy1g1EbXWJlGtUC&q=85&s=cdfe7f95d01e831731149b9c9df8a205" alt="Create new carrier dialog for Bring with required API Key and API Secret" className="block dark:hidden" width="2880" height="2800" data-path="images/how-to/connect-bring/02-connect-modal-light.png" />

  <img src="https://mintcdn.com/zippendo/pwy1g1EbXWJlGtUC/images/how-to/connect-bring/02-connect-modal-dark.png?fit=max&auto=format&n=pwy1g1EbXWJlGtUC&q=85&s=ffebe3395047f56bbef8c8734e81430f" alt="Create new carrier dialog for Bring with required API Key and API Secret" className="hidden dark:block" width="2880" height="2800" data-path="images/how-to/connect-bring/02-connect-modal-dark.png" />
</Frame>

## Shared fields

| Field               | Required | What it is                                                                                                                                         |
| ------------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Carrier name \*** | Yes      | Display name. Placeholder **Enter carrier name**. Defaults to **Bring**. Letters, numbers, and `. & ' + / ( ) _ -` only.                           |
| **Brand**           | No       | Only when the organization has [brands](/docs/how-to/create-a-brand). Helper: **Only this brand can use this carrier.** Hidden when you have no brands. |

## Bring credentials

**API Secret** uses a password input because the label contains “Secret”.

The Mybring page that creates the API key requires signing in. Bring’s public developer docs explain the same three pieces: Mybring user, API key, customer number.

<Frame caption="Bring Developer: get a Mybring user and API key (the live Mybring API settings page requires your own login)">
  <img src="https://mintcdn.com/zippendo/pwy1g1EbXWJlGtUC/images/how-to/connect-bring/10-bring-developer-getting-started.png?fit=max&auto=format&n=pwy1g1EbXWJlGtUC&q=85&s=af4e9c3740a196328f72230d5b72ca0b" alt="Bring Developer getting started page covering Mybring user account, API key, and customer number" width="2880" height="2200" data-path="images/how-to/connect-bring/10-bring-developer-getting-started.png" />
</Frame>

| Field                      | Required | Control                                                                      | Where you get it                                                                                     | Format            | Sandbox vs live                                                                                                                 |
| -------------------------- | -------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ----------------- | ------------------------------------------------------------------------------------------------------------------------------- |
| **API Key**                | Yes      | Text. Helper: **Your Mybring API key for authentication**                    | Mybring user / API settings. Bring documents this as the `X-MyBring-API-Key` (or equivalent) header. | String.           | Same key. Sandbox is a request header, not a different key field.                                                               |
| **API Secret**             | Yes      | Password. Helper: **Your Mybring login ID (email address used as API UID)**  | The **email** you use to sign in to Mybring — not a second generated secret.                         | Email / login ID. | Same value on sandbox and live.                                                                                                 |
| **Customer Number**        | No       | Text. Helper: **Bring customer number for your account**                     | Mybring customer / agreement list.                                                                   | String.           | Same field. Needed for billed products on your agreement.                                                                       |
| **Return Customer Number** | No       | Text. Helper: **Bring customer number for return shipments**                 | Mybring, if returns use a different customer number.                                                 | String.           | Same field.                                                                                                                     |
| **Sandbox Mode**           | No       | Checkbox, default off. Helper: **Enable sandbox/test mode for this carrier** | Zippendo checkbox.                                                                                   | Boolean.          | On: Zippendo sends Bring’s test indicator (`X-Bring-Test-Indicator`). Bring uses the same API hosts (`api.bring.com`) for both. |

Optional fields sit below the fold — scroll **Optional Fields**.

<Frame caption="Bring optional fields — Customer Number, Return Customer Number, Sandbox Mode">
  <img src="https://mintcdn.com/zippendo/pwy1g1EbXWJlGtUC/images/how-to/connect-bring/03-optional-fields-light.png?fit=max&auto=format&n=pwy1g1EbXWJlGtUC&q=85&s=e80c11370317792782d5c0ca5903955c" alt="Bring connect form scrolled to Optional Fields with Customer Number, Return Customer Number, and Sandbox Mode" className="block dark:hidden" width="2880" height="2800" data-path="images/how-to/connect-bring/03-optional-fields-light.png" />

  <img src="https://mintcdn.com/zippendo/pwy1g1EbXWJlGtUC/images/how-to/connect-bring/03-optional-fields-dark.png?fit=max&auto=format&n=pwy1g1EbXWJlGtUC&q=85&s=cb929981b738b8252d2d49439bac3b05" alt="Bring connect form scrolled to Optional Fields with Customer Number, Return Customer Number, and Sandbox Mode" className="hidden dark:block" width="2880" height="2800" data-path="images/how-to/connect-bring/03-optional-fields-dark.png" />
</Frame>

<Warning>
  Leave **Sandbox Mode** off for live orders. Details: [Sandbox mode](/docs/how-to/sandbox-mode).
</Warning>

## After you connect

The connection appears on **My Carriers** (**Connected**, **Edit Carrier**). Choose products on the shipment or shipping rule — [Carrier products and services](/docs/how-to/carrier-products-and-services).

The catalog includes Norway domestic parcels (for example **Bring Pakke til hentested**, **Bring Pakke levert hjem**, **Bring Pakke i postkassen**, **Bring Bedriftspakke**, **Bring Pakke til Pakkeboks**), Nordic/international parcels (**Bring PickUp Parcel**, **Bring Home Delivery Parcel**, **Bring Business Parcel**, **Bring Parcel Locker**), cargo, and inbound returns (**Bring Return from pickup point**, **Bring PickUp Parcel Return**, and related return products).

### Pickup points and lockers

These outbound products are service-point products: **Bring Pakke til hentested (Pickup parcel)**, **Bring Pakke til Pakkeboks (Parcel locker)**, **Bring PickUp Parcel**, **Bring PickUp Parcel Bulk**, **Bring Parcel Locker**. On **Create Shipment** pick a **Service Point** on the **Drop Point** card before send. [Pick a service point](/docs/how-to/pick-a-service-point).

Bring return-to-pickup-point products are **not** booked with a selected shop — the consumer drops at any Bring point.

Bring connections **do** appear in **Pickups** — [Schedule a pickup](/docs/how-to/schedule-a-pickup).

Tracking is **push**: Zippendo registers Bring Event Cast when you dispatch. There is no webhook URL field on **Edit your carrier** — [Carrier tracking webhooks](/docs/how-to/tracking-webhooks).

Bring generates customs documents and commercial invoices for international shipments.

## Edit

**My Carriers → Edit Carrier**. Title **Edit your carrier**.

* **General** — **Carrier name** (helper: **Update the name of your carrier**), **Brand** when brands exist.
* **Carrier settings** — API Key, API Secret, optional customer numbers, **Sandbox Mode**.

**Save** (pending **Saving…**) → **Carrier updated successfully**. **Delete** uses the same confirm dialog as other carriers: type the name in **uppercase**. Toast: **Carrier deleted successfully**. Booked shipments keep labels and tracking.

## Common errors

| When                         | Copy                                                                                                                                     |
| ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| Required field empty         | **Create** does nothing until **Carrier name**, **API Key**, and **API Secret** have values.                                             |
| Connect fails                | **Failed to create carrier. Please try again.**                                                                                          |
| Plan cap                     | **You have reached your plan limit for this resource.** / **You have exceeded your plan limits. Please upgrade or remove excess items.** |
| Send with bad credentials    | **The carrier rejected your API credentials. Update the carrier's API key or secret in Carrier settings.**                               |
| Shop product without a point | **This carrier product delivers to a service point — select a droppoint before sending.**                                                |
| Product vs countries         | **The selected carrier product does not ship between these countries. Choose a different product.**                                      |
| Event Cast registration      | **Failed to register the carrier tracking webhook.**                                                                                     |

Putting a **password** in **API Secret** instead of the Mybring **email** is a common cause of `CARRIER_AUTH_FAILED`.

## Related

* [Connect a carrier or integration](/docs/how-to/connect-index)
* [Carrier credentials](/docs/how-to/carrier-credentials)
* [Sandbox mode](/docs/how-to/sandbox-mode)
* [Carrier products and services](/docs/how-to/carrier-products-and-services)
* [Connect an integration](/docs/how-to/connect-an-integration)
* [Request a carrier integration](/docs/how-to/request-carrier-integration)
* [Carriers](/docs/tutorials/carriers)
