> ## 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 InPost

> Connect InPost under Carriers with the Client ID and Client secret of your InPost API client and your Organization ID, plus the optional Test mode.

**InPost** sends parcels to InPost Paczkomat® parcel lockers and service points, to the receiver's door by courier, and chilled goods to cooled lockers in Poland. It also brings customer returns back to you, with a printed label or a drop-off code, and collects parcels from your address in Poland. The fields that every carrier shares are on [Carrier credentials](https://www.zippendo.com/docs/how-to/carrier-credentials.md).

The **InPost** card on **All carriers** carries a **Beta** label. Its tooltip says: "Recently launched. We're watching it closely while it rolls out."

> [!NOTE]
>
> You do not pick a sender address on this form. Add your addresses under the organization menu → **Manage** → **Addresses**. You choose the sender address on each shipment or in a [shipping rule](https://www.zippendo.com/docs/how-to/shipping-rule-fields.md). InPost ships from addresses in Poland, France, Belgium, the Netherlands, Spain, Portugal, Italy, Luxembourg, Austria, Hungary, the United Kingdom and the Isle of Man. A sender address in another country, for example Denmark, Ireland or Jersey, is refused.

## Before you start

* An InPost business contract and your own **InPost API client**: a **Client ID** and a **Client secret**. InPost's integration team issues the API client with your contract, or you create one in the InPost Merchant Portal. Zippendo has no InPost account of its own, so InPost bills your contract.
* Your InPost **Organization ID**. It is in the InPost Merchant Portal or in your onboarding email from InPost.
* The API permissions for what you use in Zippendo, on that API client (see below).
* For **Test mode**: a separate test API client from InPost. Your regular API client does not work in InPost's test environment.

You can connect InPost more than once, for example one connection per InPost organization. Give each connection its own **Carrier name**. **Learn more** on the card opens InPost's website.

### API permissions

InPost gives an API client a permission for each part of its service. Ask InPost's integration team to add the permissions for everything you use. When one is missing, sending fails, and the line under the message names the missing permission.

| What you do in Zippendo | Permission to ask InPost for |
| - | - |
| Send **InPost Locker**, **InPost Locker or Service Point** and **InPost Courier** shipments and get their labels | Shipments (`api:shipments:write`) |
| Create **InPost Return** shipments and get their labels | Returns (`api:returns:write` and `api:returns:read`) |
| Send **InPost Cooled Locker** shipments and get their codes | Cooled deposits (`api:cooled-deposit:write` and `api:cooled-deposit:read`) |
| Search for lockers and service points on a shipment | Points (`api:points:read`) |
| Get tracking updates | Tracking (`api:tracking:read`) |
| Schedule pickups under **Pickups** | One-time pickups (`api:one-time-pickups:write` and `api:one-time-pickups:read`) |

## Connect InPost

**1. Open All carriers**

In the sidebar, click **Carriers**, then open the **All carriers** tab.

**2. Find InPost**

On the **InPost** card, click **Connect**.

**3. Fill in the form**

The **Connect carrier** window opens. Enter a **Carrier name**, your **Client ID**, **Client secret** and **Organization ID**. **Test mode** is under **Optional fields**.

**4. Connect the carrier**

Click **Connect**. You see "Carrier connected", and the carrier appears on the **My carriers** tab.

![All carriers with the InPost card, its Beta label and its Connect and Learn more buttons](https://mintlify.s3.us-west-1.amazonaws.com/zippendo/images/how-to/connect-inpost/01-all-carriers-card-light.png)

The InPost card on All carriers

![Connect carrier window for InPost with the required Client ID, Client secret and Organization ID fields](https://mintlify.s3.us-west-1.amazonaws.com/zippendo/images/how-to/connect-inpost/02-connect-modal-light.png)

Connect carrier for InPost - fill in Client ID, Client secret and Organization ID

## Fields on the form

**Client secret** hides what you type.

| Field | Required | What to enter |
| - | - | - |
| **Carrier name** | Yes | The name you see on **My carriers** and when you pick a carrier on a shipment. It starts as **InPost**. |
| **Brand** | No | Shown only if your organization has [brands](https://www.zippendo.com/docs/how-to/create-a-brand.md). The form says: "Only this brand can use this carrier." Leave it empty to let every brand use it. |
| **Client ID** | Yes | The form says: "The Client ID of your InPost API client. InPost's integration team issues it with your contract, or you create one in the InPost Merchant Portal." |
| **Client secret** | Yes | The form says: "The Client secret that belongs to the same InPost API client." |
| **Organization ID** | Yes | Copy it exactly, with the dashes. The form says: "Your InPost organization ID, a code such as 5f2504e0-4f89-11e9-8646-d663bd873d93. It is in the InPost Merchant Portal or in your onboarding email from InPost." |
| **Test mode** | No | A checkbox, off by default. The form says: "Use InPost's test environment. Requires a test API client from InPost; your regular client does not work there." |

**Connect** does nothing until **Carrier name**, **Client ID**, **Client secret** and **Organization ID** have a value. Zippendo saves your details without checking them with InPost. A mistake shows up the first time you send a shipment.

## Test mode

With **Test mode** on, Zippendo sends your shipments, returns, cooled locker shipments and pickups to InPost's test environment, and searches lockers and fetches tracking there too. Enter the **Client ID** and **Client secret** of your test API client. Ask InPost which **Organization ID** goes with it. A test API client works only with **Test mode** on, and your live one only with it off. Leave **Test mode** off for real orders. See [Test mode](https://www.zippendo.com/docs/how-to/sandbox-mode.md).

## After you connect

The carrier appears on **My carriers** with a **Connected** badge. You choose the product on each shipment or in a shipping rule, not on this form. See [Carrier products and services](https://www.zippendo.com/docs/how-to/carrier-products-and-services.md).

| Product | Where the parcel goes | Parcels per shipment | Max weight |
| - | - | - | - |
| **InPost Locker** | An InPost Paczkomat® parcel locker the receiver chooses, open around the clock in most places. | One | 25 kg |
| **InPost Locker or Service Point** | An InPost parcel locker or service point (a partner shop) the receiver chooses. | One | 25 kg |
| **InPost Courier** | The receiver's address, delivered by an InPost courier. | Up to 99 when a courier collects them from you and the shipment does not go from or to the UK. Otherwise one. | Not set in Zippendo |
| **InPost Cooled Locker** | A fridge compartment of an InPost locker in Poland, for groceries and other chilled goods. No label. | One | 25 kg |
| **InPost Return** (return shipment) | Your address. Your customer drops the parcel off at an InPost locker or service point. | One | Not set in Zippendo |

These are the countries each product covers. InPost decides on your contract which of them you can use, and a route outside your contract is refused when you send, with InPost's reason.

| Product | Sender address in | Receiver in |
| - | - | - |
| **InPost Locker**, **InPost Locker or Service Point** | Poland, France, Belgium, the Netherlands, Spain, Portugal, Italy, Luxembourg, Austria, Hungary, the United Kingdom or the Isle of Man | The same countries, plus Guernsey, Jersey, Ireland, the Czech Republic and Slovakia |
| **InPost Courier** | Poland, France, Belgium, the Netherlands, Spain, Portugal, Italy, Luxembourg, Austria, Hungary, the United Kingdom or the Isle of Man | The same countries, plus Guernsey, Jersey and Ireland |
| **InPost Cooled Locker** | Poland | Poland |
| **InPost Return** | See "Returns" below | |

**InPost Courier** delivers to the door in Italy only in the postal codes InPost covers so far, and InPost adds more over time. Ask InPost whether it delivers to your customers' postal codes. A shipment to another Italian postal code is refused when you send. **InPost Locker** and **InPost Locker or Service Point** deliver anywhere InPost has a locker or service point.

Every InPost shipment needs a phone number and an email address for both the sender and the receiver. InPost accepts phone numbers from Austria, Belarus, Belgium, Bulgaria, Cyprus, the Czech Republic, Denmark, Estonia, Finland, France, Germany, Greece, Hungary, Ireland, Italy, Latvia, Lithuania, Luxembourg, Malta, Monaco, the Netherlands, Poland, Portugal, Slovakia, Slovenia, Spain, Sweden, Switzerland, Ukraine and the United Kingdom, including the Isle of Man and the Channel Islands. A number from another country, for example Norway, is refused. Every parcel needs its length, width, height and weight.

One parcel per shipment applies whenever the shipment starts or ends at a locker or service point, and to every shipment from or to the United Kingdom, the Isle of Man, Guernsey or Jersey. To send more parcels, split the shipment first. See [Split and move parcels](https://www.zippendo.com/docs/how-to/split-and-move-parcels.md).

### How the parcel reaches InPost

**InPost Locker**, **InPost Locker or Service Point** and **InPost Courier** have **Hand over to InPost** under **Extra details for the carrier**. It says how the parcel gets to InPost. On **InPost Courier** the form says: "How the parcel reaches InPost. Leave empty for "Courier collects from the sender address". A courier collection needs regular pickups on your contract or a pickup you book." The two locker products name "Drop off at any InPost locker or service point" instead.

| Choice | What you do |
| - | - |
| **Courier collects from the sender address** | An InPost courier collects the parcel at your sender address. The default for **InPost Courier**. |
| **Drop off at any InPost locker or service point** | You take the parcel to any InPost locker or service point. The default for **InPost Locker** and **InPost Locker or Service Point**. |
| **Drop off at an InPost locker** | You take the parcel to an InPost locker. |
| **Drop off at an InPost service point** | You take the parcel to an InPost service point. |
| **Hand over at an InPost depot** | You bring the parcel to an InPost depot. |

For a courier collection, you need regular pickups on your InPost contract, or a pickup you book under **Pickups** (Poland only, see "Pickups" below).

### Services and extra details

You choose services on the shipment or in a shipping rule. InPost decides per contract, route and country which services it offers, and most are for shipments within Poland. A service InPost does not offer for the shipment is refused when you send.

| Product | Services |
| - | - |
| **InPost Locker**, **InPost Locker or Service Point** | **Saturday delivery**, **Cash on delivery**, **Insurance**, **Proof of delivery**, **Cross-dock** |
| **InPost Courier** | **Express**, **Saturday delivery**, **Evening delivery**, **SMS notification**, **Email notification**, **Return of documents**, **Cash on delivery**, **Insurance**, **Proof of delivery**, **Cross-dock** |
| **InPost Return** | **Drop-off code instead of a label** (see "Returns" below) |
| **InPost Cooled Locker** | None |

InPost turns on **Proof of delivery** and **Cross-dock** for each contract separately and does not describe them publicly. Ask your InPost account manager whether your contract has them and what they do on it before you tick them.

Under **Extra details for the carrier**, the locker, service point and courier products also have:

| Detail | What it does |
| - | - |
| **Label format** | **PDF (A6)** (the default), **PDF (A4 page)**, **ZPL 203 dpi** or **ZPL 300 dpi**. The form says: "Label output: PDF in A6 (default), the A6 label on an A4 page, or ZPL for thermal printers." |
| **Non-standard shape** | A checkbox, unticked until you tick it. "Tick when the parcel is not box-shaped, such as a tube or a roll." |
| **Print reference on label** | A checkbox, unticked until you tick it. "Tick to print the shipment reference on the label." |
| **Cash on delivery amount** | Appears when you tick **Cash on delivery**, and is then required. "The amount InPost collects from the receiver, up to 5,000: in PLN within Poland, in EUR otherwise. A courier delivery is insured for at least this amount." |
| **Insured value** | Appears when you tick **Insurance**, and is then required. "The value InPost insures the parcel for, up to 5,000: in PLN within Poland, in EUR otherwise." |
| **Billing type** | **InPost Courier** only. **Standard** or **Courier (volumetric weight)**. "Courier billing applies volumetric weight to a courier collection delivered to an address. Leave empty for standard billing." **Courier (volumetric weight)** works only with **Courier collects from the sender address**. |
| **Delivery window** | **InPost Courier** only. Appears when you tick **Express**. "The time window for an Express delivery within Poland." Pick one of the windows from 08:00-10:00 to 17:00-20:00. |
| **Reason for export**, **Shipping cost**, **Invoice number**, **Invoice date** | For customs shipments. See "Customs" below. |

On **InPost Courier** with **Cash on delivery**, InPost insures the parcel for at least the cash on delivery amount. If you also tick **Insurance**, the **Insured value** must be at least the **Cash on delivery amount**.

### Lockers and service points

**InPost Locker**, **InPost Locker or Service Point** and **InPost Cooled Locker** deliver to a locker or service point. Choose it in the **Service point** section of the shipment before you send. **InPost Locker** lists only lockers, **InPost Locker or Service Point** lists lockers and service points, and **InPost Cooled Locker** lists only lockers with fridge compartments. The search needs the points permission on your API client. See [Pick a service point](https://www.zippendo.com/docs/how-to/pick-a-service-point.md) and [Service points](https://www.zippendo.com/docs/how-to/drop-point-and-service-points.md).

### Labels

Each label is A6 (10 x 15 cm), as a PDF or as ZPL for a thermal printer. **PDF (A4 page)** prints the same label on an A4 page. An **InPost Return** label is always a PDF on an A4 page. **InPost Cooled Locker** has no label.

If you click **Fetch label** on a shipment, the label comes back as **PDF (A6)**, whichever **Label format** you chose. A return's label comes back as a PDF on an A4 page.

### Returns

**InPost Return** brings a parcel from your customer to your address. Your customer drops it off at an InPost locker or service point. See [Inbound and returns](https://www.zippendo.com/docs/how-to/inbound-and-returns.md).

| Your customer is in | Your address is in |
| - | - |
| Poland | Poland |
| Italy | Poland or Italy |
| France, Spain, Portugal, Austria, Belgium, the Netherlands or Luxembourg | Poland |
| The United Kingdom | The United Kingdom |

A return between any other two countries is refused when you send, for example from the United Kingdom to Poland.

* One parcel per return, with its length, width, height and weight.
* Your customer and you both need a phone number and an email address, and your address needs a house number.
* **Days to send the return** under **Extra details for the carrier** says: "How many days your customer has to send the return, at least 7. Leave empty for the period set on your InPost account." Enter a whole number.
* With **Drop-off code instead of a label**, your customer types a short code at the locker instead of printing a label. The shipment shows the code as **Label-free code** under **Tracking information**. Send it to your customer. If InPost creates the return without a code, the shipment shows **Shipment sent with a warning**, and the line under the message says to find the code for the parcel in the InPost Merchant Portal. Do not send the shipment again.
* Without that service, the return gets a PDF label on an A4 page. Send it to your customer.

### Cooled lockers

**InPost Cooled Locker** is for groceries and other chilled goods within Poland. The sender address and the receiver must both be in Poland.

**1. Choose the receiver's locker**

In the **Service point** section of the shipment, choose a locker with a fridge compartment.

**2. Choose the temperature**

Under **Extra details for the carrier**, pick the **Compartment temperature**: **Chilled (4 °C)** or **Room temperature (20 °C)**. It is required. The form says: "The fridge compartment the parcel is kept in at the locker."

**3. Send the shipment**

The shipment gets no label. Its **Label-free code** under **Tracking information** is the code that opens the fridge compartment.

**4. Put the parcel in the locker**

Take the parcel to the receiver's locker yourself and open the compartment with the code. InPost then tells the receiver how to collect it.

One parcel per shipment and no services. The parcel must fit the compartment: at most 60 x 37 x 30 cm and 25 kg. A larger or heavier parcel is refused when you send. If InPost creates the shipment but the code cannot be fetched, the shipment shows **Shipment sent with a warning**, and the line under the message says to find the code for the parcel in the InPost Merchant Portal before you go to the locker. Do not send the shipment again.

If the receiver does not collect the parcel in time, it expires, and you must collect it from the locker within 48 hours. Zippendo does not show the code that opens the compartment for you. Ask InPost for it.

### Customs

InPost files the customs declaration from the shipment's data and returns no customs documents. Zippendo sends that data from the order lines of each parcel. A proforma or commercial invoice for the box comes from your shipping rule: turn on **Generate proforma invoice** or **Generate commercial invoice**, and Zippendo adds it to the shipment's **Documents** after you send. See [Customs and documents](https://www.zippendo.com/docs/how-to/customs-and-documents.md).

What a shipment needs depends on where it goes:

| Route | Each order line needs | The shipment also needs |
| - | - | - |
| Within the EU, or within the United Kingdom and the Isle of Man, except the two routes below | Nothing for customs | |
| From Great Britain or the Isle of Man to Northern Ireland | **Description** and **Unit price** | Prices in GBP |
| From Great Britain, Northern Ireland or the Isle of Man to Jersey or Guernsey | **Description**, **Unit price** and **Country of origin** | **Shipping cost**, and prices in GBP |
| Every other route that crosses a customs border, for example between the EU and the United Kingdom, from the EU to Jersey or Guernsey, from Great Britain to Ireland, or from the Canary Islands | **Description**, **Unit price**, **Country of origin** and a **Tariff number** (HS code) of 6 to 10 digits | **Shipping cost**, your EORI number, and prices in PLN, EUR or GBP |

* All order lines of a shipment must be priced in the same currency.
* **Shipping cost** says: "The shipping cost the receiver paid, in the currency of the goods. Required on customs shipments, except from Great Britain or the Isle of Man to Northern Ireland; 0 when shipping was free."
* **Reason for export** is **Sale** unless you pick **Gift**, **Sample** or **Personal belongings**. **Invoice number** and **Invoice date** are optional.
* InPost ships customs parcels with duties unpaid only. Keep **Delivery terms** on **DAP**. A shipment set to **DDP** is refused.
* Add your EORI number under [Organization settings](https://www.zippendo.com/docs/how-to/organization-settings.md), or on the brand.

### Pickups

You can schedule InPost pickups under **Pickups**, for pickup addresses in Poland. Your InPost contract must include courier pickups. See [Schedule a pickup](https://www.zippendo.com/docs/how-to/schedule-a-pickup.md).

* Pick a **Pickup date** from today up to 7 days ahead. The pickup form has no time fields for InPost: the courier comes between 09:00 and 18:00 Polish time.
* A pickup today must end at least two hours from now, so it works until 16:00, and only before InPost's cut-off time for your postal code. After that, pick a later date.
* The pickup address needs a street with a house number, and a Polish phone number (+48) for the courier.
* InPost's courier receives your **Special instructions (optional)**, for example where to find the parcels.
* InPost does not allow a second pickup for the same address and time. Zippendo cannot cancel or change an InPost pickup. To cancel, contact InPost.
* A pickup collects parcels whose **Hand over to InPost** is **Courier collects from the sender address**, the default on **InPost Courier**.

### Tracking

* Zippendo fetches tracking updates from InPost about once an hour. Your API client needs the tracking permission. There is nothing else to set up.
* InPost can also send updates to Zippendo as soon as they happen. InPost's integration team sets this up by hand for each account, with the details under **Tracking webhook** on **Edit carrier**. See **Turn on tracking updates from InPost** on [Carrier tracking webhooks](https://www.zippendo.com/docs/how-to/tracking-webhooks.md). Zippendo keeps fetching every hour either way.
* The **Tracking link** opens InPost's tracking page when the receiver or the sender is in Poland, the United Kingdom, Italy, Spain or Portugal. Shipments between other countries have a tracking number but no tracking link.
* When InPost sends a parcel back to you, for example because the receiver did not collect it, the shipment shows **Exception** until the parcel is back with you. Then it shows **Returned**.
* With **Test mode** on, tracking comes from InPost's test environment.

Zippendo cannot cancel an InPost shipment at InPost. Contact InPost if you need one cancelled.

## Change or remove the connection

To change it, open **Carriers** → **My carriers** and click **Edit carrier** on the card. The **Edit carrier** page has three sections:

* **General**: **Carrier name**, and **Brand** if your organization has brands.
* **Carrier settings**: **Client ID**, **Client secret**, **Organization ID** and **Test mode**.
* **Tracking webhook**: the **Webhook URL**, **Header name** and **Header value** to send InPost's integration team, each with a copy button.

Click **Save**. You see "Carrier updated".

To remove it, click **Delete** on the same page, type the carrier name in capital letters, and click **Delete**. Shipping rules that use this carrier are deleted with it. Shipments you already sent keep their labels and tracking numbers.

## Common problems

When sending fails, the shipment shows the message below, with InPost's or Zippendo's detail in a line under it.

| What you see | What to do |
| - | - |
| Nothing happens when you click **Connect** | Fill in **Carrier name**, **Client ID**, **Client secret** and **Organization ID**. |
| "Couldn't connect the carrier. Try again." | Try again. |
| "You've reached your plan's limit. Upgrade your plan or remove something you no longer use." or "You're over your plan's limits. Upgrade your plan or remove what you no longer use." | Your plan's carrier limit is reached. See [Billing and usage](https://www.zippendo.com/docs/how-to/billing-and-usage.md). |
| "The carrier rejected your login details. Update the carrier credentials under Carriers." | InPost refused the **Client ID** or **Client secret**, or the API client belongs to the other environment: check **Test mode**. If the line under the message names a permission, for example "permission api:returns:write", your login details are fine, but your API client lacks that permission. Ask InPost's integration team to add it. |
| "The carrier's settings are incomplete or not valid. Check them under Carriers." | The **Client ID** or **Client secret** is missing on the connection. Fill it in on **Edit carrier**. |
| "The selected carrier product does not ship between these countries. Choose a different product." | The sender address or the receiver is in a country this product does not cover, for example a sender address in Denmark, an **InPost Cooled Locker** shipment outside Poland, or an **InPost Return** between countries not listed under "Returns". See the country table above. |
| "This product delivers to a service point. Select a service point before sending." | Choose a locker or service point on the shipment. |
| "Some options for this carrier product are missing or not valid. Check the shipment's services and options, then try again." | The line under the message says what to change, for example: a phone number or email address missing on the sender or receiver; a phone number from a country InPost does not accept; more than one parcel where one is allowed; a parcel without its length, width, height or weight; a service InPost does not offer on your contract for this shipment; **Cash on delivery** or **Insurance** without an amount, or with more than 5,000; an **Insured value** lower than the **Cash on delivery amount** on **InPost Courier**; **Courier (volumetric weight)** with a drop-off; no **Compartment temperature**; a parcel too large or too heavy for a cooled locker compartment; **Days to send the return** below 7; or your address without a house number on a return. |
| "The customs declaration is incomplete. Each item needs a description, a quantity, and a declared value greater than zero." | The line under the message says what is missing: a description, unit price, country of origin or HS code on an order line, prices in more than one currency or in a currency InPost does not take, the **Shipping cost**, or your EORI number. It also appears when **Delivery terms** is **DDP**: change it to **DAP**. See "Customs" above. |
| "InPost couldn't create the shipment." | InPost refused the shipment. The line under the message gives InPost's reason, for example "recipient.phone: invalid". Fix it and send again. |
| "The carrier did not respond. Try again in a moment." | InPost was busy or could not be reached. Send the shipment again in a moment. |
| "The connection to the carrier was lost before it answered. Zippendo has no confirmation that the shipment was created, so check with the carrier before sending again." | Check in the InPost Merchant Portal whether the shipment exists before you send it again. |
| "The carrier accepted the shipment but its label couldn't be downloaded. The parcel will still be collected. Use Fetch label on the shipment to try again." | Click **Fetch label** on the shipment. The label comes back as **PDF (A6)**. |
| **Shipment sent with a warning** on a return or a cooled locker shipment | InPost created it, but Zippendo could not get the drop-off code or the locker code. Find the code for the parcel in the InPost Merchant Portal. Do not send the shipment again. |
| A pickup shows **Failed** with "The carrier rejected this. Check the carrier's reason, correct the details and try again." | Check that the pickup address is in Poland with a house number and a Polish phone number, that the date is no more than 7 days ahead, and, for today, that it is before 16:00 and before your postal code's cut-off. Check that no pickup is already booked for that address and time. |
| "The carrier didn't confirm the pickup, so it may still have been scheduled. Check with the carrier before requesting the pickup again." | InPost may have scheduled the pickup even though it did not answer. Ask InPost before you schedule it again: InPost does not allow a second pickup for the same address and time. |
| No tracking events appear | Wait for the next hourly update. If none arrive, check that your API client has the tracking permission. |

More help: [Carrier authentication failures](https://www.zippendo.com/docs/knowledge-base/carrier-authentication-failures.md).

## Related

* [Connect a carrier or integration](https://www.zippendo.com/docs/how-to/connect-index.md)
* [Carrier credentials](https://www.zippendo.com/docs/how-to/carrier-credentials.md)
* [Test mode](https://www.zippendo.com/docs/how-to/sandbox-mode.md)
* [Carrier products and services](https://www.zippendo.com/docs/how-to/carrier-products-and-services.md)
* [Pick a service point](https://www.zippendo.com/docs/how-to/pick-a-service-point.md)
* [Customs and documents](https://www.zippendo.com/docs/how-to/customs-and-documents.md)
* [Schedule a pickup](https://www.zippendo.com/docs/how-to/schedule-a-pickup.md)
* [Carrier tracking webhooks](https://www.zippendo.com/docs/how-to/tracking-webhooks.md)
* [Request a carrier integration](https://www.zippendo.com/docs/how-to/request-carrier-integration.md)
* [Carriers](https://www.zippendo.com/docs/tutorials/carriers.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.