Site Logo

🎉 ShipEngine is becoming ShipStation API 🎉

Over the next few months you'll notice the ShipEngine website, documentation portal, and dashboard being rebranded as ShipStation API. For our ShipEngine customers, you don't need to take any action or change any of your integrations in any way. All endpoints will remain the same and continue to function as they always have.

To learn more about what's coming, review our New ShipStation API page.

Royal Mail

Royal Mail offers domestic and international shipping services for shipments originating in Great Britain. ShipStation API's integration with Royal Mail allows our UK-based customers with a Royal Mail Online Business Account - OBA to create domestic and international shipping labels for small parcels to be delivered anywhere within Royal Mail's extensive delivery network.

This guide provides developers with the details needed to build Royal Mail shipping capabilities into your ShipStation API workflows.

Requirements

PropertyTypeRequired?Description
nicknamestringrequired
account_numberstringrequiredYour Royal Mail account number
oba_emailstringrequiredThis is your Royal Mail OBA email address used on the OBA login page.
company_namestringrequired
contact_namestringrequired
emailstringrequiredEmail address (used by ShipStation API to notify you when Royal Mail is fully configured in your account. It can be the same as the OBA email address, or it can be a different one).
street_line1stringrequired
street_line2stringoptional
citystringrequired
postal_codestringrequired
phonestringrequired
posting_location_numberstringrequired

Connection Requirements

Your Royal Mail account must be an OBA account. Non-OBA accounts are not currently eligible to connect to ShipStation API.

Shipping Requirements

  • Both Name and Company Name must be included in the Ship From address.
  • VAT and EORI numbers are required for international shipments. These are added in the Tax Identifiers Object when creating international labels.
  • Royal Mail requires you to create and print a Sales Order Summary, which you must then hand to the driver who picks up the parcels. You cannot close shipments with dispatch dates in the future, only past or current-date shipments.
    • You can generate your Sales Order Summary through the manifest process. When you make your request to the /v1/manifests endpoint, the response will include a link to download the Sales Order Summary PDF.

Connect Account

You can connect a Royal Mail account using the POST method to the /v1/connections/carriers/ endpoint, or via the ShipStation API Dashboard.

The Royal Mail connection process involves several manual steps. Once submitted, the connection request notifies both ShipStation and Royal Mail. Your Royal Mail account will remain in an inactive pending state until Royal Mail sends ShipStation your validated OBA credentials, at which time your ShipStation API account will be configured to use Royal Mail services.

Personalized tracking numbers:

  • If you have services that use personalized tracking numbers, a request will be put in to Royal Mail to obtain tracking number ranges for your account. Your account will be activated when Royal Mail sends back the valid ranges.
  • If you do not have personalized tracking ranges, you will be notified and your account will be activated.

The credential verification process and the tracking range request process may take up to 5 business days each.

When your Royal Mail carrier connection is fully activated, you will receive an email notification, a notification in the ShipStation API dashboard, and if you are subscribed, the API_CARRIER_CONNECTED webhook.

Should any errors on the registration form cause Royal Mail to reject the registration request, ShipStation will email you to let you know that corrections are needed. Potential errors could result from your shipping address, OBA email, or Royal Mail account number.

Connect via Endpoint

carrier_name: royal_mail

POST /v1/connections/carriers/:carrier_name

Sample request:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
POST /v1/connections/carriers/royal_mail HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "My Royal Mail account",
"account_number": "123456789",
"oba_email": "[email protected]",
"company_name": "Example Corp",
"contact_name": "John Doe",
"email": "[email protected]",
"street_line1": "77 Netherpark Crescent",
"city": "STIRKOKE HOUSE",
"postal_code": "KW1 6LZ",
"phone": "215-555-5555"
"posting_location_number": "1234567890"
}

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

Connect via Dashboard

To connect your Royal Mail account in the ShipStation API dashboard:

  1. Log in to your account dashboard.
  2. Go to the Carriers section.
    ShipStation API sidenav Carriers section
  3. Click Connect My Own Carriers.
    Connect my own carriers button
  4. Select your Ship From country for this carrier (in this case, choose the United Kingdom).
  5. Select Royal Mail.
  6. Fill out the registration form with your Royal Mail account information, then click the Connect.
    Connect button
  7. Review the Submit Registration information, then submit.

Rates

Royal Mail does not send estimated rates to ShipStation API, as Royal Mail does not currently allow third-party apps to connect to their Rates API. Your Royal Mail account contact can provide you with the details about your contracted rates.

Service Details

Available CarrierName 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.

Domestic Services

