{"removeAttribution":false,"l10n":{"translations":{"default_locale":{"translation":{}}},"defaultLocale":"default_locale","locales":[{"code":"default_locale","name":"default_locale"}]},"logo":{"image":"/assets/logo-sp360.e2d55ecc2aa90f69e33ebbfb56c75bd72fdd78943abae3477d53b5d8fffc08a1.9c1bb791.svg","altText":"Pitney Bowes Shipping 360 API","link":"/","favicon":"/assets/favicon.376bc2f1e173d0957362d065369ea899dc17286dbe21749f6d75b1137625118f.8a5edab2.png"},"navbar":{"items":[{"type":"group","label":"Getting Started","items":[{"type":"link","fsPath":"docs/index.md","metadata":{"type":"markdown"},"label":"Quick Overview","link":"/docs","linePosition":"top","routeSlug":"/docs"},{"type":"link","fsPath":"docs/auth/catalog.md","metadata":{"type":"markdown"},"label":"Authentication","link":"/docs/auth/catalog","linePosition":"top","routeSlug":"/docs/auth/catalog"}],"linePosition":"top"},{"type":"group","label":"API References","items":[{"type":"separator","label":"Shipping APIs","linePosition":"top"},{"type":"link","fsPath":"openapi/shipping.yaml","metadata":{"type":"openapi","title":"Overview","description":"The Shipping APIs provide a unified, multi-carrier platform to rate shipments, generate labels, manage pickups, and track parcel movement from creation through delivery. These APIs support a wide range of carriers and services, enabling developers to integrate shipping functionalities into their applications with ease. The Shipping APIs are designed to handle single-parcel, multi-parcel, and high-volume workflows. They also include features for managing carrier accounts, configuring defaults, and handling post-shipment operations like reprints, cancellations, and tracking updates. With comprehensive documentation, sample code, and a sandbox environment for testing. \n\nIf you are integrating for the first time, follow this path:\n\n1. Authenticate before calling Shipping APIs\n  - Start with the [Auth API](/openapi/auth/other/getaccesstoken) to generate an OAuth access token.\n  - Send the token in the Authorization header for every request: `Authorization: Bearer <access_token>`.\n\n2. Start with account and carrier setup\n  - Use Get Carrier Accounts to identify available carrierAccountId values.\n  - Use Get Carriers, Get Services, Get Parcel Types, and Get Special Services to discover what is valid for your scenario.\n\n3. Validate shipment inputs before creating labels\n  - Confirm address quality with the Address APIs.\n  - For international shipments, prepare customs data and upload Electronic Trade Documents when required.\n\n4. Rate first, then ship\n  - Use Rate Shipment to compare options by carrier, rate group, rule set, Ship Via Code, or external system code.\n  - Use Create Shipment to generate the label once the preferred option is selected.\n\n5. Manage post-shipment operations\n  - Reprint or cancel labels when needed.\n  - Retrieve shipment details and tracking updates.\n  - Schedule pickups, check pickup availability, and generate pickup documents.\n\n6. Use Batch Shipments for high-volume processing\n  - Use Batch Shipment APIs when creating large shipment volumes.\n  - Choose synchronous bulk creation or asynchronous CSV import, then process and monitor using batchId.\n  - Use batch status, shipment-level details, and batch void operations to manage exceptions at scale.\n\n7. Optimize for production scale\n  - Use Defaults to reduce repeated request fields.\n  - Use Multipiece Shipment for multi-parcel workflows.\n  - Use metadata, references, manifests, and reports for operational control and reconciliation.\n"},"label":"Shipping API","link":"/openapi/shipping","linePosition":"top","routeSlug":"/openapi/shipping"},{"type":"link","fsPath":"openapi/rategroup.yaml","metadata":{"type":"openapi","title":"RateGroup APIs","description":"A RateGroup is used to automate carrier and service selection during shipment processing. Instead of explicitly passing a carrier and service in every request, you can pass a rateGroupId, and get the desired rate (for example, lowest cost or fastest delivery). <br/>\nRateGroups helps with:\n- Atomatic rate shopping across multiple carriers\n- Shipping decision depends on price, speed, or available services at runtime\n\n**How it works**<br/>\n- Create a RateGroup with a list of\n  - carrierCode (e.g., USPS, UPS, FedEx)\n  - serviceId (e.g., PM, FEDEX_GROUND, NDA) <br/>\n\n- Use the returned rateGroupId in\n  - Rate API:  to fetch the best available rate\n  - Create Shipment API:  to generate a shipment using the selected service\n\n- When a rateGroupId is provided in a request, carrier and service selection is handled internally based on the configured items.\n- Evaluation of carrier-service combinations is dynamic and may vary per request depending on shipment attributes such as origin, destination, and parcel details.\n- Only RateGroups with status active are considered for processing.\n- RateGroups are country-specific, and only applicable shipments are evaluated.\n\n> Read [How to Create RateGroup](/docs/rategroup-management/rategroup-guide).\n  \n"},"label":"RateGroup APIs","link":"/openapi/rategroup","linePosition":"top","routeSlug":"/openapi/rategroup"},{"type":"link","fsPath":"openapi/batchshipping.yaml","metadata":{"type":"openapi","title":"Overview","description":"The Batch Shipment APIs provide operations to create, import, process, track, and manage shipments in bulk. These APIs enable submission of multiple shipments in a single request or through file-based import, supporting high-volume shipping workflows.\n\nBatch shipment processing supports two modes:\n\n  - **Synchronous bulk** creation using API payloads\n  - **Asynchronous batch** processing using file import (CSV via S3 URL)\n\nThe APIs also support ERR (Electronic Return Receipt) shipments, allowing generation of compliant return receipt documents for USPS shipments.\n\n**Batch**\n\nA collection of shipments grouped under a single processing request, identified by batchId.\n\n**Root Level attributes (Default)**\n\nDefines common attributes (e.g., carrier, service, parcel type) applied to all shipments in the batch.\n\n**Shipment Level attributes**\n\nDefines attributes specific to individual shipments. Values provided at this level override root-level defaults.\n\n**Combination Rule**\n\n`carrierAccountId`, `parcelType`, and `serviceId` must be provided together at the shipment level. Partial values result in validation errors.\n\n**Batch ID (batchId)**\n\nA system-generated identifier used to process, track, and manage batch operations.\n\n- Bulk shipments can be created via API payload or imported using a CSV file hosted on S3\n- Batch import generates a batchId used for further processing and tracking\n- Batch processing is triggered explicitly using the `Process Batch API`\n- Batch status and shipment-level results can be retrieved using `batchId`\n- Shipments within a batch can be voided either partially (specific shipment IDs) or entire batch\n- ERR batch supports additional document formats such as **Shipping Label** and **Coversheet**\n"},"label":"Batch Shipping API","link":"/openapi/batchshipping","linePosition":"top","routeSlug":"/openapi/batchshipping"},{"type":"link","fsPath":"openapi/transactionreport.yaml","metadata":{"type":"openapi","title":"Transaction Report APIs","description":"The Transaction Report APIs provide operations to retrieve transaction data for funds, shipments, and stamps within a specified date range. These APIs enable access to historical transaction records for reporting, reconciliation, and operational analysis."},"label":"Transaction Report APIs","link":"/openapi/transactionreport","linePosition":"top","routeSlug":"/openapi/transactionreport"},{"type":"link","fsPath":"openapi/importerofrecord.yaml","metadata":{"type":"openapi","title":"Importer of Record API","description":"Manage **Importer of Record (IOR)** entries that represent legal entities responsible\nfor ensuring compliance of imported goods with local customs regulations, including\nfiling declarations and paying duties/taxes.\nThese APIs allow you to:\n- Create an Importer of Record definition with a unique code and associated country.\n- Retrieve an Importer of Record by its unique identifier.\n- Lookup and filter Importers of Record by metadata.\n- Update or partially update Importer of Record details.\n- Delete Importers of Record no longer in use.\n"},"label":"Importer of Record API","link":"/openapi/importerofrecord","linePosition":"top","routeSlug":"/openapi/importerofrecord"},{"type":"link","fsPath":"openapi/shipviacode.yaml","metadata":{"type":"openapi","title":"Ship via Code APIs","description":"Ship Via Code APIs provide capabilities to create and manage reusable shipping configurations that combine carrier, carrier account, parcel type, service, and special services into a single identifier. <br/>These APIs help simplify shipment creation by allowing you to reference a predefined ship via code instead of repeatedly providing the same carrier configuration details in each request. <br/>The APIs support the following services:\n- Create a ship via code with predefined carrier configuration\n- Retrieve all ship via codes or a specific code by identifier\n- Update an existing ship via code configuration\n- Delete a ship via code\n<br/>Use these APIs to standardize shipping configurations, reduce repetitive input, and streamline shipment workflows when using the Create Shipment API.\n"},"label":"Ship via Code APIs","link":"/openapi/shipviacode","linePosition":"top","routeSlug":"/openapi/shipviacode"},{"type":"link","fsPath":"openapi/customproduct.yaml","metadata":{"type":"openapi","title":"Customs Product API","description":"Customs Product APIs let you create and manage saved customs product records for international shipments. These records can be reused in shipment requests to prefill customs item details such as product description, origin country, HS tariff code, quantity, unit price, and product dimensions.\nUsing these APIs helps reduce repeated data entry and improves consistency when the same product details are used across multiple domestic/international shipments.\nSaved customs product identifiers can be passed in shipment/OMS workflows where customs item details are required."},"label":"Customs Product API","link":"/openapi/customproduct","linePosition":"top","routeSlug":"/openapi/customproduct"},{"type":"link","fsPath":"openapi/manifest.yaml","metadata":{"type":"openapi","title":"Manifest APIs","description":"A manifest is an end-of-day summary submitted to the carrier that groups multiple shipments into a single form or electronic record for acceptance and processing.\nFor USPS, the manifest is generated as a SCAN form (Shipment Confirmation Acceptance Notice). A SCAN form consolidates eligible trackable shipments into a form containing one or more barcodes. When the barcode is scanned by USPS, the included shipments receive an acceptance event.\nThe Manifest APIs also support generation and retrieval of USPS 3877 manifest documents for ERR shipments.\nFor US originated shipments, manifest is supported for carriers: USPS, FedEx and Speedee.\nFor CA originated shipments, manifest is supported for carriers: FedEx and CPC.\n\n**Manifest**\nA carrier submission record that groups eligible shipments into a single form or electronic record for acceptance.\n\n**SCAN Form**\nThe USPS manifestation format that combines eligible trackable shipments under one or more barcodes.\n\n\n**Carrier Account ID**\nA unique identifier of the carrier account used to determine which shipments are included in manifest operations.\n"},"label":"Manifest APIs","link":"/openapi/manifest","linePosition":"top","routeSlug":"/openapi/manifest"},{"type":"link","fsPath":"openapi/tracking.yaml","metadata":{"type":"openapi","title":"Tracking APIs","description":"The Tracking APIs provide operations to retrieve shipment tracking details and manage tracking subscriptions across supported carriers. These APIs enable access to shipment status and event history using a tracking number, supporting visibility into shipment progress and delivery.\n\nThey support both on-demand tracking retrieval and subscription-based tracking, allowing systems to monitor shipment progress and receive updates as tracking events occur.\n\n**Tracking Number**\n\nA unique identifier assigned to a shipment, used to retrieve tracking details.\n\n**Carrier**\n\nIdentifies the shipping carrier associated with the tracking number. Supported values include USPS, UPS, FEDEX, and DHLEXP.\n\n\n**Tracking Events**\n\nA collection of shipment status updates representing the lifecycle of a shipment (e.g., accepted, in transit, out for delivery, delivered).\n\n- Tracking details are retrieved using the `trackingNumber` and `carrier` parameter\n- The response includes a list of tracking events representing shipment progress\n- Subscription API allows enabling or disabling tracking updates using the subscribe parameter:\n  - true: Subscribes to tracking updates\n  - false: Unsubscribes from tracking updates\n- Subscribed tracking provides updated tracking event information in the response\n- Each request includes a unique `X-PB-TransactionId` for tracking and auditing\n"},"label":"Tracking APIs","link":"/openapi/tracking","linePosition":"top","routeSlug":"/openapi/tracking"},{"type":"link","fsPath":"openapi/webhook.yaml","metadata":{"type":"openapi","title":"Webhook APIs","description":"These APIs provides Webhook Managements like creating Webhook, modify, get and delete webhooks."},"label":"Webhook APIs","link":"/openapi/webhook","linePosition":"top","routeSlug":"/openapi/webhook"},{"type":"link","fsPath":"openapi/payment.yaml","metadata":{"type":"openapi","title":"Payments APIs","description":"The Payment APIs include a variety of operations that allow users to manage payment methods, refill wallet and balance check of accounts."},"label":"Payments APIs","link":"/openapi/payment","linePosition":"top","routeSlug":"/openapi/payment"},{"type":"link","fsPath":"openapi/carrieraccounts.yaml","metadata":{"type":"openapi","title":"Carrier Onbording APIs","description":"The Carrier Accounts APIs provide capabilities to onboard and manage carrier accounts used for shipment processing.<br/> These services include creating and maintaining carrier accounts, configuring carrier-specific details and capabilities, and retrieving supporting hub information for applicable carriers.<br/> Carrier accounts enable authentication with carriers and are required for rating, shipment creation, and label generation.\n"},"label":"Carrier Onbording APIs","link":"/openapi/carrieraccounts","linePosition":"top","routeSlug":"/openapi/carrieraccounts"},{"type":"separator","label":"Order Management APIs","linePosition":"top"},{"type":"link","fsPath":"openapi/ordermanagement.yaml","metadata":{"type":"openapi","title":"Order Management APIs","description":"Order Management APIs provide capabilities to create, retrieve, update, search, and delete orders throughout the order lifecycle. These APIs support order processing by allowing you to manage customer, item, pricing, shipping, workflow status, and tagging information in a consistent way.\n\nThe APIs support the following services:\n\n- Create a new order with customer, item, pricing, and shipping details\n- Retrieve complete order details by order ID\n- Partially update an existing order\n- Update workflow status for multiple orders\n- Delete an order or remove specific order items\n- Search orders using filter-based criteria\n- Add, update, or remove tags for single or multiple orders\n\n\n\n  \n"},"label":"OMS APIs","link":"/openapi/ordermanagement","linePosition":"top","routeSlug":"/openapi/ordermanagement"},{"type":"separator","label":"Cross-Border APIs","linePosition":"top"},{"type":"link","fsPath":"openapi/crossborderdeliveryservices.yaml","metadata":{"type":"openapi","title":"Overview","description":"The Cross-Border Delivery Services (CBDS) APIs provide capabilities to support international shipping compliance and cost calculation. These APIs help determine product classification, identify country-specific shipping restrictions, calculate landed costs  (duties and taxes), and screen buyers or sellers against denied or sanctioned party lists.\n\nThe APIs are grouped into the following categories:\n\n- **HS Classification:** Retrieve HS codes for items for a single country or across multiple countries.  \n- **Restrictions:** Identify import and export restrictions for items based on destination or origin countries.  \n- **Landed Cost Quote:** Calculate applicable duties and taxes for international shipments.  \n- **Denied Party Screening:** Screen buyers or sellers against embargoed or sanctioned parties at the country level.\n"},"label":"CBDS APIs","link":"/openapi/crossborderdeliveryservices","linePosition":"top","routeSlug":"/openapi/crossborderdeliveryservices"},{"type":"separator","label":"Shared APIs","linePosition":"top"},{"type":"link","fsPath":"openapi/address.yaml","metadata":{"type":"openapi","title":"Address APIs","description":"The Address APIs provide capabilities to validate, standardize, and suggest addresses to improve delivery accuracy and reduce shipment failures. These APIs help ensure that addresses used in shipment processing are complete, correctly formatted, and aligned with postal standards.\nThe APIs support:\n  - Address Validation (domestic and international) to verify and correct address data\n  - Address Suggestion to provide alternatives when validation fails\n  - Address Autocomplete to assist in capturing accurate addresses from partial input\n"},"label":"Address APIs","link":"/openapi/address","linePosition":"top","routeSlug":"/openapi/address"},{"type":"link","fsPath":"openapi/addressbook.yaml","metadata":{"type":"openapi","title":"Address Book APIs","description":"The Address Book APIs provide operations to manage address book data used across shipping and contact management workflows.\nThe address book acts as a reusable data source for storing sender, recipient, and organizational contact information. Instead of entering the same details repeatedly in shipment or communication workflows, contact records can be created once and referenced later.\n**Contact**- An address book record containing personal or business contact details such as name, company, email, phone, and address information\n**Department**- An organizational grouping used to manage and retrieve department-level contact associations\n"},"label":"Address Book APIs","link":"/openapi/addressbook","linePosition":"top","routeSlug":"/openapi/addressbook"},{"type":"link","fsPath":"openapi/costaccount.yaml","metadata":{"type":"openapi","title":"Cost Account APIs","description":"These APIs provides Cost Account management operations like creating Cost account, modify, get and delete."},"label":"Cost Account APIs","link":"/openapi/costaccount","linePosition":"top","routeSlug":"/openapi/costaccount"},{"type":"link","fsPath":"openapi/billingcodes.yaml","metadata":{"type":"openapi","title":"Overview","description":"CRUD operations to manage **billing codes** and **company codes**.\nA billing code is a customer-defined identifier (e.g., an account or company) that can be attached to shipments, invoices, or reports.\n"},"label":"Billing Codes APIs","link":"/openapi/billingcodes","linePosition":"top","routeSlug":"/openapi/billingcodes"},{"type":"link","fsPath":"openapi/location.yaml","metadata":{"type":"openapi","title":"Overview","description":"Locations are subsets of divisions, which are subsets of your enterprise. Each division can contain multiple locations. At least one division must already exist in order to create a location.\n\n**Divisions and locations allow you to:**\n\n- Assign users to a specific location\n- Give users permission to perform admin tasks for specific divisions or locations\n- Assign different carrier accounts to certain divisions or locations\n- Allow cost accounts to be used by only specified divisions or locations\n- View reporting data for individual divisions or locations (requires Analytics subscription)\n- Give users permission to view reporting data for specific divisions or locations (requires Analytics subscription) \n"},"label":"Location APIs","link":"/openapi/location","linePosition":"top","routeSlug":"/openapi/location"},{"type":"link","fsPath":"openapi/customfields.yaml","metadata":{"type":"openapi","title":"Custom Fields APIs","description":"Custom fields represent additional attributes that can be associated with package-related data. These fields are created and managed through the platform UI and are exposed via APIs for integration and data retrieval purposes."},"label":"Custom Fields APIs","link":"/openapi/customfields","linePosition":"top","routeSlug":"/openapi/customfields"},{"type":"separator","label":"Partner APIs","linePosition":"top"},{"type":"link","fsPath":"openapi/partneraccount.yaml","metadata":{"type":"openapi","title":"Developer Partner APIs","description":"The Developer Partner Account APIs support partner onboarding by creating and managing onboarding invitations for developer partners. These APIs are used to initiate account setup by sending an onboarding invitation to a partner’s email address.\n\nAn invitation represents the starting point of the developer partner onboarding flow. It defines:\n\n- The partner email address to which the invitation is sent\n- The invitation validity period after which the request expires\n\nOnly one active invitation can exist for a given email address at a time. After the invitation expires, a new invitation can be created for the same email address.\n"},"label":"Developer Partner APIs","link":"/openapi/partneraccount","linePosition":"top","routeSlug":"/openapi/partneraccount"},{"type":"link","fsPath":"openapi/merchants.yaml","metadata":{"type":"openapi","title":"Merchants APIs","description":"The Partner APIs provide operations to retrieve and manage partner entities associated with a developer account. Partners include individual merchants and known shippers that are onboarded and linked to the developer for shipping and business operations.\n\nThese APIs enable retrieval of partner information based on type and status, supporting visibility into all associated business partners under a developer account.\n"},"label":"Merchants APIs","link":"/openapi/merchants","linePosition":"top","routeSlug":"/openapi/merchants"},{"type":"link","fsPath":"openapi/knownshipper.yaml","metadata":{"type":"openapi","title":"Known Shipper APIs","description":"The Known Shipper Management APIs provide operations to register, retrieve, update, and delete known shipper records associated with a developer account. A known shipper represents a merchant that is authorized and configured for shipping operations within the platform.\n\nThese APIs enable management of known shipper data and status, ensuring that only valid and active shippers are used in shipment processing workflows.\n"},"label":"Known Shipper APIs","link":"/openapi/knownshipper","linePosition":"top","routeSlug":"/openapi/knownshipper"},{"type":"separator","label":"Parcel Point APIs","linePosition":"top"},{"type":"link","fsPath":"openapi/parcelpoint.yaml","metadata":{"type":"openapi","title":"Lockers APIs","description":"\nThe ParcelPoint (Locker) APIs help manage the reservation and release of smart locker units for package delivery and pickup. These APIs allow organizations to automate secure, contactless deliveries by integrating with Pitney Bowes smart lockers. By integrating these APIs into your system, you can automate end-to-end locker workflows—from locating available lockers to reserving, opening, depositing, and freeing locker units after pickup.\n\n**Why Use Parcel-Point APIs**\n\n- Enable contactless, secure package deliveries\n\n- Automate locker assignment and release\n\n- Support delivery and pickup workflows without human intervention\n\n- Track which locker unit is assigned to which package\n\n- Simplify mailroom or internal delivery operations\n\n**How Parcel-Point APIs Work**\n\nThe Parcel-Point APIs are designed to manage smart locker workflows—from retrieving available locker banks to reserving, depositing parcels and freeing individual locker units. The user (typically a mailroom operator or system) uses these APIs t\n1.\tLook up locker banks\n2.\tCheck available locker unit sizes\n3.\tReserve locker units\n4.\tMark deposits\n5.\tFetch reservations\n6.\tFree locker units\n\n\n**Step-by-Step Workflow for Parcel-Point APIs**\n\n**Step 1: Retrieve Available Locker Banks**\n\nUse the [Get Locker Banks](/openapi/parcelpoint/locker-bank/getlockerbanks) or [Get Locker Bank by Locker Bank ID](/openapi/parcelpoint/locker-bank/getlockerbankdetails) APIs to retrieve the list of available locker banks at a facility.\nFilter by:\n\n- `locationId`: To get lockers for a specific location\n\n- `lockerBankId`: To retrieve a specific locker bank by ID. One location can have multiple banks.\n\n- Each locker bank has a unique `lockerBankId`, used in subsequent API calls.\n\n**Step 2: Get Locker Sizes for a Locker Bank**\n\nUse the [Get Locker Sizes API](/openapi/parcelpoint/locker-bank/lockersizes) to retrieve the available locker unit sizes in a locker bank (e.g., small, medium, large) along with their availability status.\n\n- You need to pass the `lockerBankId` retrieved in Step 1 as a path parameter.\n\n**Step 3: Reserve a Locker Unit**\n\nOnce you know a locker unit is available, use the [Reserve Locker Unit API](/openapi/parcelpoint/locker-unit/createreservation) to create a reservation.\nRequired fields include:\n\n- `lockerBankId` (path parameter)\n\n- Package tracking number\n\n- Locker size preference (e.g., small)\n\n- Recipient identification (contact ID and type)\n\n- Reservation Expiry Time \n\nIf a locker is successfully reserved, a **locker unit ID** will be returned in the response. \n\n**Step 4: Add or Update Deposit Information**\n\nAfter reserving the locker unit, deposit the parcel inside the locker using [Add/Update Deposit API](/openapi/parcelpoint/locker-unit/updatedeposit). Using the same API, user can update the deposit information for example userId of the user.\n\nThis updates the locker reservation to reflect:\n\n- Parcel successfully deposited\n- Deposit timestamp\n- depositExpiryTime (Once expired, the parcel may be removed or handled according to facility policy.)\n- Parcel pickup code (Pickup Code will only be provided to the `contactType: recipient`. For `contactType: department` the recipients will pick the parcel by providing their `personalId`)\n\nYou need to pass:\n\n- `lockerBankId` (path parameter)\n\n- `lockerUnitId` (path parameter)\n\n**Step 5: Retrieve Reservation Details** \n\nThese APIs help external systems, operators, or recipients retrieve reservation details.\n\n- [Get Reservations by Contact](/openapi/parcelpoint/locker-unit/getreservationlist): Retrieve all reservations linked to a specific recipient/contact.\n- [Get Reservation by Tracking Number](/openapi/parcelpoint/locker-unit/getreservation): Retrieve reservation details using the package tracking number.\n\n**Step 6: Update Reservation** \n\nIf reservation details need to be changed (e.g., expiry time, contact details, metadata), use the [Update Reservation API](/openapi/parcelpoint/locker-unit/updatereservation).\n\nYou need to pass:\n\n- `lockerBankId` (path parameter)\n\n- `lockerUnitId` (path parameter)\n\n**Step 7: Free the Reserved Locker Unit**\n\nUse the [Free Reserved Locker Unit API](/openapi/parcelpoint/locker-unit/freereservation) to cancel the existing reservation. This makes the locker unit available for the next package.\n\nYou need to pass:\n\n- `lockerBankId` (path parameter)\n\n- unit to be freed - `lockerUnitId` (path parameter)\n"},"label":"Lockers APIs","link":"/openapi/parcelpoint","linePosition":"top","routeSlug":"/openapi/parcelpoint"},{"type":"link","fsPath":"openapi/webhooklocker.yaml","metadata":{"type":"openapi","title":"Lockers WebHook APIs","description":"The Webhook APIs enable event-driven communication by delivering real-time notifications when specific events occur. Webhook configurations define:\n- The event types to subscribe to\n- The target endpoint URL where notifications are delivered\n- The authorization details required for secure communication\n\nOnce configured, event notifications are triggered and pushed to the registered endpoint whenever the subscribed events occur.\n  \n- Event notifications are delivered to the configured endpoint when subscribed events occur\n- Only events explicitly configured in the webhook are triggered\n- Each webhook configuration is uniquely identified by webHookConfigID\n- Updates to a webhook configuration immediately affect subsequent event notifications\n- Deleted webhook configurations stop receiving event notifications\n"},"label":"Lockers WebHook APIs","link":"/openapi/webhooklocker","linePosition":"top","routeSlug":"/openapi/webhooklocker"},{"type":"separator","label":"Receiving APIs","linePosition":"top"},{"type":"link","fsPath":"openapi/receiving.yaml","metadata":{"type":"openapi","title":"Receiving APIs","description":"\nThe **Pitney Bowes Receiving APIs** help manage packages from the moment they arrive at a facility until they are delivered to the final recipient. These APIs allow organizations to track, update, and store package details, helping to manage internal package handling efficiently.\n\n**Why Receiving APIs**\n\n  1. Track every package from arrival to final delivery.\n  2. Maintain a complete history of package status and movements.\n  3. Update the current package details.\n  4. Quickly find packages within the system using tracking numbers or other search criteria.\n\n**How Receiving APIs Work**\n\n  When a package arrives at a facility, it may have a barcode that either includes a tracking number or does not.\n\n  1.\tIf the **barcode contains a tracking number**:\n\n      - The system searches for an existing package with the same tracking number.\n\n      - If no package exists, a new package entry is created.\n\n  2.\tIf the **package does not have a tracking number**:\n\n      - A new tracking number is generated.\n\n      - A new package entry is created.\n\n  3.\tOnce package added to the system, It can be tracked, and its details can be updated to reflect its current status, location, or latest activity.\n\n  4.\tWhen the package is delivered to its destination, it can be archived for record-keeping.\n\n**Step-by-Step Workflow for Receiving APIs**\n\n  This section provides a structured process for handling packages using the Pitney Bowes Receiving APIs.\n\n**Step 1: Decode the Barcode on a Package**\n\n  1.\tPackages with barcodes must be scanned first. \n  2.\tIf the barcode contains a tracking number, use the [Decode Tracking Number](/openapi/receiving/decode/decodetrackingnumber) API to extract key details, such as:\n      - Tracking number\n      - Package type\n      - Carrier service\n      - Sender and receiver information\n      - Current location\n  3.\tThe Decode API supports 2D barcodes.\n\n**Step 2: Generate a Unique Tracking Number (If Required)**\n\n  1. If a package does not have a tracking number, the user first needs to assign a unique tracking number to the package.\n  2. The [Generate Tracking Number](/openapi/receiving/packages/createtrackingnumber) API creates a unique tracking number, which serves as an identifier throughout the package lifecycle.\n\n**Step 3: Add Package to the System**\n\n  1. Every package must be added to the system using its tracking number.\n  2. The system verifies that no duplicate tracking number exists. If a duplicate is found, an error is returned.\n  3. Upon successful addition, the package is assigned a unique Package ID for tracking.\n  4. The package is linked to relevant sender and receiver information.\n\n**Additional Information to add a Package:**\n\n  **Tracking Number:** Each package must have a unique tracking number.\n\n  **Contact ID:**\n\n  - Contacts can be of three types: Sender, Receiver, and Given To.\n  - Contacts must be created first using the [Add Contact](/openapi/addressbook/contact/addcontact) API (Address Book APIs).\n  - Once added, the system generates a unique Contact ID for each contact, which is used when adding a package.\n\n  **Custom Fields:** Additional custom details can be associated with the package. Fetch the Custom fields using the [Get Custom Field](/openapi/customfields/custom-fields/getcustomfield) API.\n\n  **Inbound Site ID:** If the package needs to be linked to an inbound site location, fetch the associated Inbound Site ID using the [Get Inbound Sites](/openapi/receiving/inbound-sites/getinboundsite) APIs.\n\n**Step 4: Search for a Package in the System**\n\n  Users can find specific packages using the [Search Package](/openapi/receiving/packages/searchpackage) API by entering tracking numbers, statuses, or metadata. This API locates packages that are in transit, waiting for pickup, or already delivered.\n\n**Step 5: Retrieve Package Details**\n\n  Use the [Get Package](/openapi/receiving/packages/getpackagepackageid) API to fetch detailed information about a package.\n\n  1. The package can be retrieved using either its unique package ID or tracking number.\n\n  2. The response includes the package's history, current status, current location, and latest activity.\n\n**Step 6: Update Package Information**\n\n  Packages undergo several status changes as they move through the system. The [Update Package](/openapi/receiving/packages/updatepackage) API allows to:\n\n  1. Update package details such as status, location, sender, receiver, and confirmation methods.\n\n  2. Mark packages as DAMAGED, ARCHIVED, RECEIVED, or DELIVERED.\n\n  3. Record location changes, damage reports, or special handling requirements.\n\n  4. Attach images for proof of receipt.\n\n  5.\tAssign a package to a specific recipient within an organization.\n\n**Step 7: Archive a Package**\n\n  1. Once a package has reached its final recipient, it can be archived for record keeping using the [Archive Package](/openapi/receiving/packages/archivepackage) API. \n\n  2. The Archive Package API removes the package from active workflows while maintaining its record for future reference.\n\n**Retrieve Carrier List**\n\n  1. Get a list of carriers associated with specific locations using [Carrier List](/openapi/receiving/carrier/getcarrierlist) API.\n\n  2. This helps in knowing which carriers are responsible for incoming shipments at different facilities \n"},"label":"Receiving APIs","link":"/openapi/receiving","linePosition":"top","routeSlug":"/openapi/receiving"}],"linePosition":"top"},{"type":"group","label":"Carriers","items":[{"type":"link","fsPath":"docs/shipping/carriers/carrier-catalog.md","metadata":{"type":"markdown"},"label":"Carrier Catalog","link":"/docs/shipping/carriers/carrier-catalog","linePosition":"top","routeSlug":"/docs/shipping/carriers/carrier-catalog"},{"type":"link","fsPath":"docs/shipping/carriers/overview/usps.md","metadata":{"type":"markdown"},"label":"USPS","link":"/docs/shipping/carriers/overview/usps","linePosition":"top","routeSlug":"/docs/shipping/carriers/overview/usps"},{"type":"link","fsPath":"docs/shipping/carriers/overview/fedex.md","metadata":{"type":"markdown"},"label":"FEDEX","link":"/docs/shipping/carriers/overview/fedex","linePosition":"top","routeSlug":"/docs/shipping/carriers/overview/fedex"},{"type":"link","fsPath":"docs/shipping/carriers/overview/ups.md","metadata":{"type":"markdown"},"label":"UPS","link":"/docs/shipping/carriers/overview/ups","linePosition":"top","routeSlug":"/docs/shipping/carriers/overview/ups"},{"type":"link","fsPath":"docs/shipping/carriers/overview/speedee.md","metadata":{"type":"markdown"},"label":"SPEE-DEE","link":"/docs/shipping/carriers/overview/speedee","linePosition":"top","routeSlug":"/docs/shipping/carriers/overview/speedee"},{"type":"link","fsPath":"docs/shipping/carriers/overview/purolator.md","metadata":{"type":"markdown"},"label":"PUROLATOR","link":"/docs/shipping/carriers/overview/purolator","linePosition":"top","routeSlug":"/docs/shipping/carriers/overview/purolator"},{"type":"link","fsPath":"docs/shipping/carriers/overview/canadapost.md","metadata":{"type":"markdown"},"label":"CANADA POST","link":"/docs/shipping/carriers/overview/canadapost","linePosition":"top","routeSlug":"/docs/shipping/carriers/overview/canadapost"},{"type":"link","fsPath":"docs/shipping/carriers/overview/canpar.md","metadata":{"type":"markdown"},"label":"CANPAR","link":"/docs/shipping/carriers/overview/canpar","linePosition":"top","routeSlug":"/docs/shipping/carriers/overview/canpar"},{"type":"link","fsPath":"docs/shipping/carriers/overview/dhlexpress.md","metadata":{"type":"markdown"},"label":"DHL EXPRESS","link":"/docs/shipping/carriers/overview/dhlexpress","linePosition":"top","routeSlug":"/docs/shipping/carriers/overview/dhlexpress"},{"type":"link","fsPath":"docs/shipping/carriers/overview/ics.md","metadata":{"type":"markdown"},"label":"ICS","link":"/docs/shipping/carriers/overview/ics","linePosition":"top","routeSlug":"/docs/shipping/carriers/overview/ics"},{"type":"link","fsPath":"docs/shipping/carriers/overview/loomis.md","metadata":{"type":"markdown"},"label":"LOOMIS","link":"/docs/shipping/carriers/overview/loomis","linePosition":"top","routeSlug":"/docs/shipping/carriers/overview/loomis"},{"type":"link","fsPath":"docs/shipping/carriers/overview/dicom.md","metadata":{"type":"markdown"},"label":"DICOM","link":"/docs/shipping/carriers/overview/dicom","linePosition":"top","routeSlug":"/docs/shipping/carriers/overview/dicom"},{"type":"link","fsPath":"docs/shipping/carriers/overview/norate.md","metadata":{"type":"markdown"},"label":"NORATE","link":"/docs/shipping/carriers/overview/norate","linePosition":"top","routeSlug":"/docs/shipping/carriers/overview/norate"},{"type":"link","fsPath":"docs/shipping/carriers/overview/goforcanada.md","metadata":{"type":"markdown"},"label":"GOFOR","link":"/docs/shipping/carriers/overview/goforcanada","linePosition":"top","routeSlug":"/docs/shipping/carriers/overview/goforcanada"},{"type":"link","fsPath":"docs/shipping/carriers/overview/supreme.md","metadata":{"type":"markdown"},"label":"SUPREME","link":"/docs/shipping/carriers/overview/supreme","linePosition":"top","routeSlug":"/docs/shipping/carriers/overview/supreme"},{"type":"link","fsPath":"docs/shipping/carriers/overview/dpd.md","metadata":{"type":"markdown"},"label":"DPD","link":"/docs/shipping/carriers/overview/dpd","linePosition":"top","routeSlug":"/docs/shipping/carriers/overview/dpd"},{"type":"link","fsPath":"docs/shipping/carriers/overview/royalmail.md","metadata":{"type":"markdown"},"label":"ROYAL MAIL","link":"/docs/shipping/carriers/overview/royalmail","linePosition":"top","routeSlug":"/docs/shipping/carriers/overview/royalmail"},{"type":"link","fsPath":"docs/shipping/carriers/overview/appleexpress.md","metadata":{"type":"markdown"},"label":"APPLE EXPRESS","link":"/docs/shipping/carriers/overview/appleexpress","linePosition":"top","routeSlug":"/docs/shipping/carriers/overview/appleexpress"},{"type":"link","fsPath":"docs/shipping/carriers/overview/ontrac.md","metadata":{"type":"markdown"},"label":"ONTRAC","link":"/docs/shipping/carriers/overview/ontrac","linePosition":"top","routeSlug":"/docs/shipping/carriers/overview/ontrac"},{"type":"link","fsPath":"docs/shipping/carriers/overview/lasership.md","metadata":{"type":"markdown"},"label":"LASERSHIP","link":"/docs/shipping/carriers/overview/lasership","linePosition":"top","routeSlug":"/docs/shipping/carriers/overview/lasership"},{"type":"link","fsPath":"docs/shipping/carriers/overview/roadie.md","metadata":{"type":"markdown"},"label":"ROADIE","link":"/docs/shipping/carriers/overview/roadie","linePosition":"top","routeSlug":"/docs/shipping/carriers/overview/roadie"},{"type":"link","fsPath":"docs/shipping/carriers/overview/addisonlee.md","metadata":{"type":"markdown"},"label":"ADDISON LEE","link":"/docs/shipping/carriers/overview/addisonlee","linePosition":"top","routeSlug":"/docs/shipping/carriers/overview/addisonlee"},{"type":"link","fsPath":"docs/shipping/carriers/overview/ontime.md","metadata":{"type":"markdown"},"label":"ON TIME","link":"/docs/shipping/carriers/overview/ontime","linePosition":"top","routeSlug":"/docs/shipping/carriers/overview/ontime"},{"type":"link","fsPath":"docs/shipping/carriers/overview/tforce.md","metadata":{"type":"markdown"},"label":"TFORCE MILE","link":"/docs/shipping/carriers/overview/tforce","linePosition":"top","routeSlug":"/docs/shipping/carriers/overview/tforce"},{"type":"link","fsPath":"docs/shipping/carriers/overview/intelcom.md","metadata":{"type":"markdown"},"label":"INTELCOM","link":"/docs/shipping/carriers/overview/intelcom","linePosition":"top","routeSlug":"/docs/shipping/carriers/overview/intelcom"}],"linePosition":"top"},{"type":"group","label":"Release Notes","items":[{"type":"link","fsPath":"docs/releases/upcoming.md","metadata":{"type":"markdown"},"label":"Upcoming Release","link":"/docs/releases/upcoming","linePosition":"top","routeSlug":"/docs/releases/upcoming"},{"type":"link","fsPath":"docs/releases/index.md","metadata":{"type":"markdown"},"label":"All Releases","link":"/docs/releases","linePosition":"top","routeSlug":"/docs/releases"}],"linePosition":"top"},{"type":"group","label":"Resources","items":[{"type":"link","fsPath":"docs/resources/postman.md","metadata":{"type":"markdown"},"label":"Postman Collection","link":"/docs/resources/postman","linePosition":"top","routeSlug":"/docs/resources/postman"},{"type":"link","fsPath":"docs/overview/sdks.md","metadata":{"type":"markdown"},"label":"SDKs and Client Libraries","link":"/docs/overview/sdks","linePosition":"top","routeSlug":"/docs/overview/sdks"}],"linePosition":"top"},{"type":"group","label":"Support","items":[{"type":"link","fsPath":"docs/support/error-codes.md","metadata":{"type":"markdown"},"label":"Error Codes","link":"/docs/support/error-codes","linePosition":"top","routeSlug":"/docs/support/error-codes"},{"type":"link","fsPath":"docs/support/contact-us.md","metadata":{"type":"markdown"},"label":"Contact Us","link":"/docs/support/contact-us","linePosition":"top","routeSlug":"/docs/support/contact-us"}],"linePosition":"top"}]},"footer":{"copyrightText":"Pitney Bowes Inc. All rights reserved."},"links":[{"href":"./@theme/static/fonts.css","rel":"stylesheet"},{"href":"./@theme/theme.ts"},{"href":"./@theme/static/pbds-overrides.css","rel":"stylesheet"},{"href":"./node_modules/primereact/resources/themes/lara-light-indigo/theme.css","rel":"stylesheet"},{"href":"./node_modules/primereact/resources/primereact.min.css"},{"href":"./node_modules/primeicons/primeicons.css"},{"href":"./node_modules/primeflex/primeflex.css"},{"href":"https://fonts.googleapis.com/css2?family=VT323&display=swap"},{"href":"https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700&display=swap"},{"href":"https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700&display=swap"},{"href":"https://fonts.googleapis.com/css?family=Source+Code+Pro:300,400,600,700&display=swap"}],"aiAssistant":{"hide":false,"trigger":{"hide":false,"inputType":"button","inputIcon":"chat"},"suggestions":[]},"markdown":{"toc":{"depth":3,"header":"On this page"},"lastUpdatedBlock":{"hide":true,"format":"timeago"},"frontMatterKeysToResolve":["image","links"],"partialsFolders":["**/_partials/**"],"editPage":{}},"mcp":{"hide":false,"docs":{"ignore":["openapi/analytics.yaml"],"hide":false,"name":"Docs MCP server"}},"banner":[],"breadcrumbs":{"prefixItems":[]},"userMenu":{"hide":true},"auth":{"idpsInfo":[]},"search":{},"entitiesCatalog":{},"apiProducts":{},"mcpData":{"docs":{"enabled":true,"name":"Docs MCP server"}},"searchFeatures":{"advanced":{"enabled":false},"ai":{"enabled":true}},"analytics":{"ga":{"trackingId":"","exclude":[],"trackers":{}}}}