For the complete documentation index, see llms.txt. This page is also available as Markdown.

Webhooks

Retrieve all subscriptions

get
/tracking-push/subscribers

Retrieve a list of all subscriptions associated with the client.

🔹Description of control elements:

SCHEMA Displays the full technical structure of the request or response, including field names, data types, required fields, allowed values, and validation rules.

  • Single line description A description that fits into a single line; any text that does not fit remains hidden.

  • Multiline description An expanded description that displays more than one line of text.

EXAMPLE Shows a ready-made sample JSON with correctly formatted values to demonstrate how a valid request or response should look.

Authorizations
AuthorizationstringRequired

Authorization JWT-token with a lifetime of 1 hour in header

Responses
200

Successful response containing a list of subscriptions.

application/json
current_pageintegerOptional

The current page of the paginated result set.

Example: 1
last_pageintegerOptional

The last page of the paginated result set.

Example: 1
per_pageintegerOptional

The number of items per page.

Example: 15
totalintegerOptional

The total number of subscription items available.

Example: 1
get
/tracking-push/subscribers

Create a new subscription

post
/tracking-push/subscribers

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.

Webhook notifications are sent using the application/json Content-Type by default.

🔹Description of control elements:

SCHEMA Displays the full technical structure of the request or response, including field names, data types, required fields, allowed values, and validation rules.

  • Single line description A description that fits into a single line; any text that does not fit remains hidden.

  • Multiline description An expanded description that displays more than one line of text.

EXAMPLE Shows a ready-made sample JSON with correctly formatted values to demonstrate how a valid request or response should look.

Authorizations
AuthorizationstringRequired

Authorization JWT-token with a lifetime of 1 hour in header

Query parameters
typestring · enumRequired

The type of subscription to be created. This is a mandatory field and can take values such as:

  • individual: For personal accounts.
  • numbers: For tracking specific shipment numbers.
  • legal: For business accounts, requiring additional company details.
  • creator: To tracking all shipments created by the client, regardless of whether they are specified as the sender.
Example: numbersPossible values:
urlstring · uri · min: 3Required

The callback URL where webhook notifications will be sent. This is a mandatory field and must be a valid URL. The URL should be capable of receiving POST requests with JSON payloads.

Example: https://api.webhook.test/test_endpoint
isActivebooleanRequired

Indicates whether the subscription should be active immediately upon creation. If set to true, the webhook will start sending notifications as soon as the subscription is confirmed. Defaults to false if not provided.

Default: falseExample: true
phonestringOptional

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, for example, 380637445555.

Example: 380630000001
secretTokenstringOptional

Webhook Authorization Token: Maximum Length 600 Characters

Example: k4MzM1NywiZXhwIjoxNzM3
secretTokenHeaderNamestringOptional

Specifies the header name used to pass the secretToken in webhook requests.

Example: X-Custom-Token
eventTypesstring[]Optional

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 will be created for all event types by default.

The list of supported event types includes:

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

sendWarningsbooleanOptional

Determines if email warnings should be sent in case of issues with the specified webhook URL. If enabled, the system will send notifications about delivery problems or other errors. Defaults to false.

Default: falseExample: true
warningEmailstring · emailOptional

The email address where warnings about endpoint issues will be sent. It is required if sendWarnings is set to true. The email address should be valid and active to ensure delivery of warnings.

Example: example@novadigital.com
companyTinsstring · uuid[]Optional

A list of company tax identification numbers relevant to the subscription type legal. This parameter is required for legal subscriptions and is essential to verify the company's identity. Each TIN should be a valid UUID.

Body
typestring · enumRequired

The type of subscription to be created.

Possible values:
urlstring · uriRequired

The callback URL where webhook notifications will be sent.

isActivebooleanRequired

Indicates whether the subscription is active immediately after creation.

phonestringOptional

The phone number associated with the subscription.

eventTypesstring[]Optional

A list of event types that the subscription will listen to.

sendWarningsbooleanOptional

Determines if email warnings should be sent for webhook delivery issues.

warningEmailstring · emailOptional

The email address where warnings will be sent.

companyTinsstring · uuid[]Optional

