API endpoints for managing manifests and their associated assets/pallets.
A manifest is a container that groups assets/pallets for tracking purposes.
Allocate zimarker code(s) on demand for the calling organization, each with a printable, inline base64 marker image. Allocation is synchronous, atomic, and exactly-once per organization.
Render a zimarker code's marker image on demand. Public, stateless, and addressable by code at a stable URL — no authentication required.
Required. Caller-assigned shipment external identifier, unique per organization within the Shipment namespace. May collide with Manifest external identifiers (independent namespaces).
Gate to attach at create time. Accepts the gate external identifier OR internal UUID.
Required. List of manifest references to attach at create. Must be non-empty. Each manifest must be in PLANNED status and not already attached to another shipment.
https://docs.zimark.link/_mock/api/integration/rest/api/v1/shipment
https://api.zimark-staging.link/integration/rest/api/v1/shipment
https://api.zimark.link/integration/rest/api/v1/shipment
curl -i -X POST \
https://docs.zimark.link/_mock/api/integration/rest/api/v1/shipment \
-H 'Content-Type: application/json' \
-H 'X-AUTH-KEY: YOUR_API_KEY_HERE' \
-d '{
"identifier": "string",
"gateIdentifier": "string",
"notes": "string",
"manifests": [
{
"manifestExternalId": "string",
"manifestUuid": "string"
}
],
"customFields": [
{
"deepLink": "string",
"fieldKey": "string",
"fieldValue": "string"
}
]
}'OK
Caller-assigned external identifier, unique per organization within the Shipment namespace.
Lifecycle status of the shipment. PENDING_COMPLETION is a readable system-managed state, not a manual write target.
Planning view: total pallets (assets) currently included across this shipment's manifests, regardless of loading state. For Total/Loaded execution counts use totalAssetsCount and loadedAssetsCount.
Total assets attached to the shipment, excluding invalid loadings (WRONGLY_LOADED, UNKNOWN_LOADING) and records belonging to cancelled manifests.
Successfully loaded assets, excluding invalid loadings and records belonging to cancelled manifests.
Timestamp when the shipment transitioned to IN_PROGRESS, null if not yet activated.
Timestamp when the shipment transitioned to a terminal status (COMPLETED or CANCELLED), null if still active.
Stored server-authoritative auto-completion deadline, serialized as epoch milliseconds. Present only while the shipment is in PENDING_COMPLETION; omitted otherwise.
Custom field values set on this shipment. Omitted when the organization's dispatch strategy is not SHIPMENT.
Pallets that have departed on closed loading rounds. Present only when Partial Shipment is enabled for the organization.
Round number of the currently open loading round; absent when no round is open. Present only when Partial Shipment is enabled for the organization.
Total loading rounds recorded for the shipment. Present only when Partial Shipment is enabled for the organization.
Link to the public evidence page of the shipment's Proof of Shipment. Absent until the shipment is COMPLETED and a Proof of Shipment has been recorded, and when the organization has no configured domain. Not included in the shipment list. The link expires — see the Integration API documentation for its lifetime.
Link to the public Shipment Summary page of this shipment. Present only once the shipment is COMPLETED, and absent when the organization has no configured domain. The link expires — see the Integration API documentation for its lifetime.
Unified status-update endpoint mirroring ManifestIntegrationController#updateManifestStatus. Accepts IN_PROGRESS (activate, resume, or reopen from PENDING_COMPLETION; requires a gate), PARTIALLY_SHIPPED (close the current truck, release the gate, keep all loading data — requires the Partial Shipment setting, at least one LOADED pallet, and no invalid loadings), COMPLETED (from IN_PROGRESS, PENDING_COMPLETION, or PARTIALLY_SHIPPED), CANCELLED, or TO_DO (reset). PENDING_COMPLETION is a system-only target and is rejected when supplied here, even though it is returned by read endpoints. Unknown status values return 400. Distinguishable failures: 403 PARTIAL_SHIPMENT_DISABLED, 400 NO_LOADED_PALLET, 400 INVALID_LOADINGS_PRESENT, 400 INVALID_STATUS_TRANSITION. Repeating an already-applied status (including PARTIALLY_SHIPPED) is an idempotent no-op that returns 204 without error.
https://docs.zimark.link/_mock/api/integration/rest/api/v1/shipment/{shipmentExternalId}/status/{shipmentStatus}
https://api.zimark-staging.link/integration/rest/api/v1/shipment/{shipmentExternalId}/status/{shipmentStatus}
https://api.zimark.link/integration/rest/api/v1/shipment/{shipmentExternalId}/status/{shipmentStatus}
curl -i -X POST \
'https://docs.zimark.link/_mock/api/integration/rest/api/v1/shipment/SHIP-2024-001/status/{shipmentStatus}' \
-H 'X-AUTH-KEY: YOUR_API_KEY_HERE'List of manifest references to attach. Exactly one of manifestExternalId / manifestUuid must be set per reference. The entire batch is rolled back on any single validation failure.
https://docs.zimark.link/_mock/api/integration/rest/api/v1/shipment/{shipmentExternalId}/manifest
https://api.zimark-staging.link/integration/rest/api/v1/shipment/{shipmentExternalId}/manifest
https://api.zimark.link/integration/rest/api/v1/shipment/{shipmentExternalId}/manifest
curl -i -X POST \
https://docs.zimark.link/_mock/api/integration/rest/api/v1/shipment/SHIP-2024-001/manifest \
-H 'Content-Type: application/json' \
-H 'X-AUTH-KEY: YOUR_API_KEY_HERE' \
-d '{
"manifests": [
{
"manifestExternalId": "string",
"manifestUuid": "string"
}
]
}'OK
Caller-assigned external identifier, unique per organization within the Shipment namespace.
Lifecycle status of the shipment. PENDING_COMPLETION is a readable system-managed state, not a manual write target.
Planning view: total pallets (assets) currently included across this shipment's manifests, regardless of loading state. For Total/Loaded execution counts use totalAssetsCount and loadedAssetsCount.
Total assets attached to the shipment, excluding invalid loadings (WRONGLY_LOADED, UNKNOWN_LOADING) and records belonging to cancelled manifests.
Successfully loaded assets, excluding invalid loadings and records belonging to cancelled manifests.
Timestamp when the shipment transitioned to IN_PROGRESS, null if not yet activated.
Timestamp when the shipment transitioned to a terminal status (COMPLETED or CANCELLED), null if still active.
Stored server-authoritative auto-completion deadline, serialized as epoch milliseconds. Present only while the shipment is in PENDING_COMPLETION; omitted otherwise.
Custom field values set on this shipment. Omitted when the organization's dispatch strategy is not SHIPMENT.
Pallets that have departed on closed loading rounds. Present only when Partial Shipment is enabled for the organization.
Round number of the currently open loading round; absent when no round is open. Present only when Partial Shipment is enabled for the organization.
Total loading rounds recorded for the shipment. Present only when Partial Shipment is enabled for the organization.
Link to the public evidence page of the shipment's Proof of Shipment. Absent until the shipment is COMPLETED and a Proof of Shipment has been recorded, and when the organization has no configured domain. Not included in the shipment list. The link expires — see the Integration API documentation for its lifetime.
Link to the public Shipment Summary page of this shipment. Present only once the shipment is COMPLETED, and absent when the organization has no configured domain. The link expires — see the Integration API documentation for its lifetime.