1. Scenarios And Workflows
PostPlus API
  • Authentication, Environments
  • Endpoints Overview
    • Parcels Endpoints
    • Shipments Endpoints
    • Tracking Endpoints
    • Accounts Endpoints
  • Scenarios And Workflows
    • Working with parcels
    • Create or update parcel record
    • Cancel or delete a parcel record
    • Manifesting parcels in bags and shipments
    • Query parcel tracking events
    • Import parcel tracking events
  • Updates
    • [2026-09-15] EU product identifiers
  • All API Endpoints
    • Parcels
      • Create or update single parcel.
      • Create or update up to 200 parcels in a single request.
      • Get parcel details by parcel Id.
      • Get up to 100 parcels details by parcel Ids.
      • Get parcel details by parcel number (tracking number).
      • Get up to 100 parcels details by parcel numbers (tracking numbers).
      • Get parcel details by sender reference number.
      • Get up to 100 parcel details by sender reference numbers.
      • Query up to 500 parcels.
      • Delete parcel by Id.
      • Delete up to 100 parcels by Ids.
      • Get print details and contents by print Id.
      • Get up to 100 parcel print details and contents by print Ids.
      • Get pickup point details by Id.
      • Query pickup points.
      • Group parcels into bags and link to a shipment (update parcel references). When AllowPartialSuccess is true, valid parcels are updated and invalid ones returned in FailedParcels.
      • Get parcel details by manifest reference numbers.
      • Get up to 100 parcel details by manifest reference numbers.
      • Get parcel details by carrier reference numbers.
      • Get up to 100 parcel details by carrier reference numbers.
    • Shipments
      • Cancel erroneous parcels in a shipment.
      • Delete shipment manifest file.
      • Create new shipment.
      • Create new bag level shipment.
      • Update bag level shipment.
      • Link parcels with specified bag numbers to a shipment.
      • Validate and prepare shipment for submitting.
      • Submit and lock shipment and it's parcels.
      • Group parcels into bags and link to a shipment, then prepare and submit shipment in one transaction.
      • Delete shipment.
      • Update shipment.
      • Get shipment details by shipment id.
      • Query up to 500 shipments.
      • Upload shipment manifest file.
      • Upload shipment document.
      • Get shipment details by shipment number.
    • Documents
      • Download manifest file.
      • Download resulting (processed) manifest file.
      • Download shipment documents in archive file.
      • Download resulting (processed) shipment file.
      • Download shipment document file by Id.
      • Download parcel label by Id.
      • Generate and download generic bag labels.
      • Generate and download bag label.
      • Generate and download shipment parcel labels.
      • Generate and download parcel commercial invoices.
    • Tracking
      • Get event codes and other metadata.
      • Fetch up to 500 tracking events in cursor fashion.
      • Get tracking events by the list of parcel numbers, up to 50, comma separated.
      • Get tracking events by the list of sender reference numbers, up to 50, comma separated.
      • Get tracking events by the list of parcel numbers or sender reference numbers, up to 50, comma separated.
      • Get bag tracking events by the list of bag numbers, up to 50, comma separated.
      • Upload tracking events file.
      • Get bag tracking events by the list of bag numbers or shipment numbers, up to 50, comma separated.
    • Accounts
      • Get current account details.
    • Integrations
      • Add up to 500 tracking events to the processing queue. The whole batch either succeeds or fails.
      • Add tracking event with generic payload.
  • Shipments
    • Update a shipment document's effective date. The document's visibility and status are preserved.
      PUT
  • HsCodes
    • Resolve HS codes by list of descriptions.
      POST
  • Tracking
    • Get the parcel journey phases, in journey order - the dictionary for the category that event codes and tracking events carry. Changes only on release, so fetch it once and cache it.
      GET
  • Schemas
    • AccountAddressType
    • AccountCommonSettings
    • AccountSettingsAddressInfo
    • AddressInfo
    • AddTrackingEventsRequest
    • BagEventsResponse
    • BagPrintInfo
    • BagPrintType
    • BagStatus
    • BagViewInfo
    • CancelShipmentParcelsWithErrorsRequest
    • ContainerType
    • CreateBagLevelShipmentRequest
    • CreateIntegrationEventsRequest
    • CreateOrUpdateManyParcelsRequest
    • CreateOrUpdateParcelAdditionalInfo
    • EmaiNotificationsSettings
    • CreateOrUpdateParcelIdentifiers
    • CreateOrUpdateParcelInfo
    • CreateOrUpdateParcelItemInfo
    • IncludePrintSizes
    • CreateOrUpdateParcelReceiverInfo
    • LabelSize
    • CreateOrUpdateParcelReferences
    • CreateOrUpdateParcelRequest
    • CreateOrUpdateParcelSenderInfo
    • CreateOrUpdateSingleParcelRequest
    • CreateShipmentRequest
    • CustomsSettings
    • CreateOrUpdateParcelStatusInfo
    • DeleteParcelRequest
    • TaxType
    • DownloadBagPrintRequest
    • DownloadManifestFileRequest
    • DownloadParcelPrintRequest
    • GenerateBagPrintsRequest
    • DownloadShipmentDocumentRequest
    • DownloadShipmentDocumentsRequest
    • GetAccountDetailsResponse
    • FileFormat
    • FileStatus
    • GetPickupPointDetailsResponse
    • GetShipmentDetailsResponse
    • GenerateParcelCommercialInvoicesRequest
    • GenerateParcelCommercialInvoicesResponse
    • ParcelLinkResultInfo
    • LabelsSettings
    • ParcelValidationSettings
    • GenerateShipmentParcelPrintsResponse
    • LinkBagsToShipmentRequest
    • LinkBagsToShipmentResponse
    • GetCurrentAccountDetailsRequest
    • ManifestAndSubmitShipmentParcelInfo
    • GetEventsBatchResponse
    • ManifestAndSubmitShipmentRequest
    • ManifestAndSubmitShipmentResponse
    • ManifestFileViewInfo
    • GetManyParcelPrintsResponse
    • NewIntegrationEvent
    • ParcelAdditionalInfo
    • EventCategoryInfo
    • GetPickupPointDetailsRequest
    • ParcelEventsResponse
    • ParcelIdentifiers
    • ParcelInfo
    • ParcelItemInfo
    • ParcelNrSequenceInfo
    • ParcelPrintInfo
    • LeanMileSettings
    • MailType
    • ParcelReferences
    • ParcelStatusInfo
    • ManifestFileType
    • UpdateManyParcelReferencesRequest
    • ManyParcelsDetailsResponse
    • PickupPointInfo
    • BagTrackingEventInfo
    • NewTrackingEvent
    • PostalLabelSettings
    • ParcelAndTrackingEventInfo
    • EmaiNotificationsInfo
    • ParcelCommercialInvoiceInfo
    • PrepareShipmentResponse
    • ParcelDetailsResponse
    • ParcelDocument
    • ParcelDocumentType
    • ResendOrRelabelParcelRequest
    • ResolveHsCodesByDescriptionsRequest
    • ParcelNrType
    • SearchParcelEventsResponse
    • TrackingEventInfo
    • ParcelPrintFormat
    • ShipmentArrivalInfo
    • ParcelPrintType
    • ParcelReceiverInfo
    • ShipmentDocumentViewInfo
    • ParcelSenderInfo
    • ParcelStatus
    • ShipmentStatusInfo
    • ParcelTransactionType
    • PickupPointType
    • ShipmentViewInfo
    • SubmitShipmentRequest
    • EventCodeInfo
    • TrackingParcelInfo
    • UpdateBagLevelShipmentRequest
    • UpdateManyParcelReferencesResponse
    • UpdateShipmentDocumentRequest
    • UpdateShipmentRequest
    • UpsertBagRequest
    • PostalSettings
    • PrepareShipmentRequest
    • QstepSettings
    • QueryParcelsResponse
    • QueryPickupPointsResponse
    • QueryShipmentsResponse
    • RateManagementSettings
    • SearchBagEventsResponse
    • ShipmentArrivalViewInfo
    • ShipmentDocumentType
    • ShipmentManifestLevel
    • ShipmentManifestSettings
    • ShipmentStatus
    • ShipmentTerminalInfo
    • ShipmentType
    • TelemetrySettings
    • UploadManifestFileResponse
    • UploadShipmentDocumentResponse
    • UploadTrackingEventsFileResponse
    • X7TradeSettings
  1. Scenarios And Workflows