A list of company tax identification numbers for legal subscriptions.

secretTokenstring · max: 600Optional

Webhook authorization token used to validate incoming webhook requests.

🔸The token is optional and, if provided, must consist only of alphanumeric characters.

Example: k4MzM1NywiZXhwIjoxNzM3Pattern: ^[A-Za-z0-9]+$
secretTokenHeaderNamestringOptional

Specifies the name of the HTTP header 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 in the request, 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

Example: X-Custom-TokenPattern: A-Za-z0-9
Responses
post
/tracking-push/subscribers

Update an existing subscription

put
/tracking-push/subscribers/{id}

This endpoint updates an existing subscription's details such as the callback URL, activation status, event types, and more. It is essential for modifying subscription settings for clients who wish to manage how they receive tracking notifications.

🔹Description of control elements:

SCHEMA Displays the full technical structure of the request or response, including field names, data types, required fields, allowed values, and validation rules.

  • Single line description A description that fits into a single line; any text that does not fit remains hidden.

  • Multiline description An expanded description that displays more than one line of text.

EXAMPLE Shows a ready-made sample JSON with correctly formatted values to demonstrate how a valid request or response should look.

Authorizations
AuthorizationstringRequired

Authorization JWT-token with a lifetime of 1 hour in header

Path parameters
idstringRequired

The unique identifier of the subscription you want to update. This is a mandatory path parameter used to specify the subscription to be modified.

Example: a866fe22-8134-45c7-bfe9-3cf348415e26
Body
urlstring · uriRequired

The new callback URL for webhook notifications. This URL must be reachable and capable of handling POST requests.

Example: https://api.example.com/updated-webhook
isActivebooleanRequired

Specifies whether the subscription is currently active. Set to true to activate the subscription, or false to deactivate it.

Example: false
typestringOptional

The type of subscription created.

Example: false
eventTypesstring[]Optional

A list of event types that the subscription will listen for. You can specify which events should trigger webhook notifications.

Example: null
sendWarningsbooleanOptional

Indicates if the system should send email warnings about issues with the specified webhook URL. Set to true to enable warnings.

Example: false
warningEmailstring · emailOptional

The email address for sending warnings. This field is necessary if sendWarnings is set to true.

Example: admin@example.com
secretTokenstring · max: 600Optional

Webhook authorization token used to validate incoming webhook requests.

🔸The token is optional and, if provided, must consist only of alphanumeric characters.

Example: k4MzM1NywiZXhwIjoxNzM3Pattern: ^[A-Za-z0-9]+$
secretTokenHeaderNamestringOptional

Specifies the name of the HTTP header 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 in the request, 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

Example: X-Custom-TokenPattern: A-Za-z0-9
Responses
200

Subscription successfully updated.

application/json
idstringOptional

The unique identifier for the updated subscription.

Example: a866fe22-8134-45c7-bfe9-3cf348415e26
typestringOptional

The subscription type, such as individual, numbers, or legal.

Example: individual
urlstring · uriOptional

The updated callback URL for the subscription.

Example: https://api.example.com/updated-webhook
isActivebooleanOptional

Indicates if the subscription is currently active.

Example: false
is_activebooleanOptional

Deprecated. Legacy field kept for backward compatibility. Use isActive instead.

Example: false
phonestringOptional

The phone number associated with the subscription, if applicable.

Example: 380001234567
cidstringOptional

Unique user identifier

Example: 11a111a1-a1a1-11aa-a111-111111aa1111
eventTypesstring[]Optional

A list of event types the subscription listens to.

event_typesstring[]Optional

Deprecated. Legacy field kept for backward compatibility. Use eventTypes instead.

sendWarningsbooleanOptional

Indicates whether email warnings are sent for incorrect endpoint operations.

Example: false
send_warningsbooleanOptional

Deprecated. Legacy field kept for backward compatibility. Use sendWarnings instead.

Example: false
warningEmailstring · emailOptional

The email address used for sending warnings.

Example: admin@example.com
warning_emailstring · emailOptional

Deprecated. Legacy field kept for backward compatibility. Use warningEmail instead.

