Ship24 Tracking
Track parcels across 2,500+ carriers and 3PLs: live delivery status, event history, carrier lookup.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (1)
- LOWin download_webhook_history
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"tracking-mcp": {
"url": "https://api.ship24.com/mcp"
}
}
}Remote-Endpunkte
https://api.ship24.com/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (12)
🟡create_tracker(trackingNumber, shipmentReference, clientTrackerId, originCountryCode, destinationCountryCode, ...)
Creates a new tracker for a tracking number. Use when the user explicitly wants ongoing monitoring or webhook updates; results arrive asynchronously — for immediate results use track or search_tracking. Idempotent: same parameters reuse the existing tracker; any field change creates a new one. Subscribes to webhook updates if configured. Returns the created tracker including its Ship24 trackerId.
Eingabe-Schema
{
"type": "object",
"properties": {
"trackingNumber": {
"type": "string",
"minLength": 1,
"description": "Tracking number to monitor."
},
"shipmentReference": {
"description": "Internal reference for the shipment.",
"type": "string"
},
"clientTrackerId": {
"description": "Your unique identifier for this tracker, for lookup via searchBy=clientTrackerId.",
"type": "string"
},
"originCountryCode": {
"description": "Origin country code (ISO alpha-2, e.g. US).",
"type": "string",
"minLength": 2,
"maxLength": 2
},
"destinationCountryCode": {
"description": "Destination country code (ISO alpha-2).",
"type": "string",
"minLength": 2,
"maxLength": 2
},
"destinationPostCode": {
"description": "Destination postal/ZIP code.",
"type": "string"
},
"shippingDate": {
"description": "Date the package was shipped (YYYY-MM-DD or ISO 8601).",
"type": "string"
},
"courierCode": {
"description": "Courier codes for this tracker (max 3). Use get_couriers for valid codes. IMPORTANT: Check each courier's requiredFields array — any listed fields should be provided, otherwise the courier may not return any tracking data.",
"maxItems": 3,
"type": "array",
"items": {
"type": "string"
}
},
"courierName": {
"description": "Courier name (informational).",
"type": "string"
},
"trackingUrl": {
"description": "Courier tracking URL.",
"type": "string",
"format": "uri"
},
"orderNumber": {
"description": "Associated order number.",
"type": "string"
},
"settings": {
"type": "object",
"properties": {
"restrictTrackingToCourierCode": {
"description": "When true, tracking is restricted to the specified courierCode(s) only.",
"type": "boolean"
}
}
}
},
"required": [
"trackingNumber"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"tracker": {
"anyOf": [
{
"type": "object",
"properties": {
"trackerId": {
"description": "Ship24 tracker identifier; pass this to get_tracking_results.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"trackingNumber": {
"description": "Tracking number this tracker follows.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"shipmentReference": {
"description": "Your own shipment reference, as supplied at creation.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"courierCode": {
"description": "Courier code(s) pinned on this tracker.",
"anyOf": [
{
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
]
},
"clientTrackerId": {
"description": "Your own tracker identifier, usable with searchBy=clientTrackerId.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"isSubscribed": {
"description": "False means the tracker is archived and no longer used for tracking.",
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"isTracked": {
"description": "False means tracking stopped (delivered, inactive or unsubscribed); existing results remain.",
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"createdAt": {
"description": "When the tracker was created.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
],
"description": "The tracker."
}
},
"required": [
"tracker"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": {}
}🟢list_trackers(page, limit, sort)
Returns a paginated list of all trackers. Supports offset (page/limit) or cursor-based pagination. Filter by subscription status with isSubscribed.
Eingabe-Schema
{
"type": "object",
"properties": {
"page": {
"description": "Page number (1-indexed).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"limit": {
"description": "Results per page (max 500).",
"type": "integer",
"minimum": 1,
"maximum": 500
},
"sort": {
"description": "Sort order by createdAt. 1 = ascending (oldest first, default), -1 = descending (newest first).",
"anyOf": [
{
"type": "number",
"const": 1
},
{
"type": "number",
"const": -1
}
]
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"trackers": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"trackerId": {
"description": "Ship24 tracker identifier; pass this to get_tracking_results.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"trackingNumber": {
"description": "Tracking number this tracker follows.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"shipmentReference": {
"description": "Your own shipment reference, as supplied at creation.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"courierCode": {
"description": "Courier code(s) pinned on this tracker.",
"anyOf": [
{
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
]
},
"clientTrackerId": {
"description": "Your own tracker identifier, usable with searchBy=clientTrackerId.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"isSubscribed": {
"description": "False means the tracker is archived and no longer used for tracking.",
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"isTracked": {
"description": "False means tracking stopped (delivered, inactive or unsubscribed); existing results remain.",
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"createdAt": {
"description": "When the tracker was created.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
}
},
{
"type": "null"
}
],
"description": "Trackers on the requested page."
}
},
"required": [
"trackers"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": {}
}🟡bulk_create_trackers(trackers)
Creates up to 100 trackers in one request. Each tracker object accepts the same fields as create_tracker — see that tool for field details. Not fully idempotent: retrying a failed bulk request may partially create trackers. Returns counts of created, ignored (duplicate), and failed trackers plus per-item details.
Eingabe-Schema
{
"type": "object",
"properties": {
"trackers": {
"minItems": 1,
"maxItems": 100,
"type": "array",
"items": {
"type": "object",
"properties": {
"trackingNumber": {
"type": "string",
"minLength": 1
},
"shipmentReference": {
"type": "string"
},
"clientTrackerId": {
"type": "string"
},
"originCountryCode": {
"type": "string",
"minLength": 2,
"maxLength": 2
},
"destinationCountryCode": {
"type": "string",
"minLength": 2,
"maxLength": 2
},
"destinationPostCode": {
"type": "string"
},
"shippingDate": {
"type": "string"
},
"courierCode": {
"description": "Courier codes for this tracker (max 3). Use get_couriers for valid codes. IMPORTANT: Check each courier's requiredFields array — any listed fields should be provided, otherwise the courier may not return any tracking data.",
"maxItems": 3,
"type": "array",
"items": {
"type": "string"
}
},
"courierName": {
"type": "string"
},
"trackingUrl": {
"type": "string",
"format": "uri"
},
"orderNumber": {
"type": "string"
},
"settings": {
"type": "object",
"properties": {
"restrictTrackingToCourierCode": {
"description": "When true, tracking is restricted to the specified courierCode(s) only.",
"type": "boolean"
}
}
}
},
"required": [
"trackingNumber"
]
},
"description": "Array of tracker objects to create (minimum 1, maximum 100)."
}
},
"required": [
"trackers"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"status": {
"description": "success (all created or already existing) | partial (successes and errors) | error (all failed, or a request-level error).",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"summary": {
"description": "Per-request counts. Null when status is error.",
"anyOf": [
{
"type": "object",
"properties": {
"totalInputs": {
"description": "Total number of trackers submitted.",
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"totalCreated": {
"description": "Number of trackers created.",
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"totalExisting": {
"description": "Number of inputs that matched an existing tracker.",
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"totalErrors": {
"description": "Number of failed creations.",
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"data": {
"description": "Per-item outcome, in submission order. Null when status is error.",
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"itemStatus": {
"description": "created | existing | error.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"inputData": {
"description": "The submitted tracker payload, echoed back."
},
"tracker": {
"description": "The created or existing tracker.",
"anyOf": [
{
"type": "object",
"properties": {
"trackerId": {
"description": "Ship24 tracker identifier; pass this to get_tracking_results.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"trackingNumber": {
"description": "Tracking number this tracker follows.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"shipmentReference": {
"description": "Your own shipment reference, as supplied at creation.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"courierCode": {
"description": "Courier code(s) pinned on this tracker.",
"anyOf": [
{
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
]
},
"clientTrackerId": {
"description": "Your own tracker identifier, usable with searchBy=clientTrackerId.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"isSubscribed": {
"description": "False means the tracker is archived and no longer used for tracking.",
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"isTracked": {
"description": "False means tracking stopped (delivered, inactive or unsubscribed); existing results remain.",
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"createdAt": {
"description": "When the tracker was created.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"errors": {
"description": "Why this item failed. Null unless itemStatus is error.",
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"code": {
"description": "Ship24 error code.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"message": {
"description": "Error message.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
}
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
}
},
{
"type": "null"
}
]
},
"error": {
"description": "Request-level error. Null unless the whole request failed.",
"anyOf": [
{
"type": "object",
"properties": {
"code": {
"description": "Ship24 error code.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"message": {
"description": "Error message.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
}
},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": {}
}🟡track(trackingNumber, shipmentReference, clientTrackerId, originCountryCode, destinationCountryCode, ...)
Creates a persistent tracker on the account AND returns full tracking results synchronously in one call (per-shipment plan). Idempotent: same payload reuses the existing tracker. Prefer search_tracking for one-off lookups when the per-call plan is available. If the returned shipment is still pending with no events, call get_tracking_results once with the returned trackerId before answering. Accepts the same fields as create_tracker — see that tool for field details.
Eingabe-Schema
{
"type": "object",
"properties": {
"trackingNumber": {
"type": "string",
"minLength": 1
},
"shipmentReference": {
"type": "string"
},
"clientTrackerId": {
"type": "string"
},
"originCountryCode": {
"type": "string",
"minLength": 2,
"maxLength": 2
},
"destinationCountryCode": {
"type": "string",
"minLength": 2,
"maxLength": 2
},
"destinationPostCode": {
"type": "string"
},
"shippingDate": {
"type": "string"
},
"courierCode": {
"description": "Courier codes for this tracker (max 3). Use get_couriers for valid codes. IMPORTANT: Check each courier's requiredFields array — any listed fields should be provided, otherwise the courier may not return any tracking data.",
"maxItems": 3,
"type": "array",
"items": {
"type": "string"
}
},
"courierName": {
"type": "string"
},
"trackingUrl": {
"type": "string",
"format": "uri"
},
"orderNumber": {
"type": "string"
},
"settings": {
"type": "object",
"properties": {
"restrictTrackingToCourierCode": {
"description": "When true, tracking is restricted to the specified courierCode(s) only.",
"type": "boolean"
}
}
}
},
"required": [
"trackingNumber"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"trackings": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"tracker": {
"description": "The tracker this result comes from. Absent for search_tracking, which creates no tracker.",
"anyOf": [
{
"type": "object",
"properties": {
"trackerId": {
"description": "Ship24 tracker identifier; pass this to get_tracking_results.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"trackingNumber": {
"description": "Tracking number this tracker follows.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"shipmentReference": {
"description": "Your own shipment reference, as supplied at creation.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"courierCode": {
"description": "Courier code(s) pinned on this tracker.",
"anyOf": [
{
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
]
},
"clientTrackerId": {
"description": "Your own tracker identifier, usable with searchBy=clientTrackerId.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"isSubscribed": {
"description": "False means the tracker is archived and no longer used for tracking.",
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"isTracked": {
"description": "False means tracking stopped (delivered, inactive or unsubscribed); existing results remain.",
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"createdAt": {
"description": "When the tracker was created.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"shipment": {
"description": "General shipment information and current status.",
"anyOf": [
{
"type": "object",
"properties": {
"shipmentId": {
"description": "Unique identifier of the parcel in Ship24.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"statusCode": {
"description": "Ship24 normalised status code for the shipment.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"statusCategory": {
"description": "Ship24 status category for the shipment.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"statusMilestone": {
"description": "Current milestone; same value set as event.statusMilestone.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"originCountryCode": {
"description": "Detected origin country (ISO alpha-2).",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"destinationCountryCode": {
"description": "Detected destination country (ISO alpha-2).",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"delivery": {
"description": "Delivery dates and service level.",
"anyOf": [
{
"type": "object",
"properties": {
"estimatedDeliveryDate": {
"description": "Estimated delivery date, when the courier provides one.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"courierEstimatedDeliveryDate": {
"description": "Window promised by the courier.",
"anyOf": [
{
"type": "object",
"properties": {
"from": {
"description": "Earliest date of the window.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"to": {
"description": "Latest date of the window.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"aiPredictiveDeliveryDate": {
"description": "Ship24 AI-predicted window. Omitted entirely unless enabled on the account.",
"anyOf": [
{
"type": "object",
"properties": {
"from": {
"description": "Earliest date of the window.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"to": {
"description": "Latest date of the window.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"service": {
"description": "Name of the logistics service or product used.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"signedBy": {
"description": "DEPRECATED — always null.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"trackingNumbers": {
"description": "All tracking numbers linked to the shipment.",
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"tn": {
"description": "A tracking number linked to the shipment.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
}
},
{
"type": "null"
}
]
},
"recipient": {
"description": "Recipient details. All fields are nulled unless the account may receive personal data.",
"anyOf": [
{
"type": "object",
"properties": {
"name": {
"description": "Recipient name.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"address": {
"description": "Recipient address.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"postCode": {
"description": "Recipient postal code.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"city": {
"description": "Recipient city.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"subdivision": {
"description": "Recipient state or province.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"events": {
"description": "Tracking events, most recent first.",
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"eventId": {
"description": "Unique identifier of this event in Ship24.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"trackingNumber": {
"description": "The original tracking number used to create the tracker.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"eventTrackingNumber": {
"description": "The tracking number the event was actually found on.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"status": {
"description": "Raw status text as reported by the courier.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"occurrenceDatetime": {
"description": "When the event occurred.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"order": {
"description": "Tie-breaker when several events share the same occurrenceDatetime; lower comes first.",
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"location": {
"description": "Raw location text as reported by the courier.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"sourceCode": {
"description": "Internal code of the source this event came from. These codes may change at any time.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"courierCode": {
"description": "Courier code linked to this event; refers to the get_couriers list.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"statusCode": {
"description": "Ship24 normalised status code for the event.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"statusCategory": {
"description": "Ship24 status category for the event.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"statusMilestone": {
"description": "Milestone at the time of the event: pending | info_received | in_transit | out_for_delivery | failed_attempt | available_for_pickup | delivered | exception.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"datetime": {
"description": "DEPRECATED — use occurrenceDatetime.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"utcOffset": {
"description": "DEPRECATED — the offset is already carried by occurrenceDatetime.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"hasNoTime": {
"description": "DEPRECATED — true when the courier reported a date with no time.",
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
}
},
{
"type": "null"
}
]
},
"statistics": {
"description": "Milestone timestamps for the shipment lifecycle.",
"anyOf": [
{
"type": "object",
"properties": {
"timestamps": {
"description": "When each milestone was first reached; null for milestones never reached.",
"anyOf": [
{
"type": "object",
"properties": {
"infoReceivedDatetime": {
"description": "First occurrence of the info_received milestone.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"inTransitDatetime": {
"description": "First occurrence of the in_transit milestone.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"outForDeliveryDatetime": {
"description": "First occurrence of the out_for_delivery milestone.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"failedAttemptDatetime": {
"description": "First occurrence of the failed_attempt milestone.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"availableForPickupDatetime": {
"description": "First occurrence of the available_for_pickup milestone.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"exceptionDatetime": {
"description": "First occurrence of the exception milestone.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"deliveredDatetime": {
"description": "First occurrence of the delivered milestone.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
}
},
{
"type": "null"
}
],
"description": "One entry per matched tracker or shipment."
}
},
"required": [
"trackings"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": {}
}🟢get_tracker(trackerId, searchBy)
Retrieves a single tracker by trackerId (or clientTrackerId when searchBy is set). Returns tracker metadata only — use get_tracking_results for events and status.
Eingabe-Schema
{
"type": "object",
"properties": {
"trackerId": {
"type": "string",
"minLength": 1,
"description": "Ship24 trackerId, or clientTrackerId when searchBy=\"clientTrackerId\"."
},
"searchBy": {
"description": "How to interpret trackerId: default is Ship24 trackerId, use \"clientTrackerId\" for your own reference.",
"type": "string",
"enum": [
"trackerId",
"clientTrackerId"
]
}
},
"required": [
"trackerId"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"tracker": {
"anyOf": [
{
"type": "object",
"properties": {
"trackerId": {
"description": "Ship24 tracker identifier; pass this to get_tracking_results.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"trackingNumber": {
"description": "Tracking number this tracker follows.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"shipmentReference": {
"description": "Your own shipment reference, as supplied at creation.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"courierCode": {
"description": "Courier code(s) pinned on this tracker.",
"anyOf": [
{
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
]
},
"clientTrackerId": {
"description": "Your own tracker identifier, usable with searchBy=clientTrackerId.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"isSubscribed": {
"description": "False means the tracker is archived and no longer used for tracking.",
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"isTracked": {
"description": "False means tracking stopped (delivered, inactive or unsubscribed); existing results remain.",
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"createdAt": {
"description": "When the tracker was created.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
],
"description": "The tracker."
}
},
"required": [
"tracker"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": {}
}🟡update_tracker(trackerId, searchBy, isSubscribed, courierCode, originCountryCode, ...)
Partially updates a tracker (PATCH). Only provided fields are changed. Common uses: toggling isSubscribed, correcting destination details, or setting a clientTrackerId.
Eingabe-Schema
{
"type": "object",
"properties": {
"trackerId": {
"type": "string",
"minLength": 1,
"description": "The tracker to update (Ship24 trackerId or clientTrackerId)."
},
"searchBy": {
"description": "How to interpret trackerId: default is Ship24 trackerId, use \"clientTrackerId\" for your own reference.",
"type": "string",
"enum": [
"trackerId",
"clientTrackerId"
]
},
"isSubscribed": {
"description": "true to subscribe to webhooks, false to unsubscribe.",
"type": "boolean"
},
"courierCode": {
"description": "Courier codes for this tracker (max 3). Use get_couriers for valid codes. IMPORTANT: Check each courier's requiredFields array — any listed fields should be provided, otherwise the courier may not return any tracking data.",
"maxItems": 3,
"type": "array",
"items": {
"type": "string"
}
},
"originCountryCode": {
"description": "Origin country code (ISO alpha-2). Immutable once tracking data exists.",
"type": "string",
"minLength": 2,
"maxLength": 2
},
"destinationCountryCode": {
"description": "Destination country code (ISO alpha-2). Immutable once tracking data exists.",
"type": "string",
"minLength": 2,
"maxLength": 2
},
"destinationPostCode": {
"type": "string"
},
"shippingDate": {
"description": "Ship date (YYYY-MM-DD or ISO 8601). Immutable once tracking data exists.",
"type": "string"
},
"settings": {
"type": "object",
"properties": {
"restrictTrackingToCourierCode": {
"description": "When true, tracking is restricted to the specified courierCode(s) only.",
"type": "boolean"
}
}
}
},
"required": [
"trackerId"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"tracker": {
"anyOf": [
{
"type": "object",
"properties": {
"trackerId": {
"description": "Ship24 tracker identifier; pass this to get_tracking_results.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"trackingNumber": {
"description": "Tracking number this tracker follows.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"shipmentReference": {
"description": "Your own shipment reference, as supplied at creation.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"courierCode": {
"description": "Courier code(s) pinned on this tracker.",
"anyOf": [
{
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
]
},
"clientTrackerId": {
"description": "Your own tracker identifier, usable with searchBy=clientTrackerId.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"isSubscribed": {
"description": "False means the tracker is archived and no longer used for tracking.",
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"isTracked": {
"description": "False means tracking stopped (delivered, inactive or unsubscribed); existing results remain.",
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"createdAt": {
"description": "When the tracker was created.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
],
"description": "The tracker."
}
},
"required": [
"tracker"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": {}
}🟢get_tracking_results(trackerId, searchBy)
Returns full tracking results for an existing tracker: metadata, shipment status, all events in order, and delivery statistics. Primary tool for "where is my package?" when you have a trackerId. statusMilestone values: pending | info_received | in_transit | out_for_delivery | failed_attempt | available_for_pickup | delivered | exception.
Eingabe-Schema
{
"type": "object",
"properties": {
"trackerId": {
"type": "string",
"minLength": 1,
"description": "Ship24 trackerId, or clientTrackerId when searchBy=\"clientTrackerId\"."
},
"searchBy": {
"description": "How to interpret trackerId: default is Ship24 trackerId, use \"clientTrackerId\" for your own reference.",
"type": "string",
"enum": [
"trackerId",
"clientTrackerId"
]
}
},
"required": [
"trackerId"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"trackings": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"tracker": {
"description": "The tracker this result comes from. Absent for search_tracking, which creates no tracker.",
"anyOf": [
{
"type": "object",
"properties": {
"trackerId": {
"description": "Ship24 tracker identifier; pass this to get_tracking_results.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"trackingNumber": {
"description": "Tracking number this tracker follows.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"shipmentReference": {
"description": "Your own shipment reference, as supplied at creation.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"courierCode": {
"description": "Courier code(s) pinned on this tracker.",
"anyOf": [
{
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
]
},
"clientTrackerId": {
"description": "Your own tracker identifier, usable with searchBy=clientTrackerId.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"isSubscribed": {
"description": "False means the tracker is archived and no longer used for tracking.",
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"isTracked": {
"description": "False means tracking stopped (delivered, inactive or unsubscribed); existing results remain.",
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"createdAt": {
"description": "When the tracker was created.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"shipment": {
"description": "General shipment information and current status.",
"anyOf": [
{
"type": "object",
"properties": {
"shipmentId": {
"description": "Unique identifier of the parcel in Ship24.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"statusCode": {
"description": "Ship24 normalised status code for the shipment.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"statusCategory": {
"description": "Ship24 status category for the shipment.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"statusMilestone": {
"description": "Current milestone; same value set as event.statusMilestone.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"originCountryCode": {
"description": "Detected origin country (ISO alpha-2).",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"destinationCountryCode": {
"description": "Detected destination country (ISO alpha-2).",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"delivery": {
"description": "Delivery dates and service level.",
"anyOf": [
{
"type": "object",
"properties": {
"estimatedDeliveryDate": {
"description": "Estimated delivery date, when the courier provides one.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"courierEstimatedDeliveryDate": {
"description": "Window promised by the courier.",
"anyOf": [
{
"type": "object",
"properties": {
"from": {
"description": "Earliest date of the window.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"to": {
"description": "Latest date of the window.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"aiPredictiveDeliveryDate": {
"description": "Ship24 AI-predicted window. Omitted entirely unless enabled on the account.",
"anyOf": [
{
"type": "object",
"properties": {
"from": {
"description": "Earliest date of the window.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"to": {
"description": "Latest date of the window.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"service": {
"description": "Name of the logistics service or product used.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"signedBy": {
"description": "DEPRECATED — always null.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"trackingNumbers": {
"description": "All tracking numbers linked to the shipment.",
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"tn": {
"description": "A tracking number linked to the shipment.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
}
},
{
"type": "null"
}
]
},
"recipient": {
"description": "Recipient details. All fields are nulled unless the account may receive personal data.",
"anyOf": [
{
"type": "object",
"properties": {
"name": {
"description": "Recipient name.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"address": {
"description": "Recipient address.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"postCode": {
"description": "Recipient postal code.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"city": {
"description": "Recipient city.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"subdivision": {
"description": "Recipient state or province.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"events": {
"description": "Tracking events, most recent first.",
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"eventId": {
"description": "Unique identifier of this event in Ship24.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"trackingNumber": {
"description": "The original tracking number used to create the tracker.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"eventTrackingNumber": {
"description": "The tracking number the event was actually found on.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"status": {
"description": "Raw status text as reported by the courier.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"occurrenceDatetime": {
"description": "When the event occurred.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"order": {
"description": "Tie-breaker when several events share the same occurrenceDatetime; lower comes first.",
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"location": {
"description": "Raw location text as reported by the courier.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"sourceCode": {
"description": "Internal code of the source this event came from. These codes may change at any time.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"courierCode": {
"description": "Courier code linked to this event; refers to the get_couriers list.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"statusCode": {
"description": "Ship24 normalised status code for the event.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"statusCategory": {
"description": "Ship24 status category for the event.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"statusMilestone": {
"description": "Milestone at the time of the event: pending | info_received | in_transit | out_for_delivery | failed_attempt | available_for_pickup | delivered | exception.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"datetime": {
"description": "DEPRECATED — use occurrenceDatetime.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"utcOffset": {
"description": "DEPRECATED — the offset is already carried by occurrenceDatetime.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"hasNoTime": {
"description": "DEPRECATED — true when the courier reported a date with no time.",
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
}
},
{
"type": "null"
}
]
},
"statistics": {
"description": "Milestone timestamps for the shipment lifecycle.",
"anyOf": [
{
"type": "object",
"properties": {
"timestamps": {
"description": "When each milestone was first reached; null for milestones never reached.",
"anyOf": [
{
"type": "object",
"properties": {
"infoReceivedDatetime": {
"description": "First occurrence of the info_received milestone.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"inTransitDatetime": {
"description": "First occurrence of the in_transit milestone.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"outForDeliveryDatetime": {
"description": "First occurrence of the out_for_delivery milestone.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"failedAttemptDatetime": {
"description": "First occurrence of the failed_attempt milestone.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"availableForPickupDatetime": {
"description": "First occurrence of the available_for_pickup milestone.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"exceptionDatetime": {
"description": "First occurrence of the exception milestone.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"deliveredDatetime": {
"description": "First occurrence of the delivered milestone.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
}
},
{
"type": "null"
}
],
"description": "One entry per matched tracker or shipment."
}
},
"required": [
"trackings"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": {}
}🟢search_tracking_by_number(trackingNumber)
Returns existing tracking results for a raw tracking number across trackers already on the account, without needing a trackerId. Free read: never creates a tracker and never triggers a new crawl. Responds 404 tracker_not_found if no tracker exists for that number — in that case use search_tracking (per-call) or track (per-shipment). Use this first when a tracker may already exist.
Eingabe-Schema
{
"type": "object",
"properties": {
"trackingNumber": {
"type": "string",
"minLength": 1,
"description": "The raw shipment tracking number to search for (e.g. 1Z999AA10123456784)."
}
},
"required": [
"trackingNumber"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"trackings": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"tracker": {
"description": "The tracker this result comes from. Absent for search_tracking, which creates no tracker.",
"anyOf": [
{
"type": "object",
"properties": {
"trackerId": {
"description": "Ship24 tracker identifier; pass this to get_tracking_results.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"trackingNumber": {
"description": "Tracking number this tracker follows.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"shipmentReference": {
"description": "Your own shipment reference, as supplied at creation.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"courierCode": {
"description": "Courier code(s) pinned on this tracker.",
"anyOf": [
{
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
]
},
"clientTrackerId": {
"description": "Your own tracker identifier, usable with searchBy=clientTrackerId.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"isSubscribed": {
"description": "False means the tracker is archived and no longer used for tracking.",
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"isTracked": {
"description": "False means tracking stopped (delivered, inactive or unsubscribed); existing results remain.",
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"createdAt": {
"description": "When the tracker was created.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"shipment": {
"description": "General shipment information and current status.",
"anyOf": [
{
"type": "object",
"properties": {
"shipmentId": {
"description": "Unique identifier of the parcel in Ship24.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"statusCode": {
"description": "Ship24 normalised status code for the shipment.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"statusCategory": {
"description": "Ship24 status category for the shipment.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"statusMilestone": {
"description": "Current milestone; same value set as event.statusMilestone.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"originCountryCode": {
"description": "Detected origin country (ISO alpha-2).",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"destinationCountryCode": {
"description": "Detected destination country (ISO alpha-2).",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"delivery": {
"description": "Delivery dates and service level.",
"anyOf": [
{
"type": "object",
"properties": {
"estimatedDeliveryDate": {
"description": "Estimated delivery date, when the courier provides one.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"courierEstimatedDeliveryDate": {
"description": "Window promised by the courier.",
"anyOf": [
{
"type": "object",
"properties": {
"from": {
"description": "Earliest date of the window.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"to": {
"description": "Latest date of the window.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"aiPredictiveDeliveryDate": {
"description": "Ship24 AI-predicted window. Omitted entirely unless enabled on the account.",
"anyOf": [
{
"type": "object",
"properties": {
"from": {
"description": "Earliest date of the window.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"to": {
"description": "Latest date of the window.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"service": {
"description": "Name of the logistics service or product used.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"signedBy": {
"description": "DEPRECATED — always null.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"trackingNumbers": {
"description": "All tracking numbers linked to the shipment.",
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"tn": {
"description": "A tracking number linked to the shipment.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
}
},
{
"type": "null"
}
]
},
"recipient": {
"description": "Recipient details. All fields are nulled unless the account may receive personal data.",
"anyOf": [
{
"type": "object",
"properties": {
"name": {
"description": "Recipient name.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"address": {
"description": "Recipient address.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"postCode": {
"description": "Recipient postal code.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"city": {
"description": "Recipient city.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"subdivision": {
"description": "Recipient state or province.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"events": {
"description": "Tracking events, most recent first.",
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"eventId": {
"description": "Unique identifier of this event in Ship24.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"trackingNumber": {
"description": "The original tracking number used to create the tracker.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"eventTrackingNumber": {
"description": "The tracking number the event was actually found on.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"status": {
"description": "Raw status text as reported by the courier.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"occurrenceDatetime": {
"description": "When the event occurred.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"order": {
"description": "Tie-breaker when several events share the same occurrenceDatetime; lower comes first.",
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"location": {
"description": "Raw location text as reported by the courier.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"sourceCode": {
"description": "Internal code of the source this event came from. These codes may change at any time.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"courierCode": {
"description": "Courier code linked to this event; refers to the get_couriers list.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"statusCode": {
"description": "Ship24 normalised status code for the event.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"statusCategory": {
"description": "Ship24 status category for the event.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"statusMilestone": {
"description": "Milestone at the time of the event: pending | info_received | in_transit | out_for_delivery | failed_attempt | available_for_pickup | delivered | exception.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"datetime": {
"description": "DEPRECATED — use occurrenceDatetime.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"utcOffset": {
"description": "DEPRECATED — the offset is already carried by occurrenceDatetime.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"hasNoTime": {
"description": "DEPRECATED — true when the courier reported a date with no time.",
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
}
},
{
"type": "null"
}
]
},
"statistics": {
"description": "Milestone timestamps for the shipment lifecycle.",
"anyOf": [
{
"type": "object",
"properties": {
"timestamps": {
"description": "When each milestone was first reached; null for milestones never reached.",
"anyOf": [
{
"type": "object",
"properties": {
"infoReceivedDatetime": {
"description": "First occurrence of the info_received milestone.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"inTransitDatetime": {
"description": "First occurrence of the in_transit milestone.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"outForDeliveryDatetime": {
"description": "First occurrence of the out_for_delivery milestone.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"failedAttemptDatetime": {
"description": "First occurrence of the failed_attempt milestone.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"availableForPickupDatetime": {
"description": "First occurrence of the available_for_pickup milestone.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"exceptionDatetime": {
"description": "First occurrence of the exception milestone.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"deliveredDatetime": {
"description": "First occurrence of the delivered milestone.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
}
},
{
"type": "null"
}
],
"description": "One entry per matched tracker or shipment."
}
},
"required": [
"trackings"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": {}
}🟢get_couriers
Returns the list of all couriers supported by Ship24, including their unique courier codes, human-readable names, and any special tracking requirements. Use this tool to discover valid courierCode values before creating or updating trackers, or to help identify which courier handles a particular tracking number format. Note: this endpoint has a rate limit of 1 request/second; cache results when possible.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"couriers": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"courierCode": {
"description": "Value to pass as courierCode when creating or updating a tracker.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"courierName": {
"description": "Human-readable courier name.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"website": {
"description": "The courier public website.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"isPost": {
"description": "True when the courier is a national postal operator.",
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"countryCode": {
"description": "Main country the courier operates in (ISO alpha-2).",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"requiredFields": {
"description": "Extra tracker fields this courier needs for optimal results: destinationPostCode, destinationCountryCode, courierAccount.",
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
]
},
"isDeprecated": {
"description": "True when the courier code is deprecated.",
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
}
},
{
"type": "null"
}
],
"description": "All couriers supported by Ship24."
}
},
"required": [
"couriers"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": {}
}🟢search_tracking(trackingNumber, originCountryCode, destinationCountryCode, destinationPostCode, shippingDate, ...)
Default tool for one-off tracking lookups ('track X', 'where is my package'). Synchronous per-call plan endpoint: returns full results (status, events, statistics) immediately and creates NO tracker on the account. Billed per call. Requires an active per-call plan — if it fails with no_active_subscription, use the track tool instead.
Eingabe-Schema
{
"type": "object",
"properties": {
"trackingNumber": {
"type": "string",
"minLength": 5,
"maxLength": 50,
"pattern": "^[a-zA-Z0-9\\-_/.]*$",
"description": "Tracking number to look up. 5-50 alphanumeric characters, hyphens, underscores, dots, or slashes."
},
"originCountryCode": {
"description": "Origin country code (ISO alpha-2).",
"type": "string",
"minLength": 2,
"maxLength": 2
},
"destinationCountryCode": {
"description": "Destination country code (ISO alpha-2).",
"type": "string",
"minLength": 2,
"maxLength": 2
},
"destinationPostCode": {
"description": "Destination postal/ZIP code.",
"type": "string"
},
"shippingDate": {
"description": "Date the package was shipped (YYYY-MM-DD or ISO 8601).",
"type": "string"
},
"courierCode": {
"description": "Courier codes for this tracker (max 3). Use get_couriers for valid codes. IMPORTANT: Check each courier's requiredFields array — any listed fields should be provided, otherwise the courier may not return any tracking data.",
"maxItems": 3,
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"trackingNumber"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"trackings": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"tracker": {
"description": "The tracker this result comes from. Absent for search_tracking, which creates no tracker.",
"anyOf": [
{
"type": "object",
"properties": {
"trackerId": {
"description": "Ship24 tracker identifier; pass this to get_tracking_results.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"trackingNumber": {
"description": "Tracking number this tracker follows.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"shipmentReference": {
"description": "Your own shipment reference, as supplied at creation.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"courierCode": {
"description": "Courier code(s) pinned on this tracker.",
"anyOf": [
{
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "string"
}
]
},
{
"type": "null"
}
]
},
"clientTrackerId": {
"description": "Your own tracker identifier, usable with searchBy=clientTrackerId.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"isSubscribed": {
"description": "False means the tracker is archived and no longer used for tracking.",
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"isTracked": {
"description": "False means tracking stopped (delivered, inactive or unsubscribed); existing results remain.",
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"createdAt": {
"description": "When the tracker was created.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"shipment": {
"description": "General shipment information and current status.",
"anyOf": [
{
"type": "object",
"properties": {
"shipmentId": {
"description": "Unique identifier of the parcel in Ship24.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"statusCode": {
"description": "Ship24 normalised status code for the shipment.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"statusCategory": {
"description": "Ship24 status category for the shipment.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"statusMilestone": {
"description": "Current milestone; same value set as event.statusMilestone.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"originCountryCode": {
"description": "Detected origin country (ISO alpha-2).",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"destinationCountryCode": {
"description": "Detected destination country (ISO alpha-2).",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"delivery": {
"description": "Delivery dates and service level.",
"anyOf": [
{
"type": "object",
"properties": {
"estimatedDeliveryDate": {
"description": "Estimated delivery date, when the courier provides one.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"courierEstimatedDeliveryDate": {
"description": "Window promised by the courier.",
"anyOf": [
{
"type": "object",
"properties": {
"from": {
"description": "Earliest date of the window.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"to": {
"description": "Latest date of the window.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"aiPredictiveDeliveryDate": {
"description": "Ship24 AI-predicted window. Omitted entirely unless enabled on the account.",
"anyOf": [
{
"type": "object",
"properties": {
"from": {
"description": "Earliest date of the window.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"to": {
"description": "Latest date of the window.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"service": {
"description": "Name of the logistics service or product used.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"signedBy": {
"description": "DEPRECATED — always null.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"trackingNumbers": {
"description": "All tracking numbers linked to the shipment.",
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"tn": {
"description": "A tracking number linked to the shipment.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
}
},
{
"type": "null"
}
]
},
"recipient": {
"description": "Recipient details. All fields are nulled unless the account may receive personal data.",
"anyOf": [
{
"type": "object",
"properties": {
"name": {
"description": "Recipient name.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"address": {
"description": "Recipient address.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"postCode": {
"description": "Recipient postal code.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"city": {
"description": "Recipient city.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"subdivision": {
"description": "Recipient state or province.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"events": {
"description": "Tracking events, most recent first.",
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"eventId": {
"description": "Unique identifier of this event in Ship24.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"trackingNumber": {
"description": "The original tracking number used to create the tracker.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"eventTrackingNumber": {
"description": "The tracking number the event was actually found on.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"status": {
"description": "Raw status text as reported by the courier.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"occurrenceDatetime": {
"description": "When the event occurred.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"order": {
"description": "Tie-breaker when several events share the same occurrenceDatetime; lower comes first.",
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"location": {
"description": "Raw location text as reported by the courier.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"sourceCode": {
"description": "Internal code of the source this event came from. These codes may change at any time.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"courierCode": {
"description": "Courier code linked to this event; refers to the get_couriers list.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"statusCode": {
"description": "Ship24 normalised status code for the event.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"statusCategory": {
"description": "Ship24 status category for the event.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"statusMilestone": {
"description": "Milestone at the time of the event: pending | info_received | in_transit | out_for_delivery | failed_attempt | available_for_pickup | delivered | exception.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"datetime": {
"description": "DEPRECATED — use occurrenceDatetime.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"utcOffset": {
"description": "DEPRECATED — the offset is already carried by occurrenceDatetime.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"hasNoTime": {
"description": "DEPRECATED — true when the courier reported a date with no time.",
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
}
},
{
"type": "null"
}
]
},
"statistics": {
"description": "Milestone timestamps for the shipment lifecycle.",
"anyOf": [
{
"type": "object",
"properties": {
"timestamps": {
"description": "When each milestone was first reached; null for milestones never reached.",
"anyOf": [
{
"type": "object",
"properties": {
"infoReceivedDatetime": {
"description": "First occurrence of the info_received milestone.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"inTransitDatetime": {
"description": "First occurrence of the in_transit milestone.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"outForDeliveryDatetime": {
"description": "First occurrence of the out_for_delivery milestone.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"failedAttemptDatetime": {
"description": "First occurrence of the failed_attempt milestone.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"availableForPickupDatetime": {
"description": "First occurrence of the available_for_pickup milestone.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"exceptionDatetime": {
"description": "First occurrence of the exception milestone.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"deliveredDatetime": {
"description": "First occurrence of the delivered milestone.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
}
},
{
"type": "null"
}
],
"description": "One entry per matched tracker or shipment."
}
},
"required": [
"trackings"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": {}
}🔴resend_webhooks(trackerId, searchBy)
Replays all webhook events for a tracker. Use when your endpoint missed or failed to process previous notifications. Terminates any in-flight webhook delivery for this tracker and invalidates its existing webhook payload records before regenerating and resending them — do not call repeatedly in quick succession. Rate-limited to 1 request/second per tracker.
Eingabe-Schema
{
"type": "object",
"properties": {
"trackerId": {
"type": "string",
"minLength": 1,
"description": "Ship24 trackerId, or clientTrackerId when searchBy=\"clientTrackerId\"."
},
"searchBy": {
"description": "How to interpret trackerId: default is Ship24 trackerId, use \"clientTrackerId\" for your own reference.",
"type": "string",
"enum": [
"trackerId",
"clientTrackerId"
]
}
},
"required": [
"trackerId"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"summary": {
"anyOf": [
{
"type": "object",
"properties": {
"totalResent": {
"description": "Number of webhook events queued for resending.",
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
],
"description": "Outcome of the webhook replay."
}
},
"required": [
"summary"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": {}
}🟢download_webhook_history(trackerId, searchBy)
Retrieves the full webhook push history for a tracker. Returns metadata (trackingNumber, trackerId, clientTrackerId, webhookUrl, lastSuccessfulPushAt, lastFailedPushAt) and a list of all sent or failed pushes with status, pushTimestamp, requestBody, responseBody, responseHeaders, and responseStatusCode. Pending (unsent) webhooks are excluded. Results are sorted newest first. Rate-limited to 1 request/second per tracker.
Eingabe-Schema
{
"type": "object",
"properties": {
"trackerId": {
"type": "string",
"minLength": 1,
"description": "Ship24 trackerId, or clientTrackerId when searchBy=\"clientTrackerId\"."
},
"searchBy": {
"description": "How to interpret trackerId: default is Ship24 trackerId, use \"clientTrackerId\" for your own reference.",
"type": "string",
"enum": [
"trackerId",
"clientTrackerId"
]
}
},
"required": [
"trackerId"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"metadata": {
"description": "Tracker and webhook endpoint context.",
"anyOf": [
{
"type": "object",
"properties": {
"trackingNumber": {
"description": "Tracking number of the shipment.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"trackerId": {
"description": "Ship24 tracker identifier.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"clientTrackerId": {
"description": "Your own tracker identifier, if set.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"webhookUrl": {
"description": "The webhook URL the pushes were delivered to.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"lastSuccessfulPushAt": {
"description": "Most recent successful delivery.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"lastFailedPushAt": {
"description": "Most recent failed delivery attempt.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"webhooks": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"status": {
"description": "success or failed.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"pushTimestamp": {
"description": "When the delivery was attempted.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"requestBody": {
"description": "The payload Ship24 sent."
},
"responseBody": {
"description": "The body returned by the webhook endpoint."
},
"responseHeaders": {
"description": "The headers returned by the webhook endpoint."
},
"responseStatusCode": {
"description": "HTTP status returned by the webhook endpoint.",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
}
},
{
"type": "null"
}
],
"description": "Sent and failed pushes, newest first. Pending webhooks are excluded."
}
},
"required": [
"webhooks"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": {}
}Community
Nachweis