ServiceMax. weight (in grams)API Code
1st Class - BPL (Letter, Large Letter, Parcel)100, 750, 20000rm_1st_class
2nd Class - BPL (Letter, Large Letter, Parcel)100, 750, 20000rm_2nd_class
1st Class Signed For - BPR (Letter, Large Letter, Parcel)100, 750, 20000rm_1st_class_signed_for
2nd Class Signed For - BPR (Letter, Large Letter, Parcel)100, 750, 20000rm_2nd_class_signed_for
1st Class Account Mail - STL (Letter, Large Letter, Parcel)100, 750, 20000rm_1st_class_account_mail
2nd Class Account Mail - STL (Letter, Large Letter, Parcel)100, 750, 20000rm_2nd_class_account_mail
Tracked 24 - TPN30000rm_tracked_24
Tracked 48 - TPS30000rm_tracked_48
Tracked 24 Letterbox - TRN30000rm_tracked_24_letterbox
Tracked 48 Letterbox - TRS30000rm_tracked_48_letterbox
Special Delivery Guaranteed by 1pm (£750) - SD110000rm_special_delivery_1pm_750
Special Delivery Guaranteed by 1pm (£1000) - SD210000rm_special_delivery_1pm_1000
Special Delivery Guaranteed by 1pm (£2500) - SD310000rm_special_delivery_1pm_2500
Special Delivery Guaranteed by 9am (£750) - SD42000rm_special_delivery_9am_750
Special Delivery Guaranteed by 9am (£1000) - SD52000rm_special_delivery_9am_1000
Special Delivery Guaranteed by 9am (£2500) - SD62000rm_special_delivery_9am_2500
Royal Mail 24 - CRLN/Arm_24
Royal Mail 48 - CRLN/Arm_48
Royal Mail 24 (sort8) (P) Flat Rate - PK120000rm_24_parcel_flat_rate_sort8
Royal Mail 48 (sort8) (P) Flat Rate - PK22000rm_48_parcel_flat_rate_sort8
Royal Mail 24 (sort8) (P) Daily Rate - PK3750, 20000rm_24_parcel_daily_rate_sort8
Royal Mail 48 (sort8) (P) Daily Rate - PK42000rm_48_parcel_daily_rate_sort8
Royal Mail 24 (sort8) (LL) Daily Rate - FS1750rm_24_large_letter_daily_rate_sort8
Royal Mail 48 (sort8) (LL) Daily Rate - FS2750F rm_48_large_letter_daily_rate_sort8
Royal Mail 24 (P) Flat Rate - PPF20000rm_24_packetpost_parcel_flat_rate
Royal Mail 48 (P) Flat Rate - PPF20000rm_48_packetpost_parcel_flat_rate
Tracked 24 High Volume - TPMN/Arm_tracked_24_high_volume
Tracked 48 High Volume - TPLN/Arm_tracked_48_high_volume
Tracked 24 Letterbox High Volume - TRMN/Arm_tracked_24_letterbox_high_volume
Tracked 48 Letterbox High Volume - TRLN/Arm_tracked_48_letterbox_high_volume
Royal Mail 24 (Presorted) (LL) - FS7N/Arm_24_presorted_large_letter
Royal Mail 48 (Presorted) (LL) - FS8N/Arm_48_presorted_large_letter
Royal Mail 48 (LL) Flat Rate - PK0N/Arm_48_large_letter_flat_rate
Royal Mail 24 (Presorted) (P) - PK7N/Arm_24_presorted_parcel
Royal Mail 48 (Presorted) (P) - PK8N/Arm_48_presorted_parcel
Royal Mail 24 (LL) Flat Rate - PK9N/Arm_24_large_letter_flat_rate
Royal Mail 24 (LL) Annual Flat Rate - PPSN/Arm_24_annual_flat_rate
Royal Mail 48 (LL) Annual Flat Rate - PPTN/Arm_48_annual_flat_rate
Royal Mail 48 (sort8) (P) Annual Flat Rate - RM02000rm_48_sort8_annual_flat_rate
Royal Mail 24 (LL) Daily Rate - RM1750rm_24_large_letter_daily_rate
Royal Mail 24 (P) Daily Rate - RM220000rm_24_parcel_daily_rate
Royal Mail 48 (LL) Daily Rate - RM3750rm_48_large_letter_daily_rate
Royal Mail 48 (P) Daily Rate - RM42000rm_48_parcel_daily_rate
Royal Mail 24 (P) Flat Rate - RM520000rm_24_parcel_flat_rate
Royal Mail 48 (P) Flat Rate - RM62000rm_48_parcel_flat_rate
Royal Mail 24 (sort8) (LL) Annual Flat Rate - RM7750rm_24_sort8_annual_flat_rate
Royal Mail 24 (Sort8)(P) Annual Flat Rate - RM820000rm_24_sort8_p_annual_flat_rate
Royal Mail 48 (Sort8)(LL) Annual Flat Rate - RM9750rm_48_sort8_p_annual_flat_rate
Tracked Returns 24 - TSNN/Arm_tracked_returns_24
Tracked Returns 48 - TSSN/Arm_tracked_returns_25
Royal Mail 24 (Presorted)(P) Annual Flat Rate - PKBN/Arm_24_presorted_p_annual_flat_rate
Royal Mail 48 (Presorted)(P) Annual Flat Rate - PKDN/Arm_48_presorted_p_annual_flat_rate
Royal Mail 48 (Presorted)(LL) Annual Flat Rate - PKKN/Arm_48_presorted_large_letter_annual_flat_rate
Royal Mail24 (Presorted)(LL) Annual Flat Rate - PKMN/Arm_24_presorted_large_letter_annual_flat_rate
Royal Mail 24 Parcelpost Flat Rate (Annual) - PPJN/Arm24_rate_annual_flat_rate_annual
Royal Mail 48 Parcelpost Flat Rate (Annual) - PPJN/Arm48_rate_annual_flat_rate_annual
DE Import Std 24 ParcelN/Aintersoft_royalmail_de_import_std_24_parcel
DE Import Std 48 ParcelN/Aintersoft_royalmail_de_import_std_48_parcel
DE Import Std 24 LLTRN/Aintersoft_royalmail_de_import_std_24_lltr
DE Import Std 48 LLTRN/Aintersoft_royalmail_de_import_std_48_lltr
SD GUARANTEED BY 1PM (ID) (£750)10000intersoft_royalmail_sd_guaranteed_1pm_750
SD GUARANTEED BY 1PM (ID) (£1000)10000intersoft_royalmail_sd_guaranteed_1pm_1000
SD GUARANTEED BY 1PM (ID) (£2500)10000intersoft_royalmail_sd_guaranteed_1pm_2500
SD GUARANTEED BY 9AM (ID) (£750)2000intersoft_royalmail_sd_guaranteed_9am_750
SD GUARANTEED BY 9AM (ID) (£1000)2000intersoft_royalmail_sd_guaranteed_9am_1000
SD GUARANTEED BY 9AM (ID) (£2500)2000intersoft_royalmail_sd_guaranteed_9am_2500
SD GUARANTEED BY 1PM (AGE)10000intersoft_royalmail_sd_guaranteed_1pm_age
SD GUARANTEED BY 1PM (IAGE) (£1000)10000intersoft_royalmail_sd_guaranteed_1pm_iage_1000
SD GUARANTEED BY 1PM (AGE) (£2500)10000intersoft_royalmail_sd_guaranteed_1pm_age_2500
SD GUARANTEED BY 9AM (AGE) (£750)2000intersoft_royalmail_sd_guaranteed_9am_age_750
SD GUARANTEED BY 9AM (AGE) (£1000)2000intersoft_royalmail_sd_guaranteed_9am_age_1000
SD GUARANTEED BY 9AM (AGE) (£2500)2000intersoft_royalmail_sd_guaranteed_9am_age_2500
Royal Mail Tracked 24 (HV) - With Signature (AGE)30000intersoft_royalmail_tracked_24_hv_with_signature
Royal Mail Tracked 48 (HV) - With Signature (AGE)30000intersoft_royalmail_tracked_48_hv_with_signature
Royal Mail Tracked 24 - With Signature (AGE)30000intersoft_royalmail_tracked_24_with_signature
Royal Mail Tracked 48 - With Signature (AGE)30000intersoft_royalmail_tracked_48_with_signature
ROYAL MAIL TRACKED 48 NO SIGNATURE30000intersoft_royalmail_tracked_48_no_signature
ROYAL MAIL TRACKED 48 SIGNATURE30000intersoft_royalmail_tracked_48_signature
Special Delivery Guaranteed Weekend (£750) - SEB10000rm_special_delivery_weekend_750
Special Delivery Guaranteed Weekend (£1000) - SEC10000rm_special_delivery_weekend_1000
Special Delivery Guaranteed Weekend (£2500) - SED10000rm_special_delivery_weekend_2500
Special Delivery Guaranteed Weekend (AGE) (£750) - SDV10000rm_special_delivery_weekend_age_750
Special Delivery Guaranteed Weekend (AGE) (£1000) - SDW10000rm_special_delivery_weekend_age_1000
Special Delivery Guaranteed Weekend (AGE) (£2500) - SDX10000rm_special_delivery_weekend_age_2500
Special Delivery Guaranteed Weekend (ID) (£750) - SDY10000rm_special_delivery_weekend_id_750
Special Delivery Guaranteed Weekend (ID) (£1000) - SDZ10000rm_special_delivery_weekend_id_1000
Special Delivery Guaranteed Weekend (ID) (£2500) - SEA10000rm_special_delivery_weekend_id_2500