Example: admin@example.com
contentTypestringOptional

Specifies the Content-Type used for webhook request payloads.

The default value is application/json.

Example: application/json
companyTinsstring[]Optional

The list of company tax identification numbers of a legal entity associated with the subscription.

company_tinsstring[]Optional

Deprecated. Legacy field kept for backward compatibility. Use companyTins instead.

secretTokenstring · max: 600Optional

Webhook authorization token used to validate incoming webhook requests.

🔸The token is optional and, if provided, must consist only of alphanumeric characters.

Example: k4MzM1NywiZXhwIjoxNzM3Pattern: ^[A-Za-z0-9]+$
secret_tokenstring · max: 600Optional

Deprecated. Legacy field kept for backward compatibility. Use secretToken instead.

Example: k4MzM1NywiZXhwIjoxNzM3Pattern: ^[A-Za-z0-9]+$
secretTokenHeaderNamestringOptional

Specifies the name of the HTTP header used to transmit the secretToken in webhook requests.

🔸This field is optional and, if provided, must contain only Latin letters, digits, and hyphens, must not start or end with a hyphen, and must not contain spaces or other special characters.

Pattern: A-Za-z0-9
secret_token_header_namestringOptional

Deprecated. Legacy field kept for backward compatibility. Use secretTokenHeaderName instead.

Example: X-Custom-Token
updatedAtstring · date-timeOptional

The timestamp when the subscription was last updated.

Example: 2025-04-14T07:53:38.970000Z
updated_atstring · date-timeOptional

Deprecated. Legacy field kept for backward compatibility. Use updatedAt instead.

Example: 2025-04-14T07:53:38.970000Z
createdAtstring · date-timeOptional

The timestamp when the subscription was created.

Example: 2025-04-14T07:53:38.970000Z
created_atstring · date-timeOptional

Deprecated. Legacy field kept for backward compatibility. Use createdAt instead.

Example: 2025-04-14T07:53:38.970000Z
put
/tracking-push/subscribers/{id}

Delete a subscription

delete
/tracking-push/subscribers/{id}

This endpoint deletes a subscription specified by its unique identifier. Once deleted, the subscription will no longer receive webhook notifications. The deletion is irreversible and should be used with caution.

🔹Description of control elements:

SCHEMA Displays the full technical structure of the request or response, including field names, data types, required fields, allowed values, and validation rules.

  • Single line description A description that fits into a single line; any text that does not fit remains hidden.

  • Multiline description An expanded description that displays more than one line of text.

EXAMPLE Shows a ready-made sample JSON with correctly formatted values to demonstrate how a valid request or response should look.

Authorizations
AuthorizationstringRequired

Authorization JWT-token with a lifetime of 1 hour in header

Path parameters
idstringRequired

The unique identifier of the subscription to be deleted. This is a required path parameter that identifies the specific subscription you wish to remove.

Example: a866fe22-8134-45c7-bfe9-3cf348415e26
Responses
delete
/tracking-push/subscribers/{id}

Add numbers to an existing subscription

post
/tracking-push/subscribers/{id}/numbers

This endpoint allows adding shipment numbers to an existing subscription specified by its unique identifier. The numbers are essential for tracking specific shipments associated with the subscription.

🔹Description of control elements:

SCHEMA Displays the full technical structure of the request or response, including field names, data types, required fields, allowed values, and validation rules.

  • Single line description A description that fits into a single line; any text that does not fit remains hidden.

  • Multiline description An expanded description that displays more than one line of text.

EXAMPLE Shows a ready-made sample JSON with correctly formatted values to demonstrate how a valid request or response should look.

Authorizations
AuthorizationstringRequired

Authorization JWT-token with a lifetime of 1 hour in header

Path parameters
idstringRequired

The unique identifier of the subscription to which shipment numbers will be added. This is a required path parameter.

Example: a866fe22-8134-45c7-bfe9-3cf348415e26
Body
numbersstring[]Optional

A list of shipment numbers to be added to the subscription.

Example: ["20600000179995","20600000179992"]
Responses
200

Numbers successfully added to the subscription.

application/json
messagestringOptional

A confirmation message indicating successful addition of numbers.

