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. Before using PB Presort, please see the PB Presort Overview.


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

Things to Consider

  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 URIs for Pickup Slips


Request Headers

Authorization Required. OAuth token generated using the Generate an OAuth Token API.
Content-Type Required. The media type of the request entity. Set this to application/json.

Required. A unique identifier, up to 25 characters.

Important: You must ensure this is a unique id.

X-PB-ShipmentGroupId 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.

X-PB-UnifiedErrorStructure Recommended. Set this to true to use the standard error object if an error occurs.

Request / Response Elements


See the above Things to Consider before creating the PB Presort 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.

Name Data Type Description
carrier String

Required. The carrier to which the manifest applies.

For some operations, this field is not present in the response.

Valid values:

  • USPS
  • NEWGISTICS. PB Standard. This value is valid only in a Create Manifest request.
  • PBPresort. This value is valid only in a Create Manifest request.
submissionDate String Required. The date the shipments are to be tendered to the carrier, entered as YYYY-MM-DD.
fromAddress Address Object

Conditional. The shipment origin address.

Required for:

inductionPostalCode String

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

This field does not apply to PB Standard manifests.

parcelTrackingNumbers Array[String]

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 NEWGISTICS, use the long version of the tracking number.

parameters Array[Object]

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).

        name String The name of the manifest parameter.
        value String The value of the manifest parameter.
manifestId String

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

This field is not returned for APAC Services.

manifestTrackingNumber String RESPONSE ONLY, USPS Only. The manifest tracking number.
documents 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": "2019-11-12",
    "parcelTrackingNumbers": [
    "parameters": [ {
        "name": "SHIPPER_ID",
        "value": "9024324564"
    } ]

Sample Response

    "carrier": "PBPRESORT",
    "submissionDate": "2019-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 PB Shipping APIs error codes, please see Error Codes.