Create a PB Presort Pickup Slip

HTTP Request

POST /v1/manifests


A PB Presort pickup slip identifies the shipments in the pickup and contains a unique ID to identify the pickup run. The slip is handed to the Presort Services driver at the time of pickup.


To use PB Presort, a merchant must be enrolled with a PB Presort facility and receive a Mailer ID, Job number, and other information. See Onboard a Merchant to Print PB Presort Labels.


  1. All shipments with the rates.carrier field set to PBPRESORT are eligible for inclusion in the pickup slip.

  2. A shipment is eligible for inclusion both on and before its shipment date.

  3. Up to 7000 shipments can be included in a single pickup slip.

  4. Shipments, once manifested, cannot be re-manifested.

  5. When creating the pickup slip:

    • Set carrier to PBPRESORT.

    • The MANIFEST_TYPE manifest parameter is not required. It can be either left out or set to NORMAL.

  6. You can add shipments to the pick slip by specifying any combination of the following:

    • The Shipper ID in the SHIPPER_ID parameter to the parameters array. The pickup slip will include all eligible shipments created with that Shipper ID.

    • The tracking numbers in the parcelTrackingNumbers array. The pickup slip will include all eligible shipments with those tracking numbers.

    • The job number in the X-PB-ShipmentGroupId header.

  7. You can filter further by specifying an inductionPostalCode. When specified, the inductionPostalCode value in the manifest request must match the rates.inductionPostalCode value of the shipment.

    If a shipment has no rates.inductionPostalCode, the value in the manifest request must match the shipment’s fromAddress.postalCode.

  8. If the pickup slip contains shipments with different inductionPostalCode values, then a multi-page pickup slip is created, with one inductionPostalCode value per page. The pages are accessed via a single PDF.

  9. If the pickup slip includes packages with different job numbers, the API generates a separate pickup slip for each job number.

  10. The following address fields are required in the fromAddress object:

    • postalCode

    • countryCode

  11. Manifest documents retrieved through URLs are available for 24 hours after creation.

  12. You cannot reprint or retry a pickup slip.

Request URLs for Pickup Slips


Request Headers




Required. OAuth token generated using the Generate an OAuth Token API.


Required. The media type of the request entity. Set this to application/json.


Required. A unique identifier, up to 25 characters. The following characters are allowed: letters, numbers, hyphens (-), and underscores (_).

Important: Ensure this is a unique ID.


The job number that represents the agreement between the merchant and PB Presort. This was provided by Pitney Bowes during merchant onboarding for PB Presort. You can specify only one job number per manifest request. To specify multiple job numbers, you must make make multiple API calls.


Conditional. The Mailer ID (MID) that applies to this pickup slip.

This is required if a merchant has more than one MID. In such cases, set this to the MID that applies to this pickup slip.


Recommended. Set this to true to use the standard error object if an error occurs.

Request / Response Elements


Please see the Considerations section on this page before creating a pickup slip.

Important:   The API call sends and receives a Manifest Object. The table below describes all possible fields in a Manifest Object. Some fields might not apply to your operation.


Data Type




Required. The carrier to which the manifest applies. For some operations, this field is not present in the response.

Valid values:

  • USPS: PB Expedited or PMOD

  • PBCS: PB Standard

  • PBPresort: PB Presort



Required. The date the shipments are to be tendered to the carrier, entered as YYYY-MM-DD.


Address Object

Conditional. The shipment origin address.

Required for:



Conditional. Postal code where the shipments are tendered to the carrier.

This field does not apply to PB Standard manifests.



Identifies shipments by their tracking numbers. List one or more tracking numbers, separated by commas. Enter each tracking number as a separate String.

If the carrier field is set to PBCS, use the long version of the tracking number.



Conditional. Each object in the array defines a different manifest parameter. This field is used only in the request and is not returned in the response.

Required for PB Standard Manifests (Closeouts).


The name of the manifest parameter.



The value of the manifest parameter.



RESPONSE ONLY. The unique manifest ID. This field is not returned for APAC Services.

This field is not returned for APAC Services.



RESPONSE ONLY. The manifest tracking number. This is returned only if carrier has a value of USPS.


Array[Documents Object]

RESPONSE ONLY. The manifest.

This field is not returned for a PB Standard manifest.

Sample Request

curl -X POST ../v1/manifests \
-H "Authorization: Bearer <oauth_token>" \
-H "Content-Type: application/json" \
-H "X-PB-TransactionId: 175da21e-1a70-450a-a4b7" \
-H "X-PB-UnifiedErrorStructure: true" \
-d '
    "carrier": "PBPRESORT",
    "submissionDate": "2020-11-12",
    "parcelTrackingNumbers": [
    "parameters": [ {
        "name": "SHIPPER_ID",
        "value": "9024324564"
    } ]

Sample Response

    "carrier": "PBPRESORT",
    "submissionDate": "2020-11-12",
    "fromAddress": { ... },
    "parcelTrackingNumbers": [
    "manifestId": "11111111100582",
    "documents": [ {
        "type": "MANIFEST",
        "contentType": "URL",
        "contents": "https://.../pbpresort/187143416/outbound/manifest/af5644f7134f4f649e673ce2583399f5.pdf"
    } ],
    "parameters": [ {
        "name": "SHIPPER_ID",
        "value": "9024324564"
    } ]

Error Codes

For a list of all error codes returned by the Ecommerce APIs, please see Error Codes.