International Services

ServiceMax. weight (in grams)API Code
Intl Business Mail Tracked (Zonal Pricing) - MTI100rm_intl_business_mail_tracked_zonal
Intl Business Mail Tracked (Country Pricing) - MTK500rm_intl_business_mail_tracked_country
Intl Business Mail Tracked Extra Comp (Zonal Pricing) - MTJ100rm_intl_business_mail_tracked_extra_zonal
Intl Business Parcels Tracked (Zonal Pricing) - MP15000rm_intl_business_parcels_tracked_zonal
Intl Business Parcels Tracked (Country Pricing) - MP75000rm_intl_business_parcels_tracked_country
Intl Business Parcels Tracked Extra Comp (Zonal Pricing) - MP45000rm_intl_business_parcels_tracked_extra_zonal
Intl Business Parcels Tracked Extra Comp (Country Pricing) - MP85000rm_intl_business_parcels_tracked_extra_country
Intl Tracked On Account - OTA (Letter, Large Letter, Parcel)100, 750, 20000rm_intl_tracked_on_account
Intl Tracked On Account Extra Comp - OTB(Letter, Large Letter, Parcel)100, 750, 20000rm_intl_tracked_on_account_extra
Intl Business Mail Signed (Zonal Pricing) - MTM (Letter, Large Letter)100, 500rm_intl_business_mail_signed_zonal
Intl Business Mail Signed (Country Pricing) - MTO (Letter, Large Letter)100, 500rm_intl_business_mail_signed_country
Intl Business Mail Signed Extra Comp (Zonal Pricing) - MTN (Letter, Large Letter)100, 500rm_intl_business_mail_signed_extra_zonal
Intl Business Mail Signed Extra Comp (Country Pricing) - MTP500rm_intl_business_mail_signed_extra_country
Intl Business Parcels Signed (Zonal Pricing) - MP52000rm_intl_business_parcels_signed_zonal
Intl Business Parcels Signed (Country Pricing) - MP92000rm_intl_business_parcels_signed_country
Intl Business Parcels Signed Extra Comp (Zonal Pricing) - MP62000rm_intl_business_parcels_signed_extra_zonal
Intl Business Parcels Signed Extra Comp (Country Pricing) - MP02000rm_intl_business_parcels_signed_extra_country
Intl Signed On Account - OSA (Letter, Large Letter, Parcel)100, 750, 20000rm_intl_signed_on_account
Intl Signed On Account Extra Comp - OSB-------rm_intl_signed_on_account_extra
Intl Business Mail Tracked & Signed (Zonal Pricing) - MTC (Letter, Large Letter)100, 500rm_intl_business_mail_tracked_signed_zonal
Intl Business Mail Tracked & Signed (Country Pricing) - MTG500rm_intl_business_mail_tracked_signed_country
Intl Business Mail Tracked & Signed Extra Comp (Zonal Pricing) - MTD (Letter, Large Letter)100, 500rm_intl_business_mail_tracked_signed_extra_zonal
Intl Business Mail Tracked & Signed Extra Comp (Country Pricing) - MTH-------rm_intl_business_mail_tracked_signed_extra_country
Intl Business Parcels Tracked & Signed (Zonal Pricing) - MTA (Parcel, Printed Paper)5000rm_intl_business_parcels_tracked_signed_zonal
Intl Business Parcels Tracked & Signed (Country Pricing) - MTE-------rm_intl_business_parcels_tracked_signed_country
Intl Business Parcels Tracked & Signed Extra Comp (Zonal Pricing) - MTB (Parcel, Printed Paper)5000rm_intl_business_parcels_tracked_signed_extra_zonal
Intl Business Parcels Tracked & Signed Extra Comp (Country Pricing) - MTF (Parcel, Printed Paper)5000rm_intl_business_parcels_tracked_signed_extra_country
Intl Tracked & Signed On Account - OTC (Letter, Large Letter, Parcel)100, 750, 2000, 5000rm_intl_tracked_signed_on_account
Intl Tracked & Signed On Account Extra Comp - OTD (Letter, Large Letter, Parcel)100, 750, 2000, 5000rm_intl_tracked_signed_on_account_extra
Intl Business Mail Large Letter Priority (Max Sort) - PS7500rm_intl_business_mail_ll_max_sort_priority
Intl Standard On Account - OLA (Letter, Large Letter, Parcel)100, 750, 2000, 5000rm_intl_standard_on_account
Intl Business Mail Large Letter Standard (Max Sort) - PSB500rm_intl_business_mail_ll_max_sort_standard
Intl Economy On Account - OLS (Letter, Large Letter, Parcel)100, 750, 2000, 5000rm_intl_economy_on_account
Intl Business Mail Large Letter Economy (Max Sort) - PS8500rm_intl_business_mail_ll_max_sort_economy
Intl Business Parcels Economy (Zero Sort Lo Vol) - DE62000rm_intl_business_parcels_economy_zero_sort_lo_vol
Intl Business Mail Large Letter Economy (Country Sort Hi Vol) - DG3500rm_intl_business_mail_economy_ll_ctry_sort_hi_vol
Intl Business Mail Large Letter Economy (Country Sort Lo Vol) - DG6500rm_intl_business_mail_economy_ll_ctry_sort_lo_vol
Intl Business Parcels Economy (Zone Sort) - IE32000rm_intl_business_parcels_economy_zone_sort
Intl Business Mail Large Letter Economy (Zone Sort) - IG3500rm_intl_business_mail_economy_ll_zone_sort
Intl Business Mail Large Letter Economy (Zone Sort Machineable) - IG6500rm_intl_business_mail_economy_ll_zone_sort_machineable
Intl Business Parcels Economy (Print Direct) - MB311000rm_intl_business_parcels_economy_print_direct
Intl Business Mail Economy (Mixed Zone Sort) - OZ35000rm_intl_business_mail_economy_mixed_zone_sort
Intl Business Mail Economy (Mixed Zone Sort Machineable) - OZ65000rm_intl_business_mail_economy_mixed_zone_sort_machineable
Intl Business Parcels Economy (Zero Sort) - WE3-------rm_intl_business_parcels_economy_print_direct_zero_sort
Intl Business Mail Large Letter Economy (Zero Sort) - WG3-------rm_intl_business_mail_economy_ll_zero_sort
Intl Business Mail Large Letter Economy (Zero Sort Machineable) - WG6-------rm_intl_business_mail_economy_ll_zero_sort_machineable
Intl Business Mail Economy (Mixed Zero Sort) - WW3-------rm_intl_business_mail_economy_mixed_zero_sort
Intl Business Parcels (Zero Sort Hi Vol Priority) - DE12000rm_intl_business_parcels_zero_sort_hivol_priority
Intl Business Parcels(Zero Sort Low Vol Priority) - DE45000rm_intl_business_parcels_zero_sort_lowvol_priority
Intl Business Mail Large Letter (Country Sort Hi Vol Priority) - DG1500rm_intl_business_mail_large_letter_ctry_hivol_priority
Intl Business Mail Large Letter (Country Sort Lo Vol Priority) - DG4500rm_intl_business_mail_large_letter_ctry_lowvol_priority
Intl Business Parcels (Zone Sort Priority) - IE1 (Parcel, Printed Paper)2000, 5000rm_intl_business_parcels_zone_sort_priority_ie
Intl Business Parcels Mail Large Letter (Zone Sort) - IG1500rm_intl_business_parcels_mail_large_letter_zone_sort
Intl Business Parcels Mail (Mixed Zone Sort Priority) OZ1-------rm_intl_business_parcels_mixed_zone_sort_priority
Intl Business Parcels Mail (Mixed Zone Sort Priority Machinable) - OZ4-------rm_intl_business_parcels_mixed_zone-sort_priority_match
Intl Business Parcels (Zero Sort Priority) - WE1-------rm_intl_business_parcels_zero_sort_priority
Intl Business Parcels Mail Large Letter (Zero Sort Priority) - WG1-------rm_intl_business_parcels_large_letter_zero_sort_priority
Intl Business Parcels Mail Large Letter (Zero Sort Priority Machinable) - WG4-------rm_intl_business_parcels_large_letter_zero_sort_priority_match
Intl Business Parcels Mail (Mixed Zero Sort Priority) - WW1-------rm_intl_business_parcels_mixed_zero_sort_priority
Intl Business Parcels Mail Large Letter (Zone Sort Priority Machineable) - IG4-------rm_intl_business_parcels_mail_large_letter_zone_sort_priority_match
Intl Business Mail Tracked Letter (Country Pricing Hi Vol) - MPL-------rm_intl_business_mail_tracked_letter_country_hi_vol
Intl Business Mail Tracked & Signed Letter (Hi Vol) - MPM-------rm_intl_business_mail_tracked_signed_letter_hi_vol
Intl Bus Mail Tracked & Signed Letter Extra Comp (Country Pricing Hi Vol) - MPP-------rm_intl_business_mail_tracked_signed_letter_extra_comp_country_hi_vol
Intl Business Mail Signed Letter (Country Pricing Hi Vol) - MPN100rm_intl_business_mail_signed_letter_country_hi_vol
Intl Business Mail Tracked Extra Comp (Country Pricing Hi Vol) - MPO-------rm_intl_business_mail_tracked_extra_comp_country_hi_vol
Intl Business Mail (Mixed Zero Sort Priority Machineable) - WW4-------rm_intl_business_mail_mixed_zero_sort_priority_machineable
Cross-Border Import Tracked 48 High Volume - ITL-------rm_cb_tracked_48_high_volume
Cross-Border Import Tracked 24 High Volume - ITM-------rm_cb_tracked_24_high_volume
Cross-Border Import Tracked Letter - boxable 24 High Volume - ITC-------rm_cb_tracked_24_letterbox_high_volume
Cross-Border Import Tracked Letter - boxable 48 High Volume - ITD-------rm_cb_tracked_48_letterbox_high_volume
Cross-Border Import Tracked 24 - ITN-------rm_cb_tracked_24
Cross-Border Import Tracked 48 - ITS-------rm_cb_tracked_48
Cross-Border Import Tracked Letter - boxable 48 - ITE-------rm_cb_tracked_48_letterbox
Cross-Border Import Tracked Letter - boxable 24 - ITF-------rm_cb_tracked_24_letterbox
Cross-Border Import Tracked Returns 24 - ITA-------rm_cb_tracked_returns_24
Cross-Border Import Tracked Returns 48 - ITB-------rm_cb_tracked_returns_25
Intl Business Parcels Tracked Box (Country Pricing) - MPR-------rm_intl_business_parcels_tracked_box_lovol_country
Intl Business Parcels Bespoke Postal - DW1-------rm_international_business_parcels_bespoke_portal
INTL BUS MAIL LRG LTR MAX SORT RES PRI-------intersoft_royalmail_intl_business_mail_lrg_ltr_max_sort_pri
INTL BUS MAIL LRG LTR MAX SORT RES STD-------intersoft_royalmail_intl_business_mail_lrg_ltr_max_sort_std
INTL BUS MAIL L LTR MAX SORT RES ECONOMY-------intersoft_royalmail_intl_business_lrg_ltr_max_sort_econ
INTL BUS MAIL LETTERS MAX SORT RES PRI-------intersoft_royalmail_intl_business_mail_letter_max_sort_pri
INTL BUS MAIL LETTERS MAX SORT RES STD-------intersoft_royalmail_intl_business_mail_letters_max_sort_std
INTL BUS MAIL LTR MAX SORT RES ECONOMY-------intersoft_royalmail_intl_business_mail_ltr_max_sort_econ
DE Import to EU Tracked & Signed LLTR500intersoft_royalmail_de_import_eu_tracked_signed_lltr
DE Import to EU Max Sort LLTR500intersoft_royalmail_de_import_eu_max_sort_lltr
DE Import to EU Tracked Parcel5000intersoft_royalmail_de_import_eu_tracked_parcel
DE Import to EU Tracked Parcel & Signed Parcel5000intersoft_royalmail_de_import_eu_tracked_parcel_signed_parcel
DE Import to EU Tracked LLTR500intersoft_royalmail_de_import_eu_tracked_lltr
DE Import to EU Max Sort Parcel2000intersoft_royalmail_de_import_eu_max_sort_parcel
DE Import to EU Signed Parcel (Parcel, Printed Paper)2000, 5000intersoft_royalmail_de_import_eu_signed_parcel
INTL BUS MAIL LTR CTRY SORT HI VOL PRI100intersoft_royalmail_intl_business_mail_ltr_ctry_hi_vol_pri
INTL BUS MAIL LTR CTRY SORT HI VOL ECON100intersoft_royalmail_intl_business_mail_ltr_ctry_sort_hi_vol_econ
INTL BUS MAIL LTR CTRY SORT LO VOL PRI100intersoft_royalmail_intl_business_mail_ltr_ctry_sort_lo_vol_pri
INTL BUS MAIL LTR CTRY SORT LO VOL ECON500intersoft_royalmail_intl_business_mail_ltr_ctry_sort_lo_vol_econ
INTL BUS MAIL LTR ZONE SORT PRI100intersoft_royalmail_intl_business_mail_ltr_zone_sort_pri
INTL BUS MAIL LTR ZONE SORT ECONOMY100intersoft_royalmail_intl_business_mail_ltr_zone_sort_economy
INTL BUS MAIL LETTERS ZONE SORT PRI MCH100intersoft_royalmail_intl_business_mail_letters_zone_sort_pri_mch
INTL BUS MAIL LTR ZONE SRT ECONOMY MCH100intersoft_royalmail_intl_business_mail_ltr_zone_srt_economy_mch
INTL BUS PRCLS TRK&SGN DDP-------MTV
INTL BUS PARCELS BOXABLE ZONE SORT PRI-------intersoft_royalmail_intl_bus_parcels_boxable_zone_sort_pri
INTL BUS PARCELS BOXABLE ZONE SORT ECON-------intersoft_royalmail_intl_bus_parcels_boxable_zone_sort_econ
INTL BUS PARCELS TRACKED BOX ZONE SORT-------intersoft_royalmail_intl_bus_parcels_tracked_box_zone_sort
INTL BUS PRCL TRCKD BOX ZONE SRT XTR CMP-------intersoft_royalmail_intl_bus_prcl_trckd_box_zone_srt_xtr_cmp
INTL BUS MAIL LETTERS MAX SORT STANDARD-------intersoft_royalmail_intl_bus_mail_letters_max_sort_standard
QM/10 Option 2 over 500g2000intersoft_royalmail_qm_10_option_2_over_500g
QM/10 Option 2 Mixed Mail5000intersoft_royalmail_qm_10_option_2_mixed_mail
INTL Business-PC-MaxSort-LTR-------rm_intl_business_pc_maxsort_ltr
INTL Business PrintedMatter PKT-------rm_intl_business_printedmatter_pkt

