Purolator Pickup Virtual Sandbox

API for scheduling, modifying, and managing courier pickup requests.

The Purolator Pickup API allows developers to programmatically manage shipment pickups. It supports scheduling new pickups, modifying existing requests, retrieving pickup history, and voiding scheduled pickups, providing a complete lifecycle management tool for logistics integration.

Use this hosted sandbox to simulate Purolator Pickup APIs without authentication, API keys, or extra dependencies. Point your code or SDK to the Beeceptor base URL, preferably through an environment variable or feature flag, and switch back to the production API when ready. This keeps your integration code consistent across local development, QA, demos, and production.

Use cases:

Use this sandbox to validate pickup scheduling payloads, address validation logic, time-window availability, modification request workflows, and error handling for voiding or retrieving historical pickup data before integrating with Purolator production systems.

Purolator Pickup virtual sandbox is up and running!

Use this sandbox URL as the API base in your code to simulate Purolator Pickup responses instantly.

https://purolator-pickup.mock.beeceptor.com



pickup(4 operations)

Header NameExample
x-api-key*"occaecat aliqua sit culpa"
Language*"EN"
RequestReference"pariatur ut in"
{
  "contactInfo": {
    "company": "Waelchi, Brekke and Spencer",
    "name": "Cary Pfannerstill",
    "phoneExtension": "5",
    "phoneNumber": "+19902004914"
  },
  "lineOfBusiness": "Courier",
  "pickupAddress": {
    "address": {
      "0": "123 Main St"
    },
    "city": "Wolfview",
    "country": "CA",
    "postalCode": "A5B 4E8",
    "province": "ON"
  },
  "pickupInstructions": {
    "additionalInstructions": "Heavy item",
    "anyTimeAfter": "11:00",
    "date": "2026-11-04T00:00:00.0Z",
    "loadingDockAvailable": true,
    "measurementUnit": "Imperial",
    "numberOfSkids": 14,
    "pickupLocation": "FrontDesk",
    "shipmentOnSkids": false,
    "supplyRequestCodes": {
      "0": "ExpressEnvelope"
    },
    "totalWeight": 309.1,
    "trailerAccessible": true,
    "untilTime": "15:00"
  },
  "pickupNotificationEmail": "Isai_Johnston@gmail.com",
  "registeredAccountNumber": "1",
  "shipmentSummary": [
    {
      "destinationCode": "DOM",
      "modeOfTransport": "Ground",
      "totalPieces": 7,
      "totalWeight": 92.4
    },
    {
      "destinationCode": "USA",
      "modeOfTransport": "Ground",
      "totalPieces": 64,
      "totalWeight": 69.9
    },
    {
      "destinationCode": "USA",
      "modeOfTransport": "Ground",
      "totalPieces": 67,
      "totalWeight": 127.8
    }
  ]
}
{
  "pickupConfirmationNumber": "7"
}
{
  "errors": [
    {
      "code": "9001-19",
      "description": "Service currently unavailable."
    },
    {
      "code": "9001-19",
      "description": "Shipment summary is required."
    }
  ]
}
{
  "message": "User is not authorized to access this resource."
}
{
  "code": "9001-73",
  "description": "There is an unknown internal server error. Please try again later."
}
Missing schema or example in the OpenAPI spec.
Update the definition and recreate the mock server.
Missing schema or example in the OpenAPI spec.
Update the definition and recreate the mock server.
Header NameExample
x-api-key*"qui minim exercitation incididunt"
Language*"EN"
RequestReference"sunt qui consectetur"
{
  "pickupConfirmationNumber": "9",
  "pickupInstructions": {
    "additionalInstructions": "Gate code 1234",
    "measurementUnit": "imperial",
    "pickupLocation": "FrontDesk",
    "supplyRequestCodes": [
      "ExpressEnvelope"
    ],
    "untilTime": "17:00"
  },
  "registeredAccountNumber": "8",
  "shipmentSummary": [
    {
      "destinationCode": "DOM",
      "totalPieces": 29,
      "totalWeight": 27.2
    },
    {
      "destinationCode": "DOM",
      "totalPieces": 4,
      "totalWeight": 67.6
    },
    {
      "destinationCode": "USA",
      "totalPieces": 36,
      "totalWeight": 12.2
    }
  ]
}
{
  "pickupConfirmationNumber": "5"
}
{
  "errors": [
    {
      "code": "9001-21",
      "description": "Shipment summary is required."
    },
    {
      "code": "9001-19",
      "description": "Service currently unavailable."
    }
  ]
}
{
  "message": "User is not authorized to access this resource."
}
{
  "code": "9001-73",
  "description": "There is an unknown internal server error. Please try again later."
}
Missing schema or example in the OpenAPI spec.
Update the definition and recreate the mock server.
Missing schema or example in the OpenAPI spec.
Update the definition and recreate the mock server.
Header NameExample
x-api-key*"incididunt in et sint velit"
Language*"FR"
RequestReference"magna dolor in labore ut"
{
  "fromDate": "2025-12-24T00:00:00.0Z",
  "lineOfBusiness": "Courier",
  "pickupConfirmationNumber": [
    "2214236",
    "3326587"
  ],
  "registeredAccountNumber": "2",
  "status": "PickedUp",
  "toDate": "2026-10-10T00:00:00.0Z"
}
{
  "pickupDetails": [
    {
      "contactInfo": {
        "company": "Nicolas, Schneider and Brakus",
        "name": "Orville Heidenreich",
        "phoneExtension": "5",
        "phoneNumber": "+19544341489"
      },
      "freight": {
        "accessorialParameters": [
          {
            "keyword": "ID",
            "keywordValue": true
          },
          {
            "keyword": "ID",
            "keywordValue": true
          },
          {
            "keyword": "ID",
            "keywordValue": false
          }
        ],
        "codAmount": 379.05,
        "customerReferences": {
          "0": "PO",
          "1": "BOL"
        },
        "declaredValue": 108.53,
        "lineItemDetails": [
          {
            "description": "Apparel",
            "freightClass": "70",
            "handlingUnit": 3,
            "handlingUnitType": "BOX",
            "height": 11.83,
            "length": 9.22,
            "lineNumber": 2,
            "pieces": 43,
            "weight": 76.13,
            "width": 19.08
          },
          {
            "description": "Office Supplies",
            "freightClass": "85",
            "handlingUnit": 1,
            "handlingUnitType": "BOX",
            "height": 5.04,
            "length": 22.58,
            "lineNumber": 10,
            "pieces": 35,
            "weight": 89.67,
            "width": 22.16
          },
          {
            "description": "Apparel",
            "freightClass": "70",
            "handlingUnit": 10,
            "handlingUnitType": "BOX",
            "height": 34.56,
            "length": 13.77,
            "lineNumber": 3,
            "pieces": 7,
            "weight": 74.25,
            "width": 13.79
          }
        ],
        "paymentInfo": {
          "billingAccountNumber": "6",
          "paymentType": "Sender"
        },
        "pickUpOptions": "Oversize"
      },
      "lineOfBusiness": "Courier",
      "pickupAddress": {
        "address": {
          "0": "123 Main St"
        },
        "city": "Fort Williamberg",
        "country": "CA",
        "postalCode": "A0G 2U5",
        "province": "ON"
      },
      "pickupConfirmationNumber": "3",
      "pickupInstructions": {
        "additionalInstructions": "Fragile contents",
        "anyTimeAfter": "10:00",
        "date": "2026-11-18T00:00:00.0Z",
        "loadingDockAvailable": true,
        "measurementUnit": "Imperial",
        "numberOfSkids": 5,
        "pickupLocation": "FrontDesk",
        "shipmentOnSkids": true,
        "supplyRequestCodes": {
          "0": "ExpressEnvelope"
        },
        "totalWeight": 269.3,
        "trailerAccessible": true,
        "untilTime": "16:00"
      },
      "pickupNotificationEmail": "Annabel_Davis80@gmail.com",
      "pickupStatus": "PickedUp",
      "registeredAccountNumber": "7",
      "shipmentSummary": [
        {
          "destinationCode": "DOM",
          "modeOfTransport": "Ground",
          "totalPieces": 31,
          "totalWeight": 28.3
        },
        {
          "destinationCode": "INTL",
          "modeOfTransport": "Ground",
          "totalPieces": 3,
          "totalWeight": 93
        },
        {
          "destinationCode": "USA",
          "modeOfTransport": "Ground",
          "totalPieces": 43,
          "totalWeight": 147.4
        },
        {
          "destinationCode": "USA",
          "modeOfTransport": "Ground",
          "totalPieces": 10,
          "totalWeight": 21.6
        }
      ]
    },
    {
      "contactInfo": {
        "company": "Ruecker - Schmeler",
        "name": "Opal Skiles-Conn MD",
        "phoneExtension": "0",
        "phoneNumber": "+12965357867"
      },
      "lineOfBusiness": "Courier",
      "pickupAddress": {
        "address": {
          "0": "123 Main St"
        },
        "city": "Euclid",
        "country": "CA",
        "postalCode": "B4U 3A4",
        "province": "ON"
      },
      "pickupConfirmationNumber": "2",
      "pickupInstructions": {
        "additionalInstructions": "Please call upon arrival",
        "anyTimeAfter": "12:00",
        "date": "2027-07-07T00:00:00.0Z",
        "loadingDockAvailable": false,
        "measurementUnit": "Imperial",
        "numberOfSkids": 3,
        "pickupLocation": "FrontDesk",
        "shipmentOnSkids": false,
        "supplyRequestCodes": {
          "0": "ExpressEnvelope"
        },
        "totalWeight": 379.7,
        "trailerAccessible": false,
        "untilTime": "19:00"
      },
      "pickupNotificationEmail": "Jalyn_OConnell@gmail.com",
      "pickupStatus": "PickedUp",
      "registeredAccountNumber": "4",
      "shipmentSummary": [
        {
          "destinationCode": "DOM",
          "modeOfTransport": "Ground",
          "totalPieces": 38,
          "totalWeight": 69.2
        }
      ]
    },
    {
      "contactInfo": {
        "company": "Tillman, Simonis and Zieme",
        "name": "Danielle Rutherford",
        "phoneExtension": "4",
        "phoneNumber": "+15626741393"
      },
      "freight": {
        "accessorialParameters": [
          {
            "keyword": "ID",
            "keywordValue": false
          }
        ],
        "codAmount": 207.44,
        "customerReferences": {
          "0": "PO",
          "1": "BOL"
        },
        "declaredValue": 929.5,
        "lineItemDetails": [
          {
            "description": "Apparel",
            "freightClass": "100",
            "handlingUnit": 1,
            "handlingUnitType": "BOX",
            "height": 24.31,
            "length": 8.83,
            "lineNumber": 5,
            "pieces": 11,
            "weight": 76.35,
            "width": 40.24
          }
        ],
        "paymentInfo": {
          "billingAccountNumber": "2",
          "paymentType": "Sender"
        },
        "pickUpOptions": "Oversize"
      },
      "lineOfBusiness": "Courier",
      "pickupAddress": {
        "address": {
          "0": "123 Main St"
        },
        "city": "Hoegerfield",
        "country": "CA",
        "postalCode": "A3Q 9F3",
        "province": "ON"
      },
      "pickupConfirmationNumber": "0",
      "pickupInstructions": {
        "additionalInstructions": "Please call upon arrival",
        "anyTimeAfter": "10:00",
        "date": "2027-08-16T00:00:00.0Z",
        "loadingDockAvailable": true,
        "measurementUnit": "Imperial",
        "numberOfSkids": 5,
        "pickupLocation": "FrontDesk",
        "shipmentOnSkids": true,
        "supplyRequestCodes": {
          "0": "ExpressEnvelope"
        },
        "totalWeight": 149.8,
        "trailerAccessible": false,
        "untilTime": "19:00"
      },
      "pickupNotificationEmail": "Amos84@yahoo.com",
      "pickupStatus": "PickedUp",
      "registeredAccountNumber": "1",
      "shipmentSummary": [
        {
          "destinationCode": "INTL",
          "modeOfTransport": "Ground",
          "totalPieces": 62,
          "totalWeight": 10.8
        },
        {
          "destinationCode": "INTL",
          "modeOfTransport": "Ground",
          "totalPieces": 17,
          "totalWeight": 46.8
        }
      ]
    }
  ]
}
Missing schema or example in the OpenAPI spec.
Update the definition and recreate the mock server.
{
  "errors": [
    {
      "code": "9001-20",
      "description": "Shipment summary is required."
    },
    {
      "code": "9001-19",
      "description": "Invalid account number."
    }
  ]
}
{
  "message": "User is not authorized to access this resource."
}
{
  "code": "9001-73",
  "description": "There is an unknown internal server error. Please try again later."
}
Missing schema or example in the OpenAPI spec.
Update the definition and recreate the mock server.
Missing schema or example in the OpenAPI spec.
Update the definition and recreate the mock server.
Header NameExample
x-api-key*"in"
Language*"EN"
RequestReference"Duis sed quis amet"
{
  "lineOfBusiness": "Courier",
  "pickupConfirmationNumber": "4"
}
{
  "pickupVoided": false
}
{
  "errors": [
    {
      "code": "9001-20",
      "description": "Invalid account number."
    },
    {
      "code": "9001-19",
      "description": "Service currently unavailable."
    },
    {
      "code": "9001-20",
      "description": "Service currently unavailable."
    },
    {
      "code": "9001-21",
      "description": "Service currently unavailable."
    },
    {
      "code": "9001-21",
      "description": "Service currently unavailable."
    }
  ]
}
{
  "message": "User is not authorized to access this resource."
}
{
  "code": "9001-73",
  "description": "There is an unknown internal server error. Please try again later."
}
Missing schema or example in the OpenAPI spec.
Update the definition and recreate the mock server.
Missing schema or example in the OpenAPI spec.
Update the definition and recreate the mock server.
Service Homepage: developer.purolator.com/
purolatorlogisticsshippingpickupcourier