New subscription
This endpoint is used to create a new subscription for receiving tracking notifications via webhooks. The subscription can be of various types, such as individual or company-based, and is essential for clients who want to receive real-time updates about shipment statuses.
Authorization JWT-token with a lifetime of 1 hour in header
The type of subscription to be created. This is a mandatory field and can take the following values:
individual— for personal accounts;numbers— for tracking specific shipment numbers;legal— for business accounts, requiring additional company details;recipientLegal— tracks all shipments addressed to the specified legal recipient;creator— tracks all shipments created by the client, regardless of whether they are specified as the sender.
See the Subscription types section.
🔹Shipment numbers are not passed when a subscription is created. For a subscription of type numbers, first create the subscription and then add the numbers with a separate request — see the Add numbers to an existing subscription method.
The callback URL where webhook notifications will be sent. The URL must be capable of receiving POST requests with JSON payloads.
Indicates whether the subscription should be active immediately upon creation. If false, the subscription is created but webhook notifications are not sent.
The phone number associated with the subscription. This parameter is required when the subscription type is individual. The phone number must be in international format.
🔸Required when type is individual.
A list of event types that the subscription will listen to. This parameter allows you to specify which events should trigger webhook notifications.
If no value is provided, the subscription is created for all event types by default.
For the allowed values, see the Event types for the eventTypes parameter section.
Determines if email warnings should be sent in case of issues with the specified webhook URL. If enabled, the system sends notifications about delivery problems or other errors.
falseThe email address where warnings about endpoint issues will be sent. The email address must be valid and active to ensure delivery of warnings.
🔸Required when sendWarnings is set to true.
Defines how webhook notifications are sent for multi-parcel shipments.
🔹If true, a separate webhook notification is sent for each parcel in the shipment. The request body structure remains unchanged.
falseExample: falseThe Content-Type used for webhook requests. Supported values:
application/json— the recommended value for new integrations.text/plain— a deprecated value whose support will be discontinued.
The selected value affects only the value of the Content-Type header. The structure of the request body is the same for both values.
🔹If contentType is not provided, application/json is used by default.
🔸text/plain is deprecated and its support will be discontinued. Use application/json for new integrations. If your subscription currently uses text/plain, we recommend switching to application/json in advance: the request body does not change, only the value of the Content-Type header does.
application/jsonExample: application/jsonPossible values: A list of company tax identification numbers relevant to subscriptions of type legal or recipientLegal. This parameter is required for legal subscriptions and is essential to verify the company's identity. Each TIN must be a valid UUID.
- For
legal, the subscription receives events only for shipments where the value of thesender.companyTinfield matches one of the values provided incompanyTins. - For
recipientLegal, the subscription receives events only for shipments where the value of therecipient.companyTinfield matches one of the values provided incompanyTins.
🔸Required when type is legal or recipientLegal.
Webhook authorization token used to validate incoming webhook requests.
🔸The token is optional and, if provided, must consist only of Latin letters and digits, up to 600 characters.
k4MzM1NywiZXhwIjoxNzM3Pattern: ^[A-Za-z0-9]+$Header name used to transmit the secretToken in webhook requests.
If secretTokenHeaderName is provided and is not null, its value is used as the header name for transmitting the secretToken.
If secretTokenHeaderName is not provided or is explicitly set to null, the default header name X-NP-Key is used.
Validation requirements:
- Only Latin letters, digits, and hyphens are allowed.
- Must not start or end with a hyphen.
- Must not contain spaces or any other special characters.
🔸This field is optional.
X-Custom-TokenPattern: ^[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$Subscription successfully created.
The unique identifier for the created subscription.
🔸Save the id value — it is required for all further operations with this subscription.
f5300824-58a9-496b-ac3b-bee156844fdfThe type of subscription created.
numbersWebhook authorization token used to validate incoming webhook requests.
🔸The token is optional and, if provided, must consist only of alphanumeric characters.
k4MzM1NywiZXhwIjoxNzM3Pattern: ^[A-Za-z0-9]+$Specifies the name of the HTTP header used to transmit the secretToken in webhook requests.
🔸If provided, the header name must consist only of Latin letters, digits, and hyphens, must not start or end with a hyphen, and must not contain spaces or other special characters.
🔸This field is optional.
X-Custom-TokenPattern: A-Za-z0-9The callback URL for the subscription.
https://api.example.com/webhookIndicates if the subscription is currently active.
trueThe phone number associated with the subscription.
380630000001Unique user identifier
11a111a1-a1a1-11aa-a111-111111aa1111The list of event types the subscription listens to:
ReadyToShip: The shipment has been created and is ready for dispatch.Deleted: The shipment has been deleted.ParcelPlaceRemoved: A parcel has been removed from the shipment.Received: The shipment has been received by the recipient.MoneyTransfer: A money transfer related to the shipment has been created.MoneyTransferReceived: The money transfer related to the shipment has been paid out to the recipient.Returned: The shipment is being returned or has been returned to the sender.Refused: The recipient has refused to accept the shipment.Redirecting: The shipment is being redirected to another address or branch.Utilization: The shipment has been disposed of.Redelivery: A repeat delivery attempt for the shipment has been scheduled.UndeliveryReason: A non‑delivery reason has been recorded.ChangeTime: The delivery date or time has been changed.ArrivalSC: The shipment has arrived at the sorting center.TransferToPartner: The shipment has been handed over to a partner for further delivery.LoadingCourier: The shipment has been loaded onto the courier’s vehicle.ArrivalSenderWarehouse: The shipment has arrived at the sender’s warehouse.DepartureSenderWarehouse: The shipment has departed from the sender’s warehouse.InCityRecipient: The shipment has arrived in the recipient’s city.AwaitingOnDivision: The shipment is waiting at the branch or pickup point.
🔸This field accepts only the event types listed above.
Any values outside of this list are not supported and must not be provided.
["ReadyToShip"]Indicates whether email warnings are sent for incorrect endpoint operations.
trueThe email address used for sending warnings.
admin@example.comDefines how webhook notifications are sent for multi-parcel shipments.
🔹If true, a separate webhook notification is sent for each parcel in the shipment. The request body structure remains unchanged.
falseExample: falseSpecifies the Content-Type used for webhook request payloads. The default value is application/json.
application/jsonThe list of company tax identification numbers of a legal entity associated with the subscription.
The timestamp when the subscription was last updated.
2024-02-26T20:08:26.217000ZThe timestamp when the subscription was created.
2024-02-26T20:08:26.217000ZUnauthorized
The specified resource was not found
Validation error
Connection time-out
POST /v.1.0/tracking-push/subscribers HTTP/1.1
Host: api-stage.novapost.com/
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 372
{
"type": "numbers",
"url": "https://api.webhook.test/test_endpoint",
"isActive": true,
"phone": "",
"eventTypes": [
"ReadyToShip",
"Received",
"Returned"
],
"sendWarnings": true,
"warningEmail": "example@novadigital.com",
"sendFullHistoryForMultiParcel": false,
"contentType": "application/json",
"companyTins": [],
"secretToken": "k4MzM1NywiZXhwIjoxNzM3",
"secretTokenHeaderName": "X-Custom-Token"
}{
"id": "a866fe22-8134-45c7-bfe9-3cf348415e26",
"type": "numbers",
"url": "https://api.somehost.link/endpoint",
"isActive": true,
"phone": "",
"cid": "11a111a1-a1a1-11aa-a111-111111aa1111",
"eventTypes": [
"ReadyToShip"
],
"sendWarnings": true,
"sendFullHistoryForMultiParcel": false,
"contentType": "application/json",
"companyTins": [],
"secretToken": "k4MzM1NywiZXhwIjoxNzM3",
"secretTokenHeaderName": "X-Custom-Token",
"warningEmail": "someuser@novadigital.com",
"updatedAt": "2025-04-14T07:26:20.994000Z",
"createdAt": "2025-04-14T07:26:20.994000Z"
}Deprecated parameters
Some parameters are duplicated in snake_case notation. These parameters are kept solely for backward compatibility — use the camelCase variants for new integrations.
is_active
isActive
event_types
eventTypes
send_warnings
sendWarnings
warning_email
warningEmail
company_tins
companyTins
secret_token
secretToken
secret_token_header_name
secretTokenHeaderName
created_at
createdAt
updated_at
updatedAt
The same deprecated parameters are present in the responses to subscription creation and update. They are not repeated further in this article.
Last updated