Connect a carrier account
Carriers are connected from “Carriers”, in “Settings”. Until September 2026 this was a page of its own in the sidebar; an old link to it opens the section. A carrier account in error puts a dot on “Carriers” in the settings list.
These are your own carrier accounts, with your own negotiated rates. You bring the credentials; Horizon uses them on your behalf. When a label is bought on an account you connected, the carrier invoices you directly, and Horizon does not also charge your balance for it.
Which carriers
Seven can be connected: UPS, Cirro (GoFo), Mondial Relay, Chronopost, HIVED, DPD UK and InPost.
For Mondial Relay, HIVED, DPD UK and InPost, your own account is the only way to ship. None of them returns a price Horizon could bill you on its own account, so Horizon buys their labels only on credentials you connected.
Connecting
Choose a carrier and press “Connect”. The dialog is headed “Connect” followed by the carrier’s name. It asks for an “Account name”, so you can tell two accounts apart, and then that carrier’s credentials, listed below.
Secret fields are never shown again once saved. When you edit a connection they appear empty, with “Leave blank to keep the saved value”: leave them empty and the stored secret stays as it is.
Before saving, use “Test connection”. It checks the credentials against the carrier and saves nothing. You get one of three answers:
- “Credentials verified.”: the carrier accepted them.
- The carrier could not be reached, so the credentials are neither confirmed nor refused. The account shows as “Unverified” until a check succeeds.
- The carrier rejected them, usually with the carrier’s own reason.
A carrier account that has never been tested is a carrier account you do not yet know works.
What each carrier asks for
UPS
“Client ID”, “Client secret”, “Account number” and “API domain”. The domain is https://onlinetools.ups.com for live labels, or https://wwwcie.ups.com for UPS’s test environment.
UPS is the only carrier whose dialog also has a “Ship-from address”. It is optional: when it is blank, each shipment’s own sender address is used, which defaults to the one in “Sender & packages”. See Shipping defaults.
Cirro (GoFo)
“App ID”, “App secret”, “Channel code” and “API domain” (https://openapi-eu.cirroecommerce.com). The “Source key” is optional.
GOFO collects only in Paris and selected surrounding postcodes. For a sender address in France, Horizon checks the postcode against the pickup list GOFO has supplied before it buys anything. If the postcode is not on it, the label is refused and the message names the postcode: ship from a covered address or choose another carrier. Nothing is bought.
Mondial Relay
“REST login”, “REST password”, “Brand / customer ID” and “REST API URL”, the base address of your Mondial Relay REST endpoint.
Mondial Relay offers no way to cancel a label through its API. Void an unused label in your Mondial Relay account.
Chronopost
“Account number” and “Password”. “API base URL” is optional and defaults to ws.chronopost.fr.
“2Shop account number” and “2Shop password” are also optional. Fill them in only if Chronopost gave you a separate 2Shop contract for its pickup-point economy products. Chronopost prices the same product differently on each contract and does not flag a mismatch, so with two contracts, enter both and each product goes to the contract it is sold under. With one contract, leave them blank and everything uses it.
The test checks your credentials with a pickup-point search, which creates nothing. Chronopost grants its services separately, so a contract enabled for that search but not for shipping can pass the test and still fail on its first label.
HIVED
“Client ID”, “Client secret” and “Account ID”, the HIVED account your parcels are billed to. If you hold more than one HIVED account, ask HIVED which one to use: Horizon does not pick for you. “API base URL” is optional and defaults to sender.api.hived.space.
HIVED delivers in the UK only, same-day, next-day or two-day, inside an area defined by postcode that varies by speed. Before buying, Horizon asks your HIVED account whether it delivers the chosen speed to the destination postcode, and refuses the label when it does not. Nothing is bought.
A HIVED label carries one parcel. An order of several parcels is refused rather than split, because HIVED has no way to cancel a parcel through its API, so a partly created order could not be undone. Void an unused HIVED parcel in HIVED’s own dashboard.
DPD UK
“API key” and “API secret”, from DPD’s developer portal (developers.api.dpd.co.uk). One key works for DPD and DPD Local accounts alike. “API environment” is optional: leave it blank for live, or enter DPD’s sandbox address for a sandbox key. No other address is accepted.
DPD UK ships from mainland Great Britain:
- to mainland Great Britain and the Isle of Man;
- to Northern Ireland, with a consumer declaration;
- to the Channel Islands and the Republic of Ireland, with DPD’s full customs declaration;
- abroad, on DPD’s international services, with the full declaration;
- to a DPD Pickup shop or locker your customer chose.
The declarations are built from your account’s own data. If something they need is missing, the label is refused before anything is bought. A business receiver in Northern Ireland is declared as a consumer, so ship those from DPD’s own portal.
Return labels go through DPD’s returns service, from mainland Great Britain only: your customer takes the parcel to a DPD Pickup shop.
DPD has no cancellation through its API. Delete an unused shipment in DPD’s portal.
InPost
“Client ID”, from your InPost integration team or InPost’s Merchant Portal where your market has one, “Client secret” and “Organisation ID”, which InPost gives you with your client ID. “API environment” is optional: leave it blank for live, or enter InPost’s stage address for stage credentials. No other address is accepted.
Parcels can be dropped off at any InPost locker or shop or collected from you, and delivered to the locker or shop your customer chose or to the door. InPost ships:
- within the UK and to Northern Ireland, the Isle of Man, Jersey, Guernsey and the Republic of Ireland, with the customs declaration each needs;
- within and between InPost’s EU markets.
Some lanes are refused before anything is bought:
- cross-border lanes InPost does not document, Great Britain to France for example;
- an order that collected duties at checkout, on the Channel Islands and Ireland lanes, because InPost declares those lanes duties unpaid only;
- a label with several parcels to or from the UK, or to or from a locker or shop. Buy one label per parcel.
Return labels are not available through InPost here. InPost has no cancellation through its API: an unused label expires unsent, and InPost’s own tools cancel it sooner.
Managing and removing
The same dialog edits an existing connection. “Disconnect” removes it, after you confirm at “Really disconnect this account?”.
Disconnect here rather than revoking the credentials at the carrier, so the app knows the account has gone instead of failing on the next label.
What your plan controls
Two limits can apply.
Your plan can cap how many carrier accounts you connect. When you reach the cap, the app says your plan’s carrier limit has been reached and offers the upgrade route.
Some plans ship on your own carrier account rather than on ours. On those, connecting a carrier account is the way you ship at all, and the app says so when it refuses an action for the lack of one.
Access is enforced by the platform, not only hidden in the interface, so a plan that does not include this genuinely cannot use it.
Support: write to support@horizonlogistics.eu.