Shipping to BFPO Addresses and M Bag Alternative Codes

As of 1st January 2025, Royal Mail removed the HM Forces-specific services. When shipping to BFPO addresses, you should use the available domestic services instead of the now obsolete international codes. You should also apply alternative codes for M Bags where necessary.

Shipping to the Channel Islands

  • Guernsey and Jersey: Royal Mail requires customs declarations for Channel Islands shipments to Guernsey and Jersey. Please use the country code GE and JE, respectively. Royal Mail will not produce these forms if the country code is GB.
  • Isle of Man: Change the country code to IM and then the proper forms will be included with the label. Isle of Man (IOM) shipments do not require customs and there is no option to select IOM as a country code.

Shipping to Northern Ireland

Starting 1st May 2025, changes to Royal Mail products and services will take effect in accordance with the Windsor Framework. Under the Windsor Framework shipments will fall into 1 of 2 categories:

  • Green Lane: For trusted traders sending goods staying in Northern Ireland — minimal checks, simplified processes.

  • Red Lane: For goods at risk of moving into the EU via the Republic of Ireland — full customs procedures apply.

Royal Mail customers sending parcels from Great Britain to Northern Ireland (GB-NI ) will need to provide additional data. The parcel movement's type will determine what data is required: Business-to-Consumer (B2C), Consumer-to-Consumer (C2C), Consumer-to-Business (C2B), or Business-to-Business (B2B).

