Create or update inbound shipment tracking for a diagnostic test
const url = 'http://api.probatix.localhost/v1/diagnostic_tests/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/shipment_tracking?XDEBUG_SESSION=PHPSTORM';const options = { method: 'POST', headers: { 'accept-language': 'de', 'X-API-TOKEN': '<X-API-TOKEN>', 'Content-Type': 'application/json' }, body: '{"provider":"DHL","trackingCode":"TRACK-123456","url":"https://www.dhl.de/en/privatkunden/dhl-sendungsverfolgung.html?piececode=TRACK-123456","shipmentStatus":"confirmed"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url 'http://api.probatix.localhost/v1/diagnostic_tests/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/shipment_tracking?XDEBUG_SESSION=PHPSTORM' \ --header 'Content-Type: application/json' \ --header 'X-API-TOKEN: <X-API-TOKEN>' \ --header 'accept-language: de' \ --data '{ "provider": "DHL", "trackingCode": "TRACK-123456", "url": "https://www.dhl.de/en/privatkunden/dhl-sendungsverfolgung.html?piececode=TRACK-123456", "shipmentStatus": "confirmed" }'Creates or updates shipment tracking for the Customer -> Lab shipment of the DiagnosticTest.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”ShipmentTrackingInput identifier
Header Parameters
Section titled “Header Parameters”Language for Errors and Translatable properties
Example
deQuery Parameters
Section titled “Query Parameters”Xdebug session for debugging
Example
?XDEBUG_SESSION=PHPSTORMRequest Bodyrequired
Section titled “Request Bodyrequired”The new ShipmentTrackingInput resource
object
Shipment provider responsible for the parcel.
Example
DHLOptional carrier tracking code for the shipment.
Example
TRACK-123456Optional tracking URL. If omitted, the system generates one for supported providers when a tracking code is provided.
Example
https://www.dhl.de/en/privatkunden/dhl-sendungsverfolgung.html?piececode=TRACK-123456Optional shipment status to expose together with the tracking data.
Example
in_transitobject
Shipment provider responsible for the parcel.
Example
DHLOptional carrier tracking code for the shipment.
Example
TRACK-123456Optional tracking URL. If omitted, the system generates one for supported providers when a tracking code is provided.
Example
https://www.dhl.de/en/privatkunden/dhl-sendungsverfolgung.html?piececode=TRACK-123456Optional shipment status to expose together with the tracking data.
Example
in_transitResponses
Section titled “Responses”ShipmentTrackingInput resource created
object
IRI of the parent diagnostic order.
IRI of the DiagnosticProduct that was ordered for this test.
IRIs of linked test results, sorted by createdAt. In most patient-facing use cases, the most recent test result is the relevant one. Older results are included for transparency and historical records.
object
object
Laboratory specimen code or sample identifier.
Timestamp when the specimen record was created.
Date when the specimen was collected.
Time of day when the specimen was collected.
Menstrual phase reported at collection time, when applicable.
object
Timestamp when the shipment was created.
Timestamp when the shipment was last updated.
Normalized shipment status for informational purposes only.
Shipment status from the provider please note some Providers are not 100% reliable and will occasionally deliver shipments without status updates.
Timestamp when the patient activated the TestKit.
Timestamp when the specimen arrived in the laboratory.
Timestamp when the DiagnosticTest was created.
Example
{ "diagnosticOrder": "/v1/diagnostic_orders/00112233-4455-6677-8899-aabbccddeeff", "diagnosticProduct": "/v1/diagnostic_products/00112233-4455-6677-8899-aabbccddeeff", "testResults": [ "/v1/test_results/00112233-4455-6677-8899-aabbccddeeff" ], "patient": { "email": "meron.nagy@probatix.de", "firstName": "Jane", "lastName": "Doe", "gender": "M", "dateOfBirth": "1994-01-15", "healthInsuranceDetails": { "countryCode": "DE", "provider": "Example Insurance", "healthInsuranceTypeDE": "GKV" } }, "specimens": [ { "specimenCode": "ABC-123456", "collectionDate": "2026-05-04", "collectionTime": "13:50:00", "menstrualPhaseAtCollection": "follikel" } ], "shipmentTracking": { "provider": "DHL", "trackingCode": "123", "url": "https://www.dhl.de/en/privatkunden/dhl-sendungsverfolgung.html?piececode=123", "shipmentStatus": "confirmed", "providerStatus": { "terminalStatus": true, "name": "DELIVERED", "value": "delivered" } }, "activatedAt": "2026-05-04T10:30:00+00:00", "labIntakeAt": "2026-05-06T07:45:00+00:00"}object
IRI of the parent diagnostic order.
IRI of the DiagnosticProduct that was ordered for this test.
IRIs of linked test results, sorted by createdAt. In most patient-facing use cases, the most recent test result is the relevant one. Older results are included for transparency and historical records.
object
object
Laboratory specimen code or sample identifier.
Timestamp when the specimen record was created.
Date when the specimen was collected.
Time of day when the specimen was collected.
Menstrual phase reported at collection time, when applicable.
object
Timestamp when the shipment was created.
Timestamp when the shipment was last updated.
Normalized shipment status for informational purposes only.
Shipment status from the provider please note some Providers are not 100% reliable and will occasionally deliver shipments without status updates.
Timestamp when the patient activated the TestKit.
Timestamp when the specimen arrived in the laboratory.
Timestamp when the DiagnosticTest was created.
Example
{ "@context": { "hydra": "http://www.w3.org/ns/hydra/core#" }, "diagnosticOrder": "/v1/diagnostic_orders/00112233-4455-6677-8899-aabbccddeeff", "diagnosticProduct": "/v1/diagnostic_products/00112233-4455-6677-8899-aabbccddeeff", "testResults": [ "/v1/test_results/00112233-4455-6677-8899-aabbccddeeff" ], "patient": { "email": "meron.nagy@probatix.de", "firstName": "Jane", "lastName": "Doe", "gender": "M", "dateOfBirth": "1994-01-15", "healthInsuranceDetails": { "countryCode": "DE", "provider": "Example Insurance", "healthInsuranceTypeDE": "GKV" } }, "specimens": [ { "specimenCode": "ABC-123456", "collectionDate": "2026-05-04", "collectionTime": "13:50:00", "menstrualPhaseAtCollection": "follikel" } ], "shipmentTracking": { "provider": "DHL", "trackingCode": "123", "url": "https://www.dhl.de/en/privatkunden/dhl-sendungsverfolgung.html?piececode=123", "shipmentStatus": "confirmed", "providerStatus": { "terminalStatus": true, "name": "DELIVERED", "value": "delivered" } }, "activatedAt": "2026-05-04T10:30:00+00:00", "labIntakeAt": "2026-05-06T07:45:00+00:00"}Invalid input
A representation of common errors.
object
A short, human-readable summary of the problem.
A human-readable explanation specific to this occurrence of the problem.
A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
A URI reference that identifies the problem type
Example
{ "@context": { "hydra": "http://www.w3.org/ns/hydra/core#" }, "status": 400}A representation of common errors.
object
A short, human-readable summary of the problem.
A human-readable explanation specific to this occurrence of the problem.
A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
A URI reference that identifies the problem type
Example
{ "status": 400}A representation of common errors.
object
A short, human-readable summary of the problem.
A human-readable explanation specific to this occurrence of the problem.
A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
A URI reference that identifies the problem type
Example
{ "status": 400}Unauthorized
A representation of common errors.
object
A short, human-readable summary of the problem.
A human-readable explanation specific to this occurrence of the problem.
A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
A URI reference that identifies the problem type
Example
{ "@context": { "hydra": "http://www.w3.org/ns/hydra/core#" }, "status": 400}A representation of common errors.
object
A short, human-readable summary of the problem.
A human-readable explanation specific to this occurrence of the problem.
A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
A URI reference that identifies the problem type
Example
{ "status": 400}A representation of common errors.
object
A short, human-readable summary of the problem.
A human-readable explanation specific to this occurrence of the problem.
A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
A URI reference that identifies the problem type
Example
{ "status": 400}Forbidden
A representation of common errors.
object
A short, human-readable summary of the problem.
A human-readable explanation specific to this occurrence of the problem.
A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
A URI reference that identifies the problem type
Example
{ "@context": { "hydra": "http://www.w3.org/ns/hydra/core#" }, "status": 400}A representation of common errors.
object
A short, human-readable summary of the problem.
A human-readable explanation specific to this occurrence of the problem.
A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
A URI reference that identifies the problem type
Example
{ "status": 400}A representation of common errors.
object
A short, human-readable summary of the problem.
A human-readable explanation specific to this occurrence of the problem.
A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
A URI reference that identifies the problem type
Example
{ "status": 400}An error occurred
Unprocessable entity
object
object
The property path of the violation
The message associated with the violation
The code of the violation
An extra hint to understand the violation
The serialized payload of the violation
object
Example
{ "@context": { "hydra": "http://www.w3.org/ns/hydra/core#" }, "status": 422}Unprocessable entity
object
object
The property path of the violation
The message associated with the violation
The code of the violation
An extra hint to understand the violation
The serialized payload of the violation
object
Example
{ "status": 422}Unprocessable entity
object
object
The property path of the violation
The message associated with the violation
The code of the violation
An extra hint to understand the violation
The serialized payload of the violation
object
Example
{ "status": 422}