Query parcel tracking events

Overview of tracking related endpoints: Tracking Endpoints
šŸ“Œ Request Rate Limits
PostPlus API applies rate limiting (normally 5 requests per second), so integrators must use batch operations whenever possible, not one-by-one.

Query parcel tracking events#

There are multiple ways of retrieving tracking information, described below:
Get tracking events by the list of parcel numbers, up to 50, comma separated.
@host = https://api.test.post-plus.io
@apiKey = apitest1234567890

### fetch by multiple parcel nrs
GET {{host}}/api/v1/tracking/parcel-nrs/get-many?ParcelNrs=PARCEL-NR-1,PARCEL-NR-2
X-API-KEY: {{apiKey}}
Get tracking events by the list of sender reference numbers, up to 50, comma separated.
@host = https://api.test.post-plus.io
@apiKey = apitest1234567890

### fetch by multiple sender parcel nrs
GET {{host}}/api/v1/tracking/sender-parcel-nrs/get-many?SenderParcelNrs=SENDER-NR-1,SENDER-NR-2
X-API-KEY: {{apiKey}}
Fetch up to 500 tracking events in cursor/stream fashion.
fetch tracking data in a batch (page) starting from a given date and cursor (fetchId)
retrieval of the next page is done by supplying the correct fetchId parameter, see below
startDate=[absolute start date, works in conjunction with fetchId parameter]
fetchId=[leave empty for the very first call or take from previous response "nextFetchId" value]
@host = https://api.test.post-plus.io
@apiKey = apitest1234567890