Business Accounts - Different Types of Goods Movements

Movement TypeDefinitionAdditional data to be provided by the customer
Business to Consumer (B2C)Parcels sent by a business in Great Britain to a private individual residing in Northern Ireland for personal use. Product Description (must be accurate and in plain English)
Product Weight
Product Value
Product Country of Origin
* HS Harmonized Tariff code (optional),
Consumer to Business (C2B)Parcels sent by a private individual in Great Britain to a business in Northern Ireland (for example, a customer returning an item to a shop). Product Description (must be accurate and in plain English)
Product Weight
Product Value
Product Country of Origin
Returned Goods Indicator
HS Harmonized Tariff code (optional),
Business to Business (B2B - value of goods above £135 )Parcels sent by a business in Great Britain to a business in Northern Ireland. Exporter / Sender details (inc. EORI)
Importer / Receiver details (inc. EORI)
Total Value (not by item)
Gross Mass
UKIMS Number
Product Description (must be accurate and in plain English)
Product Country of Origin
HS Harmonized Tariff code (optional),
Business to Business (B2B - value of goods £135 or less )Parcels sent by a business in Great Britain to a business in Northern Ireland where total goods value up to and including £135. Exporter / Sender details (inc. EORI)
Importer / Receiver details (inc. EORI)
Total Value (not by item)
Gross Mass
UKIMS Number
Product Description (must be accurate and in plain English)
Product Country of Origin
HS Harmonized Tariff code (optional),