Example: Numbers successfully added to the subscription.
addedNumbersstring[]Optional

The list of numbers that were successfully added to the subscription.

Example: ["SHPL2666212296","SHPL6628713835"]
missedNumbersstring[]Optional

The list of numbers that could not be added (e.g., invalid or already linked).

post
/tracking-push/subscribers/{id}/numbers

Delete numbers from an existing subscription

delete
/tracking-push/subscribers/{id}/numbers

This endpoint allows deleted shipment numbers from an existing subscription specified by its unique identifier.

🔹Description of control elements:

SCHEMA Displays the full technical structure of the request or response, including field names, data types, required fields, allowed values, and validation rules.

  • Single line description A description that fits into a single line; any text that does not fit remains hidden.

  • Multiline description An expanded description that displays more than one line of text.

EXAMPLE Shows a ready-made sample JSON with correctly formatted values to demonstrate how a valid request or response should look.

Authorizations
AuthorizationstringRequired

Authorization JWT-token with a lifetime of 1 hour in header

Path parameters
idstringRequired

The unique identifier of the subscription to which shipment numbers will be deleted. This is a required path parameter.

Example: a866fe22-8134-45c7-bfe9-3cf348415e26
Body
numbersstring[]Optional

A list of shipment numbers to be deleted to the subscription.

Example: ["20600000179995","20600000179992"]
Responses
200

Numbers successfully deleted with subscription.

application/json
messagestringOptional

A confirmation message indicating successful deleted of numbers.

delete
/tracking-push/subscribers/{id}/numbers

Checking the test webhook

post
/tracking-push/subscribers/test-webhook

This endpoint allows you to test the webhook functionality. At least one active subscription is required for a successful response.

Webhook requests are sent using the application/json Content-Type by default.

🔹Test webhook behavior: The method returns a confirmation response indicating that a test webhook request was sent. A webhook event with tracking data is delivered to the subscriber endpoint.

🔹Webhook payload parameters: The webhook request body looks as follows:

{
  "number": "SHPL0000000001",
  "scheduled_delivery_date": "2024-11-20T20:03:00.000000Z",
  "history_tracking": [
    {
      "code": "4",
      "code_name": "On the way",
      "country_code": "UA",
      "settlement": "Kyiv",
      "date": "2024-11-19T09:32:05.000000Z"
    },
    {
      "code": "112",
      "code_name": "Change of delivery date",
      "country_code": "",
      "settlement": "",
      "date": "2024-11-19T09:33:56.000000Z"
    }
  ]
}

with the following parameters:

  • number — shipment number.

  • scheduled_delivery_date — scheduled delivery date and time in ISO 8601 format.

  • history_tracking — array of tracking status objects.

    • code — tracking status code. For more details about tracking status codes, see the description of the currentStatus.statusCode parameter in the response of the FullTracking method.

    • code_name — tracking status name.

    • country_code — country code where the status was recorded.

    • settlement — settlement name.

    • date — timestamp of the status event.

The payload contains at least one tracking status. Each subsequent webhook delivery includes the newly added status and all previously delivered statuses.

🔹Description of control elements:

SCHEMA Displays the full technical structure of the request or response, including field names, data types, required fields, allowed values, and validation rules.

  • Single line description A description that fits into a single line; any text that does not fit remains hidden.

  • Multiline description An expanded description that displays more than one line of text.

EXAMPLE Shows a ready-made sample JSON with correctly formatted values to demonstrate how a valid request or response should look.

Authorizations
AuthorizationstringRequired

Authorization JWT-token with a lifetime of 1 hour in header

Body
numbersstring[]Optional

Test shipment number always SHPL0000000001

Example: ["SHPL0000000001"]
idstringOptional

The unique identifier for the created subscription.

Example: f5300824-58a9-496b-ac3b-bee156844fdf
cidstringOptional

Unique user identifier

Example: 11a111a1-a1a1-11aa-a111-111111aa1111
Responses
200

Test webhook was sent successfully.

application/json
successstringOptional

Confirmation message about successful test

Example: true
post
/tracking-push/subscribers/test-webhook

Last updated