### first request with empty fetchId
GET  {{host}}/api/v1/tracking?startDate=2025-01-01&count=200&fetchId=
X-API-KEY: {{apiKey}}
snippet of response from the first request
HTTP/1.1 200 OK
Content-Length: 74988

{
  "nextFetchId": "Cj7tmDjWkdoUyVmb8R8B77",
  "fetchDone": false,
  "events": [
    {
      "parcel": {
        "parcelNr": "PARCEL-NR-1",
        "senderParcelNr": "13111315031",
        "destinationCountry": "EE",
        "carrier": "TestCarrier",
        "carrierParcelNr": "PARCEL-NR-1"
      },
      "event": {
        "eventId": "WoxFW73f47o2d55PPHwzit",
        "eventTime": "2025-01-13T01:56:27+00:00",
        "eventVersion": "332002",
        "eventCode": "CREATE_OR_UPDATE",
        "eventMessage": "Parcel data received or updated",
        "eventLocation": "PPLUS"
      }
    }]
}
### next request with fetchId from the previous response ("nextFetchId": "Cj7tmDjWkdoUyVmb8R8B77")
GET {{host}}/api/v1/tracking?startDate=2025-01-01&count=200&fetchId=Cj7tmDjWkdoUyVmb8R8B77
X-API-KEY: {{apiKey}}

### and so on

Query PostPlus event codes, messages and other metadata#

Get event codes and other metadata
@host = https://api.test.post-plus.io
@apiKey = apitest1234567890

### Tracking event codes metadata
GET {{host}}/api/v1/tracking/event-codes
X-API-KEY: {{apiKey}}
Previous
Manifesting parcels in bags and shipments
Next
Import parcel tracking events
Built with