NOTE: For B2B movements, where UKIMS registration is not presented with the parcel data, the sending customer may be liable to delays, customs charges or the parcel returned to the sender.

Consumers - Different Types of Goods Movements

Movement TypeDefinitionAdditional data to be provided by the customer
Consumer to Consumer (C2C)Parcels sent by a private individual in Great Britain to a private individual residing in Northern Ireland for personal use.Product Description (must be accurate and in plain English)
Product Weight
Product Value
* HS Harmonized Tariff code (optional),
Consumer to Business (C2B)Parcels sent by a private individual in Great Britain to a business in Northern Ireland (for example, a customer returning an item to a shop). Product Description (must be accurate and in plain English)
Product Weight
Product Value
Product Country of Origin
Returned Goods Indicator
HS Harmonized Tariff code (optional),

Does Royal Mail offer a Next Day service from Great Britain to Northern Ireland?

Next Day services will be available for C2C, C2B, B2C and B2B. For B2B shipments Royal Mail will only process goods classified as ‘not at risk’. For goods classified as ‘at risk’ Royal Mail may be able to carry these goods on a Parcelforce Worldwide service. For account enquiries contact 03448 429102.

Return Services

To create return labels, Royal Mail must approve you for at least one of the following services:

ServiceMax. weight (in grams)Carrier CodeService API Codes
Tracked Returns 24 - TSN30000TSNrm_tracked_returns_24
Tracked Returns 48 - TSS30000TSSrm_tracked_returns_25

Both of these return services support labelless shipping. Review our Paperless Labels guide for details on creating paperless labels with ShipStation API.

Review the Return Shipping Labels page for details on creating return labels with ShipStation API.

Packages

The following carrier package types are available for Royal Mail services:

NameAPI CodePackage Attributes
Large Letterlarge_letterInternational, Domestic
ParcelparcelInternational, Domestic
Small Parcelroyal_mail_small_parcelDomestic
Medium Parcelroyal_mail_medium_parcelDomestic
Printed Papersroyal_mail_printed_papersInternational

Adding Shipment Insurance

Royal Mail does not support adding carrier insurance.

Label Support

  • Label sizes: 4" x 6"
  • Label formats: PDF

Label Reference Fields

  • Supports label reference field 1, limited to 20 characters
  • Address line has a 35-character limit.

Multi-Package Labels

Multi-package shipping is not supported with Royal Mail.

Voiding Labels

Royal Mail supports voiding labels with ShipStation API. Labels cannot be voided once the shipments have been manifested. If you need to void a shipment on a sales order summary, you must contact Royal Mail directly.

See our Void a Label page for details about voiding labels with ShipStation API.

Paperless Labels

Royal Mail supports paperless labels for the following services:

  • Tracked Returns 24 - TSN
  • Tracked Returns 48 - TSN

Add the paperless or label_and_paperless value to the display_scheme property to receive a paperless label download.

See our Paperless Labels page for details about creating paperless labels with ShipStation API.

Customs Declarations

Customs forms will print with the label for your international shipments.

  • ShipStation API does not provide CN22 forms, only CN23. However, CN23 forms are sufficient for both low and high-value shipments.
  • If there are too many different content types to fit on one page, the CN23 automatically extends to an additional page.

Delivery Confirmation

Royal Mail shipments do not set a default confirmation type.

Royal Mail has enhancement codes that correspond to delivery confirmation types in ShipStation API. For example, the Royal Mail enhancement code for the Signed For service maps to the confirmation type direct_signature.

Only certain services allow certain enhancements. If you choose an option that is not supported with a selected service, you’ll get a generic error like Error code E0004 - Failed Schema Validation.

Please consult with Royal Mail for the latest version of Key FAQs for Royal Mail API Shipping, their page RMG Shipping API Technical User Guide, or similar documentation to learn more about enhancement codes.

Advanced Options

Royal Mail supports certain advanced options, which you can add to the shipment object when creating a shipment or label.

OptionTypeDefault ValueDescription
NotificationsPhonestringnullThe carrier will send SMS tracking notifications to the provided phone number.
NotificationsEmailstringnullThe carrier will send email tracking notifications to the provided email address.

To ensure you always have the most up-to-date information about a carrier's advanced options, use the list carrier options call.

Manifests

Royal Mail requires you to create and print a Sales Order Summary, which you must then hand to the driver who picks up the parcels.

You can generate your Sales Order Summary through the manifest process. When you make your request to the /v1/manifests endpoint, the response will include a link to download the Sales Order Summary PDF.

Please note: You cannot close shipments with dispatch dates in the future, only past or current-date shipments.

Scheduling Pickups

You must set pickups (daily and other schedules) with Royal Mail. This cannot be done via ShipStation API.

Service Points (PUDO)

Royal Mail services do not currently support using service points.

Tracking

ShipStation API's integration with Royal Mail now supports receiving tracking updates. ShipStation API provides tracking notifications, tracking URLs, and tracking events via the API.

Review our ​Track a Package guides​​ for details on tracking with the ShipStation API.

How to Confirm an Active OBA Account

If you are unsure if your Royal Mail account is an OBA account, or if you need your OBA account number, you can follow these steps:

  1. Log in to your Royal Mail OBA account​.
    Screenshot of Login Page for Royal Mail Online Business Account.
  2. Click the ​Access Online Business Account​​ button. This will take you to your OBA account Welcome page.
    Royal Mail Online Business Account (OBA) screen. ­Access OBA button highlighted.
  3. Click the ​Access Online Business Account​​ button provided on this screen.
    Royal Mail Online Business Account (OBA), Your Account screen. ­2nd Access OBA button highlighted. If your OBA account is active you will be directed to your online Business account.
    If your account is not active the page will either reload and you will be returned to the same page or you will be directed onto another page headed ‘Sap NetWeaver’.
    If your OBA account is not active please ​contact Royal Mail​​ to reactivate your OBA account.
    Your Royal Mail OBA Account Number and OBA Company Name will appear above the list of invoices for your account.
  4. Find your ​Account Number​ under the ​Invoices​​ tab.
    Royal Mail ­Online Business Account Company. Company Name and Account Number highlighted.

Disconnecting Your Royal Mail Account

See the Disconnect section in our Delete a Carrier page for the process of deleting or disconnecting a carrier from ShipStation API.

Troubleshooting Tips

Here are tips on how to handle some common issues when shipping with Royal Mail.

IssueHow to troubleshoot or resolve
Error: Confirmation value direct_signature is currently only supported by FedExWhat it means: The Royal Mail enhancement code for the Signed For service now maps to the confirmation type direct_signature.
What to do: Resend the request and map direct_signature as the enhancement code for the Royal Mail Signed For service confirmation type.
Error: Unable to generate Royal Mail label. Label (Bad Request, Carrier Error Code: E1000). Recorded Signed For is not a valid enhancement for the TPSS service. RecordedSignedFor (Bad Request, Carrier error Code: E1437). (400,28024f52=6eb5-4102-b245-49ca414598fc)What it means: You are trying to use a service with an enhancement code that is not allowed. Some enhancements can only be added to certain services. For example, Tracked 48 can only have Signature, not Signed For/Recorded.
What to do: Check the options and extras for that service and make any necessary updates to your request.
End of Day error: Error transmitting to OBA. Details: Access Denied (not authenticated)What it means: You may have a "Pre-paid" Royal Mail account. This type of account cannot be accessed via a third-party shipping platform and thus is not supported.
What to do: Contact Royal Mail for asssistance.
Error: Invalid Origin Address Postal Code for {warehouse.OriginName}What it means: The Ship From Origin Address entered is not valid per Royal Mail.
What to do: Check the address on Royal Mail's address verification site and correct as needed.
Error: A shipping carrier error occurred: The field destinationCompanyName exceeds the maximum allowable length of 35 (Bad Request, Carrier Error Code: E1205).What it means: The Company Name in the request contains too many characters.
What to do: Check the Company Name and truncate the name to fall within the 35-character limit.
Error: One or more errors were encountered when attempting to close shipments. Please review the errors below.What it means: You are trying to close shipments from the previous week after the time limit. Every Friday evening (UK time), Royal Mail auto-closes shipments for the previous week, which means you can no longer close them in ShipStation API.
For example, you'll see this error if you try to close a shipment from March 18th on March 20th.
What to do: If you require the physical manifest, contact ShipStation UK's support and we can try to generate this internally for you.
Error: Attempting to divide by zeroWhat it means: This means you are missing customs declaration information for one of your shipments.
What to do: Check the customs declarations for the shipments contained in the manifest to ensure they include all the required information: Description, Quantity, Value, Content Type, and Country of Origin.
Error: Royal Mail: The given key was not present in the dictionaryWhat it means: This error typically means that when you attempted to get a rate or create a label, you selected Small Parcel for an international shipment. The package type Small Parcel is only available for domestic UK shipments.
What to do: Select the Parcel package type. To check if the Parcel package type option is available in your account, list carrier package types.