{"items":[{"type":"link","label":"Trackonomy External API","link":"/external-api/trackonomy-external-api","routeSlug":"/external-api/trackonomy-external-api","content":{"contentType":"overview","meta":{"name":"Trackonomy External API"},"children":[{"nodeType":"container","panels":[{"title":"Download OpenAPI description","titleTranslationKey":"download.description.title","children":[{"kind":"download","label":"trackonomy-external-api.json","url":"/_bundle/external-api/@v1.8/trackonomy-external-api.json?download"},{"kind":"download","label":"trackonomy-external-api.yaml","url":"/_bundle/external-api/@v1.8/trackonomy-external-api.yaml?download"}]},{"title":"Overview","titleTranslationKey":"info.title","children":[{"kind":"externallink","title":"URL","titleTranslationKey":"info.contact.url","label":"https://trackonomy.ai/contact-us/","url":"https://trackonomy.ai/contact-us/"},{"kind":"email","title":"Developer Support","email":"developers@trackonomysystems.com","label":"developers@trackonomysystems.com","withCopyButton":true,"copyContent":"developers@trackonomysystems.com"}]},{"title":"Languages","titleTranslationKey":"languages.title","children":[{"kind":"languages","options":[{"key":"curl","title":"curl","lang":"curl"},{"key":"javascript","title":"JavaScript","lang":"JavaScript"},{"key":"node","title":"Node.js","lang":"Node.js"},{"key":"python","title":"Python","lang":"Python"},{"key":"java","title":"Java","lang":"Java"},{"key":"csharp","title":"C#","lang":"C#"},{"key":"php","title":"PHP","lang":"PHP"},{"key":"go","title":"Go","lang":"Go"},{"key":"ruby","title":"Ruby","lang":"Ruby"},{"key":"r","title":"R","lang":"R"},{"key":"payload","title":"Payload","lang":"Payload"}]}]},{"title":"Servers","titleTranslationKey":"servers.title","children":[{"kind":"servers","servers":[{"url":"/_mock/external-api/trackonomy-external-api","description":"Mock server","isMockServer":true},{"url":"https://api.trackonomy.com","description":"Production"},{"url":"https://ppe.api.trackonomy.com","description":"PPE (integration testing)"}],"mode":"default"}]}],"children":[{"nodeType":"overview-section-wrapper","children":[{"nodeType":"header","level":1,"label":"Trackonomy External API (2.2)","showPageActions":true},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The Trackonomy External API lets you label and manage Trackonomy devices, decode their BLE packets, read the latest location and environmental data of tracked assets, and send integration messages from your systems."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"*"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Label"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" devices to activate them on the Trackonomy platform, edit labels, and look labels up: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"POST"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"PUT"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /external/v1/devices/label"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Deactivate"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" devices: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"POST /external/v1/devices/status"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Configure"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" devices' firmware settings and metadata: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"POST /external/v1/devices/config"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Decode"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" Trackonomy BLE packets: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"POST /external/v1/devices/{mac_id}/decode"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"POST /external/v1/devices/decode"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Read"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" the latest location and environmental data of an asset: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /external/locations/{asset_id}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Send"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" integration messages (manifests, milestones, partner updates): "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"POST /external/messages"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Note: all cURL requests in this reference are examples."},"children":[]}]}]}]}],"sectionId":"/external-api/trackonomy-external-api"}],"sectionId":"/external-api/trackonomy-external-api"},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":2,"id":"section/environments"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Environments"},"children":[]}]}]},{"$$mdtype":"Node","type":"table","attributes":{},"children":[{"$$mdtype":"Node","type":"thead","attributes":{},"children":[{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Environment"},"children":[]}]}]},{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use"},"children":[]}]}]},{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Base URL"},"children":[]}]}]},{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Token URL, client ID and audience"},"children":[]}]}]}]}]},{"$$mdtype":"Node","type":"tbody","attributes":{},"children":[{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"PPE"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Integration testing"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"https://ppe.api.trackonomy.com"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Issued with your PPE credentials."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Production"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Live devices"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"https://api.trackonomy.com"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Issued with your production credentials."},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Each environment has its own token URL, client ID, audience and credentials. A token issued for one environment is rejected by the other. Paths in this reference are appended to the base URL exactly as written."},"children":[]}]}]}]}],"sectionId":"/external-api/trackonomy-external-api/section/environments"},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":2,"id":"section/authentication"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authentication"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Trackonomy issues you an API identity during onboarding, together with the token URL and audience for each environment. Request an access token from the token URL, then send it on every call as a bearer token. Cache the token until it expires, and request a new one if a call returns "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"401"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}],"sectionId":"/external-api/trackonomy-external-api/section/authentication"},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":3,"id":"section/request-a-token"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Request a token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the password grant with the username, password, client ID and audience issued to you for that environment."},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"POST <token_url>\nContent-Type: application/x-www-form-urlencoded\n\ngrant_type=password\n&username=<username>\n&password=<password>\n&client_id=<client_id>\n&audience=<audience>\n"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"POST <token_url>\nContent-Type: application/x-www-form-urlencoded\n\ngrant_type=password\n&username=<username>\n&password=<password>\n&client_id=<client_id>\n&audience=<audience>\n"},"children":[]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"200 OK\n{\n  \"access_token\": \"eyJhbGciOi...\",\n  \"token_type\": \"Bearer\",\n  \"expires_in\": 86400\n}\n"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"200 OK\n{\n  \"access_token\": \"eyJhbGciOi...\",\n  \"token_type\": \"Bearer\",\n  \"expires_in\": 86400\n}\n"},"children":[]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"expires_in"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is in seconds; the value shown is an example."},"children":[]}]}]}]}],"sectionId":"/external-api/trackonomy-external-api/section/request-a-token"},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":3,"id":"section/call-the-api"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call the API"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"Authorization: Bearer <access_token>\nContent-Type: application/json\n"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"Authorization: Bearer <access_token>\nContent-Type: application/json\n"},"children":[]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Label, edit label, get labels, deactivate and configuration"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" resolve your account from the access token, so no other identity headers are needed. If your API identity has access to more than one account, also send "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"customer_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"authorized_group"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to choose one."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Decode, locations and messages"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" take your account from the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"customer_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"authorized_groups"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" headers, which each of those operations lists."},"children":[]}]}]}]}],"sectionId":"/external-api/trackonomy-external-api/section/call-the-api"},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":3,"id":"section/permissions"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Permissions"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Each endpoint requires a specific permission on your API identity. Trackonomy configures these during onboarding, and they are carried in the access token. If a call returns "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"401"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" even with a fresh token, your identity may not be granted that action: contact your Trackonomy integration contact."},"children":[]}]}]}]}],"sectionId":"/external-api/trackonomy-external-api/section/permissions"},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":2,"id":"section/conventions"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Conventions"},"children":[]}]}]},{"$$mdtype":"Node","type":"table","attributes":{},"children":[{"$$mdtype":"Node","type":"thead","attributes":{},"children":[{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Topic"},"children":[]}]}]},{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Behaviour"},"children":[]}]}]}]}]},{"$$mdtype":"Node","type":"tbody","attributes":{},"children":[{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Rate limit"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Label, edit label, get labels, deactivate and configuration share one limit: 10 requests per fixed 60-second window per API identity. Requests later rejected with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"401"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for a missing permission also count. Over the limit returns "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"429 {\"message\": \"Too many requests\"}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Decode, locations and messages have no per-identity limit. Contact Trackonomy if your volume needs a higher limit."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Batch sizes"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Label, edit label and get labels: 1 to 20 devices. Deactivate and configuration: 1 to 100 devices. Bulk decode: up to 250 packets. In label, edit label, deactivate and configuration requests a QR code may appear only once; in bulk decode each "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"mac_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" may appear only once."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Partial success"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Multi-device calls return "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"207 Multi-Status"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when some devices succeed and others fail. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"errors"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" holds one "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{ \"qrcode\", \"error_code\" }"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" per failed device; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"successful"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"failed"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" are counts. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"207"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is also returned when every device failed, except for label: when every device fails with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"QRMAC_NOT_FOUND"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" the response is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" with the same body. An empty "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"errors"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" array means every device succeeded. Branch on "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"error_code"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", never on "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"message"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Error responses"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Whole-request failures return a JSON body with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"message"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"code"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"429"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" carries only "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"message"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Validation failures return "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400 {\"message\": \"Validation failed\", \"code\": 400, \"errors\": [...]}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and nothing is changed. A missing, expired or wrong-environment token, a token without the required permission, a body that isn't valid JSON, or a body over 50 MB returns "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"401 {\"message\": \"Unauthorized access\", \"code\": 401}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retries"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retry "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"429"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"500"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"503"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and timeouts with exponential backoff. See each operation for whether a retry is safe."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Idempotency: label"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"No idempotency key. Labelling an already-labelled device returns "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ALREADY_LABELLED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for that device; send "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"override: true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to update its label instead."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Idempotency: deactivate"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"No idempotency key. Deactivating an already "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DEACTIVATED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" device returns "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ALREADY_IN_TARGET_STATE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; treat it as success."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Request IDs"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Send an optional "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"correlation_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header on any call so Trackonomy support can trace it."},"children":[]}]}]}]}]}]}]}],"sectionId":"/external-api/trackonomy-external-api/section/conventions"},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":2,"id":"section/device-lifecycle"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Device lifecycle"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Labelling activates a device; deactivation takes it out of service. The main states are:"},"children":[]}]}]},{"$$mdtype":"Node","type":"table","attributes":{},"children":[{"$$mdtype":"Node","type":"thead","attributes":{},"children":[{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Status"},"children":[]}]}]},{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Meaning"},"children":[]}]}]},{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"How it gets there"},"children":[]}]}]}]}]},{"$$mdtype":"Node","type":"tbody","attributes":{},"children":[{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"NOT_ACTIVATED"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Registered by Trackonomy but not labelled, so not linked to your account."},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Before labelling."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ACTIVATED"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Labelled and linked to your account; its events are processed."},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"POST /external/v1/devices/label"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DEACTIVATED"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"No longer active."},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"POST /external/v1/devices/status"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DEACTIVATE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /external/v1/devices/label"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" can also report "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"FORCE_ACTIVATED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ACTIVE_WITH_NO_ALERTS"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"REJECTED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"REUSE_OR_EXPIRED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", which Trackonomy sets."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"*"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Labelling an already-labelled device without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"override"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" returns "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ALREADY_LABELLED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DEACTIVATE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" succeeds for "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ACTIVATED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"FORCE_ACTIVATED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ACTIVE_WITH_NO_ALERTS"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" devices. A "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DEACTIVATED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" device returns "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ALREADY_IN_TARGET_STATE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; any other status returns "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"INVALID_TRANSITION"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Labelling a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DEACTIVATED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" device with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"override: true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" updates its label but does "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"not"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" reactivate it. This API documents no reactivation action; to reactivate a device, contact Trackonomy."},"children":[]}]}]}]}]}],"sectionId":"/external-api/trackonomy-external-api/section/device-lifecycle"}]}]}},{"type":"link","label":"Environments","link":"/external-api/trackonomy-external-api/section/environments","routeSlug":"/external-api/trackonomy-external-api/section/environments","content":null},{"type":"link","label":"Authentication","link":"/external-api/trackonomy-external-api/section/authentication","routeSlug":"/external-api/trackonomy-external-api/section/authentication","content":null},{"type":"link","label":"Request a token","link":"/external-api/trackonomy-external-api/section/request-a-token","routeSlug":"/external-api/trackonomy-external-api/section/request-a-token","content":null},{"type":"link","label":"Call the API","link":"/external-api/trackonomy-external-api/section/call-the-api","routeSlug":"/external-api/trackonomy-external-api/section/call-the-api","content":null},{"type":"link","label":"Permissions","link":"/external-api/trackonomy-external-api/section/permissions","routeSlug":"/external-api/trackonomy-external-api/section/permissions","content":null},{"type":"link","label":"Conventions","link":"/external-api/trackonomy-external-api/section/conventions","routeSlug":"/external-api/trackonomy-external-api/section/conventions","content":null},{"type":"link","label":"Device lifecycle","link":"/external-api/trackonomy-external-api/section/device-lifecycle","routeSlug":"/external-api/trackonomy-external-api/section/device-lifecycle","content":null},{"type":"group","label":"Locations","link":"/external-api/trackonomy-external-api/locations","routeSlug":"/external-api/trackonomy-external-api/locations","items":[{"label":"Request the latest event with location and environmental data","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/external-api/trackonomy-external-api/locations/get-location","routeSlug":"/external-api/trackonomy-external-api/locations/get-location","metadata":{"seo":{"title":"Request the latest event with location and environmental data","description":"Returns the latest location of the tags on an air waybill (AWB), or the latest locationand environmental readings of a device identified by its asset barcode."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"get-location","name":"Request the latest event with location and environmental data","isWebhook":false,"pointer":"/paths/~1external~1locations~1{asset_id}/get","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Request the latest event with location and environmental data","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns the latest location of the tags on an air waybill (AWB), or the latest location"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"and environmental readings of a device identified by its asset barcode."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Headers."},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"customer_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"authorized_groups"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (plural) are required; they select the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"account whose data is returned."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Two modes, chosen by the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"event"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" query parameter."},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" Send either no "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"event"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"event=sensor"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Other values are not supported; do not send them."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"AWB mode (no "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"event"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"asset_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is the AWB number."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Every active tag on the AWB in your account is considered. For each tag, its latest"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"event is used (activation and end-of-journey events are not counted)."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A tag is returned only if that latest event has a position (latitude and longitude), a"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"location and a facility; tags without one are left out. A latitude or longitude of"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"exactly "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"0"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" counts as no position."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"event_type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"cargoiq-<STATUS>"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when the event carries a Cargo iQ status (for example"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"cargoiq-RCS"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"), otherwise "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"location"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If no tag can be returned, the response is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"404 AWB not found"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Sensor mode ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"event=sensor"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"asset_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is a device asset barcode."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The latest event (activation and end-of-journey events are not counted) of a device"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"with that asset barcode in your account is returned with six environmental readings,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"always in this order: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ambient_temp"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"probe_temp"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"shock"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"humidity"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"pressure"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"light"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A reading the device did not report is returned as "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"0"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", not "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"event_type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is always "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"environment"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Only the single latest event is considered. If it has no position (latitude and"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"longitude; a value of exactly "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"0"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" counts as none), location or facility, nothing is"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"returned, even when older events have one."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When there is nothing to return, the response is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"assets: []"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Sensor mode"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"never returns "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"404"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Timestamps."},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"timestamp"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is the event time as local wall-clock time in the event's"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"time zone, format "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DDTHH:mm:ss"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", with no offset and no "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Z"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". The zone is given in"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"time_zone"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" as an IANA name; it is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Etc/UTC"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when the event's time zone is not known."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Units."},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"°C"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ambient_temp"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"probe_temp"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"g"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"shock"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"%"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"humidity"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Pa"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"pressure"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lx"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"light"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Error messages"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (this endpoint returns a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"message"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", not an "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"error_code"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"):"},"children":[]}]}]},{"$$mdtype":"Node","type":"table","attributes":{},"children":[{"$$mdtype":"Node","type":"thead","attributes":{},"children":[{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Status"},"children":[]}]}]},{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"message"},"children":[]}]}]},{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"What to do"},"children":[]}]}]}]}]},{"$$mdtype":"Node","type":"tbody","attributes":{},"children":[{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"400"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Missing required headers: customer_id or authorized_groups"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Send both headers (note the plural "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"authorized_groups"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"404"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"AWB not found"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"AWB mode only: no active tag on this AWB in your account has a latest event with a position, location and facility. Check the AWB number and headers; a newly labelled AWB has no location until its tags report one."},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A temporary server fault while reading the data is reported the same way as no data:"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"404 AWB not found"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in AWB mode, "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"assets: []"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in sensor mode. If an asset you"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"expect to have a location returns one of these, retry once with backoff before treating"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"the result as final."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retries."},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" Read-only; safe to repeat."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token from the token URL issued for your environment at onboarding. Send it on"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"every call as "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Authorization: Bearer <access_token>"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". The token URL, client ID and"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"audience are different for each environment."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"asset_id","in":"path","schemaId":"schema_0","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The AWB number (AWB mode) or the device asset barcode ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"event=sensor"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Matched exactly"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(case-sensitive)."},"children":[]}]}]}],"required":true,"examples":{"awb":{"summary":"AWB number in AWB mode","value":"00612345675"},"assetBarcode":{"summary":"Asset barcode with event=sensor","value":"PHARMA-0042"}}}],"pointer":"/paths/~1external~1locations~1{asset_id}/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"event","in":"query","schemaId":"schema_1","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Omit for AWB mode. Send "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"sensor"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for asset-barcode mode with environmental readings. No other value is supported."},"children":[]}]}]}],"example":"sensor"}],"pointer":"/paths/~1external~1locations~1{asset_id}/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"customer_id","in":"header","schemaId":"schema_0","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Customer ID of the account to read. Required; missing or empty → "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Matched exactly (case-sensitive)."},"children":[]}]}]}],"required":true,"example":"acme"},{"name":"authorized_groups","in":"header","schemaId":"schema_0","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorized group of the account to read. Required; missing or empty → "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Note the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"plural"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header name: the singular "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"authorized_group"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is not read here. Matched exactly"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(case-sensitive)."},"children":[]}]}]}],"required":true,"example":"acme-air"}],"pointer":"/paths/~1external~1locations~1{asset_id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/external/locations/{asset_id}","servers":[{"url":"/_mock/external-api/trackonomy-external-api","description":"Mock server","isMockServer":true},{"url":"https://api.trackonomy.com","description":"Production"},{"url":"https://ppe.api.trackonomy.com","description":"PPE (integration testing)"}],"parameters":{"path":[{"name":"asset_id","in":"path","required":true,"example":"00612345675","schemaId":"schema_0"}],"query":[{"name":"event","in":"query","required":false,"example":"sensor","schemaId":"schema_1"}],"querystring":[],"header":[{"name":"customer_id","in":"header","required":true,"example":"acme","schemaId":"schema_0"},{"name":"authorized_groups","in":"header","required":true,"example":"acme-air","schemaId":"schema_0"}],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","404"],"pointer":"/external/locations/{asset_id}","href":"locations/get-location","openApiOperationId":"get-location","summary":"Request the latest event with location and environmental data"},"definitionSamples":[{"lang":"cURL","label":"cURL","source":"curl --request GET \\\n  --url 'https://ppe.api.trackonomy.com/external/locations/00612345675?event=sensor' \\\n  --header 'Authorization: Bearer <access_token>' \\\n  --header 'customer_id: acme' \\\n  --header 'authorized_groups: acme-air'"}],"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/external-api/trackonomy-external-api","description":"Mock server","isMockServer":true},{"url":"https://api.trackonomy.com","description":"Production"},{"url":"https://ppe.api.trackonomy.com","description":"PPE (integration testing)"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"AWB mode: one entry per returned tag (at least one). Sensor mode: at most one entry,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"with a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"sensors"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" array, or an empty "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"assets"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" array."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_2","exampleIds":["paths/~1external~1locations~1{asset_id}/get/responses/200/content/application~1json/examples/awbAllFields","paths/~1external~1locations~1{asset_id}/get/responses/200/content/application~1json/examples/awbMultipleTags","paths/~1external~1locations~1{asset_id}/get/responses/200/content/application~1json/examples/sensorAllFields","paths/~1external~1locations~1{asset_id}/get/responses/200/content/application~1json/examples/sensorMissingReadings","paths/~1external~1locations~1{asset_id}/get/responses/200/content/application~1json/examples/sensorNotFound"]}},"schemaId":"schema_2","exampleIds":["paths/~1external~1locations~1{asset_id}/get/responses/200/content/application~1json/examples/awbAllFields","paths/~1external~1locations~1{asset_id}/get/responses/200/content/application~1json/examples/awbMultipleTags","paths/~1external~1locations~1{asset_id}/get/responses/200/content/application~1json/examples/sensorAllFields","paths/~1external~1locations~1{asset_id}/get/responses/200/content/application~1json/examples/sensorMissingReadings","paths/~1external~1locations~1{asset_id}/get/responses/200/content/application~1json/examples/sensorNotFound"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"customer_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"authorized_groups"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header is missing or empty (both modes)."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1locations~1{asset_id}/get/responses/400/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1locations~1{asset_id}/get/responses/400/content/application~1json/example"]},{"code":"401","description":"The access token is missing, expired, issued for another environment's audience, or your API\nidentity isn't granted this action. The same response is returned when the request body isn't\nvalid JSON or is larger than 50 MB. Check the body, request a new token and retry once; if it\nstill fails, contact your Trackonomy integration contact.\n","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1locations~1{asset_id}/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1locations~1{asset_id}/get/responses/401/content/application~1json/example"]},{"code":"404","description":"AWB mode only. No active tag on this AWB in your account has a latest event with a position, location and facility.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1locations~1{asset_id}/get/responses/404/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1locations~1{asset_id}/get/responses/404/content/application~1json/example"]}],"pointer":"/paths/~1external~1locations~1{asset_id}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_2","exampleIds":["paths/~1external~1locations~1{asset_id}/get/responses/200/content/application~1json/examples/awbAllFields","paths/~1external~1locations~1{asset_id}/get/responses/200/content/application~1json/examples/awbMultipleTags","paths/~1external~1locations~1{asset_id}/get/responses/200/content/application~1json/examples/sensorAllFields","paths/~1external~1locations~1{asset_id}/get/responses/200/content/application~1json/examples/sensorMissingReadings","paths/~1external~1locations~1{asset_id}/get/responses/200/content/application~1json/examples/sensorNotFound"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_2","exampleIds":["paths/~1external~1locations~1{asset_id}/get/responses/200/content/application~1json/examples/awbAllFields","paths/~1external~1locations~1{asset_id}/get/responses/200/content/application~1json/examples/awbMultipleTags","paths/~1external~1locations~1{asset_id}/get/responses/200/content/application~1json/examples/sensorAllFields","paths/~1external~1locations~1{asset_id}/get/responses/200/content/application~1json/examples/sensorMissingReadings","paths/~1external~1locations~1{asset_id}/get/responses/200/content/application~1json/examples/sensorNotFound"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1locations~1{asset_id}/get/responses/400/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1locations~1{asset_id}/get/responses/400/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1locations~1{asset_id}/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1locations~1{asset_id}/get/responses/401/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1locations~1{asset_id}/get/responses/404/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1locations~1{asset_id}/get/responses/404/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/locations/get-location"}],"panels":[]}]},"httpPath":"/external/locations/{asset_id}"}],"content":{"contentType":"group","meta":{"name":"Locations"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Locations","showPageActions":true},{"nodeType":"markdoc","content":"Latest location and environmental data of tracked assets."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/external/locations/{asset_id}","summary":"Request the latest event with location and environmental data","prefix":{"name":"get","color":"get"},"badges":[],"link":"/locations/get-location","deprecated":false}]}]}]}]}},{"type":"group","label":"Device Management","link":"/external-api/trackonomy-external-api/device-management","routeSlug":"/external-api/trackonomy-external-api/device-management","items":[{"label":"Decode a packet from one device","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/external-api/trackonomy-external-api/device-management/post-devices-decode","routeSlug":"/external-api/trackonomy-external-api/device-management/post-devices-decode","metadata":{"seo":{"title":"Decode a packet from one device","description":"Decodes one BLE packet that your scanner captured from the tape identified by mac_idand returns the tape's QR code with the decoded readings (battery, temperature,excursions, firmware version)."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"post-devices-decode","name":"Decode a packet from one device","isWebhook":false,"pointer":"/paths/~1external~1v1~1devices~1{mac_id}~1decode/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Decode a packet from one device","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Decodes one BLE packet that your scanner captured from the tape identified by "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"mac_id"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"and returns the tape's QR code with the decoded readings (battery, temperature,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"excursions, firmware version)."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Headers."},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" Everything goes in the path and in headers; send no request body."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"customer_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"authorized_groups"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (plural) are required and identify the account"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"the tape belongs to. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ble_packet"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is required. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"scan_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"product_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"correlation_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" are optional."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"How the request is processed"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (each step runs only if the previous one passed):"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":true,"marker":"."},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"customer_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"authorized_groups"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" missing → "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ble_packet"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" missing → "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The packet is decoded. Its first 4 hex characters select the packet family: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"5258"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"5224"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"4442"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"0202"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Any other prefix, or a packet that is too short for its"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"family, → "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400 Invalid BLE packet. …"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Because decoding comes first, a bad packet"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"returns "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" even when the MAC is unknown."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The tape is looked up by "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"mac_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". A MAC that is not a registered Trackonomy tape →"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"404 Invalid tape mac address"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The tape must be labelled under the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"customer_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" / "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"authorized_groups"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" you sent, in"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"any of that account's applications. If it is not → "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"404 Tape not associated under the current customer"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", unless automatic registration of unlabelled tapes is enabled for your"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"environment; then the tape is registered under that account (and"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"product_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" application) and the call returns "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" with the decoded values."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Two response shapes"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", chosen by packet length only:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"exactly 26 hex characters: a connectable "},"children":[]},{"$$mdtype":"Node","type":"em","inline":true,"attributes":{"marker":"*"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"heartbeat"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". When characters 17–20 are "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"FFAC"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"FFB2"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the MAC inside the packet (characters 5–16) must equal "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"mac_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", compared"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"case-insensitively; otherwise "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A heartbeat also updates the firmware version Trackonomy stores for the tape."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"any other length: a "},"children":[]},{"$$mdtype":"Node","type":"em","inline":true,"attributes":{"marker":"*"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"full packet"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Error messages"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (these endpoints return a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"message"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", not an "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"error_code"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"):"},"children":[]}]}]},{"$$mdtype":"Node","type":"table","attributes":{},"children":[{"$$mdtype":"Node","type":"thead","attributes":{},"children":[{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Status"},"children":[]}]}]},{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"message"},"children":[]}]}]},{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"What to do"},"children":[]}]}]}]}]},{"$$mdtype":"Node","type":"tbody","attributes":{},"children":[{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"400"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Missing required headers: customer_id or authorized_groups"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Send both headers (note the plural "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"authorized_groups"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"400"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Missing required BLE packet"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Send the packet in the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ble_packet"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"400"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Invalid BLE packet. Unknown scantype <XXXX>"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The packet does not start with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"5258"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"5224"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"4442"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"0202"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Check what your scanner captured."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"400"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Invalid BLE packet. <reason>"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The packet could not be decoded (truncated packet, or a heartbeat whose embedded MAC differs from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"mac_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Do not retry the same packet."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"404"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Invalid tape mac address"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"mac_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is not a Trackonomy tape. Check the MAC (12 hex characters, no separators)."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"404"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Tape not associated under the current customer"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The tape is not labelled under this "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"customer_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" / "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"authorized_groups"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Label it first, or check the headers."},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A temporary server fault while looking the tape up is also reported as one of these two"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"404"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"s. If a tape you know is labelled under this account returns "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"404"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", retry once with"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"backoff before treating the result as permanent."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retries."},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" Retrying a call returns the same decoded values (apart from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"cts"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"decode time). If your integration records decoded packets as tape readings, a retry"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"records the packet again, so retry only on network errors, "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"5xx"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", or the unexpected"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"404"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" described above."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token from the token URL issued for your environment at onboarding. Send it on"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"every call as "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Authorization: Bearer <access_token>"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". The token URL, client ID and"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"audience are different for each environment."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"mac_id","in":"path","schemaId":"schema_0","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The tape's MAC address: 12 hex characters, no colons or other separators (e.g."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"D4F5A1B2C3E8"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). For a heartbeat packet whose characters 17–20 are "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"FFAC"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"FFB2"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", it"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"must equal the MAC inside the packet (case-insensitive)."},"children":[]}]}]}],"required":true,"example":"D4F5A1B2C3E8"}],"pointer":"/paths/~1external~1v1~1devices~1{mac_id}~1decode/post/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"customer_id","in":"header","schemaId":"schema_0","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Customer ID of the account the tape is labelled under. Required; missing or empty → "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Matched exactly (case-sensitive)."},"children":[]}]}]}],"required":true,"example":"acme"},{"name":"authorized_groups","in":"header","schemaId":"schema_0","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorized group of the account the tape is labelled under. Required; missing or empty →"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Note the "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"plural"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header name: the singular "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"authorized_group"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is not read here."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Matched exactly (case-sensitive)."},"children":[]}]}]}],"required":true,"example":"acme-logistics"},{"name":"ble_packet","in":"header","schemaId":"schema_0","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The raw BLE payload as a hex string (upper or lower case). The first 4 characters must be"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"5258"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"5224"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"4442"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"0202"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Exactly 26 characters is a connectable heartbeat; full"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"tape packets are normally 48 characters."},"children":[]}]}]}],"required":true,"examples":{"fullPacket":{"summary":"Full packet of 48 hex characters","value":"525801172D0000012C0C0300000096000000012C00FFAC1E"},"heartbeat":{"summary":"Connectable heartbeat of 26 hex characters containing the MAC address","value":"5258D4F5A1B2C3E8FFAC1E010C"}}},{"name":"scan_time","in":"header","schemaId":"schema_0","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When your scanner captured the packet, in Unix epoch seconds (whole seconds). Optional."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When it is missing or not numeric, "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ts"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"over_temp_ts"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"shock_ts"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" are "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"example":"1791245700"},{"name":"product_id","in":"header","schemaId":"schema_0","description":"Optional application ID. Not used to find the tape (the tape is found under any\napplication of the account). Used only when automatic registration of unlabelled tapes is\nenabled for your environment, as the application to register the tape under.\n","example":"7b1e4c2a-9f3d-4e8a-b6c1-2d5f8a9e0c31"},{"name":"correlation_id","in":"header","schemaId":"schema_0","description":"Optional request ID. Trackonomy records it with the request so support can trace a call you report.","example":"5f0c2b8e-6a51-4f7e-9d0e-1c2b3a4d5e6f"}],"pointer":"/paths/~1external~1v1~1devices~1{mac_id}~1decode/post/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/external/v1/devices/{mac_id}/decode","servers":[{"url":"/_mock/external-api/trackonomy-external-api","description":"Mock server","isMockServer":true},{"url":"https://api.trackonomy.com","description":"Production"},{"url":"https://ppe.api.trackonomy.com","description":"PPE (integration testing)"}],"parameters":{"path":[{"name":"mac_id","in":"path","required":true,"example":"D4F5A1B2C3E8","schemaId":"schema_0"}],"query":[],"querystring":[],"header":[{"name":"customer_id","in":"header","required":true,"example":"acme","schemaId":"schema_0"},{"name":"authorized_groups","in":"header","required":true,"example":"acme-logistics","schemaId":"schema_0"},{"name":"ble_packet","in":"header","required":true,"example":"525801172D0000012C0C0300000096000000012C00FFAC1E","schemaId":"schema_0"},{"name":"scan_time","in":"header","required":false,"example":"1791245700","schemaId":"schema_0"},{"name":"product_id","in":"header","required":false,"example":"7b1e4c2a-9f3d-4e8a-b6c1-2d5f8a9e0c31","schemaId":"schema_0"},{"name":"correlation_id","in":"header","required":false,"example":"5f0c2b8e-6a51-4f7e-9d0e-1c2b3a4d5e6f","schemaId":"schema_0"}],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","404"],"pointer":"/external/v1/devices/{mac_id}/decode","href":"device-management/post-devices-decode","openApiOperationId":"post-devices-decode","summary":"Decode a packet from one device"},"definitionSamples":[{"lang":"cURL","label":"cURL","source":"curl --request POST \\\n  --url 'https://ppe.api.trackonomy.com/external/v1/devices/D4F5A1B2C3E8/decode' \\\n  --header 'Authorization: Bearer <access_token>' \\\n  --header 'customer_id: acme' \\\n  --header 'authorized_groups: acme-logistics' \\\n  --header 'ble_packet: 525801172D0000012C0C0300000096000000012C00FFAC1E' \\\n  --header 'scan_time: 1791245700' \\\n  --header 'product_id: 7b1e4c2a-9f3d-4e8a-b6c1-2d5f8a9e0c31' \\\n  --header 'correlation_id: 5f0c2b8e-6a51-4f7e-9d0e-1c2b3a4d5e6f'"},{"lang":"cURL","label":"cURL · minimal","source":"curl --request POST \\\n  --url 'https://ppe.api.trackonomy.com/external/v1/devices/D4F5A1B2C3E8/decode' \\\n  --header 'Authorization: Bearer <access_token>' \\\n  --header 'customer_id: acme' \\\n  --header 'authorized_groups: acme-logistics' \\\n  --header 'ble_packet: 525801172D0000012C0C0300000096000000012C00FFAC1E'"},{"lang":"cURL","label":"cURL · heartbeat","source":"curl --request POST \\\n  --url 'https://ppe.api.trackonomy.com/external/v1/devices/D4F5A1B2C3E8/decode' \\\n  --header 'Authorization: Bearer <access_token>' \\\n  --header 'customer_id: acme' \\\n  --header 'authorized_groups: acme-logistics' \\\n  --header 'ble_packet: 5258D4F5A1B2C3E8FFAC1E010C' \\\n  --header 'scan_time: 1791245700'"}],"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/external-api/trackonomy-external-api","description":"Mock server","isMockServer":true},{"url":"https://api.trackonomy.com","description":"Production"},{"url":"https://ppe.api.trackonomy.com","description":"PPE (integration testing)"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Packet decoded. A 26-hex-character packet returns the heartbeat shape; any other\nlength returns the full-packet shape. Fields described as absent are omitted from the JSON.\n","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/DecodeResult","exampleIds":["paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/200/content/application~1json/examples/allFields","paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/200/content/application~1json/examples/minimal","paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/200/content/application~1json/examples/heartbeat","paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/200/content/application~1json/examples/stringTemperature"]}},"schemaId":"components/schemas/DecodeResult","exampleIds":["paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/200/content/application~1json/examples/allFields","paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/200/content/application~1json/examples/minimal","paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/200/content/application~1json/examples/heartbeat","paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/200/content/application~1json/examples/stringTemperature"]},{"code":"400","description":"A required header is missing, or the packet could not be decoded. Nothing was looked up.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/400/content/application~1json/examples/missingHeaders","paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/400/content/application~1json/examples/missingBlePacket","paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/400/content/application~1json/examples/unknownScantype","paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/400/content/application~1json/examples/truncatedPacket","paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/400/content/application~1json/examples/heartbeatMacMismatch"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/400/content/application~1json/examples/missingHeaders","paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/400/content/application~1json/examples/missingBlePacket","paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/400/content/application~1json/examples/unknownScantype","paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/400/content/application~1json/examples/truncatedPacket","paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/400/content/application~1json/examples/heartbeatMacMismatch"]},{"code":"401","description":"The access token is missing, expired, issued for another environment's audience, or your API\nidentity isn't granted this action. The same response is returned when the request body isn't\nvalid JSON or is larger than 50 MB. Check the body, request a new token and retry once; if it\nstill fails, contact your Trackonomy integration contact.\n","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/401/content/application~1json/example"]},{"code":"404","description":"The MAC is not a Trackonomy tape, or the tape is not labelled under the account in the headers.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/404/content/application~1json/examples/invalidTape","paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/404/content/application~1json/examples/notAssociated"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/404/content/application~1json/examples/invalidTape","paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/404/content/application~1json/examples/notAssociated"]}],"pointer":"/paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/DecodeResult","exampleIds":["paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/200/content/application~1json/examples/allFields","paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/200/content/application~1json/examples/minimal","paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/200/content/application~1json/examples/heartbeat","paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/200/content/application~1json/examples/stringTemperature"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/DecodeResult","exampleIds":["paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/200/content/application~1json/examples/allFields","paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/200/content/application~1json/examples/minimal","paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/200/content/application~1json/examples/heartbeat","paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/200/content/application~1json/examples/stringTemperature"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/400/content/application~1json/examples/missingHeaders","paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/400/content/application~1json/examples/missingBlePacket","paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/400/content/application~1json/examples/unknownScantype","paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/400/content/application~1json/examples/truncatedPacket","paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/400/content/application~1json/examples/heartbeatMacMismatch"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/400/content/application~1json/examples/missingHeaders","paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/400/content/application~1json/examples/missingBlePacket","paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/400/content/application~1json/examples/unknownScantype","paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/400/content/application~1json/examples/truncatedPacket","paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/400/content/application~1json/examples/heartbeatMacMismatch"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/401/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/404/content/application~1json/examples/invalidTape","paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/404/content/application~1json/examples/notAssociated"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/404/content/application~1json/examples/invalidTape","paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/404/content/application~1json/examples/notAssociated"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/device-management/post-devices-decode"}],"panels":[]}]},"httpPath":"/external/v1/devices/{mac_id}/decode"},{"label":"Decode packets from many devices","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/external-api/trackonomy-external-api/device-management/post-devices-decode-batch","routeSlug":"/external-api/trackonomy-external-api/device-management/post-devices-decode-batch","metadata":{"seo":{"title":"Decode packets from many devices","description":"Decodes up to 250 BLE packets, one per tape, in one call. Each item is processed thesame way as POST /external/v1/devices/{mac_id}/decode, and an item that fails does notaffect the others."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"post-devices-decode-batch","name":"Decode packets from many devices","isWebhook":false,"pointer":"/paths/~1external~1v1~1devices~1decode/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Decode packets from many devices","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Decodes up to 250 BLE packets, one per tape, in one call. Each item is processed the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"same way as "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"POST /external/v1/devices/{mac_id}/decode"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", and an item that fails does not"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"affect the others."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Headers."},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"customer_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"authorized_groups"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (plural) are required and apply to"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"every item. Send "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Content-Type: application/json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Request checks"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (in this order). Any failure rejects the whole request and no item is"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"processed:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":true,"marker":"."},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The body is not valid JSON, or is larger than 50 MB → "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"401"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"customer_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"authorized_groups"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" missing → "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The body is not a non-empty JSON array → "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"More than 250 items → "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"413"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Two items have the same "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"mac_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (exact, case-sensitive comparison) → "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Two"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"items that both leave out "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"mac_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" also count as duplicates."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Every array element must be an object; a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" element, or a request sent without a"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JSON body, gets "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"500"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Results."},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" After those checks the response is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" with one result per item, "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"the order of the request"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". A decoded item is the single-device response plus "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"mac_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A failed item is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{mac_id, error}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", where "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"error"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is the message the single-device"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"endpoint would return for it (see the table there). An item sent without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"mac_id"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"fails with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Missing required mac address"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", and its result has no "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"mac_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Per-item error messages:"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"table","attributes":{},"children":[{"$$mdtype":"Node","type":"thead","attributes":{},"children":[{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"error"},"children":[]}]}]},{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"What to do"},"children":[]}]}]}]}]},{"$$mdtype":"Node","type":"tbody","attributes":{},"children":[{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Missing required mac address"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Add "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"mac_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the item."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Missing required BLE packet"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Add "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ble_packet"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the item."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Invalid BLE packet. <reason>"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The packet could not be decoded. Check what your scanner captured; do not resend it unchanged."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Invalid tape mac address"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The MAC is not a Trackonomy tape."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Tape not associated under the current customer"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The tape is not labelled under this "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"customer_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" / "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"authorized_groups"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retries."},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" Resend only the failed items, after fixing them. The retry guidance of the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"single-device endpoint applies to every item."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token from the token URL issued for your environment at onboarding. Send it on"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"every call as "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Authorization: Bearer <access_token>"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". The token URL, client ID and"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"audience are different for each environment."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"customer_id","in":"header","schemaId":"schema_0","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Customer ID of the account the tape is labelled under. Required; missing or empty → "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Matched exactly (case-sensitive)."},"children":[]}]}]}],"required":true,"example":"acme"},{"name":"authorized_groups","in":"header","schemaId":"schema_0","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorized group of the account the tape is labelled under. Required; missing or empty →"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Note the "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"plural"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header name: the singular "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"authorized_group"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is not read here."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Matched exactly (case-sensitive)."},"children":[]}]}]}],"required":true,"example":"acme-logistics"},{"name":"correlation_id","in":"header","schemaId":"schema_0","description":"Optional request ID. Trackonomy records it with the request so support can trace a call you report.","example":"5f0c2b8e-6a51-4f7e-9d0e-1c2b3a4d5e6f"}],"pointer":"/paths/~1external~1v1~1devices~1decode/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/DecodeBulkRequest","exampleIds":["paths/~1external~1v1~1devices~1decode/post/requestBody/content/application~1json/examples/allFields","paths/~1external~1v1~1devices~1decode/post/requestBody/content/application~1json/examples/minimal","paths/~1external~1v1~1devices~1decode/post/requestBody/content/application~1json/examples/itemErrors"]}},"schemaId":"components/schemas/DecodeBulkRequest","exampleIds":["paths/~1external~1v1~1devices~1decode/post/requestBody/content/application~1json/examples/allFields","paths/~1external~1v1~1devices~1decode/post/requestBody/content/application~1json/examples/minimal","paths/~1external~1v1~1devices~1decode/post/requestBody/content/application~1json/examples/itemErrors"],"pointer":"/paths/~1external~1v1~1devices~1decode/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/external/v1/devices/decode","servers":[{"url":"/_mock/external-api/trackonomy-external-api","description":"Mock server","isMockServer":true},{"url":"https://api.trackonomy.com","description":"Production"},{"url":"https://ppe.api.trackonomy.com","description":"PPE (integration testing)"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"customer_id","in":"header","required":true,"example":"acme","schemaId":"schema_0"},{"name":"authorized_groups","in":"header","required":true,"example":"acme-logistics","schemaId":"schema_0"},{"name":"correlation_id","in":"header","required":false,"example":"5f0c2b8e-6a51-4f7e-9d0e-1c2b3a4d5e6f","schemaId":"schema_0"}],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/DecodeBulkRequest","exampleIds":["paths/~1external~1v1~1devices~1decode/post/requestBody/content/application~1json/examples/allFields","paths/~1external~1v1~1devices~1decode/post/requestBody/content/application~1json/examples/minimal","paths/~1external~1v1~1devices~1decode/post/requestBody/content/application~1json/examples/itemErrors"]}},"responseCodes":["200","400","401","413","500"],"pointer":"/external/v1/devices/decode","href":"device-management/post-devices-decode-batch","openApiOperationId":"post-devices-decode-batch","summary":"Decode packets from many devices"},"definitionSamples":[{"lang":"cURL","label":"cURL","source":"curl --request POST \\\n  --url 'https://ppe.api.trackonomy.com/external/v1/devices/decode' \\\n  --header 'Authorization: Bearer <access_token>' \\\n  --header 'customer_id: acme' \\\n  --header 'authorized_groups: acme-logistics' \\\n  --header 'correlation_id: 5f0c2b8e-6a51-4f7e-9d0e-1c2b3a4d5e6f' \\\n  --header 'Content-Type: application/json' \\\n  --data '[\n  {\n    \"mac_id\": \"D4F5A1B2C3E8\",\n    \"ble_packet\": \"525801172D0000012C0C0300000096000000012C00FFAC1E\",\n    \"product_id\": \"7b1e4c2a-9f3d-4e8a-b6c1-2d5f8a9e0c31\",\n    \"scan_time\": 1791245700\n  },\n  {\n    \"mac_id\": \"C2E9B47A10F3\",\n    \"ble_packet\": \"5258C2E9B47A10F3FFAC1D010C\",\n    \"product_id\": \"7b1e4c2a-9f3d-4e8a-b6c1-2d5f8a9e0c31\",\n    \"scan_time\": \"1791245760\"\n  },\n  {\n    \"mac_id\": \"E7A01B9C44D2\",\n    \"ble_packet\": \"525801172D0000012C0C0300000096000000012C00FFAC1E\",\n    \"product_id\": \"7b1e4c2a-9f3d-4e8a-b6c1-2d5f8a9e0c31\",\n    \"scan_time\": 1791245700\n  }\n]'"}],"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/external-api/trackonomy-external-api","description":"Mock server","isMockServer":true},{"url":"https://api.trackonomy.com","description":"Production"},{"url":"https://ppe.api.trackonomy.com","description":"PPE (integration testing)"}],"schemaId":"components/schemas/DecodeBulkRequest","exampleIds":["paths/~1external~1v1~1devices~1decode/post/requestBody/content/application~1json/examples/allFields","paths/~1external~1v1~1devices~1decode/post/requestBody/content/application~1json/examples/minimal","paths/~1external~1v1~1devices~1decode/post/requestBody/content/application~1json/examples/itemErrors"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/DecodeBulkRequest","exampleIds":["paths/~1external~1v1~1devices~1decode/post/requestBody/content/application~1json/examples/allFields","paths/~1external~1v1~1devices~1decode/post/requestBody/content/application~1json/examples/minimal","paths/~1external~1v1~1devices~1decode/post/requestBody/content/application~1json/examples/itemErrors"]}},"examples":[{},{},{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"One result per item, in request order.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_3","exampleIds":["paths/~1external~1v1~1devices~1decode/post/responses/200/content/application~1json/examples/allFields","paths/~1external~1v1~1devices~1decode/post/responses/200/content/application~1json/examples/minimal","paths/~1external~1v1~1devices~1decode/post/responses/200/content/application~1json/examples/itemErrors"]}},"schemaId":"schema_3","exampleIds":["paths/~1external~1v1~1devices~1decode/post/responses/200/content/application~1json/examples/allFields","paths/~1external~1v1~1devices~1decode/post/responses/200/content/application~1json/examples/minimal","paths/~1external~1v1~1devices~1decode/post/responses/200/content/application~1json/examples/itemErrors"]},{"code":"400","description":"The request failed a request check. No item was processed.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1decode/post/responses/400/content/application~1json/examples/missingHeaders","paths/~1external~1v1~1devices~1decode/post/responses/400/content/application~1json/examples/notAnArray","paths/~1external~1v1~1devices~1decode/post/responses/400/content/application~1json/examples/duplicateMac"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1decode/post/responses/400/content/application~1json/examples/missingHeaders","paths/~1external~1v1~1devices~1decode/post/responses/400/content/application~1json/examples/notAnArray","paths/~1external~1v1~1devices~1decode/post/responses/400/content/application~1json/examples/duplicateMac"]},{"code":"401","description":"The access token is missing, expired, issued for another environment's audience, or your API\nidentity isn't granted this action. The same response is returned when the request body isn't\nvalid JSON or is larger than 50 MB. Check the body, request a new token and retry once; if it\nstill fails, contact your Trackonomy integration contact.\n","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1decode/post/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1decode/post/responses/401/content/application~1json/example"]},{"code":"413","description":"More than 250 items. The message gives the limit and the number of items received. Split the request.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1decode/post/responses/413/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1decode/post/responses/413/content/application~1json/example"]},{"code":"500","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The request had no JSON body (for example, "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Content-Type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" was not "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"or an array element was "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Fix the request and resend it."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1decode/post/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1decode/post/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1external~1v1~1devices~1decode/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"schema_3","exampleIds":["paths/~1external~1v1~1devices~1decode/post/responses/200/content/application~1json/examples/allFields","paths/~1external~1v1~1devices~1decode/post/responses/200/content/application~1json/examples/minimal","paths/~1external~1v1~1devices~1decode/post/responses/200/content/application~1json/examples/itemErrors"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_3","exampleIds":["paths/~1external~1v1~1devices~1decode/post/responses/200/content/application~1json/examples/allFields","paths/~1external~1v1~1devices~1decode/post/responses/200/content/application~1json/examples/minimal","paths/~1external~1v1~1devices~1decode/post/responses/200/content/application~1json/examples/itemErrors"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1decode/post/responses/400/content/application~1json/examples/missingHeaders","paths/~1external~1v1~1devices~1decode/post/responses/400/content/application~1json/examples/notAnArray","paths/~1external~1v1~1devices~1decode/post/responses/400/content/application~1json/examples/duplicateMac"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1decode/post/responses/400/content/application~1json/examples/missingHeaders","paths/~1external~1v1~1devices~1decode/post/responses/400/content/application~1json/examples/notAnArray","paths/~1external~1v1~1devices~1decode/post/responses/400/content/application~1json/examples/duplicateMac"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1decode/post/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1decode/post/responses/401/content/application~1json/example"]}}},{"code":"413","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1decode/post/responses/413/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1decode/post/responses/413/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1decode/post/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1decode/post/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/device-management/post-devices-decode-batch"}],"panels":[]}]},"httpPath":"/external/v1/devices/decode"},{"label":"Label devices","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/external-api/trackonomy-external-api/device-management/post-devices-label","routeSlug":"/external-api/trackonomy-external-api/device-management/post-devices-label","metadata":{"seo":{"title":"Label devices","description":"Labels (activates) up to 20 devices in one call. Each device is identified by the QR codeprinted on it and is linked to your asset (asset_barcode) and to one of your applications.One optional shipment_details block can be sent with the call; it is attached to everydevice that is labelled successfully."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"post-devices-label","name":"Label devices","isWebhook":false,"pointer":"/paths/~1external~1v1~1devices~1label/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Label devices","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Labels (activates) up to 20 devices in one call. Each device is identified by the QR code"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"printed on it and is linked to your asset ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"asset_barcode"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") and to one of your applications."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"One optional "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"shipment_details"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" block can be sent with the call; it is attached to every"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"device that is labelled successfully."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Headers."},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" Send "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"customer_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"authorized_group"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" only when your API identity has access to"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"more than one account. Otherwise the account comes from the access token."},"children":[]}]}]},{"$$mdtype":"Node","type":"heading","attributes":{"level":3,"id":"device-management/post-devices-label/request/how-each-device-is-handled","deepLinkHash":"/device-management/post-devices-label#device-management/post-devices-label/request/how-each-device-is-handled"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"How each device is handled"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Devices are processed independently: one device failing never stops the others."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"*"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Not labelled yet."},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" The device is labelled and activated."},"children":[]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"*"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" can be the application's UUID or its code (for example "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"smart-asset-tracker"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The device's MAC address and hardware type are looked up from Trackonomy's device registry by"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"qrcode"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". You don't send them."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Facility: see "},"children":[]},{"$$mdtype":"Node","type":"em","inline":true,"attributes":{"marker":"*"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Facility"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" below."},"children":[]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Already labelled"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (any status other than never labelled, including "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DEACTIVATED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"):"},"children":[]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"*"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"override"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the device fails with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ALREADY_LABELLED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"With "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"override: true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the existing label is edited in place: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"asset_barcode"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is replaced, and"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"facility_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"tape_displayname"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" are replaced when you send them ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" clears them,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"omitting them keeps the current value). "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (UUID or code) must be the device's"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"current application; a different one fails with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"APPLICATION_CHANGE_NOT_ALLOWED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lat"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lon"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"skip_qrmac"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"device_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" are ignored."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The device's status is never changed. A "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DEACTIVATED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" device stays deactivated: labelling it"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"again with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"override: true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" does "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"not"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" reactivate it."},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"override: true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" on a device that isn't labelled yet"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" first removes any device in your account"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"that has the same MAC address, QR code or asset barcode, then labels this one. Use it only when you"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"mean to replace that device."},"children":[]}]}]},{"$$mdtype":"Node","type":"heading","attributes":{"level":3,"id":"device-management/post-devices-label/request/facility-(new-labels)","deepLinkHash":"/device-management/post-devices-label#device-management/post-devices-label/request/facility-(new-labels)"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Facility (new labels)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The first rule that applies sets the device's facility:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":true,"marker":"."},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"facility_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", when you send it."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Your account's own top-level facility, when it has one."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lat"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" + "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lon"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (both required): the nearest facility to that point is used, and the point is stored"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"as the device's location. If no facility is near enough, the device has no facility."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The shipment's "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"source_address"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", when you send "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"shipment_details"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": it is resolved to coordinates"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"and matched the same way."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Trackonomy's default top-level facility."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lat"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lon"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" are only used at step 3. They are ignored when you send "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"facility_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or when your"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"account has its own top-level facility."},"children":[]}]}]},{"$$mdtype":"Node","type":"heading","attributes":{"level":3,"id":"device-management/post-devices-label/request/shipment","deepLinkHash":"/device-management/post-devices-label#device-management/post-devices-label/request/shipment"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Shipment"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"With "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"shipment_details"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the call starts a "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"new shipment"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Its id is returned as "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"shipment_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"stored on every device labelled in this call (replacing any shipment such a device had before)."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Addresses are given as "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"label"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (free text, resolved to coordinates), "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lat"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" + "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lon"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (resolved to an"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"address), or both (stored as sent). On this call each address needs at least one of them."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This isn't checked before processing: an address with neither (or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lat"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lon"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") doesn't"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"return "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". The devices are labelled and then reported as "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"INTERNAL_ERROR"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" because the shipment"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"couldn't be saved. Check them with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before resending."},"children":[]}]}]},{"$$mdtype":"Node","type":"heading","attributes":{"level":3,"id":"device-management/post-devices-label/request/per-device-error_code-values","deepLinkHash":"/device-management/post-devices-label#device-management/post-devices-label/request/per-device-error_code-values"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Per-device "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"error_code"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" values"},"children":[]}]}]},{"$$mdtype":"Node","type":"table","attributes":{},"children":[{"$$mdtype":"Node","type":"thead","attributes":{},"children":[{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Value"},"children":[]}]}]},{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Meaning"},"children":[]}]}]},{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"What to do"},"children":[]}]}]}]}]},{"$$mdtype":"Node","type":"tbody","attributes":{},"children":[{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ALREADY_LABELLED"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The QR code already has a label in your account and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"override"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" was not "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Check it with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Resend with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"override: true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", or use "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"PUT"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to edit it."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"APPLICATION_NOT_FOUND"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" matches neither an application UUID nor an application code in your account, or the application isn't one your account can use. Codes are case-sensitive."},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Fix "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"QRMAC_NOT_FOUND"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The QR code isn't a registered Trackonomy device."},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Check the QR code. If it is printed on a Trackonomy device, contact support."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DUPLICATE_DEVICE"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Another device in your account already has this device's MAC address, this QR code or this asset barcode (this includes a device known to your account that was never labelled). On applications configured for multi-piece shipments, a shared asset barcode is allowed and doesn't cause this error (see "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"asset_barcode"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). On "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"override: true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the new "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"asset_barcode"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is already used by another device."},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use another asset barcode, or resend with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"override: true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to replace the other device. If that still fails, contact support."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"APPLICATION_CHANGE_NOT_ALLOWED"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"override: true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" named a different application from the device's current one."},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Send the device's current application (see "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). The application can't be changed through this API."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"FACILITY_NOT_FOUND"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"override: true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" with a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"facility_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" that doesn't exist in your account or isn't one your account can use."},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Fix "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"facility_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", or omit it."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DEVICE_NOT_FOUND"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"With "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"override: true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": the device is outside the applications or facilities your account can use. With "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"shipment_details"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": the device was labelled, but its tracking record wasn't available to attach the shipment to."},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Check the device with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Attach the shipment later with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"PUT"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"TAPE_TYPE_MISMATCH"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The device's hardware type doesn't match the application. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This case is currently reported as "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"INTERNAL_ERROR"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; handle both values."},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Choose an application that matches the device type."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"INTERNAL_ERROR"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Anything else, for example: a device type that doesn't match the application, a QR code with lowercase letters or unsupported characters, an unknown "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"facility_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" on a new label, an asset barcode equal to the QR code, a shipment address that couldn't be resolved, or a temporary failure."},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Check the inputs. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Before resending, check the device with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": it may already be labelled (for example when only the shipment failed). If so, attach the shipment with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"PUT"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" instead."},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"heading","attributes":{"level":3,"id":"device-management/post-devices-label/request/status-codes","deepLinkHash":"/device-management/post-devices-label#device-management/post-devices-label/request/status-codes"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Status codes"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"*"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"201"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": every device was labelled."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"207"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": at least one device failed; devices not listed in "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"errors"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" were labelled. Also returned when"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"every device failed, except in the case below."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" with the batch body: "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"every"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" device failed with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"QRMAC_NOT_FOUND"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Nothing was labelled."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Validation failed"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": the request was rejected before any device was processed."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"heading","attributes":{"level":3,"id":"device-management/post-devices-label/request/retries","deepLinkHash":"/device-management/post-devices-label#device-management/post-devices-label/request/retries"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retries"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This call is not idempotent. Resending a request that already succeeded returns "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ALREADY_LABELLED"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"for those devices. To change a label afterwards, use "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"PUT"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"override: true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token from the token URL issued for your environment at onboarding. Send it on"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"every call as "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Authorization: Bearer <access_token>"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". The token URL, client ID and"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"audience are different for each environment."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"correlation_id","in":"header","schemaId":"schema_0","description":"Optional request ID. Trackonomy records it with the request so support can trace a call you report.","example":"5f0c2b8e-6a51-4f7e-9d0e-1c2b3a4d5e6f"},{"name":"customer_id","in":"header","schemaId":"schema_0","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Only needed when your API identity has access to more than one account. Send it together"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"authorized_group"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to choose the account. When your identity has a single account,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"omit both headers: the account comes from the access token."},"children":[]}]}]}],"example":"acme"},{"name":"authorized_group","in":"header","schemaId":"schema_0","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Only needed when your API identity has access to more than one account; send it together"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"customer_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"authorized_groups"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is accepted as the same header."},"children":[]}]}]}],"example":"acme-logistics"}],"pointer":"/paths/~1external~1v1~1devices~1label/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/LabelCreateRequest","exampleIds":["paths/~1external~1v1~1devices~1label/post/requestBody/content/application~1json/examples/allFields","paths/~1external~1v1~1devices~1label/post/requestBody/content/application~1json/examples/minimal","paths/~1external~1v1~1devices~1label/post/requestBody/content/application~1json/examples/withShipment","paths/~1external~1v1~1devices~1label/post/requestBody/content/application~1json/examples/coordinatesForFacility","paths/~1external~1v1~1devices~1label/post/requestBody/content/application~1json/examples/overrideExisting","paths/~1external~1v1~1devices~1label/post/requestBody/content/application~1json/examples/skipQrmac"]}},"schemaId":"components/schemas/LabelCreateRequest","exampleIds":["paths/~1external~1v1~1devices~1label/post/requestBody/content/application~1json/examples/allFields","paths/~1external~1v1~1devices~1label/post/requestBody/content/application~1json/examples/minimal","paths/~1external~1v1~1devices~1label/post/requestBody/content/application~1json/examples/withShipment","paths/~1external~1v1~1devices~1label/post/requestBody/content/application~1json/examples/coordinatesForFacility","paths/~1external~1v1~1devices~1label/post/requestBody/content/application~1json/examples/overrideExisting","paths/~1external~1v1~1devices~1label/post/requestBody/content/application~1json/examples/skipQrmac"],"pointer":"/paths/~1external~1v1~1devices~1label/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/external/v1/devices/label","servers":[{"url":"/_mock/external-api/trackonomy-external-api","description":"Mock server","isMockServer":true},{"url":"https://api.trackonomy.com","description":"Production"},{"url":"https://ppe.api.trackonomy.com","description":"PPE (integration testing)"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"correlation_id","in":"header","required":false,"example":"5f0c2b8e-6a51-4f7e-9d0e-1c2b3a4d5e6f","schemaId":"schema_0"},{"name":"customer_id","in":"header","required":false,"example":"acme","schemaId":"schema_0"},{"name":"authorized_group","in":"header","required":false,"example":"acme-logistics","schemaId":"schema_0"}],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/LabelCreateRequest","exampleIds":["paths/~1external~1v1~1devices~1label/post/requestBody/content/application~1json/examples/allFields","paths/~1external~1v1~1devices~1label/post/requestBody/content/application~1json/examples/minimal","paths/~1external~1v1~1devices~1label/post/requestBody/content/application~1json/examples/withShipment","paths/~1external~1v1~1devices~1label/post/requestBody/content/application~1json/examples/coordinatesForFacility","paths/~1external~1v1~1devices~1label/post/requestBody/content/application~1json/examples/overrideExisting","paths/~1external~1v1~1devices~1label/post/requestBody/content/application~1json/examples/skipQrmac"]}},"responseCodes":["201","207","400","401","403","429","500","503"],"pointer":"/external/v1/devices/label","href":"device-management/post-devices-label","openApiOperationId":"post-devices-label","summary":"Label devices"},"definitionSamples":[{"lang":"cURL","label":"cURL","source":"curl --request POST \\\n  --url 'https://ppe.api.trackonomy.com/external/v1/devices/label' \\\n  --header 'Authorization: Bearer <access_token>' \\\n  --header 'correlation_id: 5f0c2b8e-6a51-4f7e-9d0e-1c2b3a4d5e6f' \\\n  --header 'Content-Type: application/json' \\\n  --data '{\n  \"shipment_details\": {\n    \"customer_name\": \"Acme Pharma\",\n    \"customer_email\": \"logistics@acmepharma.com\",\n    \"customer_contact\": \"+1 415 555 0100\",\n    \"source_address\": {\n      \"label\": \"1 Market St, San Francisco, CA 94105\",\n      \"lat\": 37.79404,\n      \"lon\": -122.39504\n    },\n    \"destination_address\": {\n      \"label\": \"500 S Grand Ave, Los Angeles, CA 90071\",\n      \"lat\": 34.0522,\n      \"lon\": -118.2437\n    },\n    \"notes\": \"Keep refrigerated\",\n    \"mode_of_transport\": \"GROUND\"\n  },\n  \"devices\": [\n    {\n      \"qrcode\": \"TRK0012345\",\n      \"asset_barcode\": \"AWB-777-1001\",\n      \"application_id\": \"70481678-e88b-2198-98ad-4a2b091940d6\",\n      \"facility_id\": \"0b6f7c1e-2d3a-4b5c-8d9e-0f1a2b3c4d5e\",\n      \"lat\": 37.7749,\n      \"lon\": -122.4194,\n      \"tape_displayname\": \"Pallet 1\",\n      \"override\": false\n    }\n  ]\n}'"}],"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/external-api/trackonomy-external-api","description":"Mock server","isMockServer":true},{"url":"https://api.trackonomy.com","description":"Production"},{"url":"https://ppe.api.trackonomy.com","description":"PPE (integration testing)"}],"schemaId":"components/schemas/LabelCreateRequest","exampleIds":["paths/~1external~1v1~1devices~1label/post/requestBody/content/application~1json/examples/allFields","paths/~1external~1v1~1devices~1label/post/requestBody/content/application~1json/examples/minimal","paths/~1external~1v1~1devices~1label/post/requestBody/content/application~1json/examples/withShipment","paths/~1external~1v1~1devices~1label/post/requestBody/content/application~1json/examples/coordinatesForFacility","paths/~1external~1v1~1devices~1label/post/requestBody/content/application~1json/examples/overrideExisting","paths/~1external~1v1~1devices~1label/post/requestBody/content/application~1json/examples/skipQrmac"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/LabelCreateRequest","exampleIds":["paths/~1external~1v1~1devices~1label/post/requestBody/content/application~1json/examples/allFields","paths/~1external~1v1~1devices~1label/post/requestBody/content/application~1json/examples/minimal","paths/~1external~1v1~1devices~1label/post/requestBody/content/application~1json/examples/withShipment","paths/~1external~1v1~1devices~1label/post/requestBody/content/application~1json/examples/coordinatesForFacility","paths/~1external~1v1~1devices~1label/post/requestBody/content/application~1json/examples/overrideExisting","paths/~1external~1v1~1devices~1label/post/requestBody/content/application~1json/examples/skipQrmac"]}},"examples":[{},{},{},{},{},{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Every device was labelled.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/LabelCreateResult","exampleIds":["paths/~1external~1v1~1devices~1label/post/responses/201/content/application~1json/examples/allFields","paths/~1external~1v1~1devices~1label/post/responses/201/content/application~1json/examples/minimal","paths/~1external~1v1~1devices~1label/post/responses/201/content/application~1json/examples/withShipment"]}},"schemaId":"components/schemas/LabelCreateResult","exampleIds":["paths/~1external~1v1~1devices~1label/post/responses/201/content/application~1json/examples/allFields","paths/~1external~1v1~1devices~1label/post/responses/201/content/application~1json/examples/minimal","paths/~1external~1v1~1devices~1label/post/responses/201/content/application~1json/examples/withShipment"]},{"code":"207","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"At least one device failed. Devices not listed in "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"errors"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" were labelled. Also returned when"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"every device failed ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"successful: 0"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"), unless every failure is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"QRMAC_NOT_FOUND"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (see "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/LabelCreateResult","exampleIds":["paths/~1external~1v1~1devices~1label/post/responses/207/content/application~1json/examples/partial","paths/~1external~1v1~1devices~1label/post/responses/207/content/application~1json/examples/allFailed"]}},"schemaId":"components/schemas/LabelCreateResult","exampleIds":["paths/~1external~1v1~1devices~1label/post/responses/207/content/application~1json/examples/partial","paths/~1external~1v1~1devices~1label/post/responses/207/content/application~1json/examples/allFailed"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"One of:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"*"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"the body failed validation (nothing was processed; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"errors"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" lists each problem with its "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"path"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":");"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"every device failed with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"QRMAC_NOT_FOUND"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (batch body, nothing was labelled);"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"your API identity has several accounts and no account headers were sent."},"children":[]}]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_4","exampleIds":["paths/~1external~1v1~1devices~1label/post/responses/400/content/application~1json/examples/missingField","paths/~1external~1v1~1devices~1label/post/responses/400/content/application~1json/examples/duplicateQrcode","paths/~1external~1v1~1devices~1label/post/responses/400/content/application~1json/examples/tooMany","paths/~1external~1v1~1devices~1label/post/responses/400/content/application~1json/examples/badEmail","paths/~1external~1v1~1devices~1label/post/responses/400/content/application~1json/examples/badModeOfTransport","paths/~1external~1v1~1devices~1label/post/responses/400/content/application~1json/examples/skipQrmacDisabled","paths/~1external~1v1~1devices~1label/post/responses/400/content/application~1json/examples/skipQrmacWithoutDeviceId","paths/~1external~1v1~1devices~1label/post/responses/400/content/application~1json/examples/noBody","paths/~1external~1v1~1devices~1label/post/responses/400/content/application~1json/examples/allQrmacNotFound","paths/~1external~1v1~1devices~1label/post/responses/400/content/application~1json/examples/multipleAccounts"]}},"schemaId":"schema_4","exampleIds":["paths/~1external~1v1~1devices~1label/post/responses/400/content/application~1json/examples/missingField","paths/~1external~1v1~1devices~1label/post/responses/400/content/application~1json/examples/duplicateQrcode","paths/~1external~1v1~1devices~1label/post/responses/400/content/application~1json/examples/tooMany","paths/~1external~1v1~1devices~1label/post/responses/400/content/application~1json/examples/badEmail","paths/~1external~1v1~1devices~1label/post/responses/400/content/application~1json/examples/badModeOfTransport","paths/~1external~1v1~1devices~1label/post/responses/400/content/application~1json/examples/skipQrmacDisabled","paths/~1external~1v1~1devices~1label/post/responses/400/content/application~1json/examples/skipQrmacWithoutDeviceId","paths/~1external~1v1~1devices~1label/post/responses/400/content/application~1json/examples/noBody","paths/~1external~1v1~1devices~1label/post/responses/400/content/application~1json/examples/allQrmacNotFound","paths/~1external~1v1~1devices~1label/post/responses/400/content/application~1json/examples/multipleAccounts"]},{"code":"401","description":"The access token is missing, expired, issued for another environment's audience, or your API\nidentity isn't granted this action. The same response is returned when the request body isn't\nvalid JSON or is larger than 50 MB. Check the body, request a new token and retry once; if it\nstill fails, contact your Trackonomy integration contact.\n","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1label/post/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1label/post/responses/401/content/application~1json/example"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"customer_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" / "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"authorized_group"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" pair isn't one of the accounts your API identity can access, or the identity has no account."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1label/post/responses/403/content/application~1json/examples/notAccessible","paths/~1external~1v1~1devices~1label/post/responses/403/content/application~1json/examples/noAccess"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1label/post/responses/403/content/application~1json/examples/notAccessible","paths/~1external~1v1~1devices~1label/post/responses/403/content/application~1json/examples/noAccess"]},{"code":"429","description":"More than 10 requests in 60 seconds from your API identity. The limit is shared by label,\nedit label, get labels, deactivate and configuration calls. Wait and retry with backoff.\n","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_5","exampleIds":["paths/~1external~1v1~1devices~1label/post/responses/429/content/application~1json/example"]}},"schemaId":"schema_5","exampleIds":["paths/~1external~1v1~1devices~1label/post/responses/429/content/application~1json/example"]},{"code":"500","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unexpected failure outside per-device processing. Some devices may already have been labelled:"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"check them with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before resending."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1label/post/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1label/post/responses/500/content/application~1json/example"]},{"code":"503","description":"Trackonomy couldn't resolve your account access. Temporary; retry with exponential backoff.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_6","exampleIds":["paths/~1external~1v1~1devices~1label/post/responses/503/content/application~1json/example"]}},"schemaId":"schema_6","exampleIds":["paths/~1external~1v1~1devices~1label/post/responses/503/content/application~1json/example"]}],"pointer":"/paths/~1external~1v1~1devices~1label/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"201","schemaId":"components/schemas/LabelCreateResult","exampleIds":["paths/~1external~1v1~1devices~1label/post/responses/201/content/application~1json/examples/allFields","paths/~1external~1v1~1devices~1label/post/responses/201/content/application~1json/examples/minimal","paths/~1external~1v1~1devices~1label/post/responses/201/content/application~1json/examples/withShipment"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/LabelCreateResult","exampleIds":["paths/~1external~1v1~1devices~1label/post/responses/201/content/application~1json/examples/allFields","paths/~1external~1v1~1devices~1label/post/responses/201/content/application~1json/examples/minimal","paths/~1external~1v1~1devices~1label/post/responses/201/content/application~1json/examples/withShipment"]}}},{"code":"207","schemaId":"components/schemas/LabelCreateResult","exampleIds":["paths/~1external~1v1~1devices~1label/post/responses/207/content/application~1json/examples/partial","paths/~1external~1v1~1devices~1label/post/responses/207/content/application~1json/examples/allFailed"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/LabelCreateResult","exampleIds":["paths/~1external~1v1~1devices~1label/post/responses/207/content/application~1json/examples/partial","paths/~1external~1v1~1devices~1label/post/responses/207/content/application~1json/examples/allFailed"]}}},{"code":"400","schemaId":"schema_4","exampleIds":["paths/~1external~1v1~1devices~1label/post/responses/400/content/application~1json/examples/missingField","paths/~1external~1v1~1devices~1label/post/responses/400/content/application~1json/examples/duplicateQrcode","paths/~1external~1v1~1devices~1label/post/responses/400/content/application~1json/examples/tooMany","paths/~1external~1v1~1devices~1label/post/responses/400/content/application~1json/examples/badEmail","paths/~1external~1v1~1devices~1label/post/responses/400/content/application~1json/examples/badModeOfTransport","paths/~1external~1v1~1devices~1label/post/responses/400/content/application~1json/examples/skipQrmacDisabled","paths/~1external~1v1~1devices~1label/post/responses/400/content/application~1json/examples/skipQrmacWithoutDeviceId","paths/~1external~1v1~1devices~1label/post/responses/400/content/application~1json/examples/noBody","paths/~1external~1v1~1devices~1label/post/responses/400/content/application~1json/examples/allQrmacNotFound","paths/~1external~1v1~1devices~1label/post/responses/400/content/application~1json/examples/multipleAccounts"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_4","exampleIds":["paths/~1external~1v1~1devices~1label/post/responses/400/content/application~1json/examples/missingField","paths/~1external~1v1~1devices~1label/post/responses/400/content/application~1json/examples/duplicateQrcode","paths/~1external~1v1~1devices~1label/post/responses/400/content/application~1json/examples/tooMany","paths/~1external~1v1~1devices~1label/post/responses/400/content/application~1json/examples/badEmail","paths/~1external~1v1~1devices~1label/post/responses/400/content/application~1json/examples/badModeOfTransport","paths/~1external~1v1~1devices~1label/post/responses/400/content/application~1json/examples/skipQrmacDisabled","paths/~1external~1v1~1devices~1label/post/responses/400/content/application~1json/examples/skipQrmacWithoutDeviceId","paths/~1external~1v1~1devices~1label/post/responses/400/content/application~1json/examples/noBody","paths/~1external~1v1~1devices~1label/post/responses/400/content/application~1json/examples/allQrmacNotFound","paths/~1external~1v1~1devices~1label/post/responses/400/content/application~1json/examples/multipleAccounts"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1label/post/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1label/post/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1label/post/responses/403/content/application~1json/examples/notAccessible","paths/~1external~1v1~1devices~1label/post/responses/403/content/application~1json/examples/noAccess"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1label/post/responses/403/content/application~1json/examples/notAccessible","paths/~1external~1v1~1devices~1label/post/responses/403/content/application~1json/examples/noAccess"]}}},{"code":"429","schemaId":"schema_5","exampleIds":["paths/~1external~1v1~1devices~1label/post/responses/429/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_5","exampleIds":["paths/~1external~1v1~1devices~1label/post/responses/429/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1label/post/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1label/post/responses/500/content/application~1json/example"]}}},{"code":"503","schemaId":"schema_6","exampleIds":["paths/~1external~1v1~1devices~1label/post/responses/503/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_6","exampleIds":["paths/~1external~1v1~1devices~1label/post/responses/503/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/device-management/post-devices-label"}],"panels":[]}]},"httpPath":"/external/v1/devices/label"},{"label":"Edit device labels","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/external-api/trackonomy-external-api/device-management/put-devices-label","routeSlug":"/external-api/trackonomy-external-api/device-management/put-devices-label","metadata":{"seo":{"title":"Edit device labels","description":"Edits existing labels and, optionally, their shipment, for up to 20 devices. A QR code with nolabel in your account fails with DEVICE_NOT_FOUND; this call never creates a label. A device'sstatus is never changed (a DEACTIVATED device can be edited and stays deactivated)."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"put-devices-label","name":"Edit device labels","isWebhook":false,"pointer":"/paths/~1external~1v1~1devices~1label/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Edit device labels","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Edits existing labels and, optionally, their shipment, for up to 20 devices. A QR code with no"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"label in your account fails with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DEVICE_NOT_FOUND"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; this call never creates a label. A device's"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"status is never changed (a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DEACTIVATED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" device can be edited and stays deactivated)."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Headers."},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" Send "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"customer_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"authorized_group"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" only when your API identity has access to"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"more than one account."},"children":[]}]}]},{"$$mdtype":"Node","type":"heading","attributes":{"level":3,"id":"device-management/put-devices-label/request/device-fields","deepLinkHash":"/device-management/put-devices-label#device-management/put-devices-label/request/device-fields"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Device fields"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"For each listed device only the fields you send are written:"},"children":[]}]}]},{"$$mdtype":"Node","type":"table","attributes":{},"children":[{"$$mdtype":"Node","type":"thead","attributes":{},"children":[{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Field"},"children":[]}]}]},{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Omitted"},"children":[]}]}]},{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]}]}]},{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Value"},"children":[]}]}]}]}]},{"$$mdtype":"Node","type":"tbody","attributes":{},"children":[{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"asset_barcode"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"unchanged"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"cleared"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"replaced (must not be used by another device in your account)"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"facility_id"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"unchanged"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"cleared"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"replaced (must be a facility of your account)"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"tape_displayname"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"unchanged"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"cleared"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"replaced"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application_id"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"unchanged"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"unchanged"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"must equal the device's current application; any other application fails with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"APPLICATION_CHANGE_NOT_ALLOWED"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The application can't be changed by an edit."},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is accepted only so you can"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"confirm the current application. "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Don't send it unless you need that check."},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" It must pass a"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"strict UUID format check (8-4-4-4-12 hex digits, the 13th digit "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"1"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"–"},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"8"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and the 17th digit "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"8"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"9"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"a"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"b"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"), and most application ids, including ids returned by "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", don't. An id that"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"fails the check rejects the whole request with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"heading","attributes":{"level":3,"id":"device-management/put-devices-label/request/shipment-(shipment_details)","deepLinkHash":"/device-management/put-devices-label#device-management/put-devices-label/request/shipment-(shipment_details)"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Shipment ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"shipment_details"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The target shipment is the shipment of the "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"first"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" device in "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"devices"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". If that device has no"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"shipment, a new shipment is started. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"scope"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" decides which devices receive the shipment update:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"*"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"THIS_DEVICE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (default): only listed devices whose edit succeeded. A listed device (other than the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"first) that already belongs to a "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"different"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" shipment fails with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SHIPMENT_CONFLICT"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and is not"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"edited at all. Edit it in a separate call where it comes first."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ALL_DEVICES_IN_SHIPMENT"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": every device in your account that carries the target shipment,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"including devices you didn't list. A listed device that isn't in that shipment fails with"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"NOT_IN_SHIPMENT"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; its device fields (above) are still written. When the first device has no"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"shipment yet, this behaves like "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"THIS_DEVICE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"customer_name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"customer_email"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"source_address"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"destination_address"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" are required."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"customer_contact"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"notes"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"mode_of_transport"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" keep their saved values when omitted or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"An empty address ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") keeps the saved location when one is saved; when the target shipment is"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"new, "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" can't be resolved and the shipment write fails with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"INTERNAL_ERROR"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". This isn't checked"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"before processing. A failed shipment write is reported in "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"errors"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":";"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"the device-field edit made before it is kept. With "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ALL_DEVICES_IN_SHIPMENT"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"errors"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" can include"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"a device you didn't list whose shipment update failed. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"scope"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is ignored without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"shipment_details"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"heading","attributes":{"level":3,"id":"device-management/put-devices-label/request/per-device-error_code-values","deepLinkHash":"/device-management/put-devices-label#device-management/put-devices-label/request/per-device-error_code-values"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Per-device "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"error_code"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" values"},"children":[]}]}]},{"$$mdtype":"Node","type":"table","attributes":{},"children":[{"$$mdtype":"Node","type":"thead","attributes":{},"children":[{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Value"},"children":[]}]}]},{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Meaning"},"children":[]}]}]},{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"What to do"},"children":[]}]}]}]}]},{"$$mdtype":"Node","type":"tbody","attributes":{},"children":[{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DEVICE_NOT_FOUND"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"No labelled device with this QR code in your account, the device is outside the applications or facilities your account can use, or (shipment update) the device's tracking record isn't available."},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Label it with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"POST"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" first; check the QR code."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"APPLICATION_CHANGE_NOT_ALLOWED"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" differs from the device's current application."},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Omit "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". The application can't be changed through this API."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"FACILITY_NOT_FOUND"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"facility_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" doesn't exist in your account or isn't one your account can use."},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Fix "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"facility_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DUPLICATE_DEVICE"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"asset_barcode"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is already used by another device in your account."},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use a different asset barcode."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SHIPMENT_CONFLICT"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"THIS_DEVICE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") The device already belongs to a different shipment from the first listed device. The device was not edited."},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Edit it in a separate call."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"NOT_IN_SHIPMENT"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ALL_DEVICES_IN_SHIPMENT"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") The device isn't part of the first device's shipment, so it didn't get the shipment update. Its device fields were written."},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Update its shipment in a separate call."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"INTERNAL_ERROR"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Anything else, for example an "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" that matches no application, a shipment address that couldn't be resolved, or a temporary failure."},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Check the inputs and retry."},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"heading","attributes":{"level":3,"id":"device-management/put-devices-label/request/status-codes","deepLinkHash":"/device-management/put-devices-label#device-management/put-devices-label/request/status-codes"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Status codes"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when every device (and every shipment update) succeeded, "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"207"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when at least one failed (also"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"when all failed). Edits are not rolled back."},"children":[]}]}]},{"$$mdtype":"Node","type":"heading","attributes":{"level":3,"id":"device-management/put-devices-label/request/retries","deepLinkHash":"/device-management/put-devices-label#device-management/put-devices-label/request/retries"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retries"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Resending the same request is safe: it writes the same values again. Once the first device has a"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"shipment, later calls reuse its "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"shipment_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token from the token URL issued for your environment at onboarding. Send it on"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"every call as "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Authorization: Bearer <access_token>"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". The token URL, client ID and"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"audience are different for each environment."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"correlation_id","in":"header","schemaId":"schema_0","description":"Optional request ID. Trackonomy records it with the request so support can trace a call you report.","example":"5f0c2b8e-6a51-4f7e-9d0e-1c2b3a4d5e6f"},{"name":"customer_id","in":"header","schemaId":"schema_0","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Only needed when your API identity has access to more than one account. Send it together"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"authorized_group"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to choose the account. When your identity has a single account,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"omit both headers: the account comes from the access token."},"children":[]}]}]}],"example":"acme"},{"name":"authorized_group","in":"header","schemaId":"schema_0","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Only needed when your API identity has access to more than one account; send it together"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"customer_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"authorized_groups"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is accepted as the same header."},"children":[]}]}]}],"example":"acme-logistics"}],"pointer":"/paths/~1external~1v1~1devices~1label/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/LabelEditRequest","exampleIds":["paths/~1external~1v1~1devices~1label/put/requestBody/content/application~1json/examples/allFields","paths/~1external~1v1~1devices~1label/put/requestBody/content/application~1json/examples/minimal","paths/~1external~1v1~1devices~1label/put/requestBody/content/application~1json/examples/clearFields","paths/~1external~1v1~1devices~1label/put/requestBody/content/application~1json/examples/shipmentAllDevices","paths/~1external~1v1~1devices~1label/put/requestBody/content/application~1json/examples/shipmentTwoDevices"]}},"schemaId":"components/schemas/LabelEditRequest","exampleIds":["paths/~1external~1v1~1devices~1label/put/requestBody/content/application~1json/examples/allFields","paths/~1external~1v1~1devices~1label/put/requestBody/content/application~1json/examples/minimal","paths/~1external~1v1~1devices~1label/put/requestBody/content/application~1json/examples/clearFields","paths/~1external~1v1~1devices~1label/put/requestBody/content/application~1json/examples/shipmentAllDevices","paths/~1external~1v1~1devices~1label/put/requestBody/content/application~1json/examples/shipmentTwoDevices"],"pointer":"/paths/~1external~1v1~1devices~1label/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/external/v1/devices/label","servers":[{"url":"/_mock/external-api/trackonomy-external-api","description":"Mock server","isMockServer":true},{"url":"https://api.trackonomy.com","description":"Production"},{"url":"https://ppe.api.trackonomy.com","description":"PPE (integration testing)"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"correlation_id","in":"header","required":false,"example":"5f0c2b8e-6a51-4f7e-9d0e-1c2b3a4d5e6f","schemaId":"schema_0"},{"name":"customer_id","in":"header","required":false,"example":"acme","schemaId":"schema_0"},{"name":"authorized_group","in":"header","required":false,"example":"acme-logistics","schemaId":"schema_0"}],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/LabelEditRequest","exampleIds":["paths/~1external~1v1~1devices~1label/put/requestBody/content/application~1json/examples/allFields","paths/~1external~1v1~1devices~1label/put/requestBody/content/application~1json/examples/minimal","paths/~1external~1v1~1devices~1label/put/requestBody/content/application~1json/examples/clearFields","paths/~1external~1v1~1devices~1label/put/requestBody/content/application~1json/examples/shipmentAllDevices","paths/~1external~1v1~1devices~1label/put/requestBody/content/application~1json/examples/shipmentTwoDevices"]}},"responseCodes":["200","207","400","401","403","429","500","503"],"pointer":"/external/v1/devices/label","href":"device-management/put-devices-label","openApiOperationId":"put-devices-label","summary":"Edit device labels"},"definitionSamples":[{"lang":"cURL","label":"cURL","source":"curl --request PUT \\\n  --url 'https://ppe.api.trackonomy.com/external/v1/devices/label' \\\n  --header 'Authorization: Bearer <access_token>' \\\n  --header 'correlation_id: 5f0c2b8e-6a51-4f7e-9d0e-1c2b3a4d5e6f' \\\n  --header 'Content-Type: application/json' \\\n  --data '{\n  \"scope\": \"THIS_DEVICE\",\n  \"shipment_details\": {\n    \"customer_name\": \"Acme Pharma\",\n    \"customer_email\": \"logistics@acmepharma.com\",\n    \"customer_contact\": \"+1 415 555 0100\",\n    \"source_address\": {\n      \"label\": \"1 Market St, San Francisco, CA 94105\",\n      \"lat\": 37.79404,\n      \"lon\": -122.39504\n    },\n    \"destination_address\": {\n      \"label\": \"500 S Grand Ave, Los Angeles, CA 90071\",\n      \"lat\": 34.0522,\n      \"lon\": -118.2437\n    },\n    \"notes\": \"Keep refrigerated\",\n    \"mode_of_transport\": \"GROUND\"\n  },\n  \"devices\": [\n    {\n      \"qrcode\": \"TRK0012345\",\n      \"asset_barcode\": \"AWB-777-3001\",\n      \"application_id\": \"70481678-e88b-2198-98ad-4a2b091940d6\",\n      \"facility_id\": \"0b6f7c1e-2d3a-4b5c-8d9e-0f1a2b3c4d5e\",\n      \"tape_displayname\": \"Pallet 1A\"\n    }\n  ]\n}'"}],"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/external-api/trackonomy-external-api","description":"Mock server","isMockServer":true},{"url":"https://api.trackonomy.com","description":"Production"},{"url":"https://ppe.api.trackonomy.com","description":"PPE (integration testing)"}],"schemaId":"components/schemas/LabelEditRequest","exampleIds":["paths/~1external~1v1~1devices~1label/put/requestBody/content/application~1json/examples/allFields","paths/~1external~1v1~1devices~1label/put/requestBody/content/application~1json/examples/minimal","paths/~1external~1v1~1devices~1label/put/requestBody/content/application~1json/examples/clearFields","paths/~1external~1v1~1devices~1label/put/requestBody/content/application~1json/examples/shipmentAllDevices","paths/~1external~1v1~1devices~1label/put/requestBody/content/application~1json/examples/shipmentTwoDevices"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/LabelEditRequest","exampleIds":["paths/~1external~1v1~1devices~1label/put/requestBody/content/application~1json/examples/allFields","paths/~1external~1v1~1devices~1label/put/requestBody/content/application~1json/examples/minimal","paths/~1external~1v1~1devices~1label/put/requestBody/content/application~1json/examples/clearFields","paths/~1external~1v1~1devices~1label/put/requestBody/content/application~1json/examples/shipmentAllDevices","paths/~1external~1v1~1devices~1label/put/requestBody/content/application~1json/examples/shipmentTwoDevices"]}},"examples":[{},{},{},{},{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Every device and every shipment update succeeded.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/LabelEditResult","exampleIds":["paths/~1external~1v1~1devices~1label/put/responses/200/content/application~1json/examples/allFields","paths/~1external~1v1~1devices~1label/put/responses/200/content/application~1json/examples/noShipment"]}},"schemaId":"components/schemas/LabelEditResult","exampleIds":["paths/~1external~1v1~1devices~1label/put/responses/200/content/application~1json/examples/allFields","paths/~1external~1v1~1devices~1label/put/responses/200/content/application~1json/examples/noShipment"]},{"code":"207","description":"At least one device or shipment update failed; also returned when all failed.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/LabelEditResult","exampleIds":["paths/~1external~1v1~1devices~1label/put/responses/207/content/application~1json/examples/shipmentConflict","paths/~1external~1v1~1devices~1label/put/responses/207/content/application~1json/examples/notInShipment","paths/~1external~1v1~1devices~1label/put/responses/207/content/application~1json/examples/applicationChange","paths/~1external~1v1~1devices~1label/put/responses/207/content/application~1json/examples/notFound"]}},"schemaId":"components/schemas/LabelEditResult","exampleIds":["paths/~1external~1v1~1devices~1label/put/responses/207/content/application~1json/examples/shipmentConflict","paths/~1external~1v1~1devices~1label/put/responses/207/content/application~1json/examples/notInShipment","paths/~1external~1v1~1devices~1label/put/responses/207/content/application~1json/examples/applicationChange","paths/~1external~1v1~1devices~1label/put/responses/207/content/application~1json/examples/notFound"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The body failed validation (nothing was changed; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"errors"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" lists each problem with its "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"path"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"),"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"or your API identity has several accounts and no account headers were sent."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_7","exampleIds":["paths/~1external~1v1~1devices~1label/put/responses/400/content/application~1json/examples/applicationIdFormat","paths/~1external~1v1~1devices~1label/put/responses/400/content/application~1json/examples/badScope","paths/~1external~1v1~1devices~1label/put/responses/400/content/application~1json/examples/incompleteShipment","paths/~1external~1v1~1devices~1label/put/responses/400/content/application~1json/examples/duplicateQrcode","paths/~1external~1v1~1devices~1label/put/responses/400/content/application~1json/examples/multipleAccounts"]}},"schemaId":"schema_7","exampleIds":["paths/~1external~1v1~1devices~1label/put/responses/400/content/application~1json/examples/applicationIdFormat","paths/~1external~1v1~1devices~1label/put/responses/400/content/application~1json/examples/badScope","paths/~1external~1v1~1devices~1label/put/responses/400/content/application~1json/examples/incompleteShipment","paths/~1external~1v1~1devices~1label/put/responses/400/content/application~1json/examples/duplicateQrcode","paths/~1external~1v1~1devices~1label/put/responses/400/content/application~1json/examples/multipleAccounts"]},{"code":"401","description":"The access token is missing, expired, issued for another environment's audience, or your API\nidentity isn't granted this action. The same response is returned when the request body isn't\nvalid JSON or is larger than 50 MB. Check the body, request a new token and retry once; if it\nstill fails, contact your Trackonomy integration contact.\n","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1label/put/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1label/put/responses/401/content/application~1json/example"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"customer_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" / "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"authorized_group"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" pair isn't one of the accounts your API identity can access, or the identity has no account."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1label/put/responses/403/content/application~1json/examples/notAccessible","paths/~1external~1v1~1devices~1label/put/responses/403/content/application~1json/examples/noAccess"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1label/put/responses/403/content/application~1json/examples/notAccessible","paths/~1external~1v1~1devices~1label/put/responses/403/content/application~1json/examples/noAccess"]},{"code":"429","description":"More than 10 requests in 60 seconds from your API identity. The limit is shared by label,\nedit label, get labels, deactivate and configuration calls. Wait and retry with backoff.\n","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_5","exampleIds":["paths/~1external~1v1~1devices~1label/put/responses/429/content/application~1json/example"]}},"schemaId":"schema_5","exampleIds":["paths/~1external~1v1~1devices~1label/put/responses/429/content/application~1json/example"]},{"code":"500","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unexpected failure outside per-device processing. Device edits made before the failure are"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"kept; check the devices with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before resending."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1label/put/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1label/put/responses/500/content/application~1json/example"]},{"code":"503","description":"Trackonomy couldn't resolve your account access. Temporary; retry with exponential backoff.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_6","exampleIds":["paths/~1external~1v1~1devices~1label/put/responses/503/content/application~1json/example"]}},"schemaId":"schema_6","exampleIds":["paths/~1external~1v1~1devices~1label/put/responses/503/content/application~1json/example"]}],"pointer":"/paths/~1external~1v1~1devices~1label/put/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/LabelEditResult","exampleIds":["paths/~1external~1v1~1devices~1label/put/responses/200/content/application~1json/examples/allFields","paths/~1external~1v1~1devices~1label/put/responses/200/content/application~1json/examples/noShipment"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/LabelEditResult","exampleIds":["paths/~1external~1v1~1devices~1label/put/responses/200/content/application~1json/examples/allFields","paths/~1external~1v1~1devices~1label/put/responses/200/content/application~1json/examples/noShipment"]}}},{"code":"207","schemaId":"components/schemas/LabelEditResult","exampleIds":["paths/~1external~1v1~1devices~1label/put/responses/207/content/application~1json/examples/shipmentConflict","paths/~1external~1v1~1devices~1label/put/responses/207/content/application~1json/examples/notInShipment","paths/~1external~1v1~1devices~1label/put/responses/207/content/application~1json/examples/applicationChange","paths/~1external~1v1~1devices~1label/put/responses/207/content/application~1json/examples/notFound"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/LabelEditResult","exampleIds":["paths/~1external~1v1~1devices~1label/put/responses/207/content/application~1json/examples/shipmentConflict","paths/~1external~1v1~1devices~1label/put/responses/207/content/application~1json/examples/notInShipment","paths/~1external~1v1~1devices~1label/put/responses/207/content/application~1json/examples/applicationChange","paths/~1external~1v1~1devices~1label/put/responses/207/content/application~1json/examples/notFound"]}}},{"code":"400","schemaId":"schema_7","exampleIds":["paths/~1external~1v1~1devices~1label/put/responses/400/content/application~1json/examples/applicationIdFormat","paths/~1external~1v1~1devices~1label/put/responses/400/content/application~1json/examples/badScope","paths/~1external~1v1~1devices~1label/put/responses/400/content/application~1json/examples/incompleteShipment","paths/~1external~1v1~1devices~1label/put/responses/400/content/application~1json/examples/duplicateQrcode","paths/~1external~1v1~1devices~1label/put/responses/400/content/application~1json/examples/multipleAccounts"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_7","exampleIds":["paths/~1external~1v1~1devices~1label/put/responses/400/content/application~1json/examples/applicationIdFormat","paths/~1external~1v1~1devices~1label/put/responses/400/content/application~1json/examples/badScope","paths/~1external~1v1~1devices~1label/put/responses/400/content/application~1json/examples/incompleteShipment","paths/~1external~1v1~1devices~1label/put/responses/400/content/application~1json/examples/duplicateQrcode","paths/~1external~1v1~1devices~1label/put/responses/400/content/application~1json/examples/multipleAccounts"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1label/put/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1label/put/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1label/put/responses/403/content/application~1json/examples/notAccessible","paths/~1external~1v1~1devices~1label/put/responses/403/content/application~1json/examples/noAccess"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1label/put/responses/403/content/application~1json/examples/notAccessible","paths/~1external~1v1~1devices~1label/put/responses/403/content/application~1json/examples/noAccess"]}}},{"code":"429","schemaId":"schema_5","exampleIds":["paths/~1external~1v1~1devices~1label/put/responses/429/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_5","exampleIds":["paths/~1external~1v1~1devices~1label/put/responses/429/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1label/put/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1label/put/responses/500/content/application~1json/example"]}}},{"code":"503","schemaId":"schema_6","exampleIds":["paths/~1external~1v1~1devices~1label/put/responses/503/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_6","exampleIds":["paths/~1external~1v1~1devices~1label/put/responses/503/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/device-management/put-devices-label"}],"panels":[]}]},"httpPath":"/external/v1/devices/label"},{"label":"Get device labels","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/external-api/trackonomy-external-api/device-management/get-devices-label","routeSlug":"/external-api/trackonomy-external-api/device-management/get-devices-label","metadata":{"seo":{"title":"Get device labels","description":"Returns the label and shipment of up to 20 devices, one entry per requested QR code, in requestorder. Read-only and safe to retry."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"get-devices-label","name":"Get device labels","isWebhook":false,"pointer":"/paths/~1external~1v1~1devices~1label/get","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get device labels","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns the label and shipment of up to 20 devices, one entry per requested QR code, in request"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"order. Read-only and safe to retry."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"*"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A QR code with no device in your account, or a device outside the applications or facilities your"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"account can use, returns "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{qrcode, found: false}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". This is not an error."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A device known to your account but never labelled is returned with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"found: true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"status: NOT_ACTIVATED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Query."},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" Repeat "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"qrcode"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for several devices ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"?qrcode=A&qrcode=B"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"); a comma-separated value is"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"not"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" split. Matching is exact and case-sensitive; surrounding spaces are trimmed. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"include"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" adds"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"optional blocks and accepts either one comma-separated value or the parameter repeated (don't mix"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"the two forms). An unknown "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"include"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" value returns "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"GET /external/v1/devices/label?qrcode=TRK0012345&qrcode=TRK0099999&include=metadata,fw_configuration,hw_configuration\nGET /external/v1/devices/label?qrcode=TRK0012345&include=metadata&include=fw_configuration&include=hw_configuration\n"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"GET /external/v1/devices/label?qrcode=TRK0012345&qrcode=TRK0099999&include=metadata,fw_configuration,hw_configuration\nGET /external/v1/devices/label?qrcode=TRK0012345&include=metadata&include=fw_configuration&include=hw_configuration\n"},"children":[]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Headers."},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" Send "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"customer_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"authorized_group"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" only when your API identity has access to"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"more than one account."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token from the token URL issued for your environment at onboarding. Send it on"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"every call as "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Authorization: Bearer <access_token>"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". The token URL, client ID and"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"audience are different for each environment."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"qrcode","in":"query","schemaId":"schema_8","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Device QR code. Repeat the parameter for several devices (1–20 values). Each value must be"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"non-empty after trimming. Exact, case-sensitive match. Comma-separated values are not split."},"children":[]}]}]}],"required":true,"examples":{"allFields":{"summary":"Two devices","value":"[\"TRK0012345\",\"TRK0099999\"]"},"minimal":{"summary":"One device","value":"[\"TRK0012347\"]"}}},{"name":"include","in":"query","schemaId":"schema_9","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Optional extra blocks for each found device: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"metadata"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"fw_configuration"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"hw_configuration"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Send one comma-separated value or repeat the parameter."},"children":[]}]}]}],"examples":{"allFields":{"summary":"All blocks with include=metadata,fw_configuration,hw_configuration","value":"[\"metadata\",\"fw_configuration\",\"hw_configuration\"]"}}}],"pointer":"/paths/~1external~1v1~1devices~1label/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"correlation_id","in":"header","schemaId":"schema_0","description":"Optional request ID. Trackonomy records it with the request so support can trace a call you report.","example":"5f0c2b8e-6a51-4f7e-9d0e-1c2b3a4d5e6f"},{"name":"customer_id","in":"header","schemaId":"schema_0","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Only needed when your API identity has access to more than one account. Send it together"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"authorized_group"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to choose the account. When your identity has a single account,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"omit both headers: the account comes from the access token."},"children":[]}]}]}],"example":"acme"},{"name":"authorized_group","in":"header","schemaId":"schema_0","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Only needed when your API identity has access to more than one account; send it together"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"customer_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"authorized_groups"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is accepted as the same header."},"children":[]}]}]}],"example":"acme-logistics"}],"pointer":"/paths/~1external~1v1~1devices~1label/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/external/v1/devices/label","servers":[{"url":"/_mock/external-api/trackonomy-external-api","description":"Mock server","isMockServer":true},{"url":"https://api.trackonomy.com","description":"Production"},{"url":"https://ppe.api.trackonomy.com","description":"PPE (integration testing)"}],"parameters":{"path":[],"query":[{"name":"qrcode","in":"query","required":true,"example":["TRK0012345","TRK0099999"],"schemaId":"schema_8","style":"form","explode":true},{"name":"include","in":"query","required":false,"example":["metadata","fw_configuration","hw_configuration"],"schemaId":"schema_9","style":"form","explode":false}],"querystring":[],"header":[{"name":"correlation_id","in":"header","required":false,"example":"5f0c2b8e-6a51-4f7e-9d0e-1c2b3a4d5e6f","schemaId":"schema_0"},{"name":"customer_id","in":"header","required":false,"example":"acme","schemaId":"schema_0"},{"name":"authorized_group","in":"header","required":false,"example":"acme-logistics","schemaId":"schema_0"}],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","403","429","500","503"],"pointer":"/external/v1/devices/label","href":"device-management/get-devices-label","openApiOperationId":"get-devices-label","summary":"Get device labels"},"definitionSamples":[{"lang":"cURL","label":"cURL","source":"curl --request GET \\\n  --url 'https://ppe.api.trackonomy.com/external/v1/devices/label?qrcode=TRK0012345&qrcode=TRK0099999&include=metadata&include=fw_configuration&include=hw_configuration' \\\n  --header 'Authorization: Bearer <access_token>' \\\n  --header 'correlation_id: 5f0c2b8e-6a51-4f7e-9d0e-1c2b3a4d5e6f'"}],"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/external-api/trackonomy-external-api","description":"Mock server","isMockServer":true},{"url":"https://api.trackonomy.com","description":"Production"},{"url":"https://ppe.api.trackonomy.com","description":"PPE (integration testing)"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"One entry per requested QR code.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/LabelGetResponse","exampleIds":["paths/~1external~1v1~1devices~1label/get/responses/200/content/application~1json/examples/allFields","paths/~1external~1v1~1devices~1label/get/responses/200/content/application~1json/examples/noShipmentNoIncludes","paths/~1external~1v1~1devices~1label/get/responses/200/content/application~1json/examples/neverLabelled"]}},"schemaId":"components/schemas/LabelGetResponse","exampleIds":["paths/~1external~1v1~1devices~1label/get/responses/200/content/application~1json/examples/allFields","paths/~1external~1v1~1devices~1label/get/responses/200/content/application~1json/examples/noShipmentNoIncludes","paths/~1external~1v1~1devices~1label/get/responses/200/content/application~1json/examples/neverLabelled"]},{"code":"400","description":"The query failed validation, or your API identity has several accounts and no account headers were sent.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_7","exampleIds":["paths/~1external~1v1~1devices~1label/get/responses/400/content/application~1json/examples/missingQrcode","paths/~1external~1v1~1devices~1label/get/responses/400/content/application~1json/examples/tooManyQrcodes","paths/~1external~1v1~1devices~1label/get/responses/400/content/application~1json/examples/badInclude","paths/~1external~1v1~1devices~1label/get/responses/400/content/application~1json/examples/multipleAccounts"]}},"schemaId":"schema_7","exampleIds":["paths/~1external~1v1~1devices~1label/get/responses/400/content/application~1json/examples/missingQrcode","paths/~1external~1v1~1devices~1label/get/responses/400/content/application~1json/examples/tooManyQrcodes","paths/~1external~1v1~1devices~1label/get/responses/400/content/application~1json/examples/badInclude","paths/~1external~1v1~1devices~1label/get/responses/400/content/application~1json/examples/multipleAccounts"]},{"code":"401","description":"The access token is missing, expired, issued for another environment's audience, or your API\nidentity isn't granted this action. The same response is returned when the request body isn't\nvalid JSON or is larger than 50 MB. Check the body, request a new token and retry once; if it\nstill fails, contact your Trackonomy integration contact.\n","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1label/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1label/get/responses/401/content/application~1json/example"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"customer_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" / "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"authorized_group"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" pair isn't one of the accounts your API identity can access, or the identity has no account."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1label/get/responses/403/content/application~1json/examples/notAccessible","paths/~1external~1v1~1devices~1label/get/responses/403/content/application~1json/examples/noAccess"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1label/get/responses/403/content/application~1json/examples/notAccessible","paths/~1external~1v1~1devices~1label/get/responses/403/content/application~1json/examples/noAccess"]},{"code":"429","description":"More than 10 requests in 60 seconds from your API identity. The limit is shared by label,\nedit label, get labels, deactivate and configuration calls. Wait and retry with backoff.\n","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_5","exampleIds":["paths/~1external~1v1~1devices~1label/get/responses/429/content/application~1json/example"]}},"schemaId":"schema_5","exampleIds":["paths/~1external~1v1~1devices~1label/get/responses/429/content/application~1json/example"]},{"code":"500","description":"A lookup failed; the whole request fails. Safe to retry.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1label/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1label/get/responses/500/content/application~1json/example"]},{"code":"503","description":"Trackonomy couldn't resolve your account access. Temporary; retry with exponential backoff.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_6","exampleIds":["paths/~1external~1v1~1devices~1label/get/responses/503/content/application~1json/example"]}},"schemaId":"schema_6","exampleIds":["paths/~1external~1v1~1devices~1label/get/responses/503/content/application~1json/example"]}],"pointer":"/paths/~1external~1v1~1devices~1label/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/LabelGetResponse","exampleIds":["paths/~1external~1v1~1devices~1label/get/responses/200/content/application~1json/examples/allFields","paths/~1external~1v1~1devices~1label/get/responses/200/content/application~1json/examples/noShipmentNoIncludes","paths/~1external~1v1~1devices~1label/get/responses/200/content/application~1json/examples/neverLabelled"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/LabelGetResponse","exampleIds":["paths/~1external~1v1~1devices~1label/get/responses/200/content/application~1json/examples/allFields","paths/~1external~1v1~1devices~1label/get/responses/200/content/application~1json/examples/noShipmentNoIncludes","paths/~1external~1v1~1devices~1label/get/responses/200/content/application~1json/examples/neverLabelled"]}}},{"code":"400","schemaId":"schema_7","exampleIds":["paths/~1external~1v1~1devices~1label/get/responses/400/content/application~1json/examples/missingQrcode","paths/~1external~1v1~1devices~1label/get/responses/400/content/application~1json/examples/tooManyQrcodes","paths/~1external~1v1~1devices~1label/get/responses/400/content/application~1json/examples/badInclude","paths/~1external~1v1~1devices~1label/get/responses/400/content/application~1json/examples/multipleAccounts"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_7","exampleIds":["paths/~1external~1v1~1devices~1label/get/responses/400/content/application~1json/examples/missingQrcode","paths/~1external~1v1~1devices~1label/get/responses/400/content/application~1json/examples/tooManyQrcodes","paths/~1external~1v1~1devices~1label/get/responses/400/content/application~1json/examples/badInclude","paths/~1external~1v1~1devices~1label/get/responses/400/content/application~1json/examples/multipleAccounts"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1label/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1label/get/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1label/get/responses/403/content/application~1json/examples/notAccessible","paths/~1external~1v1~1devices~1label/get/responses/403/content/application~1json/examples/noAccess"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1label/get/responses/403/content/application~1json/examples/notAccessible","paths/~1external~1v1~1devices~1label/get/responses/403/content/application~1json/examples/noAccess"]}}},{"code":"429","schemaId":"schema_5","exampleIds":["paths/~1external~1v1~1devices~1label/get/responses/429/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_5","exampleIds":["paths/~1external~1v1~1devices~1label/get/responses/429/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1label/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1label/get/responses/500/content/application~1json/example"]}}},{"code":"503","schemaId":"schema_6","exampleIds":["paths/~1external~1v1~1devices~1label/get/responses/503/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_6","exampleIds":["paths/~1external~1v1~1devices~1label/get/responses/503/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/device-management/get-devices-label"}],"panels":[]}]},"httpPath":"/external/v1/devices/label"},{"label":"Deactivate devices","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/external-api/trackonomy-external-api/device-management/post-devices-status","routeSlug":"/external-api/trackonomy-external-api/device-management/post-devices-status","metadata":{"seo":{"title":"Deactivate devices","description":"Deactivates up to 100 devices in one request. Each device is identified by its qrcode."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"post-devices-status","name":"Deactivate devices","isWebhook":false,"pointer":"/paths/~1external~1v1~1devices~1status/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Deactivate devices","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Deactivates up to "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"100"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" devices in one request. Each device is identified by its "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"qrcode"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A deactivated device keeps its label and shipment details, but its status becomes "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DEACTIVATED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A deactivated device cannot be reactivated through this API. Contact your Trackonomy integration"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"contact if a device needs to be reactivated."},"children":[]}]}]},{"$$mdtype":"Node","type":"heading","attributes":{"level":3,"id":"device-management/post-devices-status/request/headers","deepLinkHash":"/device-management/post-devices-status#device-management/post-devices-status/request/headers"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Headers"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The account comes from your access token. Send "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"customer_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"authorized_group"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" only when your"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API identity has access to more than one account."},"children":[]}]}]},{"$$mdtype":"Node","type":"heading","attributes":{"level":3,"id":"device-management/post-devices-status/request/action-values","deepLinkHash":"/device-management/post-devices-status#device-management/post-devices-status/request/action-values"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"action"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" values"},"children":[]}]}]},{"$$mdtype":"Node","type":"table","attributes":{},"children":[{"$$mdtype":"Node","type":"thead","attributes":{},"children":[{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Value"},"children":[]}]}]},{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Effect"},"children":[]}]}]}]}]},{"$$mdtype":"Node","type":"tbody","attributes":{},"children":[{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DEACTIVATE"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Moves an activated device to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DEACTIVATED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The value is case-sensitive."},"children":[]}]}]},{"$$mdtype":"Node","type":"heading","attributes":{"level":3,"id":"device-management/post-devices-status/request/how-the-request-is-processed","deepLinkHash":"/device-management/post-devices-status#device-management/post-devices-status/request/how-the-request-is-processed"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"How the request is processed"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The whole request is checked first. If the body is invalid (for example, a missing "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"action"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"more than 100 devices, or the same "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"qrcode"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" listed twice), the call returns "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and no"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"device is changed."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Each device is then processed on its own. One device's failure doesn't stop the others."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" means every device was deactivated. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"207"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" means at least one device failed. This"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"includes the case where every device failed ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"successful: 0"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"errors"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" lists the failed"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"devices in request order. Every device not listed in "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"errors"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" was deactivated."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"heading","attributes":{"level":3,"id":"device-management/post-devices-status/request/error_code-values","deepLinkHash":"/device-management/post-devices-status#device-management/post-devices-status/request/error_code-values"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"error_code"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" values"},"children":[]}]}]},{"$$mdtype":"Node","type":"table","attributes":{},"children":[{"$$mdtype":"Node","type":"thead","attributes":{},"children":[{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Value"},"children":[]}]}]},{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Meaning"},"children":[]}]}]},{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"What to do"},"children":[]}]}]}]}]},{"$$mdtype":"Node","type":"tbody","attributes":{},"children":[{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DEVICE_NOT_FOUND"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"No labelled device has this exact "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"qrcode"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (case-sensitive) in your account, the device belongs to an application or facility your account can't use, or the device's tracking record is missing."},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Check the QR code and the account. Label the device first if it was never labelled. If "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /external/v1/devices/label"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" shows the device, contact support."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ALREADY_IN_TARGET_STATE"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The device is already "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DEACTIVATED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Nothing was changed."},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Treat it as success."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"INVALID_TRANSITION"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The device can't be deactivated from its current status: it was never activated, it was rejected, or it has expired. Nothing was changed."},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Don't retry. Check the device's status with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /external/v1/devices/label"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"INTERNAL_ERROR"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"An error occurred while deactivating this device. Usually temporary."},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retry the device with backoff. If it persists, contact support."},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"heading","attributes":{"level":3,"id":"device-management/post-devices-status/request/retries","deepLinkHash":"/device-management/post-devices-status#device-management/post-devices-status/request/retries"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retries"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Deactivation is safe to repeat. If you resend a device that was already deactivated, you get"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ALREADY_IN_TARGET_STATE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Treat that code as success. After a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"500"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or an "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"INTERNAL_ERROR"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", resend the same request."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token from the token URL issued for your environment at onboarding. Send it on"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"every call as "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Authorization: Bearer <access_token>"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". The token URL, client ID and"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"audience are different for each environment."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"correlation_id","in":"header","schemaId":"schema_0","description":"Optional request ID. Trackonomy records it with the request so support can trace a call you report.","example":"5f0c2b8e-6a51-4f7e-9d0e-1c2b3a4d5e6f"},{"name":"customer_id","in":"header","schemaId":"schema_0","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Only needed when your API identity has access to more than one account. Send it together"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"authorized_group"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to choose the account. When your identity has a single account,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"omit both headers: the account comes from the access token."},"children":[]}]}]}],"example":"acme"},{"name":"authorized_group","in":"header","schemaId":"schema_0","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Only needed when your API identity has access to more than one account; send it together"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"customer_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"authorized_groups"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is accepted as the same header."},"children":[]}]}]}],"example":"acme-logistics"}],"pointer":"/paths/~1external~1v1~1devices~1status/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/StatusRequest","exampleIds":["paths/~1external~1v1~1devices~1status/post/requestBody/content/application~1json/examples/allFields","paths/~1external~1v1~1devices~1status/post/requestBody/content/application~1json/examples/minimal","paths/~1external~1v1~1devices~1status/post/requestBody/content/application~1json/examples/mixed"]}},"schemaId":"components/schemas/StatusRequest","exampleIds":["paths/~1external~1v1~1devices~1status/post/requestBody/content/application~1json/examples/allFields","paths/~1external~1v1~1devices~1status/post/requestBody/content/application~1json/examples/minimal","paths/~1external~1v1~1devices~1status/post/requestBody/content/application~1json/examples/mixed"],"pointer":"/paths/~1external~1v1~1devices~1status/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/external/v1/devices/status","servers":[{"url":"/_mock/external-api/trackonomy-external-api","description":"Mock server","isMockServer":true},{"url":"https://api.trackonomy.com","description":"Production"},{"url":"https://ppe.api.trackonomy.com","description":"PPE (integration testing)"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"correlation_id","in":"header","required":false,"example":"5f0c2b8e-6a51-4f7e-9d0e-1c2b3a4d5e6f","schemaId":"schema_0"},{"name":"customer_id","in":"header","required":false,"example":"acme","schemaId":"schema_0"},{"name":"authorized_group","in":"header","required":false,"example":"acme-logistics","schemaId":"schema_0"}],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/StatusRequest","exampleIds":["paths/~1external~1v1~1devices~1status/post/requestBody/content/application~1json/examples/allFields","paths/~1external~1v1~1devices~1status/post/requestBody/content/application~1json/examples/minimal","paths/~1external~1v1~1devices~1status/post/requestBody/content/application~1json/examples/mixed"]}},"responseCodes":["200","207","400","401","403","429","500","503"],"pointer":"/external/v1/devices/status","href":"device-management/post-devices-status","openApiOperationId":"post-devices-status","summary":"Deactivate devices"},"definitionSamples":[{"lang":"cURL","label":"cURL","source":"curl --request POST \\\n  --url 'https://ppe.api.trackonomy.com/external/v1/devices/status' \\\n  --header 'Authorization: Bearer <access_token>' \\\n  --header 'correlation_id: 5f0c2b8e-6a51-4f7e-9d0e-1c2b3a4d5e6f' \\\n  --header 'Content-Type: application/json' \\\n  --data '{\n  \"action\": \"DEACTIVATE\",\n  \"devices\": [\n    {\n      \"qrcode\": \"TRK0012345\"\n    },\n    {\n      \"qrcode\": \"TRK0012346\"\n    }\n  ]\n}'"}],"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/external-api/trackonomy-external-api","description":"Mock server","isMockServer":true},{"url":"https://api.trackonomy.com","description":"Production"},{"url":"https://ppe.api.trackonomy.com","description":"PPE (integration testing)"}],"schemaId":"components/schemas/StatusRequest","exampleIds":["paths/~1external~1v1~1devices~1status/post/requestBody/content/application~1json/examples/allFields","paths/~1external~1v1~1devices~1status/post/requestBody/content/application~1json/examples/minimal","paths/~1external~1v1~1devices~1status/post/requestBody/content/application~1json/examples/mixed"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/StatusRequest","exampleIds":["paths/~1external~1v1~1devices~1status/post/requestBody/content/application~1json/examples/allFields","paths/~1external~1v1~1devices~1status/post/requestBody/content/application~1json/examples/minimal","paths/~1external~1v1~1devices~1status/post/requestBody/content/application~1json/examples/mixed"]}},"examples":[{},{},{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Every device in the request was deactivated.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BatchResult","exampleIds":["paths/~1external~1v1~1devices~1status/post/responses/200/content/application~1json/examples/allDeactivated"]}},"schemaId":"components/schemas/BatchResult","exampleIds":["paths/~1external~1v1~1devices~1status/post/responses/200/content/application~1json/examples/allDeactivated"]},{"code":"207","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"At least one device failed. This is also returned when every device failed, with"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"successful: 0"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Devices not listed in "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"errors"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" were deactivated."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BatchResult","exampleIds":["paths/~1external~1v1~1devices~1status/post/responses/207/content/application~1json/examples/partial","paths/~1external~1v1~1devices~1status/post/responses/207/content/application~1json/examples/allFailed"]}},"schemaId":"components/schemas/BatchResult","exampleIds":["paths/~1external~1v1~1devices~1status/post/responses/207/content/application~1json/examples/partial","paths/~1external~1v1~1devices~1status/post/responses/207/content/application~1json/examples/allFailed"]},{"code":"400","description":"The request was rejected and no device was changed. Either the body failed validation, or\nyour API identity has access to several accounts and the request didn't say which one.\n","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_7","exampleIds":["paths/~1external~1v1~1devices~1status/post/responses/400/content/application~1json/examples/emptyDevices","paths/~1external~1v1~1devices~1status/post/responses/400/content/application~1json/examples/tooManyDevices","paths/~1external~1v1~1devices~1status/post/responses/400/content/application~1json/examples/duplicateQrcode","paths/~1external~1v1~1devices~1status/post/responses/400/content/application~1json/examples/blankQrcode","paths/~1external~1v1~1devices~1status/post/responses/400/content/application~1json/examples/multipleAccounts"]}},"schemaId":"schema_7","exampleIds":["paths/~1external~1v1~1devices~1status/post/responses/400/content/application~1json/examples/emptyDevices","paths/~1external~1v1~1devices~1status/post/responses/400/content/application~1json/examples/tooManyDevices","paths/~1external~1v1~1devices~1status/post/responses/400/content/application~1json/examples/duplicateQrcode","paths/~1external~1v1~1devices~1status/post/responses/400/content/application~1json/examples/blankQrcode","paths/~1external~1v1~1devices~1status/post/responses/400/content/application~1json/examples/multipleAccounts"]},{"code":"401","description":"The access token is missing, expired, issued for another environment's audience, or your API\nidentity isn't granted this action. The same response is returned when the request body isn't\nvalid JSON or is larger than 50 MB. Check the body, request a new token and retry once; if it\nstill fails, contact your Trackonomy integration contact.\n","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1status/post/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1status/post/responses/401/content/application~1json/example"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"customer_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" / "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"authorized_group"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" pair isn't one of the accounts your API identity can access, or the identity has no account."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1status/post/responses/403/content/application~1json/examples/notAccessible","paths/~1external~1v1~1devices~1status/post/responses/403/content/application~1json/examples/noAccess"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1status/post/responses/403/content/application~1json/examples/notAccessible","paths/~1external~1v1~1devices~1status/post/responses/403/content/application~1json/examples/noAccess"]},{"code":"429","description":"More than 10 requests in 60 seconds from your API identity. The limit is shared by label,\nedit label, get labels, deactivate and configuration calls. Wait and retry with backoff.\n","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_5","exampleIds":["paths/~1external~1v1~1devices~1status/post/responses/429/content/application~1json/example"]}},"schemaId":"schema_5","exampleIds":["paths/~1external~1v1~1devices~1status/post/responses/429/content/application~1json/example"]},{"code":"500","description":"An unexpected error occurred before any device was processed. Resend the same request;\nit is safe to repeat.\n","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1status/post/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1status/post/responses/500/content/application~1json/example"]},{"code":"503","description":"Trackonomy couldn't resolve your account access. Temporary; retry with exponential backoff.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_6","exampleIds":["paths/~1external~1v1~1devices~1status/post/responses/503/content/application~1json/example"]}},"schemaId":"schema_6","exampleIds":["paths/~1external~1v1~1devices~1status/post/responses/503/content/application~1json/example"]}],"pointer":"/paths/~1external~1v1~1devices~1status/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/BatchResult","exampleIds":["paths/~1external~1v1~1devices~1status/post/responses/200/content/application~1json/examples/allDeactivated"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BatchResult","exampleIds":["paths/~1external~1v1~1devices~1status/post/responses/200/content/application~1json/examples/allDeactivated"]}}},{"code":"207","schemaId":"components/schemas/BatchResult","exampleIds":["paths/~1external~1v1~1devices~1status/post/responses/207/content/application~1json/examples/partial","paths/~1external~1v1~1devices~1status/post/responses/207/content/application~1json/examples/allFailed"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BatchResult","exampleIds":["paths/~1external~1v1~1devices~1status/post/responses/207/content/application~1json/examples/partial","paths/~1external~1v1~1devices~1status/post/responses/207/content/application~1json/examples/allFailed"]}}},{"code":"400","schemaId":"schema_7","exampleIds":["paths/~1external~1v1~1devices~1status/post/responses/400/content/application~1json/examples/emptyDevices","paths/~1external~1v1~1devices~1status/post/responses/400/content/application~1json/examples/tooManyDevices","paths/~1external~1v1~1devices~1status/post/responses/400/content/application~1json/examples/duplicateQrcode","paths/~1external~1v1~1devices~1status/post/responses/400/content/application~1json/examples/blankQrcode","paths/~1external~1v1~1devices~1status/post/responses/400/content/application~1json/examples/multipleAccounts"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_7","exampleIds":["paths/~1external~1v1~1devices~1status/post/responses/400/content/application~1json/examples/emptyDevices","paths/~1external~1v1~1devices~1status/post/responses/400/content/application~1json/examples/tooManyDevices","paths/~1external~1v1~1devices~1status/post/responses/400/content/application~1json/examples/duplicateQrcode","paths/~1external~1v1~1devices~1status/post/responses/400/content/application~1json/examples/blankQrcode","paths/~1external~1v1~1devices~1status/post/responses/400/content/application~1json/examples/multipleAccounts"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1status/post/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1status/post/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1status/post/responses/403/content/application~1json/examples/notAccessible","paths/~1external~1v1~1devices~1status/post/responses/403/content/application~1json/examples/noAccess"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1status/post/responses/403/content/application~1json/examples/notAccessible","paths/~1external~1v1~1devices~1status/post/responses/403/content/application~1json/examples/noAccess"]}}},{"code":"429","schemaId":"schema_5","exampleIds":["paths/~1external~1v1~1devices~1status/post/responses/429/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_5","exampleIds":["paths/~1external~1v1~1devices~1status/post/responses/429/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1status/post/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1status/post/responses/500/content/application~1json/example"]}}},{"code":"503","schemaId":"schema_6","exampleIds":["paths/~1external~1v1~1devices~1status/post/responses/503/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_6","exampleIds":["paths/~1external~1v1~1devices~1status/post/responses/503/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/device-management/post-devices-status"}],"panels":[]}]},"httpPath":"/external/v1/devices/status"},{"label":"Change device configuration","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/external-api/trackonomy-external-api/device-management/post-devices-config","routeSlug":"/external-api/trackonomy-external-api/device-management/post-devices-config","metadata":{"seo":{"title":"Change device configuration","description":"Applies one shared firmware and/or metadata change to up to 100 devices, identified byqrcode. Each device can also get its own asset_barcode and tape_displayname."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"post-devices-config","name":"Change device configuration","isWebhook":false,"pointer":"/paths/~1external~1v1~1devices~1config/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Change device configuration","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Applies one shared "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"firmware"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and/or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"metadata"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" change to up to "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"100"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" devices, identified by"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"qrcode"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Each device can also get its own "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"asset_barcode"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"tape_displayname"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"heading","attributes":{"level":3,"id":"device-management/post-devices-config/request/headers","deepLinkHash":"/device-management/post-devices-config#device-management/post-devices-config/request/headers"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Headers"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The account comes from your access token. Send "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"customer_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"authorized_group"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" only when your"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API identity has access to more than one account."},"children":[]}]}]},{"$$mdtype":"Node","type":"heading","attributes":{"level":3,"id":"device-management/post-devices-config/request/what-you-can-change","deepLinkHash":"/device-management/post-devices-config#device-management/post-devices-config/request/what-you-can-change"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"What you can change"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"firmware"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": device firmware settings. Every firmware field you send must be enabled for"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"the device's application. Trackonomy enables firmware fields for your application during"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"onboarding. If a field isn't enabled for the application of any device in the request, the whole"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"request returns "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"errorCode: FIELD_NOT_ENABLED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and nothing is changed. Contact your"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Trackonomy integration contact to enable more fields."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"metadata"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": descriptive device fields (facility, APN, battery and version details)."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Per device"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"asset_barcode"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"tape_displayname"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in each "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"devices[]"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" entry."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"firmware"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"metadata"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" are strict lists. Any other key returns "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", and so does a value"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"of the wrong type or format. Fields you omit are left unchanged. For"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"firmware"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"metadata"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" fields, "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" clears the value. For the per-device"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"asset_barcode"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"tape_displayname"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or omitting the field keeps the current value."},"children":[]}]}]},{"$$mdtype":"Node","type":"heading","attributes":{"level":3,"id":"device-management/post-devices-config/request/how-the-request-is-processed","deepLinkHash":"/device-management/post-devices-config#device-management/post-devices-config/request/how-the-request-is-processed"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"How the request is processed"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The whole request is validated first, in this order: the envelope ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"devices"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"firmware"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"metadata"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"), then the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"firmware"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" fields, then the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"metadata"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" fields. The first group that"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"fails is reported with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", and nothing is changed. For "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"firmware"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"metadata"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" problems,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"each error's "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"path"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is relative to that object (for example "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"[\"heartbeatFreq\"]"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Devices are then looked up in your account. A "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"qrcode"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" that isn't found is reported as"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DEVICE_NOT_FOUND"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". The firmware-field check and the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"facility_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" check apply only to the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"devices that were found. If no device is found, the response is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"207"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" with every device in"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"errors"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The change is applied to every found device. A found device counts as successful even"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"when the request changes nothing on it (for example "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"\"firmware\": {}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"heading","attributes":{"level":3,"id":"device-management/post-devices-config/request/error_code-values","deepLinkHash":"/device-management/post-devices-config#device-management/post-devices-config/request/error_code-values"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"error_code"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" values"},"children":[]}]}]},{"$$mdtype":"Node","type":"table","attributes":{},"children":[{"$$mdtype":"Node","type":"thead","attributes":{},"children":[{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Value"},"children":[]}]}]},{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Meaning"},"children":[]}]}]},{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"What to do"},"children":[]}]}]}]}]},{"$$mdtype":"Node","type":"tbody","attributes":{},"children":[{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DEVICE_NOT_FOUND"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"No device has this exact "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"qrcode"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (case-sensitive) in your account, or the device belongs to an application or facility your account can't use. Devices are found in any status, so a deactivated device can still be configured."},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Check the QR code and the account."},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"heading","attributes":{"level":3,"id":"device-management/post-devices-config/request/retries","deepLinkHash":"/device-management/post-devices-config#device-management/post-devices-config/request/retries"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retries"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Sending the same configuration again gives the same result, so a request can be safely"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"repeated. After a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"500"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", part of the change may already have been applied. Resend the same"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"request."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token from the token URL issued for your environment at onboarding. Send it on"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"every call as "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Authorization: Bearer <access_token>"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". The token URL, client ID and"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"audience are different for each environment."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"correlation_id","in":"header","schemaId":"schema_0","description":"Optional request ID. Trackonomy records it with the request so support can trace a call you report.","example":"5f0c2b8e-6a51-4f7e-9d0e-1c2b3a4d5e6f"},{"name":"customer_id","in":"header","schemaId":"schema_0","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Only needed when your API identity has access to more than one account. Send it together"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"authorized_group"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to choose the account. When your identity has a single account,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"omit both headers: the account comes from the access token."},"children":[]}]}]}],"example":"acme"},{"name":"authorized_group","in":"header","schemaId":"schema_0","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Only needed when your API identity has access to more than one account; send it together"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"customer_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"authorized_groups"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is accepted as the same header."},"children":[]}]}]}],"example":"acme-logistics"}],"pointer":"/paths/~1external~1v1~1devices~1config/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/ConfigRequest","exampleIds":["paths/~1external~1v1~1devices~1config/post/requestBody/content/application~1json/examples/allFields","paths/~1external~1v1~1devices~1config/post/requestBody/content/application~1json/examples/minimal","paths/~1external~1v1~1devices~1config/post/requestBody/content/application~1json/examples/metadataWithUnknownDevice","paths/~1external~1v1~1devices~1config/post/requestBody/content/application~1json/examples/numericStrings"]}},"schemaId":"components/schemas/ConfigRequest","exampleIds":["paths/~1external~1v1~1devices~1config/post/requestBody/content/application~1json/examples/allFields","paths/~1external~1v1~1devices~1config/post/requestBody/content/application~1json/examples/minimal","paths/~1external~1v1~1devices~1config/post/requestBody/content/application~1json/examples/metadataWithUnknownDevice","paths/~1external~1v1~1devices~1config/post/requestBody/content/application~1json/examples/numericStrings"],"pointer":"/paths/~1external~1v1~1devices~1config/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/external/v1/devices/config","servers":[{"url":"/_mock/external-api/trackonomy-external-api","description":"Mock server","isMockServer":true},{"url":"https://api.trackonomy.com","description":"Production"},{"url":"https://ppe.api.trackonomy.com","description":"PPE (integration testing)"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"correlation_id","in":"header","required":false,"example":"5f0c2b8e-6a51-4f7e-9d0e-1c2b3a4d5e6f","schemaId":"schema_0"},{"name":"customer_id","in":"header","required":false,"example":"acme","schemaId":"schema_0"},{"name":"authorized_group","in":"header","required":false,"example":"acme-logistics","schemaId":"schema_0"}],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/ConfigRequest","exampleIds":["paths/~1external~1v1~1devices~1config/post/requestBody/content/application~1json/examples/allFields","paths/~1external~1v1~1devices~1config/post/requestBody/content/application~1json/examples/minimal","paths/~1external~1v1~1devices~1config/post/requestBody/content/application~1json/examples/metadataWithUnknownDevice","paths/~1external~1v1~1devices~1config/post/requestBody/content/application~1json/examples/numericStrings"]}},"responseCodes":["200","207","400","401","403","429","500","503"],"pointer":"/external/v1/devices/config","href":"device-management/post-devices-config","openApiOperationId":"post-devices-config","summary":"Change device configuration"},"definitionSamples":[{"lang":"cURL","label":"cURL","source":"curl --request POST \\\n  --url 'https://ppe.api.trackonomy.com/external/v1/devices/config' \\\n  --header 'Authorization: Bearer <access_token>' \\\n  --header 'correlation_id: 5f0c2b8e-6a51-4f7e-9d0e-1c2b3a4d5e6f' \\\n  --header 'Content-Type: application/json' \\\n  --data '{\n  \"devices\": [\n    {\n      \"qrcode\": \"TRK0012345\",\n      \"asset_barcode\": \"PALLET-0042\",\n      \"tape_displayname\": \"Pallet 42 sensor\"\n    },\n    {\n      \"qrcode\": \"TRK0012346\",\n      \"asset_barcode\": \"PALLET-0043\",\n      \"tape_displayname\": \"Pallet 43 sensor\"\n    }\n  ],\n  \"firmware\": {\n    \"zone_id\": 12,\n    \"timeoutPeriod\": 3600,\n    \"checkin_duration\": 300,\n    \"heartbeatFreq\": \"600\",\n    \"comm_skip_cnt\": 0,\n    \"scan_freq\": 60,\n    \"scan_duration\": 5,\n    \"nlps\": 0,\n    \"lcd\": 30,\n    \"bcd\": 10,\n    \"bad\": 0,\n    \"bsfid\": \"0\",\n    \"bafid\": \"0\",\n    \"pgtl\": 120,\n    \"pgtt\": 30,\n    \"at\": 0,\n    \"atd\": 0,\n    \"nt\": 0,\n    \"gsd\": \"60\",\n    \"gpslogging\": \"N\",\n    \"dlat\": 37.7749,\n    \"dlon\": -122.4194,\n    \"drad\": \"500\",\n    \"otaflag\": 0,\n    \"otatype\": 0,\n    \"feature_config_mask\": 0,\n    \"bat_hib_th_low\": 20,\n    \"bat_hib_th_high\": 30,\n    \"bat_shutdown_th_low\": 5,\n    \"bat_ota_th_low\": 40,\n    \"batMDur\": 3600,\n    \"batTh\": \"20\",\n    \"bk_pwr_lvl\": 4,\n    \"wt_pwr_lvl\": 4,\n    \"msOffWaitDur\": 300,\n    \"gps_hdp_threshold\": 5,\n    \"light_polltime_sec\": 60,\n    \"light_poll_time_sec\": 60,\n    \"tmp_wdt_polltime_sec\": 60,\n    \"tmp_wdt_poll_time_sec\": 60,\n    \"accel_hi\": 2,\n    \"humidity_hi\": 80,\n    \"humidity_lo\": 20,\n    \"light_hi\": 1000,\n    \"light_lo\": 0,\n    \"pressure_hi\": 1100,\n    \"pressure_lo\": 900,\n    \"temp_hi\": 8,\n    \"temp_lo\": 2,\n    \"adv_duration\": 100,\n    \"alert_flag\": 1,\n    \"gst\": 0,\n    \"gswt\": 0\n  },\n  \"metadata\": {\n    \"facility_id\": \"DC-EAST\",\n    \"apn\": \"iot.example\",\n    \"track_number\": \"TRK-000123\",\n    \"battery_type\": \"LiSOCl2\",\n    \"battery_level\": 80,\n    \"fw_version\": \"2.4.1\",\n    \"hw_version\": \"1.2\",\n    \"sw_version\": \"3.0.0\",\n    \"rssi_priority\": 2\n  }\n}'"}],"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/external-api/trackonomy-external-api","description":"Mock server","isMockServer":true},{"url":"https://api.trackonomy.com","description":"Production"},{"url":"https://ppe.api.trackonomy.com","description":"PPE (integration testing)"}],"schemaId":"components/schemas/ConfigRequest","exampleIds":["paths/~1external~1v1~1devices~1config/post/requestBody/content/application~1json/examples/allFields","paths/~1external~1v1~1devices~1config/post/requestBody/content/application~1json/examples/minimal","paths/~1external~1v1~1devices~1config/post/requestBody/content/application~1json/examples/metadataWithUnknownDevice","paths/~1external~1v1~1devices~1config/post/requestBody/content/application~1json/examples/numericStrings"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/ConfigRequest","exampleIds":["paths/~1external~1v1~1devices~1config/post/requestBody/content/application~1json/examples/allFields","paths/~1external~1v1~1devices~1config/post/requestBody/content/application~1json/examples/minimal","paths/~1external~1v1~1devices~1config/post/requestBody/content/application~1json/examples/metadataWithUnknownDevice","paths/~1external~1v1~1devices~1config/post/requestBody/content/application~1json/examples/numericStrings"]}},"examples":[{},{},{},{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Every device in the request was found and updated.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BatchResult","exampleIds":["paths/~1external~1v1~1devices~1config/post/responses/200/content/application~1json/examples/allUpdated"]}},"schemaId":"components/schemas/BatchResult","exampleIds":["paths/~1external~1v1~1devices~1config/post/responses/200/content/application~1json/examples/allUpdated"]},{"code":"207","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"At least one "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"qrcode"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" wasn't found. This is also returned when no device was found, with"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"successful: 0"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Every device that was found was updated."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BatchResult","exampleIds":["paths/~1external~1v1~1devices~1config/post/responses/207/content/application~1json/examples/partial","paths/~1external~1v1~1devices~1config/post/responses/207/content/application~1json/examples/allFailed"]}},"schemaId":"components/schemas/BatchResult","exampleIds":["paths/~1external~1v1~1devices~1config/post/responses/207/content/application~1json/examples/partial","paths/~1external~1v1~1devices~1config/post/responses/207/content/application~1json/examples/allFailed"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The request was rejected and no device was changed. Possible causes:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"the body failed validation ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Validation failed"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":");"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"a firmware field isn't enabled for the application of a device in the request"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"errorCode: FIELD_NOT_ENABLED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"violations"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" lists each application and its fields);"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"metadata.facility_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" doesn't match a facility in your account or one Trackonomy provides;"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"your API identity has access to several accounts and the request didn't say which one."},"children":[]}]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_10","exampleIds":["paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/nothingToUpdate","paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/duplicateQrcode","paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/firmwareNotObject","paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/unknownKey","paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/wrongType","paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/notNumeric","paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/badFormat","paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/badGpslogging","paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/fieldNotEnabled","paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/facilityNotFound","paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/multipleAccounts"]}},"schemaId":"schema_10","exampleIds":["paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/nothingToUpdate","paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/duplicateQrcode","paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/firmwareNotObject","paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/unknownKey","paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/wrongType","paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/notNumeric","paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/badFormat","paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/badGpslogging","paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/fieldNotEnabled","paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/facilityNotFound","paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/multipleAccounts"]},{"code":"401","description":"The access token is missing, expired, issued for another environment's audience, or your API\nidentity isn't granted this action. The same response is returned when the request body isn't\nvalid JSON or is larger than 50 MB. Check the body, request a new token and retry once; if it\nstill fails, contact your Trackonomy integration contact.\n","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1config/post/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1config/post/responses/401/content/application~1json/example"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"customer_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" / "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"authorized_group"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" pair isn't one of the accounts your API identity can access, or the identity has no account."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1config/post/responses/403/content/application~1json/examples/notAccessible","paths/~1external~1v1~1devices~1config/post/responses/403/content/application~1json/examples/noAccess"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1config/post/responses/403/content/application~1json/examples/notAccessible","paths/~1external~1v1~1devices~1config/post/responses/403/content/application~1json/examples/noAccess"]},{"code":"429","description":"More than 10 requests in 60 seconds from your API identity. The limit is shared by label,\nedit label, get labels, deactivate and configuration calls. Wait and retry with backoff.\n","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_5","exampleIds":["paths/~1external~1v1~1devices~1config/post/responses/429/content/application~1json/example"]}},"schemaId":"schema_5","exampleIds":["paths/~1external~1v1~1devices~1config/post/responses/429/content/application~1json/example"]},{"code":"500","description":"An unexpected error occurred. Part of the change may already have been applied. Resend the\nsame request.\n","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1config/post/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1config/post/responses/500/content/application~1json/example"]},{"code":"503","description":"Trackonomy couldn't resolve your account access. Temporary; retry with exponential backoff.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_6","exampleIds":["paths/~1external~1v1~1devices~1config/post/responses/503/content/application~1json/example"]}},"schemaId":"schema_6","exampleIds":["paths/~1external~1v1~1devices~1config/post/responses/503/content/application~1json/example"]}],"pointer":"/paths/~1external~1v1~1devices~1config/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/BatchResult","exampleIds":["paths/~1external~1v1~1devices~1config/post/responses/200/content/application~1json/examples/allUpdated"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BatchResult","exampleIds":["paths/~1external~1v1~1devices~1config/post/responses/200/content/application~1json/examples/allUpdated"]}}},{"code":"207","schemaId":"components/schemas/BatchResult","exampleIds":["paths/~1external~1v1~1devices~1config/post/responses/207/content/application~1json/examples/partial","paths/~1external~1v1~1devices~1config/post/responses/207/content/application~1json/examples/allFailed"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BatchResult","exampleIds":["paths/~1external~1v1~1devices~1config/post/responses/207/content/application~1json/examples/partial","paths/~1external~1v1~1devices~1config/post/responses/207/content/application~1json/examples/allFailed"]}}},{"code":"400","schemaId":"schema_10","exampleIds":["paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/nothingToUpdate","paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/duplicateQrcode","paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/firmwareNotObject","paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/unknownKey","paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/wrongType","paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/notNumeric","paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/badFormat","paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/badGpslogging","paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/fieldNotEnabled","paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/facilityNotFound","paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/multipleAccounts"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_10","exampleIds":["paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/nothingToUpdate","paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/duplicateQrcode","paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/firmwareNotObject","paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/unknownKey","paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/wrongType","paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/notNumeric","paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/badFormat","paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/badGpslogging","paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/fieldNotEnabled","paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/facilityNotFound","paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/multipleAccounts"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1config/post/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1config/post/responses/401/content/application~1json/example"]}}},{"code":"403","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1config/post/responses/403/content/application~1json/examples/notAccessible","paths/~1external~1v1~1devices~1config/post/responses/403/content/application~1json/examples/noAccess"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1config/post/responses/403/content/application~1json/examples/notAccessible","paths/~1external~1v1~1devices~1config/post/responses/403/content/application~1json/examples/noAccess"]}}},{"code":"429","schemaId":"schema_5","exampleIds":["paths/~1external~1v1~1devices~1config/post/responses/429/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_5","exampleIds":["paths/~1external~1v1~1devices~1config/post/responses/429/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1config/post/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1v1~1devices~1config/post/responses/500/content/application~1json/example"]}}},{"code":"503","schemaId":"schema_6","exampleIds":["paths/~1external~1v1~1devices~1config/post/responses/503/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_6","exampleIds":["paths/~1external~1v1~1devices~1config/post/responses/503/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/device-management/post-devices-config"}],"panels":[]}]},"httpPath":"/external/v1/devices/config"}],"content":{"contentType":"group","meta":{"name":"Device Management"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Device Management","showPageActions":true},{"nodeType":"markdoc","content":"Decode BLE packets, label devices, edit and look up labels, deactivate devices and change their configuration."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/external/v1/devices/{mac_id}/decode","summary":"Decode a packet from one device","prefix":{"name":"post","color":"post"},"badges":[],"link":"/device-management/post-devices-decode","deprecated":false},{"title":"/external/v1/devices/decode","summary":"Decode packets from many devices","prefix":{"name":"post","color":"post"},"badges":[],"link":"/device-management/post-devices-decode-batch","deprecated":false},{"title":"/external/v1/devices/label","summary":"Label devices","prefix":{"name":"post","color":"post"},"badges":[],"link":"/device-management/post-devices-label","deprecated":false},{"title":"/external/v1/devices/label","summary":"Edit device labels","prefix":{"name":"put","color":"put"},"badges":[],"link":"/device-management/put-devices-label","deprecated":false},{"title":"/external/v1/devices/label","summary":"Get device labels","prefix":{"name":"get","color":"get"},"badges":[],"link":"/device-management/get-devices-label","deprecated":false},{"title":"/external/v1/devices/status","summary":"Deactivate devices","prefix":{"name":"post","color":"post"},"badges":[],"link":"/device-management/post-devices-status","deprecated":false},{"title":"/external/v1/devices/config","summary":"Change device configuration","prefix":{"name":"post","color":"post"},"badges":[],"link":"/device-management/post-devices-config","deprecated":false}]}]}]}]}},{"type":"group","label":"Messaging","link":"/external-api/trackonomy-external-api/messaging","routeSlug":"/external-api/trackonomy-external-api/messaging","items":[{"label":"Process external messages","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/external-api/trackonomy-external-api/messaging/post-messages","routeSlug":"/external-api/trackonomy-external-api/messaging/post-messages","metadata":{"seo":{"title":"Process external messages","description":"Send an integration message to Trackonomy."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"post-messages","name":"Process external messages","isWebhook":false,"pointer":"/paths/~1external~1messages/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Process external messages","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Send an integration message to Trackonomy."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"One endpoint carries several message types. Send the message's own payload as the JSON"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"body; do not wrap it in another object."},"children":[]}]}]},{"$$mdtype":"Node","type":"heading","attributes":{"level":3,"id":"messaging/post-messages/request/choosing-the-message-type","deepLinkHash":"/messaging/post-messages#messaging/post-messages/request/choosing-the-message-type"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Choosing the message type"},"children":[]}]}]},{"$$mdtype":"Node","type":"table","attributes":{},"children":[{"$$mdtype":"Node","type":"thead","attributes":{},"children":[{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"How it is selected"},"children":[]}]}]},{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Message types"},"children":[]}]}]}]}]},{"$$mdtype":"Node","type":"tbody","attributes":{},"children":[{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The body's top-level "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"message_type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" field (warehouse milestones)"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ACC"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"BUP"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"FIW"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"BCL"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DLV"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"message_type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header (every other type)"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DEVICE_DATA"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"MANIFEST_DATA"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CARGOIQ_DATA"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"MILESTONE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DATA_UPDATE"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Values are exact and case-sensitive. When the body's "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"message_type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is one of the warehouse"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"milestone types, the message is handled as a warehouse milestone and the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"message_type"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"header is ignored. Otherwise the header decides. A missing or unknown header returns"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400 Invalid message_type in headers"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", except that an empty body ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"[]"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") is"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"reported first as "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400 Invalid payload"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"heading","attributes":{"level":3,"id":"messaging/post-messages/request/headers","deepLinkHash":"/messaging/post-messages#messaging/post-messages/request/headers"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Headers"},"children":[]}]}]},{"$$mdtype":"Node","type":"table","attributes":{},"children":[{"$$mdtype":"Node","type":"thead","attributes":{},"children":[{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Header"},"children":[]}]}]},{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Required"},"children":[]}]}]},{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Notes"},"children":[]}]}]}]}]},{"$$mdtype":"Node","type":"tbody","attributes":{},"children":[{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Authorization"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Yes"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Bearer <access_token>"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Content-Type"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Yes"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"application/json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"message_type"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"For header-selected types"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"See the table above."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"customer_id"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Yes"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Your account's customer id."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"authorized_groups"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Yes"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Your account's authorized group (plural header name)."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"correlation_id"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"No"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Your own request id. Warehouse milestone responses echo it; when you omit it, one is generated."},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Always send "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"customer_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"authorized_groups"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". For warehouse milestones and"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DATA_UPDATE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", a missing value returns "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400 Missing required headers: customer_id, authorized_groups"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". The other types don't report a missing header as 400: the request"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"fails with 500, "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DEVICE_DATA"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" can return "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"404 Data not found"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", or the message is accepted"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"without being applied to any of your devices. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"MILESTONE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" doesn't use the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"authorized_groups"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" value: it matches devices across all authorized groups of your"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"customer_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"heading","attributes":{"level":3,"id":"messaging/post-messages/request/what-each-message-type-does","deepLinkHash":"/messaging/post-messages#messaging/post-messages/request/what-each-message-type-does"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"What each message type does"},"children":[]}]}]},{"$$mdtype":"Node","type":"table","attributes":{},"children":[{"$$mdtype":"Node","type":"thead","attributes":{},"children":[{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Type"},"children":[]}]}]},{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Effect"},"children":[]}]}]}]}]},{"$$mdtype":"Node","type":"tbody","attributes":{},"children":[{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DEVICE_DATA"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Finds one of your devices and sets it to the device status configured for your account. If a scan event is enabled for your account, it is recorded as well."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"MANIFEST_DATA"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Activates every listed device whose asset barcode matches a labelled device in your account and attaches the row's shipment data. The device's display name becomes "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"shipment_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", its activation date is set to the processing time, and its recorded excursions are cleared. Rows that match no device are ignored."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CARGOIQ_DATA"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cargo iQ booking and status messages. Available to accounts enabled for Cargo iQ. Other accounts receive "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"201"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and the message is not processed."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"MILESTONE"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Records a milestone event on each listed device. The event is recorded at the time Trackonomy receives the message; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"occurred_at"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and your "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" are kept with it as metadata. A milestone rule configured for your account can also change the device's status, for example deactivate it on delivery. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"milestone_type: null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" undoes the latest milestone (see below)."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DATA_UPDATE"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Sets shipment fields configured for your account on each listed device."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ACC"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"BUP"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"FIW"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"BCL"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DLV"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Warehouse milestones, applied per LPN (see below)."},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DEVICE_DATA"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"MANIFEST_DATA"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CARGOIQ_DATA"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"MILESTONE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" are applied shortly after the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"201"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" response; the response confirms the message was accepted."},"children":[]}]}]},{"$$mdtype":"Node","type":"heading","attributes":{"level":3,"id":"messaging/post-messages/request/device-matching","deepLinkHash":"/messaging/post-messages#messaging/post-messages/request/device-matching"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Device matching"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DEVICE_DATA"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"MANIFEST_DATA"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" match devices in the account named by "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"customer_id"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"authorized_groups"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"MILESTONE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DATA_UPDATE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" match "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"devices[]"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" across all authorized groups of your"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"customer_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", by "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":":"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"qrcode"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": the device QR code."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"tape_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": the 12-character uppercase hexadecimal device id, without separators,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"for example "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"C47F510A129E"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"asset_barcode"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": the asset barcode the device is labelled with."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Values must match exactly (case-sensitive)."},"children":[]}]}]}]}]},{"$$mdtype":"Node","type":"heading","attributes":{"level":3,"id":"messaging/post-messages/request/milestone-details","deepLinkHash":"/messaging/post-messages#messaging/post-messages/request/milestone-details"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"MILESTONE details"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Every device is looked up before anything is recorded. If any device is not found"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"404 Device not found"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") or matches more than one device ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400 Ambiguous device identifier…"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"), the whole request is rejected and nothing is recorded."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Your account may be configured to take the event's location, parent location, latitude"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"and longitude from specific "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" keys. When a key configured for location or parent"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"location is missing or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (after merging per-device "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"), the request returns"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400 Missing required field '<key>' mapped from device_event_mapping column '<location|parent_location>'"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"and nothing is recorded."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data.timezone"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (event level only) sets the local time zone used to display the event."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Undo"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"milestone_type: null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") reverts each listed device's latest milestone by one"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"step. If that milestone changed the device's status, the previous status is restored."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Sending the undo again does not revert further."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"heading","attributes":{"level":3,"id":"messaging/post-messages/request/warehouse-milestones-(acc-bup-fiw-bcl-dlv)","deepLinkHash":"/messaging/post-messages#messaging/post-messages/request/warehouse-milestones-(acc-bup-fiw-bcl-dlv)"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Warehouse milestones (ACC, BUP, FIW, BCL, DLV)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Each LPN is matched to the labelled device whose asset barcode equals the LPN."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ACC"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" applies to each "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lpns[]"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" entry and places the LPN in the AWB."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"BUP"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" applies to each "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"completed_lpn[]"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" entry. An empty list does nothing."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"FIW"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" names no LPN. It is held for the ULD (10 days by default) and applied to each"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"LPN when the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"BCL"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for that ULD arrives."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"BCL"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" applies to each "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lpn_list[]"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" entry. The length of "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lpn_list"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" becomes the number of"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DLV"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"s expected for that AWB on each listed LPN."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DLV"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" applies to every labelled device in the AWB and counts one delivery on each."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Deliveries beyond the expected number are still recorded and flagged "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"overflow: true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When enabled for your account, milestones for an LPN that is not labelled yet are kept and"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"applied when the device is labelled. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DLV"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" reaches only devices that are already labelled."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"sequence_check"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" reports, per affected LPN, whether the milestone arrived in the order"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"configured for your account. It is informational: out-of-sequence and repeated"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"milestones are still accepted with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"201"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"table","attributes":{},"children":[{"$$mdtype":"Node","type":"thead","attributes":{},"children":[{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"result"},"children":[]}]}]},{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Meaning"},"children":[]}]}]},{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"What to do"},"children":[]}]}]}]}]},{"$$mdtype":"Node","type":"tbody","attributes":{},"children":[{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"IN_SEQUENCE"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"All prerequisite milestones were already recorded."},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Nothing."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"OUT_OF_SEQUENCE"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Some prerequisites ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"missing_prerequisites"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") were not recorded yet. The milestone was still recorded."},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Check whether the earlier message was lost and send it."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"UNKNOWN_MILESTONE"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Your account's sequence configuration does not list this milestone."},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Contact Trackonomy if sequencing should cover it."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CONFIG_NOT_FOUND"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"No sequence configuration exists for your account."},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Contact Trackonomy to configure sequencing."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CONFIG_INVALID"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Your account's sequence configuration is invalid ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"reason"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" says why)."},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Contact Trackonomy."},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"sequence_check"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is empty for "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"FIW"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", for a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"BUP"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" with no "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"completed_lpn"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", and for a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DLV"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"whose AWB has no labelled device. An LPN can be missing from it if the sequence check"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"could not run. The milestone is still recorded."},"children":[]}]}]},{"$$mdtype":"Node","type":"heading","attributes":{"level":3,"id":"messaging/post-messages/request/data_update-results","deepLinkHash":"/messaging/post-messages#messaging/post-messages/request/data_update-results"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"DATA_UPDATE results"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Devices are processed one at a time; a device that fails doesn't undo the others. The"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"response is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when at least one device was updated and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"404 No shipment was updated"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"when none was. Each failed device appears in "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"failed[]"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":":"},"children":[]}]}]},{"$$mdtype":"Node","type":"table","attributes":{},"children":[{"$$mdtype":"Node","type":"thead","attributes":{},"children":[{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"reason"},"children":[]}]}]},{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Meaning"},"children":[]}]}]},{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"What to do"},"children":[]}]}]}]}]},{"$$mdtype":"Node","type":"tbody","attributes":{},"children":[{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"not_found"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"No device matches the identifier."},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Check the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"value"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"no_pickup_details"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The device has no shipment data to update yet."},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Send the update after the device's shipment data exists."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ambiguous"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The identifier matches more than one device."},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use a more specific identifier, such as "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"qrcode"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"tape_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"update_failed"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The update could not be applied."},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retry the request; contact Trackonomy if it persists."},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This operation does not return an "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"error_code"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Branch on the HTTP status, on"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"failed[].reason"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (DATA_UPDATE) and on "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"sequence_check[].result"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (warehouse milestones)."},"children":[]}]}]},{"$$mdtype":"Node","type":"heading","attributes":{"level":3,"id":"messaging/post-messages/request/retries-and-resending","deepLinkHash":"/messaging/post-messages#messaging/post-messages/request/retries-and-resending"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retries and resending"},"children":[]}]}]},{"$$mdtype":"Node","type":"table","attributes":{},"children":[{"$$mdtype":"Node","type":"thead","attributes":{},"children":[{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Type"},"children":[]}]}]},{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Resending the same message"},"children":[]}]}]}]}]},{"$$mdtype":"Node","type":"tbody","attributes":{},"children":[{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ACC"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"BUP"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"FIW"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"BCL"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DLV"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Safe. A milestone with the same code, timestamp and AWB/ULD is recorded once and doesn't count as another delivery. Safe to retry after "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"500"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DEVICE_DATA"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Safe. Sets the same status again."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DATA_UPDATE"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Safe. Sets the same values again."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"MANIFEST_DATA"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Re-applied each time: the activation date is reset to the new processing time and recorded excursions are cleared again. Resend only to change the shipment data."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"MILESTONE"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Not de-duplicated: every accepted request records a new milestone event that becomes the device's latest. Don't resend after "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"201"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". After a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"404"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", nothing was recorded. After a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"500"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", part of a large request may already be recorded. Check the devices before resending."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CARGOIQ_DATA"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Each accepted message is processed again. Don't resend after "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"201"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"heading","attributes":{"level":3,"id":"messaging/post-messages/request/other-errors","deepLinkHash":"/messaging/post-messages#messaging/post-messages/request/other-errors"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Other errors"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A body that isn't valid JSON, or a body larger than 50 MB, is answered with the same"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"401 Unauthorized access"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" response as an invalid token."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token from the token URL issued for your environment at onboarding. Send it on"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"every call as "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Authorization: Bearer <access_token>"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". The token URL, client ID and"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"audience are different for each environment."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"message_type","in":"header","schemaId":"schema_11","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Selects the message type for every message that isn't a warehouse milestone. Exact and"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"case-sensitive. Ignored when the body's "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"message_type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ACC"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"BUP"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"FIW"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"BCL"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DLV"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"example":"MILESTONE"},{"name":"customer_id","in":"header","schemaId":"schema_0","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Your account's customer id. Send it on every message. Warehouse milestones and"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DATA_UPDATE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" return 400 when it is missing. Other types aren't processed correctly"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"without it."},"children":[]}]}]}],"required":true,"example":"acme"},{"name":"authorized_groups","in":"header","schemaId":"schema_0","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Your account's authorized group (note the plural header name). Send it on every message."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Warehouse milestones and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DATA_UPDATE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" return 400 when it is missing. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"MILESTONE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" matches"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"devices across all authorized groups of your "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"customer_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":true,"example":"acme-ops"},{"name":"correlation_id","in":"header","schemaId":"schema_0","description":"Optional request ID. Trackonomy records it with the request so support can trace a call you report.","example":"5f0c2b8e-6a51-4f7e-9d0e-1c2b3a4d5e6f"}],"pointer":"/paths/~1external~1messages/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_12","exampleIds":["paths/~1external~1messages/post/requestBody/content/application~1json/examples/DEVICE_DATAAllFields","paths/~1external~1messages/post/requestBody/content/application~1json/examples/DEVICE_DATA","paths/~1external~1messages/post/requestBody/content/application~1json/examples/MANIFEST_DATAAllFields","paths/~1external~1messages/post/requestBody/content/application~1json/examples/MANIFEST_DATA","paths/~1external~1messages/post/requestBody/content/application~1json/examples/CARGOIQ_DATA_bookingAllFields","paths/~1external~1messages/post/requestBody/content/application~1json/examples/CARGOIQ_DATA_booking","paths/~1external~1messages/post/requestBody/content/application~1json/examples/CARGOIQ_DATA_statusAllFields","paths/~1external~1messages/post/requestBody/content/application~1json/examples/CARGOIQ_DATA_status","paths/~1external~1messages/post/requestBody/content/application~1json/examples/MILESTONEAllFields","paths/~1external~1messages/post/requestBody/content/application~1json/examples/MILESTONE","paths/~1external~1messages/post/requestBody/content/application~1json/examples/MILESTONE_undoAllFields","paths/~1external~1messages/post/requestBody/content/application~1json/examples/MILESTONE_undo","paths/~1external~1messages/post/requestBody/content/application~1json/examples/DATA_UPDATEAllFields","paths/~1external~1messages/post/requestBody/content/application~1json/examples/DATA_UPDATE","paths/~1external~1messages/post/requestBody/content/application~1json/examples/ACCAllFields","paths/~1external~1messages/post/requestBody/content/application~1json/examples/ACC","paths/~1external~1messages/post/requestBody/content/application~1json/examples/BUPAllFields","paths/~1external~1messages/post/requestBody/content/application~1json/examples/BUP","paths/~1external~1messages/post/requestBody/content/application~1json/examples/FIW","paths/~1external~1messages/post/requestBody/content/application~1json/examples/BCLAllFields","paths/~1external~1messages/post/requestBody/content/application~1json/examples/BCL","paths/~1external~1messages/post/requestBody/content/application~1json/examples/DLV"]}},"schemaId":"schema_12","exampleIds":["paths/~1external~1messages/post/requestBody/content/application~1json/examples/DEVICE_DATAAllFields","paths/~1external~1messages/post/requestBody/content/application~1json/examples/DEVICE_DATA","paths/~1external~1messages/post/requestBody/content/application~1json/examples/MANIFEST_DATAAllFields","paths/~1external~1messages/post/requestBody/content/application~1json/examples/MANIFEST_DATA","paths/~1external~1messages/post/requestBody/content/application~1json/examples/CARGOIQ_DATA_bookingAllFields","paths/~1external~1messages/post/requestBody/content/application~1json/examples/CARGOIQ_DATA_booking","paths/~1external~1messages/post/requestBody/content/application~1json/examples/CARGOIQ_DATA_statusAllFields","paths/~1external~1messages/post/requestBody/content/application~1json/examples/CARGOIQ_DATA_status","paths/~1external~1messages/post/requestBody/content/application~1json/examples/MILESTONEAllFields","paths/~1external~1messages/post/requestBody/content/application~1json/examples/MILESTONE","paths/~1external~1messages/post/requestBody/content/application~1json/examples/MILESTONE_undoAllFields","paths/~1external~1messages/post/requestBody/content/application~1json/examples/MILESTONE_undo","paths/~1external~1messages/post/requestBody/content/application~1json/examples/DATA_UPDATEAllFields","paths/~1external~1messages/post/requestBody/content/application~1json/examples/DATA_UPDATE","paths/~1external~1messages/post/requestBody/content/application~1json/examples/ACCAllFields","paths/~1external~1messages/post/requestBody/content/application~1json/examples/ACC","paths/~1external~1messages/post/requestBody/content/application~1json/examples/BUPAllFields","paths/~1external~1messages/post/requestBody/content/application~1json/examples/BUP","paths/~1external~1messages/post/requestBody/content/application~1json/examples/FIW","paths/~1external~1messages/post/requestBody/content/application~1json/examples/BCLAllFields","paths/~1external~1messages/post/requestBody/content/application~1json/examples/BCL","paths/~1external~1messages/post/requestBody/content/application~1json/examples/DLV"],"pointer":"/paths/~1external~1messages/post/requestBody","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The message payload. Which schema applies depends on the message type (body "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"message_type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for warehouse milestones, otherwise the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"message_type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header)."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/external/messages","servers":[{"url":"/_mock/external-api/trackonomy-external-api","description":"Mock server","isMockServer":true},{"url":"https://api.trackonomy.com","description":"Production"},{"url":"https://ppe.api.trackonomy.com","description":"PPE (integration testing)"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"message_type","in":"header","required":false,"example":"MILESTONE","schemaId":"schema_11"},{"name":"customer_id","in":"header","required":true,"example":"acme","schemaId":"schema_0"},{"name":"authorized_groups","in":"header","required":true,"example":"acme-ops","schemaId":"schema_0"},{"name":"correlation_id","in":"header","required":false,"example":"5f0c2b8e-6a51-4f7e-9d0e-1c2b3a4d5e6f","schemaId":"schema_0"}],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_12","exampleIds":["paths/~1external~1messages/post/requestBody/content/application~1json/examples/DEVICE_DATAAllFields","paths/~1external~1messages/post/requestBody/content/application~1json/examples/DEVICE_DATA","paths/~1external~1messages/post/requestBody/content/application~1json/examples/MANIFEST_DATAAllFields","paths/~1external~1messages/post/requestBody/content/application~1json/examples/MANIFEST_DATA","paths/~1external~1messages/post/requestBody/content/application~1json/examples/CARGOIQ_DATA_bookingAllFields","paths/~1external~1messages/post/requestBody/content/application~1json/examples/CARGOIQ_DATA_booking","paths/~1external~1messages/post/requestBody/content/application~1json/examples/CARGOIQ_DATA_statusAllFields","paths/~1external~1messages/post/requestBody/content/application~1json/examples/CARGOIQ_DATA_status","paths/~1external~1messages/post/requestBody/content/application~1json/examples/MILESTONEAllFields","paths/~1external~1messages/post/requestBody/content/application~1json/examples/MILESTONE","paths/~1external~1messages/post/requestBody/content/application~1json/examples/MILESTONE_undoAllFields","paths/~1external~1messages/post/requestBody/content/application~1json/examples/MILESTONE_undo","paths/~1external~1messages/post/requestBody/content/application~1json/examples/DATA_UPDATEAllFields","paths/~1external~1messages/post/requestBody/content/application~1json/examples/DATA_UPDATE","paths/~1external~1messages/post/requestBody/content/application~1json/examples/ACCAllFields","paths/~1external~1messages/post/requestBody/content/application~1json/examples/ACC","paths/~1external~1messages/post/requestBody/content/application~1json/examples/BUPAllFields","paths/~1external~1messages/post/requestBody/content/application~1json/examples/BUP","paths/~1external~1messages/post/requestBody/content/application~1json/examples/FIW","paths/~1external~1messages/post/requestBody/content/application~1json/examples/BCLAllFields","paths/~1external~1messages/post/requestBody/content/application~1json/examples/BCL","paths/~1external~1messages/post/requestBody/content/application~1json/examples/DLV"]}},"responseCodes":["200","201","400","401","404","500"],"pointer":"/external/messages","href":"messaging/post-messages","openApiOperationId":"post-messages","summary":"Process external messages"},"definitionSamples":[{"lang":"cURL","label":"cURL","source":"curl --request POST \\\n  --url 'https://ppe.api.trackonomy.com/external/messages' \\\n  --header 'Authorization: Bearer <access_token>' \\\n  --header 'customer_id: acme' \\\n  --header 'authorized_groups: acme-ops' \\\n  --header 'correlation_id: 5f0c2b8e-6a51-4f7e-9d0e-1c2b3a4d5e6f' \\\n  --header 'Content-Type: application/json' \\\n  --data '{\n  \"qrcode\": \"TRK0A1B2C3D4\",\n  \"asset_barcode\": \"1Z999AA10123456784\"\n}'"}],"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/external-api/trackonomy-external-api","description":"Mock server","isMockServer":true},{"url":"https://api.trackonomy.com","description":"Production"},{"url":"https://ppe.api.trackonomy.com","description":"PPE (integration testing)"}],"schemaId":"schema_12","exampleIds":["paths/~1external~1messages/post/requestBody/content/application~1json/examples/DEVICE_DATAAllFields","paths/~1external~1messages/post/requestBody/content/application~1json/examples/DEVICE_DATA","paths/~1external~1messages/post/requestBody/content/application~1json/examples/MANIFEST_DATAAllFields","paths/~1external~1messages/post/requestBody/content/application~1json/examples/MANIFEST_DATA","paths/~1external~1messages/post/requestBody/content/application~1json/examples/CARGOIQ_DATA_bookingAllFields","paths/~1external~1messages/post/requestBody/content/application~1json/examples/CARGOIQ_DATA_booking","paths/~1external~1messages/post/requestBody/content/application~1json/examples/CARGOIQ_DATA_statusAllFields","paths/~1external~1messages/post/requestBody/content/application~1json/examples/CARGOIQ_DATA_status","paths/~1external~1messages/post/requestBody/content/application~1json/examples/MILESTONEAllFields","paths/~1external~1messages/post/requestBody/content/application~1json/examples/MILESTONE","paths/~1external~1messages/post/requestBody/content/application~1json/examples/MILESTONE_undoAllFields","paths/~1external~1messages/post/requestBody/content/application~1json/examples/MILESTONE_undo","paths/~1external~1messages/post/requestBody/content/application~1json/examples/DATA_UPDATEAllFields","paths/~1external~1messages/post/requestBody/content/application~1json/examples/DATA_UPDATE","paths/~1external~1messages/post/requestBody/content/application~1json/examples/ACCAllFields","paths/~1external~1messages/post/requestBody/content/application~1json/examples/ACC","paths/~1external~1messages/post/requestBody/content/application~1json/examples/BUPAllFields","paths/~1external~1messages/post/requestBody/content/application~1json/examples/BUP","paths/~1external~1messages/post/requestBody/content/application~1json/examples/FIW","paths/~1external~1messages/post/requestBody/content/application~1json/examples/BCLAllFields","paths/~1external~1messages/post/requestBody/content/application~1json/examples/BCL","paths/~1external~1messages/post/requestBody/content/application~1json/examples/DLV"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_12","exampleIds":["paths/~1external~1messages/post/requestBody/content/application~1json/examples/DEVICE_DATAAllFields","paths/~1external~1messages/post/requestBody/content/application~1json/examples/DEVICE_DATA","paths/~1external~1messages/post/requestBody/content/application~1json/examples/MANIFEST_DATAAllFields","paths/~1external~1messages/post/requestBody/content/application~1json/examples/MANIFEST_DATA","paths/~1external~1messages/post/requestBody/content/application~1json/examples/CARGOIQ_DATA_bookingAllFields","paths/~1external~1messages/post/requestBody/content/application~1json/examples/CARGOIQ_DATA_booking","paths/~1external~1messages/post/requestBody/content/application~1json/examples/CARGOIQ_DATA_statusAllFields","paths/~1external~1messages/post/requestBody/content/application~1json/examples/CARGOIQ_DATA_status","paths/~1external~1messages/post/requestBody/content/application~1json/examples/MILESTONEAllFields","paths/~1external~1messages/post/requestBody/content/application~1json/examples/MILESTONE","paths/~1external~1messages/post/requestBody/content/application~1json/examples/MILESTONE_undoAllFields","paths/~1external~1messages/post/requestBody/content/application~1json/examples/MILESTONE_undo","paths/~1external~1messages/post/requestBody/content/application~1json/examples/DATA_UPDATEAllFields","paths/~1external~1messages/post/requestBody/content/application~1json/examples/DATA_UPDATE","paths/~1external~1messages/post/requestBody/content/application~1json/examples/ACCAllFields","paths/~1external~1messages/post/requestBody/content/application~1json/examples/ACC","paths/~1external~1messages/post/requestBody/content/application~1json/examples/BUPAllFields","paths/~1external~1messages/post/requestBody/content/application~1json/examples/BUP","paths/~1external~1messages/post/requestBody/content/application~1json/examples/FIW","paths/~1external~1messages/post/requestBody/content/application~1json/examples/BCLAllFields","paths/~1external~1messages/post/requestBody/content/application~1json/examples/BCL","paths/~1external~1messages/post/requestBody/content/application~1json/examples/DLV"]}},"examples":[{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DATA_UPDATE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" only: at least one device was updated. Devices that could not be updated are listed in "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"failed"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/MessageDataUpdateResult","exampleIds":["paths/~1external~1messages/post/responses/200/content/application~1json/examples/allFields","paths/~1external~1messages/post/responses/200/content/application~1json/examples/partial"]}},"schemaId":"components/schemas/MessageDataUpdateResult","exampleIds":["paths/~1external~1messages/post/responses/200/content/application~1json/examples/allFields","paths/~1external~1messages/post/responses/200/content/application~1json/examples/partial"]},{"code":"201","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Accepted. Header-selected types return "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{message, code}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Warehouse milestones also"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"return "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"correlation_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"sequence_check"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". For a Cargo iQ booking whose flights don't"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"form a chain from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"origin"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"destination"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the message reads"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Successfully processed the message."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (with a period) and the booking is not processed."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_13","exampleIds":["paths/~1external~1messages/post/responses/201/content/application~1json/examples/allFields","paths/~1external~1messages/post/responses/201/content/application~1json/examples/accepted","paths/~1external~1messages/post/responses/201/content/application~1json/examples/cargoIqFlightsNotChained","paths/~1external~1messages/post/responses/201/content/application~1json/examples/wfsAccInSequence","paths/~1external~1messages/post/responses/201/content/application~1json/examples/wfsBclOutOfSequence","paths/~1external~1messages/post/responses/201/content/application~1json/examples/wfsDlvDelivery","paths/~1external~1messages/post/responses/201/content/application~1json/examples/wfsDlvOverflow","paths/~1external~1messages/post/responses/201/content/application~1json/examples/wfsFiwHeld","paths/~1external~1messages/post/responses/201/content/application~1json/examples/wfsConfigNotFound"]}},"schemaId":"schema_13","exampleIds":["paths/~1external~1messages/post/responses/201/content/application~1json/examples/allFields","paths/~1external~1messages/post/responses/201/content/application~1json/examples/accepted","paths/~1external~1messages/post/responses/201/content/application~1json/examples/cargoIqFlightsNotChained","paths/~1external~1messages/post/responses/201/content/application~1json/examples/wfsAccInSequence","paths/~1external~1messages/post/responses/201/content/application~1json/examples/wfsBclOutOfSequence","paths/~1external~1messages/post/responses/201/content/application~1json/examples/wfsDlvDelivery","paths/~1external~1messages/post/responses/201/content/application~1json/examples/wfsDlvOverflow","paths/~1external~1messages/post/responses/201/content/application~1json/examples/wfsFiwHeld","paths/~1external~1messages/post/responses/201/content/application~1json/examples/wfsConfigNotFound"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The message was rejected and nothing was applied."},"children":[]}]}]},{"$$mdtype":"Node","type":"table","attributes":{},"children":[{"$$mdtype":"Node","type":"thead","attributes":{},"children":[{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"message"},"children":[]}]}]},{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Message types"},"children":[]}]}]},{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cause"},"children":[]}]}]}]}]},{"$$mdtype":"Node","type":"tbody","attributes":{},"children":[{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Invalid payload"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Header-selected types"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The body is missing or empty ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"[]"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Invalid message_type in headers"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Header-selected types"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"message_type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header is missing or not one of the five values."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Missing required headers: customer_id, authorized_groups"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Warehouse milestones, "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DATA_UPDATE"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A tenant header is missing or empty."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Validation failed"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"errors[]"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Warehouse milestones, "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DATA_UPDATE"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The body doesn't match the schema, or ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DATA_UPDATE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" key isn't configured for your account or has the wrong type or format."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Invalid payload format"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"MANIFEST_DATA"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"MILESTONE"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The body doesn't match the schema."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Invalid booking payload format"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CARGOIQ_DATA"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A booking or status message doesn't match its schema."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Invalid input"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DEVICE_DATA"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The body has no identifier field ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"qrcode"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"asset_barcode"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", or the field configured for your account)."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Ambiguous device identifier: <type>=<value> matched multiple devices"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"MILESTONE"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"An identifier matched more than one device."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Missing required field '<key>' mapped from device_event_mapping column '<column>'"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"MILESTONE"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" key configured for your account's event location or parent location is missing or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_14","exampleIds":["paths/~1external~1messages/post/responses/400/content/application~1json/examples/invalidPayload","paths/~1external~1messages/post/responses/400/content/application~1json/examples/invalidMessageType","paths/~1external~1messages/post/responses/400/content/application~1json/examples/missingTenantHeaders","paths/~1external~1messages/post/responses/400/content/application~1json/examples/wfsValidationFailed","paths/~1external~1messages/post/responses/400/content/application~1json/examples/wfsUnknownTopLevelKey","paths/~1external~1messages/post/responses/400/content/application~1json/examples/dataUpdateSchemaFailed","paths/~1external~1messages/post/responses/400/content/application~1json/examples/dataUpdateFieldsRejected","paths/~1external~1messages/post/responses/400/content/application~1json/examples/invalidPayloadFormat","paths/~1external~1messages/post/responses/400/content/application~1json/examples/invalidBookingPayloadFormat","paths/~1external~1messages/post/responses/400/content/application~1json/examples/invalidInput","paths/~1external~1messages/post/responses/400/content/application~1json/examples/milestoneAmbiguousDevice","paths/~1external~1messages/post/responses/400/content/application~1json/examples/milestoneMissingMappedField"]}},"schemaId":"schema_14","exampleIds":["paths/~1external~1messages/post/responses/400/content/application~1json/examples/invalidPayload","paths/~1external~1messages/post/responses/400/content/application~1json/examples/invalidMessageType","paths/~1external~1messages/post/responses/400/content/application~1json/examples/missingTenantHeaders","paths/~1external~1messages/post/responses/400/content/application~1json/examples/wfsValidationFailed","paths/~1external~1messages/post/responses/400/content/application~1json/examples/wfsUnknownTopLevelKey","paths/~1external~1messages/post/responses/400/content/application~1json/examples/dataUpdateSchemaFailed","paths/~1external~1messages/post/responses/400/content/application~1json/examples/dataUpdateFieldsRejected","paths/~1external~1messages/post/responses/400/content/application~1json/examples/invalidPayloadFormat","paths/~1external~1messages/post/responses/400/content/application~1json/examples/invalidBookingPayloadFormat","paths/~1external~1messages/post/responses/400/content/application~1json/examples/invalidInput","paths/~1external~1messages/post/responses/400/content/application~1json/examples/milestoneAmbiguousDevice","paths/~1external~1messages/post/responses/400/content/application~1json/examples/milestoneMissingMappedField"]},{"code":"401","description":"The access token is missing, expired, issued for another environment's audience, or your API\nidentity isn't granted this action. The same response is returned when the request body isn't\nvalid JSON or is larger than 50 MB. Check the body, request a new token and retry once; if it\nstill fails, contact your Trackonomy integration contact.\n","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1messages/post/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1messages/post/responses/401/content/application~1json/example"]},{"code":"404","description":[{"$$mdtype":"Node","type":"table","attributes":{},"children":[{"$$mdtype":"Node","type":"thead","attributes":{},"children":[{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"message"},"children":[]}]}]},{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Message types"},"children":[]}]}]},{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cause"},"children":[]}]}]}]}]},{"$$mdtype":"Node","type":"tbody","attributes":{},"children":[{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Data not found"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DEVICE_DATA"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"No device in the account matches the identifier."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Device not found"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"MILESTONE"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"One of "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"devices[]"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" matches no device. Nothing was recorded."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Data update is not configured for this account"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DATA_UPDATE"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DATA_UPDATE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" isn't enabled for the account in the headers."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"No shipment was updated"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DATA_UPDATE"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"No device could be updated; see "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"failed[]"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_15","exampleIds":["paths/~1external~1messages/post/responses/404/content/application~1json/examples/dataNotFound","paths/~1external~1messages/post/responses/404/content/application~1json/examples/deviceNotFound","paths/~1external~1messages/post/responses/404/content/application~1json/examples/dataUpdateNotConfigured","paths/~1external~1messages/post/responses/404/content/application~1json/examples/noShipmentUpdated"]}},"schemaId":"schema_15","exampleIds":["paths/~1external~1messages/post/responses/404/content/application~1json/examples/dataNotFound","paths/~1external~1messages/post/responses/404/content/application~1json/examples/deviceNotFound","paths/~1external~1messages/post/responses/404/content/application~1json/examples/dataUpdateNotConfigured","paths/~1external~1messages/post/responses/404/content/application~1json/examples/noShipmentUpdated"]},{"code":"500","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unexpected error. Warehouse milestones and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DATA_UPDATE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" are safe to retry. For other"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"types, see "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retries and resending"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" above."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1messages/post/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1messages/post/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1external~1messages/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/MessageDataUpdateResult","exampleIds":["paths/~1external~1messages/post/responses/200/content/application~1json/examples/allFields","paths/~1external~1messages/post/responses/200/content/application~1json/examples/partial"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/MessageDataUpdateResult","exampleIds":["paths/~1external~1messages/post/responses/200/content/application~1json/examples/allFields","paths/~1external~1messages/post/responses/200/content/application~1json/examples/partial"]}}},{"code":"201","schemaId":"schema_13","exampleIds":["paths/~1external~1messages/post/responses/201/content/application~1json/examples/allFields","paths/~1external~1messages/post/responses/201/content/application~1json/examples/accepted","paths/~1external~1messages/post/responses/201/content/application~1json/examples/cargoIqFlightsNotChained","paths/~1external~1messages/post/responses/201/content/application~1json/examples/wfsAccInSequence","paths/~1external~1messages/post/responses/201/content/application~1json/examples/wfsBclOutOfSequence","paths/~1external~1messages/post/responses/201/content/application~1json/examples/wfsDlvDelivery","paths/~1external~1messages/post/responses/201/content/application~1json/examples/wfsDlvOverflow","paths/~1external~1messages/post/responses/201/content/application~1json/examples/wfsFiwHeld","paths/~1external~1messages/post/responses/201/content/application~1json/examples/wfsConfigNotFound"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_13","exampleIds":["paths/~1external~1messages/post/responses/201/content/application~1json/examples/allFields","paths/~1external~1messages/post/responses/201/content/application~1json/examples/accepted","paths/~1external~1messages/post/responses/201/content/application~1json/examples/cargoIqFlightsNotChained","paths/~1external~1messages/post/responses/201/content/application~1json/examples/wfsAccInSequence","paths/~1external~1messages/post/responses/201/content/application~1json/examples/wfsBclOutOfSequence","paths/~1external~1messages/post/responses/201/content/application~1json/examples/wfsDlvDelivery","paths/~1external~1messages/post/responses/201/content/application~1json/examples/wfsDlvOverflow","paths/~1external~1messages/post/responses/201/content/application~1json/examples/wfsFiwHeld","paths/~1external~1messages/post/responses/201/content/application~1json/examples/wfsConfigNotFound"]}}},{"code":"400","schemaId":"schema_14","exampleIds":["paths/~1external~1messages/post/responses/400/content/application~1json/examples/invalidPayload","paths/~1external~1messages/post/responses/400/content/application~1json/examples/invalidMessageType","paths/~1external~1messages/post/responses/400/content/application~1json/examples/missingTenantHeaders","paths/~1external~1messages/post/responses/400/content/application~1json/examples/wfsValidationFailed","paths/~1external~1messages/post/responses/400/content/application~1json/examples/wfsUnknownTopLevelKey","paths/~1external~1messages/post/responses/400/content/application~1json/examples/dataUpdateSchemaFailed","paths/~1external~1messages/post/responses/400/content/application~1json/examples/dataUpdateFieldsRejected","paths/~1external~1messages/post/responses/400/content/application~1json/examples/invalidPayloadFormat","paths/~1external~1messages/post/responses/400/content/application~1json/examples/invalidBookingPayloadFormat","paths/~1external~1messages/post/responses/400/content/application~1json/examples/invalidInput","paths/~1external~1messages/post/responses/400/content/application~1json/examples/milestoneAmbiguousDevice","paths/~1external~1messages/post/responses/400/content/application~1json/examples/milestoneMissingMappedField"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_14","exampleIds":["paths/~1external~1messages/post/responses/400/content/application~1json/examples/invalidPayload","paths/~1external~1messages/post/responses/400/content/application~1json/examples/invalidMessageType","paths/~1external~1messages/post/responses/400/content/application~1json/examples/missingTenantHeaders","paths/~1external~1messages/post/responses/400/content/application~1json/examples/wfsValidationFailed","paths/~1external~1messages/post/responses/400/content/application~1json/examples/wfsUnknownTopLevelKey","paths/~1external~1messages/post/responses/400/content/application~1json/examples/dataUpdateSchemaFailed","paths/~1external~1messages/post/responses/400/content/application~1json/examples/dataUpdateFieldsRejected","paths/~1external~1messages/post/responses/400/content/application~1json/examples/invalidPayloadFormat","paths/~1external~1messages/post/responses/400/content/application~1json/examples/invalidBookingPayloadFormat","paths/~1external~1messages/post/responses/400/content/application~1json/examples/invalidInput","paths/~1external~1messages/post/responses/400/content/application~1json/examples/milestoneAmbiguousDevice","paths/~1external~1messages/post/responses/400/content/application~1json/examples/milestoneMissingMappedField"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1messages/post/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1messages/post/responses/401/content/application~1json/example"]}}},{"code":"404","schemaId":"schema_15","exampleIds":["paths/~1external~1messages/post/responses/404/content/application~1json/examples/dataNotFound","paths/~1external~1messages/post/responses/404/content/application~1json/examples/deviceNotFound","paths/~1external~1messages/post/responses/404/content/application~1json/examples/dataUpdateNotConfigured","paths/~1external~1messages/post/responses/404/content/application~1json/examples/noShipmentUpdated"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_15","exampleIds":["paths/~1external~1messages/post/responses/404/content/application~1json/examples/dataNotFound","paths/~1external~1messages/post/responses/404/content/application~1json/examples/deviceNotFound","paths/~1external~1messages/post/responses/404/content/application~1json/examples/dataUpdateNotConfigured","paths/~1external~1messages/post/responses/404/content/application~1json/examples/noShipmentUpdated"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1messages/post/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1external~1messages/post/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/messaging/post-messages"}],"panels":[]}]},"httpPath":"/external/messages"}],"content":{"contentType":"group","meta":{"name":"Messaging"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Messaging","showPageActions":true},{"nodeType":"markdoc","content":"Integration messages from your systems (manifests, milestones, device updates and partner messages)."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/external/messages","summary":"Process external messages","prefix":{"name":"post","color":"post"},"badges":[],"link":"/messaging/post-messages","deprecated":false}]}]}]}]}}],"store":{"schemaStore":{"components/schemas/ErrorResponse":{"id":"components/schemas/ErrorResponse","kind":"json-schema","title":"ErrorResponse","data":{"type":"object","properties":{"message":{"type":"string","description":"What went wrong.","example":"Missing required headers: customer_id or authorized_groups"},"code":{"type":"integer","description":"The HTTP status code.","example":400}},"required":["message"]}},"components/schemas/ValidationErrorResponse":{"id":"components/schemas/ValidationErrorResponse","kind":"json-schema","title":"ValidationErrorResponse","data":{"type":"object","description":"The request body or parameters failed validation. Nothing was changed.","properties":{"message":{"type":"string","example":"Validation failed"},"code":{"type":"integer","example":400},"errors":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"One entry per problem. Each entry has the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"path"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" of the field that failed, a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"message"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"an issue "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"code"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; some issues add detail such as "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"expected"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"values"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"minimum"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"maximum"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"inclusive"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"origin"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"format"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"pattern"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"items":{"type":"object","additionalProperties":true,"properties":{"path":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"integer"}]}},"message":{"type":"string","example":"Missing required headers: customer_id or authorized_groups"},"code":{"type":"string","example":"invalid_type"}}}}},"additionalProperties":true,"required":["message","code","errors"]}},"components/schemas/BatchError":{"id":"components/schemas/BatchError","kind":"json-schema","title":"BatchError","data":{"type":"object","properties":{"qrcode":{"type":"string","description":"QR code of the device that failed.","example":"TRK0012345"},"error_code":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Machine-readable reason. Branch on this value, not on "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"message"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"example":"ALREADY_LABELLED"}},"required":["qrcode","error_code"]}},"components/schemas/BatchResult":{"id":"components/schemas/BatchResult","kind":"json-schema","title":"BatchResult","data":{"type":"object","description":"Response body of every multi-device call (label, edit label, deactivate, configuration).","properties":{"message":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Successfully <action> <n> device(s)."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when every device succeeded, otherwise "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Some devices could not be <action>."},"children":[]}]}]}],"example":"Missing required headers: customer_id or authorized_groups"},"successful":{"type":"integer","description":"Number of devices that succeeded.","example":1},"failed":{"type":"integer","description":"Number of devices that failed.","example":0},"errors":{"type":"array","description":"One entry per failed device. Empty when every device succeeded.","items":{"$ref":"#/components/schemas/BatchError"}}},"required":["message","successful","failed","errors"]}},"components/schemas/DecodeBulkRequestItem":{"id":"components/schemas/DecodeBulkRequestItem","kind":"json-schema","title":"DecodeBulkRequestItem","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"One packet to decode. A missing "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"mac_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ble_packet"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" fails only that item."},"children":[]}]}]}],"properties":{"mac_id":{"type":"string","description":"The tape's MAC address (12 hex characters, no separators). Must be unique within the request.","example":"D4F5A1B2C3E8"},"ble_packet":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The raw BLE payload as a hex string (see the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ble_packet"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header of the single-device endpoint)."},"children":[]}]}]}],"example":"525801172D0000012C0C0300000096000000012C00FFAC1E"},"product_id":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Optional application ID (see the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"product_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header of the single-device endpoint)."},"children":[]}]}]}],"example":"7b1e4c2a-9f3d-4e8a-b6c1-2d5f8a9e0c31"},"scan_time":{"oneOf":[{"type":"integer"},{"type":"string"}],"description":"Optional capture time in Unix epoch seconds, as a number or a numeric string.","example":1791245700}},"required":["mac_id","ble_packet"]}},"components/schemas/DecodeBulkRequest":{"id":"components/schemas/DecodeBulkRequest","kind":"json-schema","title":"DecodeBulkRequest","data":{"type":"array","minItems":1,"maxItems":250,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Non-empty array of up to 250 items, each with a different "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"mac_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"items":{"$ref":"#/components/schemas/DecodeBulkRequestItem"}}},"components/schemas/DecodeFullPacketResponse":{"id":"components/schemas/DecodeFullPacketResponse","kind":"json-schema","title":"DecodeFullPacketResponse","data":{"type":"object","description":"Returned for any packet that is not exactly 26 hex characters. Fields described as absent are omitted.","properties":{"qr_code":{"type":"string","description":"The tape's QR code.","example":"TRK8F3A21C7"},"cts":{"type":"integer","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Time Trackonomy decoded the packet, in Unix epoch seconds (not a device time). "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"4442"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"0202"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" packets."},"children":[]}]}]}],"example":1791245815},"ts":{"type":"integer","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"scan_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" you sent, as an integer. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when it was missing or not numeric."},"children":[]}]}]}],"example":1791245700},"bat":{"type":"number","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Tape battery voltage, in volts. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"4442"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"0202"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" packets."},"children":[]}]}]}],"example":3},"temp":{"oneOf":[{"type":"number"},{"type":"string"}],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Current temperature in °C. A number for most packets; a "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"string"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"\"25.0\""},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") for"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"FFF9"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" packets. Absent when the packet carries no temperature."},"children":[]}]}]}],"example":23},"over_temp":{"type":"number","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Recorded over-temperature excursion, in °C. Present only when the packet reports one."},"children":[]}]}]}],"example":45},"over_temp_ts":{"type":"integer","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Estimated time of the over-temperature excursion, in Unix epoch seconds, worked out from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"scan_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Present with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"over_temp"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"scan_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" was not sent."},"children":[]}]}]}],"example":1791245100},"shock":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Maximum shock magnitude in raw device units, as a numeric "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"string"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Present only when the packet reports a shock."},"children":[]}]}]}],"example":"12"},"shock_ts":{"type":"integer","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Estimated time of the shock, in Unix epoch seconds, worked out from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"scan_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Present with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"shock"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"scan_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" was not sent."},"children":[]}]}]}],"example":1791245400},"bat_percent":{"type":"number","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Battery state of charge (0–100), from the tape's battery type and the decoded voltage and temperature. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when it cannot be worked out."},"children":[]}]}]}],"example":100},"fw_ver":{"oneOf":[{"type":"string"},{"type":"number"}],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Firmware version Trackonomy has for the tape. Usually a string (e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"\"1.1\""},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"); a number"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"1.2"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") once the tape has reported its firmware in a heartbeat. Absent when no"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"version is known."},"children":[]}]}]}],"example":"1.1"}},"required":["qr_code","cts","ts","bat","bat_percent"]}},"components/schemas/DecodeHeartbeatResponse":{"id":"components/schemas/DecodeHeartbeatResponse","kind":"json-schema","title":"DecodeHeartbeatResponse","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returned when "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ble_packet"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is exactly 26 hex characters (connectable heartbeat)."},"children":[]}]}]}],"properties":{"qr_code":{"type":"string","description":"The tape's QR code.","example":"TRK8F3A21C7"},"cts":{"type":"integer","nullable":true,"description":"Time Trackonomy decoded the packet, in Unix epoch seconds.","example":1791245815},"ts":{"type":"integer","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"scan_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" you sent, as an integer. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when it was missing or not numeric."},"children":[]}]}]}],"example":1791245700},"bat":{"type":"number","description":"Battery voltage from the packet, in volts. Absent for heartbeat types that carry no battery reading.","example":3},"fw_ver":{"type":"number","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Firmware version from the packet, as a "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"number"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"1.2"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Absent for heartbeat types that carry no version."},"children":[]}]}]}],"example":1.2},"bat_percent":{"type":"number","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Battery state of charge (0–100). "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when it cannot be worked out."},"children":[]}]}]}],"example":100}},"required":["qr_code","cts","ts","bat_percent"]}},"components/schemas/DecodeResult":{"id":"components/schemas/DecodeResult","kind":"json-schema","title":"DecodeResult","data":{"anyOf":[{"$ref":"#/components/schemas/DecodeFullPacketResponse"},{"$ref":"#/components/schemas/DecodeHeartbeatResponse"}]}},"components/schemas/DecodeBulkItemError":{"id":"components/schemas/DecodeBulkItemError","kind":"json-schema","title":"DecodeBulkItemError","data":{"type":"object","properties":{"mac_id":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The item's "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"mac_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", as sent. Absent when the item had none."},"children":[]}]}]}],"example":"E7A01B9C44D2"},"error":{"type":"string","description":"The message the single-device endpoint would return for this item.","example":"Invalid tape mac address"}},"required":["error"]}},"components/schemas/DecodeBulkResultItem":{"id":"components/schemas/DecodeBulkResultItem","kind":"json-schema","title":"DecodeBulkResultItem","data":{"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A decoded result with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"mac_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" added, or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{mac_id, error}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"anyOf":[{"allOf":[{"type":"object","properties":{"mac_id":{"type":"string","example":"D4F5A1B2C3E8"}}},{"$ref":"#/components/schemas/DecodeFullPacketResponse"}]},{"allOf":[{"type":"object","properties":{"mac_id":{"type":"string","example":"C2E9B47A10F3"}}},{"$ref":"#/components/schemas/DecodeHeartbeatResponse"}]},{"$ref":"#/components/schemas/DecodeBulkItemError"}]}},"components/schemas/LabelLocationInput":{"id":"components/schemas/LabelLocationInput","kind":"json-schema","title":"LabelLocationInput","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"An address. Send a free-text "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"label"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (resolved to coordinates), "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lat"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" + "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lon"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (resolved to an"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"address), or both (stored as sent). On "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"PUT"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", an empty object keeps the saved location when one"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"is saved. An address with neither isn't rejected with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; the shipment write fails instead and"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"the device is reported as "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"INTERNAL_ERROR"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"properties":{"label":{"type":"string","example":"1 Market St, San Francisco, CA 94105"},"lat":{"type":"number","nullable":true,"example":37.79404},"lon":{"type":"number","nullable":true,"example":-122.39504}}}},"components/schemas/LabelShipmentDetailsInput":{"id":"components/schemas/LabelShipmentDetailsInput","kind":"json-schema","title":"LabelShipmentDetailsInput","data":{"type":"object","description":"Shipment information. Unknown fields are ignored.","required":["customer_name","customer_email","source_address","destination_address"],"properties":{"customer_name":{"type":"string","description":"Any string.","example":"Acme Pharma"},"customer_email":{"type":"string","format":"email","example":"logistics@acmepharma.com"},"customer_contact":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Omitted or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" keeps the saved value (none on a new shipment)."},"children":[]}]}]}],"example":"+1 415 555 0100"},"source_address":{"$ref":"#/components/schemas/LabelLocationInput"},"destination_address":{"$ref":"#/components/schemas/LabelLocationInput"},"notes":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Omitted or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" keeps the saved value."},"children":[]}]}]}],"example":"Keep refrigerated"},"mode_of_transport":{"type":"string","nullable":true,"enum":["AIR","GROUND","SEA"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Case-insensitive ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"air"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is stored as "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"AIR"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Omitted or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" keeps the saved value."},"children":[]}]}]}],"example":"GROUND"}}}},"components/schemas/LabelCreateDevice":{"id":"components/schemas/LabelCreateDevice","kind":"json-schema","title":"LabelCreateDevice","data":{"type":"object","required":["qrcode","asset_barcode","application_id"],"description":"One device to label. Unknown fields are ignored.","properties":{"qrcode":{"type":"string","minLength":1,"description":"QR code printed on the device (spaces around it are trimmed). Unique within the request.","example":"TRK0012345"},"asset_barcode":{"type":"string","minLength":1,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Your identifier for the asset the device is attached to (for example an air waybill). On"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"applications configured for multi-piece shipments, a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"-NNNN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" piece suffix is added to the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"stored value (for example "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"AWB-777-1001-0001"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; a value that already ends in "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"-NNNN"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is kept),"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" returns the suffixed value, and several devices can share one asset barcode, each"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"getting the next piece number."},"children":[]}]}]}],"example":"AWB-777-1001"},"application_id":{"type":"string","minLength":1,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Application UUID or application code (case-sensitive), for new labels and for "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"override"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" alike."},"children":[]}]}]}],"example":"smart-asset-tracker"},"facility_id":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Facility UUID. New label: omitted or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" means the facility is chosen automatically (see"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"em","inline":true,"attributes":{"marker":"*"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Facility"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"override"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": omitted keeps the current facility, "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" clears it."},"children":[]}]}]}],"example":"0b6f7c1e-2d3a-4b5c-8d9e-0f1a2b3c4d5e"},"lat":{"type":"number","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"New labels only. Used, together with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lon"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", only when you send no "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"facility_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and your account has no top-level facility."},"children":[]}]}]}],"example":37.7749},"lon":{"type":"number","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"See "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lat"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"example":-122.4194},"tape_displayname":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Display name. New label → blank when omitted. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"override"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" → omitted keeps it, "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" clears it."},"children":[]}]}]}],"example":"Pallet 1"},"override":{"type":"boolean","default":false,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Edit an already-labelled device in place instead of failing with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ALREADY_LABELLED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Never changes the device's status. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is rejected."},"children":[]}]}]}],"example":false},"skip_qrmac":{"type":"boolean","default":false,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Optional, and only where enabled for your integration environment (otherwise "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Labels a device"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"that isn't in Trackonomy's device registry; requires "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"device_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"example":false},"device_id":{"type":"string","minLength":1,"nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Device MAC address, normally 12 hex characters (not format-checked). Required, and only used,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"when "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"skip_qrmac"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"example":"C47F510A129E"}}}},"components/schemas/LabelCreateRequest":{"id":"components/schemas/LabelCreateRequest","kind":"json-schema","title":"LabelCreateRequest","data":{"type":"object","required":["devices"],"properties":{"shipment_details":{"$ref":"#/components/schemas/LabelShipmentDetailsInput"},"devices":{"type":"array","minItems":1,"maxItems":20,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"1–20 devices. Duplicate "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"qrcode"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" values reject the whole request."},"children":[]}]}]}],"items":{"$ref":"#/components/schemas/LabelCreateDevice"}}}}},"components/schemas/LabelEditDevice":{"id":"components/schemas/LabelEditDevice","kind":"json-schema","title":"LabelEditDevice","data":{"type":"object","required":["qrcode"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"One device to edit. Unknown fields (for example "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"override"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") are ignored."},"children":[]}]}]}],"properties":{"qrcode":{"type":"string","minLength":1,"description":"QR code of a labelled device (spaces around it are trimmed). Unique within the request.","example":"TRK0012345"},"asset_barcode":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Omitted → unchanged; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" → cleared."},"children":[]}]}]}],"example":"AWB-777-3001"},"application_id":{"type":"string","format":"uuid","nullable":true,"pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Optional confirmation of the device's current application; it can't change the application."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Don't send it unless you need that check: it must match the pattern shown, and most"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"application ids (including ids returned by "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") don't, which rejects the whole request with"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Codes are rejected too. Omitted or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" → unchanged."},"children":[]}]}]}],"example":"70481678-e88b-2198-98ad-4a2b091940d6"},"facility_id":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Facility UUID. Omitted → unchanged; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" → cleared."},"children":[]}]}]}],"example":"0b6f7c1e-2d3a-4b5c-8d9e-0f1a2b3c4d5e"},"tape_displayname":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Omitted → unchanged; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" → cleared."},"children":[]}]}]}],"example":"Pallet 1A"}}}},"components/schemas/LabelEditRequest":{"id":"components/schemas/LabelEditRequest","kind":"json-schema","title":"LabelEditRequest","data":{"type":"object","required":["devices"],"properties":{"scope":{"type":"string","enum":["THIS_DEVICE","ALL_DEVICES_IN_SHIPMENT"],"default":"THIS_DEVICE","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Which devices get the shipment update (uppercase only). Ignored without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"shipment_details"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"example":"THIS_DEVICE"},"shipment_details":{"$ref":"#/components/schemas/LabelShipmentDetailsInput"},"devices":{"type":"array","minItems":1,"maxItems":20,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"1–20 devices. Duplicate "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"qrcode"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" values reject the whole request. The first device decides the target shipment."},"children":[]}]}]}],"items":{"$ref":"#/components/schemas/LabelEditDevice"}}}}},"components/schemas/LabelCreateResult":{"id":"components/schemas/LabelCreateResult","kind":"json-schema","title":"LabelCreateResult","data":{"allOf":[{"$ref":"#/components/schemas/BatchResult"},{"type":"object","properties":{"shipment_id":{"type":"string","format":"uuid","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The new shipment's id when "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"shipment_details"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" was sent and at least one device was labelled."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"successful"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"0"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Devices may still have been labelled (for example when only"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"the shipment failed), so check them with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Absent when "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"shipment_details"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" wasn't sent and at least"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"one device was labelled."},"children":[]}]}]}],"example":"9b2d4c4e-1f7a-4e8b-a0c1-3d5e7f9a1b2c"}}}]}},"components/schemas/LabelEditResult":{"id":"components/schemas/LabelEditResult","kind":"json-schema","title":"LabelEditResult","data":{"allOf":[{"$ref":"#/components/schemas/BatchResult"},{"type":"object","required":["shipment_id"],"properties":{"shipment_id":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The target shipment's id when "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"shipment_details"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" was sent; otherwise an empty string."},"children":[]}]}]}],"example":"9b2d4c4e-1f7a-4e8b-a0c1-3d5e7f9a1b2c"}}}]}},"components/schemas/LabelGeocodedLocation":{"id":"components/schemas/LabelGeocodedLocation","kind":"json-schema","title":"LabelGeocodedLocation","data":{"type":"object","description":"An address as stored on the shipment.","properties":{"label":{"type":"string","nullable":true,"example":"1 Market St, San Francisco, CA 94105"},"lat":{"type":"number","example":37.79404},"lon":{"type":"number","example":-122.39504},"timezone":{"type":"object","additionalProperties":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Present only when the address was sent as a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"label"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" alone."},"children":[]}]}]}]},"source":{"type":"string","description":"Id (MAC address) of the device the address was stored for.","example":"C47F510A129E"}}}},"components/schemas/LabelShipmentRecord":{"id":"components/schemas/LabelShipmentRecord","kind":"json-schema","title":"LabelShipmentRecord","data":{"type":"object","description":"The device's shipment, as stored.","properties":{"shipment_id":{"type":"string","format":"uuid","example":"9b2d4c4e-1f7a-4e8b-a0c1-3d5e7f9a1b2c"},"customer_name":{"type":"string","example":"Acme Pharma"},"customer_email":{"type":"string","example":"logistics@acmepharma.com"},"customer_contact":{"type":"string","nullable":true,"example":"+1 415 555 0100"},"source":{"$ref":"#/components/schemas/LabelGeocodedLocation"},"destination":{"$ref":"#/components/schemas/LabelGeocodedLocation"},"notes":{"type":"string","nullable":true,"example":"Keep refrigerated"},"mode_of_transport":{"type":"string","nullable":true,"enum":["AIR","GROUND","SEA"],"example":"AIR"},"created_at":{"type":"string","format":"date-time","example":"2026-10-01T17:04:22.512Z"},"updated_at":{"type":"string","format":"date-time","example":"2026-10-02T09:15:03.007Z"}}}},"components/schemas/LabelDeviceFound":{"id":"components/schemas/LabelDeviceFound","kind":"json-schema","title":"LabelDeviceFound","data":{"type":"object","required":["qrcode","found","status","asset_barcode","application_id","facility_id","tape_displayname"],"properties":{"qrcode":{"type":"string","description":"The requested QR code (trimmed).","example":"TRK0012345"},"found":{"type":"boolean","enum":[true],"example":true},"status":{"type":"string","nullable":true,"enum":["NOT_ACTIVATED","ACTIVATED","FORCE_ACTIVATED","ACTIVE_WITH_NO_ALERTS","DEACTIVATED","REJECTED","REUSE_OR_EXPIRED"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Device status. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"NOT_ACTIVATED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" means known to your account but never labelled."},"children":[]}]}]}],"example":"NOT_ACTIVATED"},"asset_barcode":{"type":"string","nullable":true,"example":"AWB-777-1001"},"application_id":{"type":"string","description":"Application UUID (not the code).","example":"70481678-e88b-2198-98ad-4a2b091940d6"},"facility_id":{"type":"string","nullable":true,"description":"Facility UUID.","example":"0b6f7c1e-2d3a-4b5c-8d9e-0f1a2b3c4d5e"},"tape_displayname":{"type":"string","nullable":true,"example":"Pallet 1"},"shipment_details":{"$ref":"#/components/schemas/LabelShipmentRecord"},"metadata":{"type":"object","nullable":true,"additionalProperties":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Only with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"include=metadata"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". The device's metadata, or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},"fw_configuration":{"type":"object","nullable":true,"additionalProperties":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Only with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"include=fw_configuration"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". The device's stored firmware configuration, or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},"hw_configuration":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Only with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"include=hw_configuration"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"properties":{"hw_version":{"type":"string","nullable":true,"example":"2.1"},"mac_address":{"type":"string","nullable":true,"example":"C47F510A129E"}}}},"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A found device. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"shipment_details"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is absent when the device has no shipment."},"children":[]}]}]}]}},"components/schemas/LabelDeviceNotFound":{"id":"components/schemas/LabelDeviceNotFound","kind":"json-schema","title":"LabelDeviceNotFound","data":{"type":"object","required":["qrcode","found"],"description":"No device with this QR code that your account can see.","properties":{"qrcode":{"type":"string","example":"TRK0012345"},"found":{"type":"boolean","enum":[false],"example":false}}}},"components/schemas/LabelGetResponse":{"id":"components/schemas/LabelGetResponse","kind":"json-schema","title":"LabelGetResponse","data":{"type":"object","required":["devices"],"properties":{"devices":{"type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/LabelDeviceFound"},{"$ref":"#/components/schemas/LabelDeviceNotFound"}]}}}}},"components/schemas/StatusRequest":{"id":"components/schemas/StatusRequest","kind":"json-schema","title":"StatusRequest","data":{"type":"object","description":"Other properties are ignored.","required":["action","devices"],"properties":{"action":{"type":"string","enum":["DEACTIVATE"],"description":"The action to apply to every device in the request. Case-sensitive.","example":"DEACTIVATE"},"devices":{"type":"array","minItems":1,"maxItems":100,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"1 to 100 devices. Each "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"qrcode"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" may appear only once (duplicates return "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}],"items":{"$ref":"#/components/schemas/StatusDevice"}}}}},"components/schemas/StatusDevice":{"id":"components/schemas/StatusDevice","kind":"json-schema","title":"StatusDevice","data":{"type":"object","description":"Other properties are ignored.","required":["qrcode"],"properties":{"qrcode":{"type":"string","minLength":1,"description":"QR code of the device. Leading and trailing spaces are removed; otherwise matched exactly (case-sensitive).","example":"TRK0012345"}}}},"components/schemas/ConfigRequest":{"id":"components/schemas/ConfigRequest","kind":"json-schema","title":"ConfigRequest","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Send at least one of "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"firmware"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"metadata"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (either may be "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Other top-level properties are ignored."},"children":[]}]}]}],"required":["devices"],"properties":{"devices":{"type":"array","minItems":1,"maxItems":100,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"1 to 100 devices. Each "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"qrcode"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" may appear only once (duplicates return "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}],"items":{"$ref":"#/components/schemas/ConfigDevice"}},"firmware":{"$ref":"#/components/schemas/ConfigFirmwareFields"},"metadata":{"$ref":"#/components/schemas/ConfigMetadataFields"}}}},"components/schemas/ConfigDevice":{"id":"components/schemas/ConfigDevice","kind":"json-schema","title":"ConfigDevice","data":{"type":"object","description":"Other properties are ignored.","required":["qrcode"],"properties":{"qrcode":{"type":"string","minLength":1,"description":"QR code of the device. Leading and trailing spaces are removed; otherwise matched exactly (case-sensitive).","example":"TRK0012345"},"asset_barcode":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"New asset barcode for this device. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or omitted keeps the current value."},"children":[]}]}]}],"example":"PALLET-0042"},"tape_displayname":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"New display name for this device. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or omitted keeps the current value."},"children":[]}]}]}],"example":"Pallet 42 sensor"}}}},"components/schemas/ConfigNumber":{"id":"components/schemas/ConfigNumber","kind":"json-schema","title":"ConfigNumber","data":{"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A number. A numeric string such as "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"\"300\""},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is also accepted and converted to a number. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" clears the value."},"children":[]}]}]}],"oneOf":[{"type":"number","nullable":true},{"type":"string","nullable":true}]}},"components/schemas/ConfigInteger":{"id":"components/schemas/ConfigInteger","kind":"json-schema","title":"ConfigInteger","data":{"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A whole number. A numeric string such as "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"\"12\""},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is also accepted. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" clears the value."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Send a whole number only: a value with a fractional part (for example "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"12.5"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") makes the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"request fail."},"children":[]}]}]}],"oneOf":[{"type":"integer","nullable":true},{"type":"string","nullable":true}]}},"components/schemas/ConfigFirmwareFields":{"id":"components/schemas/ConfigFirmwareFields","kind":"json-schema","title":"ConfigFirmwareFields","data":{"type":"object","additionalProperties":false,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Firmware settings applied to every found device. Every field is optional. Only the fields"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"listed here are accepted, and any other key returns "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Each field you send must also be"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"enabled for the device's application during onboarding (otherwise "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"FIELD_NOT_ENABLED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"No value ranges are enforced. Number fields accept a JSON number or a numeric string."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Text fields must be JSON strings, and a JSON number in a text field returns "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"properties":{"zone_id":{"allOf":[{"$ref":"#/components/schemas/ConfigInteger"}],"description":"Zone id. Whole number."},"timeoutPeriod":{"$ref":"#/components/schemas/ConfigNumber"},"checkin_duration":{"$ref":"#/components/schemas/ConfigNumber"},"heartbeatFreq":{"type":"string","nullable":true,"description":"Text.","example":"600"},"comm_skip_cnt":{"$ref":"#/components/schemas/ConfigNumber"},"scan_freq":{"$ref":"#/components/schemas/ConfigNumber"},"scan_duration":{"$ref":"#/components/schemas/ConfigNumber"},"nlps":{"$ref":"#/components/schemas/ConfigNumber"},"lcd":{"$ref":"#/components/schemas/ConfigNumber"},"bcd":{"$ref":"#/components/schemas/ConfigNumber"},"bad":{"$ref":"#/components/schemas/ConfigNumber"},"bsfid":{"type":"string","nullable":true,"pattern":"^[0-9A-Fa-f]{1,8}$","description":"Hexadecimal text, 1 to 8 characters.","example":"0"},"bafid":{"type":"string","nullable":true,"pattern":"^[0-9A-Fa-f]{1,8}$","description":"Hexadecimal text, 1 to 8 characters.","example":"0"},"pgtl":{"$ref":"#/components/schemas/ConfigNumber"},"pgtt":{"$ref":"#/components/schemas/ConfigNumber"},"at":{"$ref":"#/components/schemas/ConfigNumber"},"atd":{"$ref":"#/components/schemas/ConfigNumber"},"nt":{"$ref":"#/components/schemas/ConfigNumber"},"gsd":{"type":"string","nullable":true,"pattern":"^-?\\d+(\\.\\d+)?$","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A number written as text, for example "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"\"60\""},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"example":"60"},"gpslogging":{"type":"string","nullable":true,"enum":["Y","N",null],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GPS logging on ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Y"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") or off ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"N"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Case-sensitive."},"children":[]}]}]}],"example":"N"},"dlat":{"allOf":[{"$ref":"#/components/schemas/ConfigNumber"}],"description":"Geofence centre latitude."},"dlon":{"allOf":[{"$ref":"#/components/schemas/ConfigNumber"}],"description":"Geofence centre longitude."},"drad":{"type":"string","nullable":true,"pattern":"^-?\\d+(\\.\\d+)?$","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Geofence radius, as a number written as text, for example "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"\"500\""},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"example":"500"},"otaflag":{"$ref":"#/components/schemas/ConfigNumber"},"otatype":{"$ref":"#/components/schemas/ConfigNumber"},"feature_config_mask":{"$ref":"#/components/schemas/ConfigNumber"},"bat_hib_th_low":{"$ref":"#/components/schemas/ConfigNumber"},"bat_hib_th_high":{"$ref":"#/components/schemas/ConfigNumber"},"bat_shutdown_th_low":{"$ref":"#/components/schemas/ConfigNumber"},"bat_ota_th_low":{"$ref":"#/components/schemas/ConfigNumber"},"batMDur":{"$ref":"#/components/schemas/ConfigNumber"},"batTh":{"type":"string","nullable":true,"description":"Text.","example":"20"},"bk_pwr_lvl":{"$ref":"#/components/schemas/ConfigNumber"},"wt_pwr_lvl":{"$ref":"#/components/schemas/ConfigNumber"},"msOffWaitDur":{"$ref":"#/components/schemas/ConfigNumber"},"gps_hdp_threshold":{"$ref":"#/components/schemas/ConfigNumber"},"light_polltime_sec":{"$ref":"#/components/schemas/ConfigNumber"},"light_poll_time_sec":{"$ref":"#/components/schemas/ConfigNumber"},"tmp_wdt_polltime_sec":{"$ref":"#/components/schemas/ConfigNumber"},"tmp_wdt_poll_time_sec":{"$ref":"#/components/schemas/ConfigNumber"},"accel_hi":{"$ref":"#/components/schemas/ConfigNumber"},"humidity_hi":{"$ref":"#/components/schemas/ConfigNumber"},"humidity_lo":{"$ref":"#/components/schemas/ConfigNumber"},"light_hi":{"$ref":"#/components/schemas/ConfigNumber"},"light_lo":{"$ref":"#/components/schemas/ConfigNumber"},"pressure_hi":{"$ref":"#/components/schemas/ConfigNumber"},"pressure_lo":{"$ref":"#/components/schemas/ConfigNumber"},"temp_hi":{"$ref":"#/components/schemas/ConfigNumber"},"temp_lo":{"$ref":"#/components/schemas/ConfigNumber"},"adv_duration":{"$ref":"#/components/schemas/ConfigNumber"},"alert_flag":{"$ref":"#/components/schemas/ConfigNumber"},"gst":{"$ref":"#/components/schemas/ConfigNumber"},"gswt":{"$ref":"#/components/schemas/ConfigNumber"}}}},"components/schemas/ConfigMetadataFields":{"id":"components/schemas/ConfigMetadataFields","kind":"json-schema","title":"ConfigMetadataFields","data":{"type":"object","additionalProperties":false,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Descriptive fields applied to every found device. Every field is optional, and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" clears"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"the value. Only the fields listed here are accepted, and any other key (for example"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"displayname"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"asset_barcode"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"rssi_threshold"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") returns "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Set "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"asset_barcode"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"tape_displayname"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" per device in "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"devices[]"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" instead."},"children":[]}]}]}],"properties":{"facility_id":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Facility to assign: the facility's UUID or its designation (for example "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DC-EAST"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). It must"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"name a facility in your account or a facility Trackonomy provides to every account. Otherwise the whole request returns "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"facility not found: <value>"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and nothing is changed. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" removes the device's facility."},"children":[]}]}]}],"example":"DC-EAST"},"apn":{"type":"string","nullable":true,"example":"iot.example"},"track_number":{"type":"string","nullable":true,"example":"TRK-000123"},"battery_type":{"type":"string","nullable":true,"example":"LiSOCl2"},"battery_level":{"allOf":[{"$ref":"#/components/schemas/ConfigNumber"}],"description":"Battery level. No range is enforced."},"fw_version":{"type":"string","nullable":true,"example":"2.4.1"},"hw_version":{"type":"string","nullable":true,"example":"1.2"},"sw_version":{"type":"string","nullable":true,"example":"3.0.0"},"rssi_priority":{"allOf":[{"$ref":"#/components/schemas/ConfigInteger"}],"description":"RSSI priority. Whole number."}}}},"components/schemas/ConfigFieldNotEnabledResponse":{"id":"components/schemas/ConfigFieldNotEnabledResponse","kind":"json-schema","title":"ConfigFieldNotEnabledResponse","data":{"type":"object","description":"One or more firmware fields aren't enabled for the application of a device in the request. Nothing was changed.","required":["message","code","errorCode","violations"],"properties":{"message":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Firmware fields not enabled for this application: <application> (<fields>)"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", one entry per application, separated by "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"; "},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"example":"Missing required headers: customer_id or authorized_groups"},"code":{"type":"integer","example":400},"errorCode":{"type":"string","enum":["FIELD_NOT_ENABLED"],"example":"FIELD_NOT_ENABLED"},"violations":{"type":"array","items":{"type":"object","required":["application","fields"],"properties":{"application":{"type":"string","description":"Code of the application whose devices don't have these fields enabled.","example":"smart-tape"},"fields":{"type":"array","items":{"type":"string"},"description":"The requested firmware fields that aren't enabled for that application.","example":["dlat"]}}}}}}},"components/schemas/LocationAssetBase":{"id":"components/schemas/LocationAssetBase","kind":"json-schema","title":"LocationAssetBase","data":{"type":"object","required":["event_type","timestamp","time_zone","lat","lon","location_detailed","location"],"properties":{"trk_asset_id":{"type":"string","description":"The asset barcode of the tag or device. In AWB mode it is absent when the tag has no asset barcode.","example":"ULD-AKE12345DL"},"vendor_asset_id":{"type":"string","description":"The tag's or device's QR code.","example":"TRK4A7C19E2"},"event_type":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"AWB mode — "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"cargoiq-<STATUS>"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when the event carries a Cargo iQ status (e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"RCS"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DLV"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"), otherwise "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"location"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Sensor mode — always "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"environment"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"example":"cargoiq-RCS"},"timestamp":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}$","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Event time as local wall-clock time in "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"time_zone"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", format "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"YYYY-MM-DDTHH:mm:ss"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", no offset and no "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Z"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"example":"2026-09-21T09:13:20"},"time_zone":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"IANA time zone of "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"timestamp"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Etc/UTC"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when the event's time zone is not known."},"children":[]}]}]}],"example":"America/Chicago"},"lat":{"type":"number","description":"Latitude of the event.","example":41.97},"lon":{"type":"number","description":"Longitude of the event.","example":-87.9},"location_detailed":{"type":"string","description":"Name of the event's location or milestone.","example":"Cargo Terminal 2"},"location":{"type":"string","description":"The event's facility.","example":"ORD"}}}},"components/schemas/LocationSensorReading":{"id":"components/schemas/LocationSensorReading","kind":"json-schema","title":"LocationSensorReading","data":{"type":"object","required":["type","data","units"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"One environmental reading. A reading the device did not report has "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"0"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", not "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"properties":{"type":{"type":"string","enum":["ambient_temp","probe_temp","shock","humidity","pressure","light"],"example":"ambient_temp"},"data":{"type":"number","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Reading value, in "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"units"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"0"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when not reported."},"children":[]}]}]}],"example":4.5},"units":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"°C"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for ambient_temp and probe_temp, "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"g"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for shock, "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"%"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for humidity, "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Pa"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for pressure, "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lx"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for light."},"children":[]}]}]}],"enum":["°C","g","%","Pa","lx"],"example":"°C"}}}},"components/schemas/LocationEnvironmentalAsset":{"id":"components/schemas/LocationEnvironmentalAsset","kind":"json-schema","title":"LocationEnvironmentalAsset","data":{"allOf":[{"$ref":"#/components/schemas/LocationAssetBase"},{"type":"object","required":["sensors"],"properties":{"sensors":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Always six readings, in the order ambient_temp, probe_temp, shock, humidity, pressure, light."},"children":[]}]}]}],"minItems":6,"maxItems":6,"items":{"$ref":"#/components/schemas/LocationSensorReading"}}}}]}},"components/schemas/LocationEnvelope":{"id":"components/schemas/LocationEnvelope","kind":"json-schema","title":"LocationEnvelope","data":{"type":"object","required":["version","uuid","vendor_id","assets"],"properties":{"version":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Format version, always "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"1.0.0"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"enum":["1.0.0"],"example":"1.0.0"},"uuid":{"type":"string","format":"uuid","description":"Fixed value, the same on every response (not a request ID).","enum":["a51799fa-4765-4f9c-9460-2d44fc2fe27f"],"example":"a51799fa-4765-4f9c-9460-2d44fc2fe27f"},"vendor_id":{"type":"string","format":"uuid","description":"Trackonomy's vendor ID, the same on every response.","enum":["c59f7130-e0b7-4aff-ac6e-a97dcfbd9222"],"example":"c59f7130-e0b7-4aff-ac6e-a97dcfbd9222"}}}},"components/schemas/LocationAwbResponse":{"id":"components/schemas/LocationAwbResponse","kind":"json-schema","title":"LocationAwbResponse","data":{"allOf":[{"$ref":"#/components/schemas/LocationEnvelope"},{"type":"object","properties":{"assets":{"type":"array","minItems":1,"description":"One entry per returned tag of the AWB.","items":{"$ref":"#/components/schemas/LocationAssetBase"}}}}]}},"components/schemas/LocationSensorResponse":{"id":"components/schemas/LocationSensorResponse","kind":"json-schema","title":"LocationSensorResponse","data":{"allOf":[{"$ref":"#/components/schemas/LocationEnvelope"},{"type":"object","properties":{"assets":{"type":"array","maxItems":1,"items":{"$ref":"#/components/schemas/LocationEnvironmentalAsset"}}}}]}},"components/schemas/MessageDeviceDataRequest":{"id":"components/schemas/MessageDeviceDataRequest","kind":"json-schema","title":"DEVICE_DATA","data":{"title":"DEVICE_DATA","type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Header "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"message_type: DEVICE_DATA"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Identifies one device in the account named by the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"headers. Looked up by the identifier field configured for your account (if any), otherwise by"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"qrcode"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", otherwise by "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"asset_barcode"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Other fields are ignored."},"children":[]}]}]}],"properties":{"qrcode":{"type":"string","description":"Device QR code.","example":"TRK0A1B2C3D4"},"asset_barcode":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Asset barcode the device is labelled with. Used only when "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"qrcode"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is absent."},"children":[]}]}]}],"example":"1Z999AA10123456784"}}}},"components/schemas/MessageManifestDataRequest":{"id":"components/schemas/MessageManifestDataRequest","kind":"json-schema","title":"MANIFEST_DATA","data":{"title":"MANIFEST_DATA","type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Header "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"message_type: MANIFEST_DATA"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". A JSON array of rows (an object returns"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Invalid payload format"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"[]"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" returns "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Invalid payload"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Unknown fields in a row are ignored."},"children":[]}]}]}],"minItems":1,"items":{"$ref":"#/components/schemas/MessageManifestItem"}}},"components/schemas/MessageManifestItem":{"id":"components/schemas/MessageManifestItem","kind":"json-schema","title":"MessageManifestItem","data":{"type":"object","required":["asset_barcode","shipped_date"],"properties":{"asset_barcode":{"type":"string","description":"Matched exactly against the asset barcode of your labelled devices.","example":"1Z999AA10123456784"},"shipped_date":{"type":"number","description":"Shipped date as a Unix timestamp in seconds.","example":1759651200},"shipment_id":{"type":"string","nullable":true,"description":"Shipment id. Becomes the device's display name.","example":"SHP-100234"},"container_id":{"type":"string","nullable":true,"example":"CONT-77"}}}},"components/schemas/MessageCargoIqBookingRequest":{"id":"components/schemas/MessageCargoIqBookingRequest","kind":"json-schema","title":"CARGOIQ_DATA (booking)","data":{"title":"CARGOIQ_DATA (booking)","type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Header "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"message_type: CARGOIQ_DATA"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", for a body with a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"bookingPublishEvent"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" field. Available"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"to accounts enabled for Cargo iQ. Other accounts receive "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"201"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and the message is not processed."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Dashes are removed from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"awb"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"flights"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" must form a chain from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"origin"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"destination"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; flights outside the chain are ignored, and if no chain reaches "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"destination"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"the booking is not processed (the response is still "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"201"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Unknown fields are ignored."},"children":[]}]}]}],"required":["bookingPublishEvent"],"properties":{"bookingPublishEvent":{"type":"object","required":["bookingDetails"],"properties":{"bookingDetails":{"type":"object","required":["awb","origin","destination","product","specialHandlingCodes","timeOfAvailability","latestAcceptanceTime","shipmentDetails","flights","shipper"],"properties":{"awb":{"type":"string","example":"006-12345675"},"origin":{"type":"string","description":"Origin airport code.","example":"ATL"},"destination":{"type":"string","description":"Destination airport code.","example":"LHR"},"product":{"type":"string","example":"GEN"},"specialHandlingCodes":{"type":"array","items":{"type":"string"},"example":["EAP","SPX"]},"timeOfAvailability":{"type":"string","nullable":true,"description":"ISO 8601 date-time with offset.","example":"2026-10-07T09:00:00+01:00"},"latestAcceptanceTime":{"type":"string","nullable":true,"description":"ISO 8601 date-time with offset.","example":"2026-10-06T14:00:00-04:00"},"shipmentDetails":{"type":"array","description":"The pieces are summed into the booking's total piece count.","items":{"type":"object","required":["pieces"],"properties":{"pieces":{"type":"number","example":3}}}},"flights":{"type":"array","items":{"type":"object","required":["departureAirport","arrivalAirport","flightCarrier","flightNumber","sta","std"],"properties":{"departureAirport":{"type":"string","example":"ATL"},"arrivalAirport":{"type":"string","example":"JFK"},"flightCarrier":{"type":"string","nullable":true,"example":"DL"},"flightNumber":{"type":"string","nullable":true,"example":"0412"},"sta":{"type":"string","nullable":true,"description":"Scheduled arrival, ISO 8601 date-time with offset.","example":"2026-10-06T17:10:00-04:00"},"std":{"type":"string","nullable":true,"description":"Scheduled departure, ISO 8601 date-time with offset.","example":"2026-10-06T15:00:00-04:00"}}}},"shipper":{"type":"object","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Required key; send "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when unknown. When an object, every field is required (each may be "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}],"required":["code","name","address","city","state","postCode","country","telephone","email","station"],"properties":{"code":{"type":"string","nullable":true,"example":"SHP01"},"name":{"type":"string","nullable":true,"example":"Acme Exports"},"address":{"type":"string","nullable":true,"example":"1 Peachtree St"},"city":{"type":"string","nullable":true,"example":"Atlanta"},"state":{"type":"string","nullable":true,"example":"GA"},"postCode":{"type":"string","nullable":true,"example":"30303"},"country":{"type":"string","nullable":true,"example":"US"},"telephone":{"type":"string","nullable":true,"example":"+14045550100"},"email":{"type":"string","nullable":true,"example":"ops@acme.example"},"station":{"type":"string","nullable":true,"example":"ATL"}}}}}}}}}},"components/schemas/MessageCargoIqStatusRequest":{"id":"components/schemas/MessageCargoIqStatusRequest","kind":"json-schema","title":"CARGOIQ_DATA (status message)","data":{"title":"CARGOIQ_DATA (status message)","type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Header "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"message_type: CARGOIQ_DATA"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", for a body without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"bookingPublishEvent"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Available to"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"accounts enabled for Cargo iQ. Other accounts receive "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"201"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and the message is not processed."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Only the first element of "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"reportedStatus"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"associatedStatusConsignment"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":","},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"specifiedLogisticsTransportMovement"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"specifiedLocation"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is used, and each of these"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"arrays must contain at least one element. The product is taken from the first"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"handlingOSIInstructions"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" description containing a dash (the part after the dash). When"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"reasonCode"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"DIS"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the flight number, departure time and departure location are also"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"taken from the transport movement. Unknown fields are ignored."},"children":[]}]}]}],"required":["messageHeaderDocument","masterConsignment"],"properties":{"messageHeaderDocument":{"type":"object","required":["name","id","issueDateTime"],"properties":{"name":{"type":"object","required":["value"],"properties":{"value":{"type":"string","example":"Status Message"}}},"id":{"type":"object","required":["value"],"properties":{"value":{"type":"string","description":"AWB. Dashes are removed.","example":"006-12345675"}}},"issueDateTime":{"type":"number","description":"Unix timestamp.","example":1759755600}}},"masterConsignment":{"type":"object","required":["originLocation","reportedStatus"],"properties":{"originLocation":{"type":"object","required":["id"],"properties":{"id":{"type":"object","required":["value"],"properties":{"value":{"type":"string","example":"ATL"}}}}},"reportedStatus":{"type":"array","minItems":1,"items":{"type":"object","required":["associatedStatusConsignment","reasonCode"],"properties":{"reasonCode":{"type":"object","required":["value"],"properties":{"value":{"type":"string","description":"Cargo iQ status code.","example":"DIS"}}},"associatedStatusConsignment":{"type":"array","minItems":1,"items":{"type":"object","required":["handlingOSIInstructions","specifiedLogisticsTransportMovement","pieceQuantity"],"properties":{"pieceQuantity":{"type":"object","required":["value"],"properties":{"value":{"type":"number","example":5}}},"handlingOSIInstructions":{"type":"array","items":{"type":"object","required":["description"],"properties":{"description":{"type":"object","required":["value"],"properties":{"value":{"type":"string","example":"PRODUCT-GEN"}}}}}},"specifiedLogisticsTransportMovement":{"type":"array","minItems":1,"items":{"type":"object","required":["id","specifiedEvent","specifiedLocation"],"properties":{"id":{"type":"object","required":["value"],"properties":{"value":{"type":"string","nullable":true,"description":"Flight number.","example":"DL0412"}}},"specifiedEvent":{"type":"object","required":["occurrenceDateTime"],"properties":{"occurrenceDateTime":{"type":"number","description":"Unix timestamp.","example":1759777200}}},"specifiedLocation":{"type":"array","minItems":1,"items":{"type":"object","required":["id"],"properties":{"id":{"type":"object","required":["value"],"properties":{"value":{"type":"string","example":"ATL"}}}}}}}}}}}}}}}}}}}},"components/schemas/MessageFlatValue":{"id":"components/schemas/MessageFlatValue","kind":"json-schema","title":"MessageFlatValue","data":{"description":"A flat value (string, number, boolean or null).","anyOf":[{"type":"string","nullable":true},{"type":"number","nullable":true},{"type":"boolean","nullable":true}]}},"components/schemas/MessageDeviceRef":{"id":"components/schemas/MessageDeviceRef","kind":"json-schema","title":"MessageDeviceRef","data":{"type":"object","required":["type","value"],"properties":{"type":{"type":"string","enum":["qrcode","tape_id","asset_barcode"],"example":"tape_id"},"value":{"type":"string","minLength":1,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The identifier. A "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"tape_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is 12 uppercase hexadecimal characters without separators. Matched exactly."},"children":[]}]}]}],"example":"C47F510A129E"}}}},"components/schemas/MessageMilestoneRequest":{"id":"components/schemas/MessageMilestoneRequest","kind":"json-schema","title":"MILESTONE","data":{"title":"MILESTONE","type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Header "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"message_type: MILESTONE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Date-times are ISO 8601 in UTC with a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Z"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" suffix"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(fractional seconds allowed; offsets such as "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"+01:00"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" are rejected). Unknown top-level fields"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"are ignored. Any validation failure returns "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400 Invalid payload format"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"required":["milestone_type","occurred_at","data","devices"],"properties":{"milestone_type":{"type":"string","nullable":true,"minLength":1,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Milestone name, matched against the milestone rules configured for your account (a matching rule can change the device's status). "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" undoes each device's latest milestone."},"children":[]}]}]}],"example":"DELIVERED"},"occurred_at":{"type":"string","format":"date-time","description":"When the milestone happened, kept as metadata on the event. The event itself is recorded at the time Trackonomy receives the message.","example":"2026-10-05T14:30:00Z"},"data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Flat key/value data stored with the event (may be "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Values must be strings,"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"numbers, booleans or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; the only nested value allowed is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"timezone"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Keys configured"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"for your account supply the event's location, parent location, latitude and longitude."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The keys "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"local_ts"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"local_last_seen"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"local_exited_ts"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"localIssueDateTime"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" are ignored."},"children":[]}]}]}],"properties":{"timezone":{"type":"object","nullable":true,"description":"Local time zone used to display the event. Event level only.","properties":{"name":{"type":"string","example":"America/New_York"},"utcOffset":{"type":"string","example":"-04:00"}}}},"additionalProperties":{"$ref":"#/components/schemas/MessageFlatValue"}},"devices":{"type":"array","minItems":1,"items":{"allOf":[{"$ref":"#/components/schemas/MessageDeviceRef"},{"type":"object","properties":{"occurred_at":{"type":"string","format":"date-time","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Replaces the top-level "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"occurred_at"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for this device (UTC with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Z"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}],"example":"2026-10-05T14:30:05Z"},"data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Merged over the top-level "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for this device. Flat values only (no "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"timezone"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}],"additionalProperties":{"$ref":"#/components/schemas/MessageFlatValue"}}}}]}}}}},"components/schemas/MessageDataUpdateRequest":{"id":"components/schemas/MessageDataUpdateRequest","kind":"json-schema","title":"DATA_UPDATE","data":{"title":"DATA_UPDATE","type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Header "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"message_type: DATA_UPDATE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Unknown fields, at the top level or inside"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"devices[]"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", return "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400 Validation failed"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"additionalProperties":false,"required":["data","devices"],"properties":{"data":{"type":"object","minProperties":1,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Fields to set. Every key must be configured for your account (otherwise"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Unsupported field"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"), and its value must have the type and format configured for it"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Expected <type>"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Value does not match the required format"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Strings are at most"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"1024 characters. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is rejected with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Expected <type>"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for every key that has a"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"configured type; it is accepted only for keys configured without one."},"children":[]}]}]}],"additionalProperties":{"anyOf":[{"type":"string","maxLength":1024,"nullable":true},{"type":"number","nullable":true},{"type":"boolean","nullable":true}]}},"devices":{"type":"array","minItems":1,"maxItems":500,"items":{"type":"object","additionalProperties":false,"required":["type","value"],"properties":{"type":{"type":"string","enum":["qrcode","tape_id","asset_barcode"],"example":"tape_id"},"value":{"type":"string","minLength":1,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The identifier. A "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"tape_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is 12 uppercase hexadecimal characters without separators. Matched exactly."},"children":[]}]}]}],"example":"C47F510A129E"}}}},"occurred_at":{"type":"string","description":"Accepted and ignored.","example":"2026-10-05T14:30:00Z"}}}},"components/schemas/MessageWfsAwb":{"id":"components/schemas/MessageWfsAwb","kind":"json-schema","title":"MessageWfsAwb","data":{"type":"string","pattern":"^\\d{3}-\\d{8}$","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"AWB as "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"###-########"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"example":"810-24158890"}},"components/schemas/MessageWfsTimestamp":{"id":"components/schemas/MessageWfsTimestamp","kind":"json-schema","title":"MessageWfsTimestamp","data":{"type":"string","format":"date-time","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ISO 8601 in UTC with a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Z"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" suffix (offsets are rejected)."},"children":[]}]}]}],"example":"2026-02-24T13:09:35Z"}},"components/schemas/MessageWfsAcc":{"id":"components/schemas/MessageWfsAcc","kind":"json-schema","title":"ACC (warehouse acceptance)","data":{"title":"ACC (warehouse acceptance)","type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unknown top-level fields return "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400 Validation failed"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; unknown fields inside "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lpns[]"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" are ignored."},"children":[]}]}]}],"additionalProperties":false,"required":["message_type","awb","timestamp","lpns"],"properties":{"message_type":{"type":"string","enum":["ACC"],"example":"ACC"},"awb":{"$ref":"#/components/schemas/MessageWfsAwb"},"timestamp":{"$ref":"#/components/schemas/MessageWfsTimestamp"},"lpns":{"type":"array","minItems":1,"items":{"type":"object","required":["lpn","pcs"],"properties":{"lpn":{"type":"string","minLength":1,"example":"LPN1234"},"pcs":{"type":"integer","minimum":1,"example":4}}}}}}},"components/schemas/MessageWfsBup":{"id":"components/schemas/MessageWfsBup","kind":"json-schema","title":"BUP (build-up onto a ULD)","data":{"title":"BUP (build-up onto a ULD)","type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unknown top-level fields return "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400 Validation failed"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"additionalProperties":false,"required":["message_type","uld","timestamp","total_pcs","lpn","awbs","completed_lpn"],"properties":{"message_type":{"type":"string","enum":["BUP"],"example":"BUP"},"uld":{"type":"string","minLength":1,"example":"PMC82345BR"},"timestamp":{"$ref":"#/components/schemas/MessageWfsTimestamp"},"total_pcs":{"type":"integer","minimum":1,"example":6},"lpn":{"type":"string","minLength":1,"description":"The ULD's own LPN. It is not tracked as a piece.","example":"ULDLPN9001"},"awbs":{"type":"array","description":"Validated (may be empty); each LPN keeps the AWB it was accepted under.","items":{"$ref":"#/components/schemas/MessageWfsAwb"}},"completed_lpn":{"type":"array","description":"LPNs built onto the ULD. Each one receives the BUP. May be empty.","items":{"type":"string","minLength":1}}}}},"components/schemas/MessageWfsFiw":{"id":"components/schemas/MessageWfsFiw","kind":"json-schema","title":"FIW (freight in warehouse)","data":{"title":"FIW (freight in warehouse)","type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unknown top-level fields return "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400 Validation failed"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"additionalProperties":false,"required":["message_type","uld","timestamp","total_pcs","lpn"],"properties":{"message_type":{"type":"string","enum":["FIW"],"example":"FIW"},"uld":{"type":"string","minLength":1,"example":"PMC82345BR"},"timestamp":{"$ref":"#/components/schemas/MessageWfsTimestamp"},"total_pcs":{"type":"integer","minimum":1,"example":6},"lpn":{"type":"string","minLength":1,"description":"The ULD's own LPN. It is not tracked as a piece.","example":"ULDLPN9001"}}}},"components/schemas/MessageWfsBcl":{"id":"components/schemas/MessageWfsBcl","kind":"json-schema","title":"BCL (breakdown)","data":{"title":"BCL (breakdown)","type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unknown top-level fields return "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400 Validation failed"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; unknown fields inside "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lpn_list[]"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" are ignored."},"children":[]}]}]}],"additionalProperties":false,"required":["message_type","uld","awb","timestamp","total_pcs","lpn_list"],"properties":{"message_type":{"type":"string","enum":["BCL"],"example":"BCL"},"uld":{"type":"string","minLength":1,"example":"PMC82345BR"},"awb":{"$ref":"#/components/schemas/MessageWfsAwb"},"timestamp":{"$ref":"#/components/schemas/MessageWfsTimestamp"},"total_pcs":{"type":"integer","minimum":1,"description":"Validated; not used.","example":6},"lpn_list":{"type":"array","minItems":1,"description":"Its length becomes the number of DLVs expected for this AWB on each listed LPN.","items":{"type":"object","required":["lpn","location"],"properties":{"lpn":{"type":"string","minLength":1,"example":"LPN1234"},"location":{"type":"string","minLength":1,"example":"RAMP"}}}}}}},"components/schemas/MessageWfsDlv":{"id":"components/schemas/MessageWfsDlv","kind":"json-schema","title":"DLV (delivery)","data":{"title":"DLV (delivery)","type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unknown top-level fields return "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400 Validation failed"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"additionalProperties":false,"required":["message_type","awb","timestamp","total_pcs"],"properties":{"message_type":{"type":"string","enum":["DLV"],"example":"DLV"},"awb":{"$ref":"#/components/schemas/MessageWfsAwb"},"timestamp":{"$ref":"#/components/schemas/MessageWfsTimestamp"},"total_pcs":{"type":"integer","minimum":1,"description":"Validated; not used.","example":6}}}},"components/schemas/MessageAccepted":{"id":"components/schemas/MessageAccepted","kind":"json-schema","title":"MessageAccepted","data":{"type":"object","required":["message","code"],"properties":{"message":{"type":"string","enum":["Successfully processed the message","Successfully processed the message."],"example":"Successfully processed the message"},"code":{"type":"integer","enum":[201],"example":201}}}},"components/schemas/MessageWfsAccepted":{"id":"components/schemas/MessageWfsAccepted","kind":"json-schema","title":"MessageWfsAccepted","data":{"type":"object","required":["message","code","correlation_id","sequence_check"],"properties":{"message":{"type":"string","enum":["Successfully processed the message"],"example":"Successfully processed the message"},"code":{"type":"integer","enum":[201],"example":201},"correlation_id":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Your "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"correlation_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header, or the id generated for the request."},"children":[]}]}]}],"example":"5f0c2b8e-6a51-4f7e-9d0e-1c2b3a4d5e6f"},"sequence_check":{"type":"array","items":{"$ref":"#/components/schemas/MessageSequenceCheck"}}}}},"components/schemas/MessageSequenceCheck":{"id":"components/schemas/MessageSequenceCheck","kind":"json-schema","title":"MessageSequenceCheck","data":{"type":"object","description":"Sequencing result for one LPN. Informational; it never causes rejection.","required":["lpn","result","message_type","missing_prerequisites","present"],"properties":{"lpn":{"type":"string","example":"LPN1234"},"result":{"type":"string","enum":["IN_SEQUENCE","OUT_OF_SEQUENCE","UNKNOWN_MILESTONE","CONFIG_NOT_FOUND","CONFIG_INVALID"],"example":"IN_SEQUENCE"},"message_type":{"type":"string","description":"The milestone evaluated (ACC, BUP, BCL or DLV).","example":"DLV"},"missing_prerequisites":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Prerequisite milestones not yet recorded (OUT_OF_SEQUENCE only; otherwise empty)."},"children":[]}]}]}],"items":{"type":"string"}},"present":{"type":"array","description":"Milestones already recorded on the LPN before this one, upper-case, in the order they were recorded. For a BCL this includes the ULD's held FIW.","items":{"type":"string"}},"reason":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Present for OUT_OF_SEQUENCE (a sentence naming the missing prerequisites) and CONFIG_INVALID (the configuration problem). Omitted otherwise."},"children":[]}]}]}],"example":"no_pickup_details"},"delivery":{"type":"object","description":"DLV only. The AWB's delivery progress on this LPN after this DLV.","required":["group","expected","delivered","complete","overflow"],"properties":{"group":{"type":"string","description":"The AWB.","example":"810-24158890"},"expected":{"type":"integer","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"From the BCL ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lpn_list"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" length); "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" if no BCL has been recorded for this AWB on the LPN."},"children":[]}]}]}],"example":2},"delivered":{"type":"integer","description":"DLVs recorded for this AWB on the LPN.","example":2},"complete":{"type":"boolean","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"delivered"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" has reached "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"expected"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"example":true},"overflow":{"type":"boolean","description":"More DLVs than expected (still recorded).","example":false}}}}}},"components/schemas/MessageValidationError":{"id":"components/schemas/MessageValidationError","kind":"json-schema","title":"MessageValidationError","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Warehouse milestone and DATA_UPDATE validation failure. Nothing was applied."},"children":[]}]}]}],"required":["message","code","errors"],"properties":{"message":{"type":"string","enum":["Validation failed"],"example":"Validation failed"},"code":{"type":"integer","enum":[400],"example":400},"errors":{"type":"array","items":{"type":"object","required":["field","message"],"properties":{"field":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Dotted and indexed path, e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"lpns[0].pcs"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data.pickup_reference"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Empty for an unknown top-level field."},"children":[]}]}]}],"example":"lpns[0].pcs"},"message":{"type":"string","example":"Too small: expected number to be >0"}}}}}}},"components/schemas/MessageDataUpdateResult":{"id":"components/schemas/MessageDataUpdateResult","kind":"json-schema","title":"MessageDataUpdateResult","data":{"type":"object","required":["message","code","updated","failed"],"properties":{"message":{"type":"string","enum":["Successfully processed the message","No shipment was updated"],"example":"Successfully processed the message"},"code":{"type":"integer","enum":[200,404],"example":200},"updated":{"type":"integer","description":"Number of devices updated.","example":1},"failed":{"type":"array","items":{"type":"object","required":["value","reason"],"properties":{"value":{"type":"string","description":"The identifier as you sent it.","example":"1Z999AA10123456784"},"reason":{"type":"string","enum":["not_found","no_pickup_details","ambiguous","update_failed"],"example":"not_found"}}}}}}},"schema_0":{"kind":"json-schema","data":{"type":"string"},"id":"schema_0"},"schema_1":{"kind":"json-schema","data":{"type":"string","enum":["sensor"]},"id":"schema_1"},"schema_2":{"kind":"json-schema","data":{"anyOf":[{"$ref":"#/components/schemas/LocationAwbResponse"},{"$ref":"#/components/schemas/LocationSensorResponse"}]},"id":"schema_2"},"schema_3":{"kind":"json-schema","data":{"type":"array","items":{"$ref":"#/components/schemas/DecodeBulkResultItem"}},"id":"schema_3"},"schema_4":{"kind":"json-schema","data":{"anyOf":[{"$ref":"#/components/schemas/ValidationErrorResponse"},{"$ref":"#/components/schemas/LabelCreateResult"},{"$ref":"#/components/schemas/ErrorResponse"}]},"id":"schema_4"},"schema_5":{"kind":"json-schema","data":{"type":"object","properties":{"message":{"type":"string","example":"Missing required headers: customer_id or authorized_groups"}}},"id":"schema_5"},"schema_6":{"kind":"json-schema","data":{"type":"object","properties":{"message":{"type":"string","example":"Missing required headers: customer_id or authorized_groups"},"code":{"type":"integer","example":400},"success":{"type":"boolean","example":false}}},"id":"schema_6"},"schema_7":{"kind":"json-schema","data":{"anyOf":[{"$ref":"#/components/schemas/ValidationErrorResponse"},{"$ref":"#/components/schemas/ErrorResponse"}]},"id":"schema_7"},"schema_8":{"kind":"json-schema","data":{"type":"array","minItems":1,"maxItems":20,"items":{"type":"string","minLength":1}},"id":"schema_8"},"schema_9":{"kind":"json-schema","data":{"type":"array","items":{"type":"string","enum":["metadata","fw_configuration","hw_configuration"]}},"id":"schema_9"},"schema_10":{"kind":"json-schema","data":{"anyOf":[{"$ref":"#/components/schemas/ValidationErrorResponse"},{"$ref":"#/components/schemas/ConfigFieldNotEnabledResponse"},{"$ref":"#/components/schemas/ErrorResponse"}]},"id":"schema_10"},"schema_11":{"kind":"json-schema","data":{"type":"string","enum":["DEVICE_DATA","MANIFEST_DATA","CARGOIQ_DATA","MILESTONE","DATA_UPDATE"]},"id":"schema_11"},"schema_12":{"kind":"json-schema","data":{"anyOf":[{"$ref":"#/components/schemas/MessageDeviceDataRequest"},{"$ref":"#/components/schemas/MessageManifestDataRequest"},{"$ref":"#/components/schemas/MessageCargoIqBookingRequest"},{"$ref":"#/components/schemas/MessageCargoIqStatusRequest"},{"$ref":"#/components/schemas/MessageMilestoneRequest"},{"$ref":"#/components/schemas/MessageDataUpdateRequest"},{"$ref":"#/components/schemas/MessageWfsAcc"},{"$ref":"#/components/schemas/MessageWfsBup"},{"$ref":"#/components/schemas/MessageWfsFiw"},{"$ref":"#/components/schemas/MessageWfsBcl"},{"$ref":"#/components/schemas/MessageWfsDlv"}]},"id":"schema_12"},"schema_13":{"kind":"json-schema","data":{"anyOf":[{"$ref":"#/components/schemas/MessageAccepted"},{"$ref":"#/components/schemas/MessageWfsAccepted"}]},"id":"schema_13"},"schema_14":{"kind":"json-schema","data":{"anyOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/MessageValidationError"}]},"id":"schema_14"},"schema_15":{"kind":"json-schema","data":{"anyOf":[{"$ref":"#/components/schemas/ErrorResponse"},{"$ref":"#/components/schemas/MessageDataUpdateResult"}]},"id":"schema_15"}},"exampleStore":{"components/examples/MultipleAccounts":{"id":"components/examples/MultipleAccounts","value":{"message":"This caller has access to multiple accounts; send customer_id and authorized_group headers to select one","code":400},"summary":"Identity with several accounts sent no account headers"},"paths/~1external~1locations~1{asset_id}/get/responses/200/content/application~1json/examples/awbAllFields":{"value":{"version":"1.0.0","uuid":"a51799fa-4765-4f9c-9460-2d44fc2fe27f","vendor_id":"c59f7130-e0b7-4aff-ac6e-a97dcfbd9222","assets":[{"trk_asset_id":"ULD-AKE12345DL","vendor_asset_id":"TRK4A7C19E2","event_type":"cargoiq-RCS","timestamp":"2026-09-21T09:13:20","time_zone":"America/Chicago","lat":41.97,"lon":-87.9,"location_detailed":"Cargo Terminal 2","location":"ORD"}]},"key":"awbAllFields","summary":"AWB mode, all fields","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /external/locations/00612345675"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". One tag whose latest event carries a Cargo iQ status."},"children":[]}]}]}],"id":"paths/~1external~1locations~1{asset_id}/get/responses/200/content/application~1json/examples/awbAllFields"},"paths/~1external~1locations~1{asset_id}/get/responses/200/content/application~1json/examples/awbMultipleTags":{"value":{"version":"1.0.0","uuid":"a51799fa-4765-4f9c-9460-2d44fc2fe27f","vendor_id":"c59f7130-e0b7-4aff-ac6e-a97dcfbd9222","assets":[{"trk_asset_id":"ULD-AKE12345DL","vendor_asset_id":"TRK4A7C19E2","event_type":"cargoiq-RCS","timestamp":"2026-09-21T09:13:20","time_zone":"America/Chicago","lat":41.97,"lon":-87.9,"location_detailed":"Cargo Terminal 2","location":"ORD"},{"trk_asset_id":"ULD-AKE67890DL","vendor_asset_id":"TRK5B8D20F3","event_type":"location","timestamp":"2026-09-21T15:13:20","time_zone":"Etc/UTC","lat":40.65,"lon":-73.79,"location_detailed":"Bldg 151","location":"JFK"}]},"key":"awbMultipleTags","summary":"AWB mode, two tags","description":"The second tag's event has no Cargo iQ status and no known time zone.","id":"paths/~1external~1locations~1{asset_id}/get/responses/200/content/application~1json/examples/awbMultipleTags"},"paths/~1external~1locations~1{asset_id}/get/responses/200/content/application~1json/examples/sensorAllFields":{"value":{"version":"1.0.0","uuid":"a51799fa-4765-4f9c-9460-2d44fc2fe27f","vendor_id":"c59f7130-e0b7-4aff-ac6e-a97dcfbd9222","assets":[{"trk_asset_id":"PHARMA-0042","vendor_asset_id":"TRK9C3E51A7","event_type":"environment","timestamp":"2026-09-21T17:13:20","time_zone":"Europe/London","lat":51.47,"lon":-0.45,"location_detailed":"Cool room 3","location":"LHR","sensors":[{"type":"ambient_temp","data":4.5,"units":"°C"},{"type":"probe_temp","data":3.9,"units":"°C"},{"type":"shock","data":2.35,"units":"g"},{"type":"humidity","data":61.2,"units":"%"},{"type":"pressure","data":101325,"units":"Pa"},{"type":"light","data":12,"units":"lx"}]}]},"key":"sensorAllFields","summary":"Sensor mode, all readings present","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /external/locations/PHARMA-0042?event=sensor"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"id":"paths/~1external~1locations~1{asset_id}/get/responses/200/content/application~1json/examples/sensorAllFields"},"paths/~1external~1locations~1{asset_id}/get/responses/200/content/application~1json/examples/sensorMissingReadings":{"value":{"version":"1.0.0","uuid":"a51799fa-4765-4f9c-9460-2d44fc2fe27f","vendor_id":"c59f7130-e0b7-4aff-ac6e-a97dcfbd9222","assets":[{"trk_asset_id":"PHARMA-0042","vendor_asset_id":"TRK9C3E51A7","event_type":"environment","timestamp":"2026-09-21T16:13:20","time_zone":"Etc/UTC","lat":51.47,"lon":-0.45,"location_detailed":"Cool room 3","location":"LHR","sensors":[{"type":"ambient_temp","data":0,"units":"°C"},{"type":"probe_temp","data":0,"units":"°C"},{"type":"shock","data":0,"units":"g"},{"type":"humidity","data":0,"units":"%"},{"type":"pressure","data":0,"units":"Pa"},{"type":"light","data":0,"units":"lx"}]}]},"key":"sensorMissingReadings","summary":"Sensor mode, no readings reported and time zone unknown","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Readings the device did not report are 0; the timestamp is in "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Etc/UTC"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"id":"paths/~1external~1locations~1{asset_id}/get/responses/200/content/application~1json/examples/sensorMissingReadings"},"paths/~1external~1locations~1{asset_id}/get/responses/200/content/application~1json/examples/sensorNotFound":{"value":{"version":"1.0.0","uuid":"a51799fa-4765-4f9c-9460-2d44fc2fe27f","vendor_id":"c59f7130-e0b7-4aff-ac6e-a97dcfbd9222","assets":[]},"key":"sensorNotFound","summary":"Sensor mode, nothing to return","id":"paths/~1external~1locations~1{asset_id}/get/responses/200/content/application~1json/examples/sensorNotFound"},"paths/~1external~1locations~1{asset_id}/get/responses/400/content/application~1json/example":{"value":{"message":"Missing required headers: customer_id or authorized_groups","code":400},"id":"paths/~1external~1locations~1{asset_id}/get/responses/400/content/application~1json/example"},"paths/~1external~1locations~1{asset_id}/get/responses/401/content/application~1json/example":{"value":{"message":"Unauthorized access","code":401},"id":"paths/~1external~1locations~1{asset_id}/get/responses/401/content/application~1json/example"},"paths/~1external~1locations~1{asset_id}/get/responses/404/content/application~1json/example":{"value":{"message":"AWB not found","code":404},"id":"paths/~1external~1locations~1{asset_id}/get/responses/404/content/application~1json/example"},"paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/200/content/application~1json/examples/allFields":{"value":{"qr_code":"TRK8F3A21C7","cts":1791245815,"ts":1791245700,"bat":3,"temp":23,"over_temp":45,"over_temp_ts":1791245100,"shock":"12","shock_ts":1791245400,"bat_percent":100,"fw_ver":"1.1"},"key":"allFields","summary":"Full packet with all fields, response to the all-fields request","description":"The packet reports an over-temperature and a shock event, so every full-packet field is present.","id":"paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/200/content/application~1json/examples/allFields"},"paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/200/content/application~1json/examples/minimal":{"value":{"qr_code":"TRK8F3A21C7","cts":1791245815,"ts":null,"bat":3,"temp":23,"over_temp":45,"over_temp_ts":null,"shock":"12","shock_ts":null,"bat_percent":100,"fw_ver":"1.1"},"key":"minimal","summary":"Full packet without scan_time, response to the minimal request","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"With no "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"scan_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"ts"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"over_temp_ts"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"shock_ts"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" are "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"null"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"id":"paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/200/content/application~1json/examples/minimal"},"paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/200/content/application~1json/examples/heartbeat":{"value":{"qr_code":"TRK8F3A21C7","cts":1791245815,"ts":1791245700,"bat":3,"fw_ver":1.2,"bat_percent":100},"key":"heartbeat","summary":"Connectable heartbeat, response to the heartbeat request","id":"paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/200/content/application~1json/examples/heartbeat"},"paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/200/content/application~1json/examples/stringTemperature":{"value":{"qr_code":"TRK8F3A21C7","cts":1791245815,"ts":1791245700,"bat":2.9,"temp":"25.0","bat_percent":80,"fw_ver":"1.1"},"key":"stringTemperature","summary":"Full packet with temperature as a string and no excursions","id":"paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/200/content/application~1json/examples/stringTemperature"},"paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/400/content/application~1json/examples/missingHeaders":{"value":{"message":"Missing required headers: customer_id or authorized_groups","code":400},"key":"missingHeaders","summary":"Missing `customer_id` or `authorized_groups` header","id":"paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/400/content/application~1json/examples/missingHeaders"},"paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/400/content/application~1json/examples/missingBlePacket":{"value":{"message":"Missing required BLE packet","code":400},"key":"missingBlePacket","summary":"Missing `ble_packet` header","id":"paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/400/content/application~1json/examples/missingBlePacket"},"paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/400/content/application~1json/examples/unknownScantype":{"value":{"message":"Invalid BLE packet. Unknown scantype ABCD","code":400},"key":"unknownScantype","summary":"Packet does not start with 5258, 5224, 4442 or 0202","id":"paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/400/content/application~1json/examples/unknownScantype"},"paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/400/content/application~1json/examples/truncatedPacket":{"value":{"message":"Invalid BLE packet. Attempt to access memory outside buffer bounds","code":400},"key":"truncatedPacket","summary":"Packet too short for its family","id":"paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/400/content/application~1json/examples/truncatedPacket"},"paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/400/content/application~1json/examples/heartbeatMacMismatch":{"value":{"message":"Invalid BLE packet. decode13Bpacket: failed to decode packet :: Error in decoding FFAC connectibleBLEHeartbeat :: Macid incoming from external source does not match Encoded macid sent by device","code":400},"key":"heartbeatMacMismatch","summary":"Heartbeat's embedded MAC address differs from the path mac_id","id":"paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/400/content/application~1json/examples/heartbeatMacMismatch"},"paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/401/content/application~1json/example":{"value":{"message":"Unauthorized access","code":401},"id":"paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/401/content/application~1json/example"},"paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/404/content/application~1json/examples/invalidTape":{"value":{"message":"Invalid tape mac address","code":404},"key":"invalidTape","summary":"The mac_id is not a registered tape","id":"paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/404/content/application~1json/examples/invalidTape"},"paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/404/content/application~1json/examples/notAssociated":{"value":{"message":"Tape not associated under the current customer","code":404},"key":"notAssociated","summary":"Tape not labelled under this customer_id / authorized_groups","id":"paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses/404/content/application~1json/examples/notAssociated"},"paths/~1external~1v1~1devices~1decode/post/requestBody/content/application~1json/examples/allFields":{"value":[{"mac_id":"D4F5A1B2C3E8","ble_packet":"525801172D0000012C0C0300000096000000012C00FFAC1E","product_id":"7b1e4c2a-9f3d-4e8a-b6c1-2d5f8a9e0c31","scan_time":1791245700},{"mac_id":"C2E9B47A10F3","ble_packet":"5258C2E9B47A10F3FFAC1D010C","product_id":"7b1e4c2a-9f3d-4e8a-b6c1-2d5f8a9e0c31","scan_time":"1791245760"},{"mac_id":"E7A01B9C44D2","ble_packet":"525801172D0000012C0C0300000096000000012C00FFAC1E","product_id":"7b1e4c2a-9f3d-4e8a-b6c1-2d5f8a9e0c31","scan_time":1791245700}],"key":"allFields","summary":"All fields","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Every item sets all four fields. The list holds a full packet, a heartbeat and a"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"MAC that is not a Trackonomy tape, so the response shows each result shape."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"scan_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" may be a number or a numeric string."},"children":[]}]}]}],"id":"paths/~1external~1v1~1devices~1decode/post/requestBody/content/application~1json/examples/allFields"},"paths/~1external~1v1~1devices~1decode/post/requestBody/content/application~1json/examples/minimal":{"value":[{"mac_id":"D4F5A1B2C3E8","ble_packet":"525801172D0000012C0C0300000096000000012C00FFAC1E"}],"key":"minimal","summary":"Minimal request with one item and required fields only","id":"paths/~1external~1v1~1devices~1decode/post/requestBody/content/application~1json/examples/minimal"},"paths/~1external~1v1~1devices~1decode/post/requestBody/content/application~1json/examples/itemErrors":{"value":[{"mac_id":"F1E2D3C4B5A6","ble_packet":"ABCD01172D0000012C0C0300000096000000012C00FFAC1E"},{"mac_id":"B3C4D5E6F7A8","ble_packet":"525801172D0000012C0C0300000096000000012C00FFAC1E"}],"key":"itemErrors","summary":"Items that each fail","id":"paths/~1external~1v1~1devices~1decode/post/requestBody/content/application~1json/examples/itemErrors"},"paths/~1external~1v1~1devices~1decode/post/responses/200/content/application~1json/examples/allFields":{"value":[{"mac_id":"D4F5A1B2C3E8","qr_code":"TRK8F3A21C7","cts":1791245815,"ts":1791245700,"bat":3,"temp":23,"over_temp":45,"over_temp_ts":1791245100,"shock":"12","shock_ts":1791245400,"bat_percent":100,"fw_ver":"1.1"},{"mac_id":"C2E9B47A10F3","qr_code":"TRK5D90B4E2","cts":1791245815,"ts":1791245760,"bat":2.9,"fw_ver":1.2,"bat_percent":80},{"mac_id":"E7A01B9C44D2","error":"Invalid tape mac address"}],"key":"allFields","summary":"Response to the all-fields request","description":"A full-packet result, a heartbeat result and a failed item.","id":"paths/~1external~1v1~1devices~1decode/post/responses/200/content/application~1json/examples/allFields"},"paths/~1external~1v1~1devices~1decode/post/responses/200/content/application~1json/examples/minimal":{"value":[{"mac_id":"D4F5A1B2C3E8","qr_code":"TRK8F3A21C7","cts":1791245815,"ts":null,"bat":3,"temp":23,"over_temp":45,"over_temp_ts":null,"shock":"12","shock_ts":null,"bat_percent":100,"fw_ver":"1.1"}],"key":"minimal","summary":"Response to the minimal request: without scan_time, ts and the *_ts fields are null","id":"paths/~1external~1v1~1devices~1decode/post/responses/200/content/application~1json/examples/minimal"},"paths/~1external~1v1~1devices~1decode/post/responses/200/content/application~1json/examples/itemErrors":{"value":[{"mac_id":"F1E2D3C4B5A6","error":"Invalid BLE packet. Unknown scantype ABCD"},{"mac_id":"B3C4D5E6F7A8","error":"Tape not associated under the current customer"}],"key":"itemErrors","summary":"Response to the item-errors request","description":"Unknown packet prefix; a registered tape that is not labelled under this account.\n","id":"paths/~1external~1v1~1devices~1decode/post/responses/200/content/application~1json/examples/itemErrors"},"paths/~1external~1v1~1devices~1decode/post/responses/400/content/application~1json/examples/missingHeaders":{"value":{"message":"Missing required headers: customer_id or authorized_groups","code":400},"key":"missingHeaders","summary":"Missing `customer_id` or `authorized_groups` header","id":"paths/~1external~1v1~1devices~1decode/post/responses/400/content/application~1json/examples/missingHeaders"},"paths/~1external~1v1~1devices~1decode/post/responses/400/content/application~1json/examples/notAnArray":{"value":{"message":"Missing or invalid required data in body. Expected a non-empty array.","code":400},"key":"notAnArray","summary":"Body is an object or an empty array","id":"paths/~1external~1v1~1devices~1decode/post/responses/400/content/application~1json/examples/notAnArray"},"paths/~1external~1v1~1devices~1decode/post/responses/400/content/application~1json/examples/duplicateMac":{"value":{"message":"Duplicate mac_id values are not allowed in a single bulk request.","code":400},"key":"duplicateMac","summary":"Two items share a mac_id","id":"paths/~1external~1v1~1devices~1decode/post/responses/400/content/application~1json/examples/duplicateMac"},"paths/~1external~1v1~1devices~1decode/post/responses/401/content/application~1json/example":{"value":{"message":"Unauthorized access","code":401},"id":"paths/~1external~1v1~1devices~1decode/post/responses/401/content/application~1json/example"},"paths/~1external~1v1~1devices~1decode/post/responses/413/content/application~1json/example":{"value":{"message":"Request body length greater than 250 :: length = 251","code":413},"id":"paths/~1external~1v1~1devices~1decode/post/responses/413/content/application~1json/example"},"paths/~1external~1v1~1devices~1decode/post/responses/500/content/application~1json/example":{"value":{"message":"An internal server error occurred during bulk processing.","code":500},"id":"paths/~1external~1v1~1devices~1decode/post/responses/500/content/application~1json/example"},"paths/~1external~1v1~1devices~1label/post/requestBody/content/application~1json/examples/allFields":{"value":{"shipment_details":{"customer_name":"Acme Pharma","customer_email":"logistics@acmepharma.com","customer_contact":"+1 415 555 0100","source_address":{"label":"1 Market St, San Francisco, CA 94105","lat":37.79404,"lon":-122.39504},"destination_address":{"label":"500 S Grand Ave, Los Angeles, CA 90071","lat":34.0522,"lon":-118.2437},"notes":"Keep refrigerated","mode_of_transport":"GROUND"},"devices":[{"qrcode":"TRK0012345","asset_barcode":"AWB-777-1001","application_id":"70481678-e88b-2198-98ad-4a2b091940d6","facility_id":"0b6f7c1e-2d3a-4b5c-8d9e-0f1a2b3c4d5e","lat":37.7749,"lon":-122.4194,"tape_displayname":"Pallet 1","override":false}]},"key":"allFields","summary":"Every field except the optional skip_qrmac and device_id, see the skip-qrmac example","id":"paths/~1external~1v1~1devices~1label/post/requestBody/content/application~1json/examples/allFields"},"paths/~1external~1v1~1devices~1label/post/requestBody/content/application~1json/examples/minimal":{"value":{"devices":[{"qrcode":"TRK0012345","asset_barcode":"AWB-777-1001","application_id":"smart-asset-tracker"}]},"key":"minimal","summary":"Minimum request with one device and no shipment","id":"paths/~1external~1v1~1devices~1label/post/requestBody/content/application~1json/examples/minimal"},"paths/~1external~1v1~1devices~1label/post/requestBody/content/application~1json/examples/withShipment":{"value":{"shipment_details":{"customer_name":"Acme Pharma","customer_email":"logistics@acmepharma.com","source_address":{"label":"1 Market St, San Francisco, CA 94105"},"destination_address":{"lat":34.0522,"lon":-118.2437},"mode_of_transport":"GROUND"},"devices":[{"qrcode":"TRK0012345","asset_barcode":"AWB-777-1001","application_id":"smart-asset-tracker","tape_displayname":"Pallet 1"},{"qrcode":"TRK0012346","asset_barcode":"AWB-777-1002","application_id":"70481678-e88b-2198-98ad-4a2b091940d6"}]},"key":"withShipment","summary":"Two devices sharing one shipment","id":"paths/~1external~1v1~1devices~1label/post/requestBody/content/application~1json/examples/withShipment"},"paths/~1external~1v1~1devices~1label/post/requestBody/content/application~1json/examples/coordinatesForFacility":{"value":{"devices":[{"qrcode":"TRK0012347","asset_barcode":"AWB-777-1003","application_id":"smart-asset-tracker","lat":37.7749,"lon":-122.4194}]},"key":"coordinatesForFacility","summary":"Facility from coordinates, used only when your account has no top-level facility","id":"paths/~1external~1v1~1devices~1label/post/requestBody/content/application~1json/examples/coordinatesForFacility"},"paths/~1external~1v1~1devices~1label/post/requestBody/content/application~1json/examples/overrideExisting":{"value":{"devices":[{"qrcode":"TRK0012345","asset_barcode":"AWB-777-2001","application_id":"smart-asset-tracker","tape_displayname":null,"override":true}]},"key":"overrideExisting","summary":"Replace the label of an already-labelled device","id":"paths/~1external~1v1~1devices~1label/post/requestBody/content/application~1json/examples/overrideExisting"},"paths/~1external~1v1~1devices~1label/post/requestBody/content/application~1json/examples/skipQrmac":{"value":{"devices":[{"qrcode":"TEST-QR-0001","asset_barcode":"TEST-AWB-0001","application_id":"smart-asset-tracker","skip_qrmac":true,"device_id":"C47F510A129E"}]},"key":"skipQrmac","summary":"Optional, only where enabled for your integration environment","id":"paths/~1external~1v1~1devices~1label/post/requestBody/content/application~1json/examples/skipQrmac"},"paths/~1external~1v1~1devices~1label/post/responses/201/content/application~1json/examples/allFields":{"value":{"message":"Successfully labelled 1 device(s).","successful":1,"failed":0,"errors":[],"shipment_id":"9b2d4c4e-1f7a-4e8b-a0c1-3d5e7f9a1b2c"},"key":"allFields","summary":"Response to the all-fields request","id":"paths/~1external~1v1~1devices~1label/post/responses/201/content/application~1json/examples/allFields"},"paths/~1external~1v1~1devices~1label/post/responses/201/content/application~1json/examples/minimal":{"value":{"message":"Successfully labelled 1 device(s).","successful":1,"failed":0,"errors":[]},"key":"minimal","summary":"Response to the minimal request: no shipment, so no shipment_id","id":"paths/~1external~1v1~1devices~1label/post/responses/201/content/application~1json/examples/minimal"},"paths/~1external~1v1~1devices~1label/post/responses/201/content/application~1json/examples/withShipment":{"value":{"message":"Successfully labelled 2 device(s).","successful":2,"failed":0,"errors":[],"shipment_id":"9b2d4c4e-1f7a-4e8b-a0c1-3d5e7f9a1b2c"},"key":"withShipment","summary":"Response to the with-shipment request","id":"paths/~1external~1v1~1devices~1label/post/responses/201/content/application~1json/examples/withShipment"},"paths/~1external~1v1~1devices~1label/post/responses/207/content/application~1json/examples/partial":{"value":{"message":"Some devices could not be labelled.","successful":1,"failed":1,"errors":[{"qrcode":"TRK0012346","error_code":"ALREADY_LABELLED"}],"shipment_id":"9b2d4c4e-1f7a-4e8b-a0c1-3d5e7f9a1b2c"},"key":"partial","summary":"Response to the with-shipment request: second device already labelled","id":"paths/~1external~1v1~1devices~1label/post/responses/207/content/application~1json/examples/partial"},"paths/~1external~1v1~1devices~1label/post/responses/207/content/application~1json/examples/allFailed":{"value":{"message":"Some devices could not be labelled.","successful":0,"failed":2,"errors":[{"qrcode":"TRK0012345","error_code":"APPLICATION_NOT_FOUND"},{"qrcode":"TRK0012346","error_code":"DUPLICATE_DEVICE"}],"shipment_id":null},"key":"allFailed","summary":"Response to the with-shipment request: no device labelled","id":"paths/~1external~1v1~1devices~1label/post/responses/207/content/application~1json/examples/allFailed"},"paths/~1external~1v1~1devices~1label/post/responses/400/content/application~1json/examples/missingField":{"value":{"message":"Validation failed","code":400,"errors":[{"expected":"string","code":"invalid_type","path":["devices",0,"asset_barcode"],"message":"Invalid input: expected string, received undefined"}]},"key":"missingField","summary":"A required device field is missing","id":"paths/~1external~1v1~1devices~1label/post/responses/400/content/application~1json/examples/missingField"},"paths/~1external~1v1~1devices~1label/post/responses/400/content/application~1json/examples/duplicateQrcode":{"value":{"message":"Validation failed","code":400,"errors":[{"code":"custom","message":"Duplicate qrcode values are not allowed in a single request: TRK0012345","path":["devices"]}]},"key":"duplicateQrcode","summary":"The same qrcode twice in one request","id":"paths/~1external~1v1~1devices~1label/post/responses/400/content/application~1json/examples/duplicateQrcode"},"paths/~1external~1v1~1devices~1label/post/responses/400/content/application~1json/examples/tooMany":{"value":{"message":"Validation failed","code":400,"errors":[{"origin":"array","code":"too_big","maximum":20,"inclusive":true,"path":["devices"],"message":"Too big: expected array to have <=20 items"}]},"key":"tooMany","summary":"More than 20 devices","id":"paths/~1external~1v1~1devices~1label/post/responses/400/content/application~1json/examples/tooMany"},"paths/~1external~1v1~1devices~1label/post/responses/400/content/application~1json/examples/badEmail":{"value":{"message":"Validation failed","code":400,"errors":[{"origin":"string","code":"invalid_format","format":"email","pattern":"/^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$/","path":["shipment_details","customer_email"],"message":"Invalid email address"}]},"key":"badEmail","summary":"Invalid customer_email","id":"paths/~1external~1v1~1devices~1label/post/responses/400/content/application~1json/examples/badEmail"},"paths/~1external~1v1~1devices~1label/post/responses/400/content/application~1json/examples/badModeOfTransport":{"value":{"message":"Validation failed","code":400,"errors":[{"code":"invalid_value","values":["AIR","GROUND","SEA"],"path":["shipment_details","mode_of_transport"],"message":"Invalid option: expected one of \"AIR\"|\"GROUND\"|\"SEA\""}]},"key":"badModeOfTransport","summary":"Unsupported mode_of_transport","id":"paths/~1external~1v1~1devices~1label/post/responses/400/content/application~1json/examples/badModeOfTransport"},"paths/~1external~1v1~1devices~1label/post/responses/400/content/application~1json/examples/skipQrmacDisabled":{"value":{"message":"Validation failed","code":400,"errors":[{"code":"custom","message":"skip_qrmac is not enabled on this environment (qrcode TEST-QR-0001)","path":["devices",0,"skip_qrmac"]}]},"key":"skipQrmacDisabled","summary":"Sending `skip_qrmac` where it isn't enabled","id":"paths/~1external~1v1~1devices~1label/post/responses/400/content/application~1json/examples/skipQrmacDisabled"},"paths/~1external~1v1~1devices~1label/post/responses/400/content/application~1json/examples/skipQrmacWithoutDeviceId":{"value":{"message":"Validation failed","code":400,"errors":[{"code":"custom","message":"device_id is required for qrcode TEST-QR-0001 when skip_qrmac is true","path":["devices",0,"device_id"]}]},"key":"skipQrmacWithoutDeviceId","summary":"Sending skip_qrmac without device_id where it is enabled","id":"paths/~1external~1v1~1devices~1label/post/responses/400/content/application~1json/examples/skipQrmacWithoutDeviceId"},"paths/~1external~1v1~1devices~1label/post/responses/400/content/application~1json/examples/noBody":{"value":{"message":"Validation failed","code":400,"errors":[{"expected":"object","code":"invalid_type","path":[],"message":"Invalid input: expected object, received undefined"}]},"key":"noBody","summary":"No request body","id":"paths/~1external~1v1~1devices~1label/post/responses/400/content/application~1json/examples/noBody"},"paths/~1external~1v1~1devices~1label/post/responses/400/content/application~1json/examples/allQrmacNotFound":{"value":{"message":"Some devices could not be labelled.","successful":0,"failed":2,"errors":[{"qrcode":"TRK0012345","error_code":"QRMAC_NOT_FOUND"},{"qrcode":"TRK0012346","error_code":"QRMAC_NOT_FOUND"}],"shipment_id":null},"key":"allQrmacNotFound","summary":"Every device has an unknown QR code","id":"paths/~1external~1v1~1devices~1label/post/responses/400/content/application~1json/examples/allQrmacNotFound"},"paths/~1external~1v1~1devices~1label/post/responses/400/content/application~1json/examples/multipleAccounts":{"value":{"message":"This caller has access to multiple accounts; send customer_id and authorized_group headers to select one","code":400},"key":"multipleAccounts","summary":"Identity with several accounts sent no account headers","id":"paths/~1external~1v1~1devices~1label/post/responses/400/content/application~1json/examples/multipleAccounts"},"paths/~1external~1v1~1devices~1label/post/responses/401/content/application~1json/example":{"value":{"message":"Unauthorized access","code":401},"id":"paths/~1external~1v1~1devices~1label/post/responses/401/content/application~1json/example"},"paths/~1external~1v1~1devices~1label/post/responses/403/content/application~1json/examples/notAccessible":{"value":{"message":"Tenant not accessible for this caller","code":403},"key":"notAccessible","summary":"Account headers outside your access","id":"paths/~1external~1v1~1devices~1label/post/responses/403/content/application~1json/examples/notAccessible"},"paths/~1external~1v1~1devices~1label/post/responses/403/content/application~1json/examples/noAccess":{"value":{"message":"No account access for this caller","code":403},"key":"noAccess","summary":"Identity has no account access","id":"paths/~1external~1v1~1devices~1label/post/responses/403/content/application~1json/examples/noAccess"},"paths/~1external~1v1~1devices~1label/post/responses/429/content/application~1json/example":{"value":{"message":"Too many requests"},"id":"paths/~1external~1v1~1devices~1label/post/responses/429/content/application~1json/example"},"paths/~1external~1v1~1devices~1label/post/responses/500/content/application~1json/example":{"value":{"message":"Failed to label devices","code":500},"id":"paths/~1external~1v1~1devices~1label/post/responses/500/content/application~1json/example"},"paths/~1external~1v1~1devices~1label/post/responses/503/content/application~1json/example":{"value":{"message":"Could not resolve access context","code":503,"success":false},"id":"paths/~1external~1v1~1devices~1label/post/responses/503/content/application~1json/example"},"paths/~1external~1v1~1devices~1label/put/requestBody/content/application~1json/examples/allFields":{"value":{"scope":"THIS_DEVICE","shipment_details":{"customer_name":"Acme Pharma","customer_email":"logistics@acmepharma.com","customer_contact":"+1 415 555 0100","source_address":{"label":"1 Market St, San Francisco, CA 94105","lat":37.79404,"lon":-122.39504},"destination_address":{"label":"500 S Grand Ave, Los Angeles, CA 90071","lat":34.0522,"lon":-118.2437},"notes":"Keep refrigerated","mode_of_transport":"GROUND"},"devices":[{"qrcode":"TRK0012345","asset_barcode":"AWB-777-3001","application_id":"70481678-e88b-2198-98ad-4a2b091940d6","facility_id":"0b6f7c1e-2d3a-4b5c-8d9e-0f1a2b3c4d5e","tape_displayname":"Pallet 1A"}]},"key":"allFields","summary":"Every field","id":"paths/~1external~1v1~1devices~1label/put/requestBody/content/application~1json/examples/allFields"},"paths/~1external~1v1~1devices~1label/put/requestBody/content/application~1json/examples/minimal":{"value":{"devices":[{"qrcode":"TRK0012345","tape_displayname":"Pallet 1A"}]},"key":"minimal","summary":"Rename one device","id":"paths/~1external~1v1~1devices~1label/put/requestBody/content/application~1json/examples/minimal"},"paths/~1external~1v1~1devices~1label/put/requestBody/content/application~1json/examples/clearFields":{"value":{"devices":[{"qrcode":"TRK0012345","facility_id":null,"tape_displayname":null}]},"key":"clearFields","summary":"Clear facility and display name","id":"paths/~1external~1v1~1devices~1label/put/requestBody/content/application~1json/examples/clearFields"},"paths/~1external~1v1~1devices~1label/put/requestBody/content/application~1json/examples/shipmentAllDevices":{"value":{"scope":"ALL_DEVICES_IN_SHIPMENT","shipment_details":{"customer_name":"Acme Pharma","customer_email":"logistics@acmepharma.com","source_address":{},"destination_address":{"label":"500 S Grand Ave, Los Angeles, CA 90071"},"notes":"Re-routed to LA hub","mode_of_transport":"AIR"},"devices":[{"qrcode":"TRK0012345"}]},"key":"shipmentAllDevices","summary":"Update the whole shipment of one device, keeping the saved source address","id":"paths/~1external~1v1~1devices~1label/put/requestBody/content/application~1json/examples/shipmentAllDevices"},"paths/~1external~1v1~1devices~1label/put/requestBody/content/application~1json/examples/shipmentTwoDevices":{"value":{"scope":"THIS_DEVICE","shipment_details":{"customer_name":"Acme Pharma","customer_email":"logistics@acmepharma.com","source_address":{"lat":37.7749,"lon":-122.4194},"destination_address":{"label":"Seattle, WA"}},"devices":[{"qrcode":"TRK0012345","asset_barcode":"AWB-777-1001"},{"qrcode":"TRK0012346"}]},"key":"shipmentTwoDevices","summary":"Put two listed devices on the first device's shipment","id":"paths/~1external~1v1~1devices~1label/put/requestBody/content/application~1json/examples/shipmentTwoDevices"},"paths/~1external~1v1~1devices~1label/put/responses/200/content/application~1json/examples/allFields":{"value":{"message":"Successfully updated 1 device(s).","successful":1,"failed":0,"errors":[],"shipment_id":"9b2d4c4e-1f7a-4e8b-a0c1-3d5e7f9a1b2c"},"key":"allFields","summary":"Response to the all-fields request","id":"paths/~1external~1v1~1devices~1label/put/responses/200/content/application~1json/examples/allFields"},"paths/~1external~1v1~1devices~1label/put/responses/200/content/application~1json/examples/noShipment":{"value":{"message":"Successfully updated 1 device(s).","successful":1,"failed":0,"errors":[],"shipment_id":""},"key":"noShipment","summary":"Response to the minimal request without shipment_details","id":"paths/~1external~1v1~1devices~1label/put/responses/200/content/application~1json/examples/noShipment"},"paths/~1external~1v1~1devices~1label/put/responses/207/content/application~1json/examples/shipmentConflict":{"value":{"message":"Some devices could not be updated.","successful":1,"failed":1,"errors":[{"qrcode":"TRK0012346","error_code":"SHIPMENT_CONFLICT"}],"shipment_id":"9b2d4c4e-1f7a-4e8b-a0c1-3d5e7f9a1b2c"},"key":"shipmentConflict","summary":"Response to the two-devices shipment request: the second device is in another shipment","id":"paths/~1external~1v1~1devices~1label/put/responses/207/content/application~1json/examples/shipmentConflict"},"paths/~1external~1v1~1devices~1label/put/responses/207/content/application~1json/examples/notInShipment":{"value":{"message":"Some devices could not be updated.","successful":1,"failed":1,"errors":[{"qrcode":"TRK0012346","error_code":"NOT_IN_SHIPMENT"}],"shipment_id":"9b2d4c4e-1f7a-4e8b-a0c1-3d5e7f9a1b2c"},"key":"notInShipment","summary":"Response to the two-devices shipment request with the all-devices scope: the second device is not in that shipment","id":"paths/~1external~1v1~1devices~1label/put/responses/207/content/application~1json/examples/notInShipment"},"paths/~1external~1v1~1devices~1label/put/responses/207/content/application~1json/examples/applicationChange":{"value":{"message":"Some devices could not be updated.","successful":0,"failed":1,"errors":[{"qrcode":"TRK0012345","error_code":"APPLICATION_CHANGE_NOT_ALLOWED"}],"shipment_id":"9b2d4c4e-1f7a-4e8b-a0c1-3d5e7f9a1b2c"},"key":"applicationChange","summary":"Response to the all-fields request when the device belongs to another application","id":"paths/~1external~1v1~1devices~1label/put/responses/207/content/application~1json/examples/applicationChange"},"paths/~1external~1v1~1devices~1label/put/responses/207/content/application~1json/examples/notFound":{"value":{"message":"Some devices could not be updated.","successful":0,"failed":1,"errors":[{"qrcode":"TRK0012345","error_code":"DEVICE_NOT_FOUND"}],"shipment_id":""},"key":"notFound","summary":"Response to the minimal request for a QR code with no label","id":"paths/~1external~1v1~1devices~1label/put/responses/207/content/application~1json/examples/notFound"},"paths/~1external~1v1~1devices~1label/put/responses/400/content/application~1json/examples/applicationIdFormat":{"value":{"message":"Validation failed","code":400,"errors":[{"origin":"string","code":"invalid_format","format":"uuid","pattern":"/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/","path":["devices",0,"application_id"],"message":"Invalid UUID"}]},"key":"applicationIdFormat","summary":"The application id is an application code or not a well-formed UUID","id":"paths/~1external~1v1~1devices~1label/put/responses/400/content/application~1json/examples/applicationIdFormat"},"paths/~1external~1v1~1devices~1label/put/responses/400/content/application~1json/examples/badScope":{"value":{"message":"Validation failed","code":400,"errors":[{"code":"invalid_value","values":["THIS_DEVICE","ALL_DEVICES_IN_SHIPMENT"],"path":["scope"],"message":"Invalid option: expected one of \"THIS_DEVICE\"|\"ALL_DEVICES_IN_SHIPMENT\""}]},"key":"badScope","summary":"Unknown scope","id":"paths/~1external~1v1~1devices~1label/put/responses/400/content/application~1json/examples/badScope"},"paths/~1external~1v1~1devices~1label/put/responses/400/content/application~1json/examples/incompleteShipment":{"value":{"message":"Validation failed","code":400,"errors":[{"expected":"string","code":"invalid_type","path":["shipment_details","customer_name"],"message":"Invalid input: expected string, received undefined"},{"expected":"string","code":"invalid_type","path":["shipment_details","customer_email"],"message":"Invalid input: expected string, received undefined"},{"expected":"object","code":"invalid_type","path":["shipment_details","source_address"],"message":"Invalid input: expected object, received undefined"},{"expected":"object","code":"invalid_type","path":["shipment_details","destination_address"],"message":"Invalid input: expected object, received undefined"}]},"key":"incompleteShipment","summary":"Sending `shipment_details` without its required fields","id":"paths/~1external~1v1~1devices~1label/put/responses/400/content/application~1json/examples/incompleteShipment"},"paths/~1external~1v1~1devices~1label/put/responses/400/content/application~1json/examples/duplicateQrcode":{"value":{"message":"Validation failed","code":400,"errors":[{"code":"custom","message":"Duplicate qrcode values are not allowed in a single request: TRK0012345","path":["devices"]}]},"key":"duplicateQrcode","summary":"The same qrcode twice in one request","id":"paths/~1external~1v1~1devices~1label/put/responses/400/content/application~1json/examples/duplicateQrcode"},"paths/~1external~1v1~1devices~1label/put/responses/400/content/application~1json/examples/multipleAccounts":{"value":{"message":"This caller has access to multiple accounts; send customer_id and authorized_group headers to select one","code":400},"key":"multipleAccounts","summary":"Identity with several accounts sent no account headers","id":"paths/~1external~1v1~1devices~1label/put/responses/400/content/application~1json/examples/multipleAccounts"},"paths/~1external~1v1~1devices~1label/put/responses/401/content/application~1json/example":{"value":{"message":"Unauthorized access","code":401},"id":"paths/~1external~1v1~1devices~1label/put/responses/401/content/application~1json/example"},"paths/~1external~1v1~1devices~1label/put/responses/403/content/application~1json/examples/notAccessible":{"value":{"message":"Tenant not accessible for this caller","code":403},"key":"notAccessible","summary":"Account headers outside your access","id":"paths/~1external~1v1~1devices~1label/put/responses/403/content/application~1json/examples/notAccessible"},"paths/~1external~1v1~1devices~1label/put/responses/403/content/application~1json/examples/noAccess":{"value":{"message":"No account access for this caller","code":403},"key":"noAccess","summary":"Identity has no account access","id":"paths/~1external~1v1~1devices~1label/put/responses/403/content/application~1json/examples/noAccess"},"paths/~1external~1v1~1devices~1label/put/responses/429/content/application~1json/example":{"value":{"message":"Too many requests"},"id":"paths/~1external~1v1~1devices~1label/put/responses/429/content/application~1json/example"},"paths/~1external~1v1~1devices~1label/put/responses/500/content/application~1json/example":{"value":{"message":"Failed to edit device labels","code":500},"id":"paths/~1external~1v1~1devices~1label/put/responses/500/content/application~1json/example"},"paths/~1external~1v1~1devices~1label/put/responses/503/content/application~1json/example":{"value":{"message":"Could not resolve access context","code":503,"success":false},"id":"paths/~1external~1v1~1devices~1label/put/responses/503/content/application~1json/example"},"paths/~1external~1v1~1devices~1label/get/responses/200/content/application~1json/examples/allFields":{"value":{"devices":[{"qrcode":"TRK0012345","found":true,"status":"ACTIVATED","asset_barcode":"AWB-777-1001","application_id":"70481678-e88b-2198-98ad-4a2b091940d6","facility_id":"0b6f7c1e-2d3a-4b5c-8d9e-0f1a2b3c4d5e","tape_displayname":"Pallet 1","shipment_details":{"shipment_id":"9b2d4c4e-1f7a-4e8b-a0c1-3d5e7f9a1b2c","customer_name":"Acme Pharma","customer_email":"logistics@acmepharma.com","customer_contact":"+1 415 555 0100","source":{"label":"1 Market St, San Francisco, CA 94105","lat":37.79404,"lon":-122.39504,"source":"C47F510A129E"},"destination":{"label":"500 S Grand Ave, Los Angeles, CA 90071","lat":34.0522,"lon":-118.2437,"source":"C47F510A129E"},"notes":"Keep refrigerated","mode_of_transport":"GROUND","created_at":"2026-10-01T17:04:22.512Z","updated_at":"2026-10-02T09:15:03.007Z"},"metadata":{"po_number":"PO-4471"},"fw_configuration":{"rssi_threshold":-90,"wt_pwr_lvl":4},"hw_configuration":{"hw_version":"2.1","mac_address":"C47F510A129E"}},{"qrcode":"TRK0099999","found":false}]},"key":"allFields","summary":"Two devices with all include blocks","id":"paths/~1external~1v1~1devices~1label/get/responses/200/content/application~1json/examples/allFields"},"paths/~1external~1v1~1devices~1label/get/responses/200/content/application~1json/examples/noShipmentNoIncludes":{"value":{"devices":[{"qrcode":"TRK0012347","found":true,"status":"ACTIVATED","asset_barcode":"AWB-777-1003","application_id":"70481678-e88b-2198-98ad-4a2b091940d6","facility_id":null,"tape_displayname":"Pallet 3"}]},"key":"noShipmentNoIncludes","summary":"Device without shipment, no include blocks","id":"paths/~1external~1v1~1devices~1label/get/responses/200/content/application~1json/examples/noShipmentNoIncludes"},"paths/~1external~1v1~1devices~1label/get/responses/200/content/application~1json/examples/neverLabelled":{"value":{"devices":[{"qrcode":"TRK0012348","found":true,"status":"NOT_ACTIVATED","asset_barcode":null,"application_id":"70481678-e88b-2198-98ad-4a2b091940d6","facility_id":null,"tape_displayname":null}]},"key":"neverLabelled","summary":"Device known to the account but never labelled","id":"paths/~1external~1v1~1devices~1label/get/responses/200/content/application~1json/examples/neverLabelled"},"paths/~1external~1v1~1devices~1label/get/responses/400/content/application~1json/examples/missingQrcode":{"value":{"message":"Validation failed","code":400,"errors":[{"code":"invalid_union","errors":[[{"expected":"string","code":"invalid_type","path":[],"message":"Invalid input: expected string, received undefined"}],[{"expected":"array","code":"invalid_type","path":[],"message":"Invalid input: expected array, received undefined"}]],"path":["qrcode"],"message":"Invalid input"}]},"key":"missingQrcode","summary":"No qrcode parameter","id":"paths/~1external~1v1~1devices~1label/get/responses/400/content/application~1json/examples/missingQrcode"},"paths/~1external~1v1~1devices~1label/get/responses/400/content/application~1json/examples/tooManyQrcodes":{"value":{"message":"Validation failed","code":400,"errors":[{"origin":"array","code":"too_big","maximum":20,"inclusive":true,"path":["qrcode"],"message":"Too big: expected array to have <=20 items"}]},"key":"tooManyQrcodes","summary":"More than 20 qrcode values","id":"paths/~1external~1v1~1devices~1label/get/responses/400/content/application~1json/examples/tooManyQrcodes"},"paths/~1external~1v1~1devices~1label/get/responses/400/content/application~1json/examples/badInclude":{"value":{"message":"Validation failed","code":400,"errors":[{"code":"invalid_value","values":["metadata","fw_configuration","hw_configuration"],"path":["include",0],"message":"Invalid option: expected one of \"metadata\"|\"fw_configuration\"|\"hw_configuration\""}]},"key":"badInclude","summary":"Unknown include value","id":"paths/~1external~1v1~1devices~1label/get/responses/400/content/application~1json/examples/badInclude"},"paths/~1external~1v1~1devices~1label/get/responses/400/content/application~1json/examples/multipleAccounts":{"value":{"message":"This caller has access to multiple accounts; send customer_id and authorized_group headers to select one","code":400},"key":"multipleAccounts","summary":"Identity with several accounts sent no account headers","id":"paths/~1external~1v1~1devices~1label/get/responses/400/content/application~1json/examples/multipleAccounts"},"paths/~1external~1v1~1devices~1label/get/responses/401/content/application~1json/example":{"value":{"message":"Unauthorized access","code":401},"id":"paths/~1external~1v1~1devices~1label/get/responses/401/content/application~1json/example"},"paths/~1external~1v1~1devices~1label/get/responses/403/content/application~1json/examples/notAccessible":{"value":{"message":"Tenant not accessible for this caller","code":403},"key":"notAccessible","summary":"Account headers outside your access","id":"paths/~1external~1v1~1devices~1label/get/responses/403/content/application~1json/examples/notAccessible"},"paths/~1external~1v1~1devices~1label/get/responses/403/content/application~1json/examples/noAccess":{"value":{"message":"No account access for this caller","code":403},"key":"noAccess","summary":"Identity has no account access","id":"paths/~1external~1v1~1devices~1label/get/responses/403/content/application~1json/examples/noAccess"},"paths/~1external~1v1~1devices~1label/get/responses/429/content/application~1json/example":{"value":{"message":"Too many requests"},"id":"paths/~1external~1v1~1devices~1label/get/responses/429/content/application~1json/example"},"paths/~1external~1v1~1devices~1label/get/responses/500/content/application~1json/example":{"value":{"message":"Failed to fetch device labels","code":500},"id":"paths/~1external~1v1~1devices~1label/get/responses/500/content/application~1json/example"},"paths/~1external~1v1~1devices~1label/get/responses/503/content/application~1json/example":{"value":{"message":"Could not resolve access context","code":503,"success":false},"id":"paths/~1external~1v1~1devices~1label/get/responses/503/content/application~1json/example"},"paths/~1external~1v1~1devices~1status/post/requestBody/content/application~1json/examples/allFields":{"value":{"action":"DEACTIVATE","devices":[{"qrcode":"TRK0012345"},{"qrcode":"TRK0012346"}]},"key":"allFields","summary":"Every field","id":"paths/~1external~1v1~1devices~1status/post/requestBody/content/application~1json/examples/allFields"},"paths/~1external~1v1~1devices~1status/post/requestBody/content/application~1json/examples/minimal":{"value":{"action":"DEACTIVATE","devices":[{"qrcode":"TRK0012345"}]},"key":"minimal","summary":"One device","id":"paths/~1external~1v1~1devices~1status/post/requestBody/content/application~1json/examples/minimal"},"paths/~1external~1v1~1devices~1status/post/requestBody/content/application~1json/examples/mixed":{"value":{"action":"DEACTIVATE","devices":[{"qrcode":"TRK0012345"},{"qrcode":"TRK0012346"},{"qrcode":"TRK0012347"},{"qrcode":"TRK0099999"}]},"key":"mixed","summary":"Batch that partly fails, see the 207 example","id":"paths/~1external~1v1~1devices~1status/post/requestBody/content/application~1json/examples/mixed"},"paths/~1external~1v1~1devices~1status/post/responses/200/content/application~1json/examples/allDeactivated":{"value":{"message":"Successfully updated 2 device(s).","successful":2,"failed":0,"errors":[]},"key":"allDeactivated","summary":"Response to the all-fields request","id":"paths/~1external~1v1~1devices~1status/post/responses/200/content/application~1json/examples/allDeactivated"},"paths/~1external~1v1~1devices~1status/post/responses/207/content/application~1json/examples/partial":{"value":{"message":"Some devices could not be updated.","successful":1,"failed":3,"errors":[{"qrcode":"TRK0012346","error_code":"ALREADY_IN_TARGET_STATE"},{"qrcode":"TRK0012347","error_code":"INVALID_TRANSITION"},{"qrcode":"TRK0099999","error_code":"DEVICE_NOT_FOUND"}]},"key":"partial","summary":"Response to the mixed request","id":"paths/~1external~1v1~1devices~1status/post/responses/207/content/application~1json/examples/partial"},"paths/~1external~1v1~1devices~1status/post/responses/207/content/application~1json/examples/allFailed":{"value":{"message":"Some devices could not be updated.","successful":0,"failed":1,"errors":[{"qrcode":"TRK0099999","error_code":"DEVICE_NOT_FOUND"}]},"key":"allFailed","summary":"Every device failed","id":"paths/~1external~1v1~1devices~1status/post/responses/207/content/application~1json/examples/allFailed"},"paths/~1external~1v1~1devices~1status/post/responses/400/content/application~1json/examples/emptyDevices":{"value":{"message":"Validation failed","code":400,"errors":[{"origin":"array","code":"too_small","minimum":1,"inclusive":true,"path":["devices"],"message":"Too small: expected array to have >=1 items"}]},"key":"emptyDevices","summary":"Empty `devices` array","id":"paths/~1external~1v1~1devices~1status/post/responses/400/content/application~1json/examples/emptyDevices"},"paths/~1external~1v1~1devices~1status/post/responses/400/content/application~1json/examples/tooManyDevices":{"value":{"message":"Validation failed","code":400,"errors":[{"origin":"array","code":"too_big","maximum":100,"inclusive":true,"path":["devices"],"message":"Too big: expected array to have <=100 items"}]},"key":"tooManyDevices","summary":"More than 100 devices","id":"paths/~1external~1v1~1devices~1status/post/responses/400/content/application~1json/examples/tooManyDevices"},"paths/~1external~1v1~1devices~1status/post/responses/400/content/application~1json/examples/duplicateQrcode":{"value":{"message":"Validation failed","code":400,"errors":[{"code":"custom","message":"Duplicate qrcode values are not allowed in a single request: TRK0012345","path":["devices"]}]},"key":"duplicateQrcode","summary":"The same qrcode listed twice","id":"paths/~1external~1v1~1devices~1status/post/responses/400/content/application~1json/examples/duplicateQrcode"},"paths/~1external~1v1~1devices~1status/post/responses/400/content/application~1json/examples/blankQrcode":{"value":{"message":"Validation failed","code":400,"errors":[{"origin":"string","code":"too_small","minimum":1,"inclusive":true,"path":["devices",0,"qrcode"],"message":"Too small: expected string to have >=1 characters"}]},"key":"blankQrcode","summary":"Empty qrcode","id":"paths/~1external~1v1~1devices~1status/post/responses/400/content/application~1json/examples/blankQrcode"},"paths/~1external~1v1~1devices~1status/post/responses/400/content/application~1json/examples/multipleAccounts":{"value":{"message":"This caller has access to multiple accounts; send customer_id and authorized_group headers to select one","code":400},"key":"multipleAccounts","summary":"Identity with several accounts sent no account headers","id":"paths/~1external~1v1~1devices~1status/post/responses/400/content/application~1json/examples/multipleAccounts"},"paths/~1external~1v1~1devices~1status/post/responses/401/content/application~1json/example":{"value":{"message":"Unauthorized access","code":401},"id":"paths/~1external~1v1~1devices~1status/post/responses/401/content/application~1json/example"},"paths/~1external~1v1~1devices~1status/post/responses/403/content/application~1json/examples/notAccessible":{"value":{"message":"Tenant not accessible for this caller","code":403},"key":"notAccessible","summary":"Account headers outside your access","id":"paths/~1external~1v1~1devices~1status/post/responses/403/content/application~1json/examples/notAccessible"},"paths/~1external~1v1~1devices~1status/post/responses/403/content/application~1json/examples/noAccess":{"value":{"message":"No account access for this caller","code":403},"key":"noAccess","summary":"Identity has no account access","id":"paths/~1external~1v1~1devices~1status/post/responses/403/content/application~1json/examples/noAccess"},"paths/~1external~1v1~1devices~1status/post/responses/429/content/application~1json/example":{"value":{"message":"Too many requests"},"id":"paths/~1external~1v1~1devices~1status/post/responses/429/content/application~1json/example"},"paths/~1external~1v1~1devices~1status/post/responses/500/content/application~1json/example":{"value":{"message":"Failed to change device status","code":500},"id":"paths/~1external~1v1~1devices~1status/post/responses/500/content/application~1json/example"},"paths/~1external~1v1~1devices~1status/post/responses/503/content/application~1json/example":{"value":{"message":"Could not resolve access context","code":503,"success":false},"id":"paths/~1external~1v1~1devices~1status/post/responses/503/content/application~1json/example"},"paths/~1external~1v1~1devices~1config/post/requestBody/content/application~1json/examples/allFields":{"value":{"devices":[{"qrcode":"TRK0012345","asset_barcode":"PALLET-0042","tape_displayname":"Pallet 42 sensor"},{"qrcode":"TRK0012346","asset_barcode":"PALLET-0043","tape_displayname":"Pallet 43 sensor"}],"firmware":{"zone_id":12,"timeoutPeriod":3600,"checkin_duration":300,"heartbeatFreq":"600","comm_skip_cnt":0,"scan_freq":60,"scan_duration":5,"nlps":0,"lcd":30,"bcd":10,"bad":0,"bsfid":"0","bafid":"0","pgtl":120,"pgtt":30,"at":0,"atd":0,"nt":0,"gsd":"60","gpslogging":"N","dlat":37.7749,"dlon":-122.4194,"drad":"500","otaflag":0,"otatype":0,"feature_config_mask":0,"bat_hib_th_low":20,"bat_hib_th_high":30,"bat_shutdown_th_low":5,"bat_ota_th_low":40,"batMDur":3600,"batTh":"20","bk_pwr_lvl":4,"wt_pwr_lvl":4,"msOffWaitDur":300,"gps_hdp_threshold":5,"light_polltime_sec":60,"light_poll_time_sec":60,"tmp_wdt_polltime_sec":60,"tmp_wdt_poll_time_sec":60,"accel_hi":2,"humidity_hi":80,"humidity_lo":20,"light_hi":1000,"light_lo":0,"pressure_hi":1100,"pressure_lo":900,"temp_hi":8,"temp_lo":2,"adv_duration":100,"alert_flag":1,"gst":0,"gswt":0},"metadata":{"facility_id":"DC-EAST","apn":"iot.example","track_number":"TRK-000123","battery_type":"LiSOCl2","battery_level":80,"fw_version":"2.4.1","hw_version":"1.2","sw_version":"3.0.0","rssi_priority":2}},"key":"allFields","summary":"Every field; each firmware field must be enabled for your application","id":"paths/~1external~1v1~1devices~1config/post/requestBody/content/application~1json/examples/allFields"},"paths/~1external~1v1~1devices~1config/post/requestBody/content/application~1json/examples/minimal":{"value":{"devices":[{"qrcode":"TRK0012345"}],"firmware":{"checkin_duration":300}},"key":"minimal","summary":"One firmware field on one device","id":"paths/~1external~1v1~1devices~1config/post/requestBody/content/application~1json/examples/minimal"},"paths/~1external~1v1~1devices~1config/post/requestBody/content/application~1json/examples/metadataWithUnknownDevice":{"value":{"devices":[{"qrcode":"TRK0012345","asset_barcode":"PALLET-0042","tape_displayname":"Pallet 42 sensor"},{"qrcode":"TRK0012346","tape_displayname":"Pallet 43 sensor"},{"qrcode":"TRK0099999"}],"metadata":{"facility_id":"DC-EAST","apn":"iot.example"}},"key":"metadataWithUnknownDevice","summary":"Metadata and per-device fields with one unknown QR code, see the 207 example","id":"paths/~1external~1v1~1devices~1config/post/requestBody/content/application~1json/examples/metadataWithUnknownDevice"},"paths/~1external~1v1~1devices~1config/post/requestBody/content/application~1json/examples/numericStrings":{"value":{"devices":[{"qrcode":"TRK0012345"}],"firmware":{"checkin_duration":"300","dlat":"37.7749","dlon":"-122.4194","drad":"500"},"metadata":{"battery_level":"80"}},"key":"numericStrings","summary":"Numeric firmware and metadata values sent as strings","id":"paths/~1external~1v1~1devices~1config/post/requestBody/content/application~1json/examples/numericStrings"},"paths/~1external~1v1~1devices~1config/post/responses/200/content/application~1json/examples/allUpdated":{"value":{"message":"Successfully updated 2 device(s).","successful":2,"failed":0,"errors":[]},"key":"allUpdated","summary":"Response to the all-fields request","id":"paths/~1external~1v1~1devices~1config/post/responses/200/content/application~1json/examples/allUpdated"},"paths/~1external~1v1~1devices~1config/post/responses/207/content/application~1json/examples/partial":{"value":{"message":"Some devices could not be updated.","successful":2,"failed":1,"errors":[{"qrcode":"TRK0099999","error_code":"DEVICE_NOT_FOUND"}]},"key":"partial","summary":"Response to the metadata-with-unknown-device request","id":"paths/~1external~1v1~1devices~1config/post/responses/207/content/application~1json/examples/partial"},"paths/~1external~1v1~1devices~1config/post/responses/207/content/application~1json/examples/allFailed":{"value":{"message":"Some devices could not be updated.","successful":0,"failed":2,"errors":[{"qrcode":"TRK0099998","error_code":"DEVICE_NOT_FOUND"},{"qrcode":"TRK0099999","error_code":"DEVICE_NOT_FOUND"}]},"key":"allFailed","summary":"No device found","id":"paths/~1external~1v1~1devices~1config/post/responses/207/content/application~1json/examples/allFailed"},"paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/nothingToUpdate":{"value":{"message":"Validation failed","code":400,"errors":[{"code":"custom","message":"At least one of firmware or metadata must be provided","path":[]}]},"key":"nothingToUpdate","summary":"Neither firmware nor metadata sent","id":"paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/nothingToUpdate"},"paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/duplicateQrcode":{"value":{"message":"Validation failed","code":400,"errors":[{"code":"custom","message":"Duplicate qrcode values are not allowed in a single request: TRK0012345","path":["devices"]}]},"key":"duplicateQrcode","summary":"The same qrcode listed twice","id":"paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/duplicateQrcode"},"paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/firmwareNotObject":{"value":{"message":"Validation failed","code":400,"errors":[{"expected":"record","code":"invalid_type","path":["firmware"],"message":"Invalid input: expected record, received null"}]},"key":"firmwareNotObject","summary":"The `firmware` value is not an object","id":"paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/firmwareNotObject"},"paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/unknownKey":{"value":{"message":"Validation failed","code":400,"errors":[{"code":"unrecognized_keys","keys":["rssi_threshold"],"path":[],"message":"Unrecognized key(s) in object: 'rssi_threshold'"}]},"key":"unknownKey","summary":"Field that isn't on the list, rssi_threshold","id":"paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/unknownKey"},"paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/wrongType":{"value":{"message":"Validation failed","code":400,"errors":[{"code":"invalid_type","expected":"string","received":"number","path":["heartbeatFreq"],"message":"Expected string, received number"}]},"key":"wrongType","summary":"Text field sent as a number, heartbeat frequency","id":"paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/wrongType"},"paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/notNumeric":{"value":{"message":"Validation failed","code":400,"errors":[{"code":"invalid_type","expected":"number","received":"nan","path":["dlat"],"message":"Expected number, received nan"}]},"key":"notNumeric","summary":"Number field dlat that isn't numeric","id":"paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/notNumeric"},"paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/badFormat":{"value":{"message":"Validation failed","code":400,"errors":[{"validation":"regex","code":"invalid_string","message":"Invalid","path":["bsfid"]}]},"key":"badFormat","summary":"Value in the wrong format, bsfid must be hexadecimal","id":"paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/badFormat"},"paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/badGpslogging":{"value":{"message":"Validation failed","code":400,"errors":[{"received":"y","code":"invalid_enum_value","options":["Y","N"],"path":["gpslogging"],"message":"Invalid enum value. Expected 'Y' | 'N', received 'y'"}]},"key":"badGpslogging","summary":"Invalid gpslogging value","id":"paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/badGpslogging"},"paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/fieldNotEnabled":{"value":{"message":"Firmware fields not enabled for this application: smart-tape (dlat)","code":400,"errorCode":"FIELD_NOT_ENABLED","violations":[{"application":"smart-tape","fields":["dlat"]}]},"key":"fieldNotEnabled","summary":"Firmware field not enabled for the application","id":"paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/fieldNotEnabled"},"paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/facilityNotFound":{"value":{"message":"facility not found: DC-WEST","code":400},"key":"facilityNotFound","summary":"Unknown facility_id","id":"paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/facilityNotFound"},"paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/multipleAccounts":{"value":{"message":"This caller has access to multiple accounts; send customer_id and authorized_group headers to select one","code":400},"key":"multipleAccounts","summary":"Identity with several accounts sent no account headers","id":"paths/~1external~1v1~1devices~1config/post/responses/400/content/application~1json/examples/multipleAccounts"},"paths/~1external~1v1~1devices~1config/post/responses/401/content/application~1json/example":{"value":{"message":"Unauthorized access","code":401},"id":"paths/~1external~1v1~1devices~1config/post/responses/401/content/application~1json/example"},"paths/~1external~1v1~1devices~1config/post/responses/403/content/application~1json/examples/notAccessible":{"value":{"message":"Tenant not accessible for this caller","code":403},"key":"notAccessible","summary":"Account headers outside your access","id":"paths/~1external~1v1~1devices~1config/post/responses/403/content/application~1json/examples/notAccessible"},"paths/~1external~1v1~1devices~1config/post/responses/403/content/application~1json/examples/noAccess":{"value":{"message":"No account access for this caller","code":403},"key":"noAccess","summary":"Identity has no account access","id":"paths/~1external~1v1~1devices~1config/post/responses/403/content/application~1json/examples/noAccess"},"paths/~1external~1v1~1devices~1config/post/responses/429/content/application~1json/example":{"value":{"message":"Too many requests"},"id":"paths/~1external~1v1~1devices~1config/post/responses/429/content/application~1json/example"},"paths/~1external~1v1~1devices~1config/post/responses/500/content/application~1json/example":{"value":{"message":"Failed to update device config","code":500},"id":"paths/~1external~1v1~1devices~1config/post/responses/500/content/application~1json/example"},"paths/~1external~1v1~1devices~1config/post/responses/503/content/application~1json/example":{"value":{"message":"Could not resolve access context","code":503,"success":false},"id":"paths/~1external~1v1~1devices~1config/post/responses/503/content/application~1json/example"},"paths/~1external~1messages/post/requestBody/content/application~1json/examples/DEVICE_DATAAllFields":{"value":{"qrcode":"TRK0A1B2C3D4","asset_barcode":"1Z999AA10123456784"},"key":"DEVICE_DATAAllFields","summary":"Device data message, all fields","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When both are sent, "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"qrcode"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is used."},"children":[]}]}]}],"id":"paths/~1external~1messages/post/requestBody/content/application~1json/examples/DEVICE_DATAAllFields"},"paths/~1external~1messages/post/requestBody/content/application~1json/examples/DEVICE_DATA":{"value":{"asset_barcode":"1Z999AA10123456784"},"key":"DEVICE_DATA","summary":"Device data message by asset barcode","id":"paths/~1external~1messages/post/requestBody/content/application~1json/examples/DEVICE_DATA"},"paths/~1external~1messages/post/requestBody/content/application~1json/examples/MANIFEST_DATAAllFields":{"value":[{"asset_barcode":"1Z999AA10123456784","shipped_date":1759651200,"shipment_id":"SHP-100234","container_id":"CONT-77"},{"asset_barcode":"1Z999AA10123456785","shipped_date":1759651260,"shipment_id":"SHP-100235","container_id":"CONT-78"}],"key":"MANIFEST_DATAAllFields","summary":"Manifest data message, all fields","id":"paths/~1external~1messages/post/requestBody/content/application~1json/examples/MANIFEST_DATAAllFields"},"paths/~1external~1messages/post/requestBody/content/application~1json/examples/MANIFEST_DATA":{"value":[{"asset_barcode":"1Z999AA10123456784","shipped_date":1759651200}],"key":"MANIFEST_DATA","summary":"Manifest data message, required fields only","id":"paths/~1external~1messages/post/requestBody/content/application~1json/examples/MANIFEST_DATA"},"paths/~1external~1messages/post/requestBody/content/application~1json/examples/CARGOIQ_DATA_bookingAllFields":{"value":{"bookingPublishEvent":{"bookingDetails":{"awb":"006-12345675","origin":"ATL","destination":"LHR","product":"GEN","specialHandlingCodes":["EAP","SPX","ELI"],"timeOfAvailability":"2026-10-07T09:00:00+01:00","latestAcceptanceTime":"2026-10-06T14:00:00-04:00","shipmentDetails":[{"pieces":3},{"pieces":2}],"flights":[{"departureAirport":"ATL","arrivalAirport":"JFK","flightCarrier":"DL","flightNumber":"0412","sta":"2026-10-06T17:10:00-04:00","std":"2026-10-06T15:00:00-04:00"},{"departureAirport":"JFK","arrivalAirport":"LHR","flightCarrier":"DL","flightNumber":"0001","sta":"2026-10-07T07:30:00+01:00","std":"2026-10-06T19:00:00-04:00"}],"shipper":{"code":"SHP01","name":"Acme Exports","address":"1 Peachtree St","city":"Atlanta","state":"GA","postCode":"30303","country":"US","telephone":"+14045550100","email":"ops@acme.example","station":"ATL"}}}},"key":"CARGOIQ_DATA_bookingAllFields","summary":"Booking message, all fields","id":"paths/~1external~1messages/post/requestBody/content/application~1json/examples/CARGOIQ_DATA_bookingAllFields"},"paths/~1external~1messages/post/requestBody/content/application~1json/examples/CARGOIQ_DATA_booking":{"value":{"bookingPublishEvent":{"bookingDetails":{"awb":"006-12345675","origin":"ATL","destination":"JFK","product":"GEN","specialHandlingCodes":[],"timeOfAvailability":null,"latestAcceptanceTime":null,"shipmentDetails":[{"pieces":5}],"flights":[{"departureAirport":"ATL","arrivalAirport":"JFK","flightCarrier":null,"flightNumber":null,"sta":null,"std":null}],"shipper":null}}},"key":"CARGOIQ_DATA_booking","summary":"Booking message, nullable fields null","id":"paths/~1external~1messages/post/requestBody/content/application~1json/examples/CARGOIQ_DATA_booking"},"paths/~1external~1messages/post/requestBody/content/application~1json/examples/CARGOIQ_DATA_statusAllFields":{"value":{"messageHeaderDocument":{"name":{"value":"Status Message"},"id":{"value":"006-12345675"},"issueDateTime":1759755600},"masterConsignment":{"originLocation":{"id":{"value":"ATL"}},"reportedStatus":[{"reasonCode":{"value":"DIS"},"associatedStatusConsignment":[{"pieceQuantity":{"value":5},"handlingOSIInstructions":[{"description":{"value":"SHC EAP"}},{"description":{"value":"PRODUCT-GEN"}}],"specifiedLogisticsTransportMovement":[{"id":{"value":"DL0412"},"specifiedEvent":{"occurrenceDateTime":1759777200},"specifiedLocation":[{"id":{"value":"ATL"}}]}]}]}]}},"key":"CARGOIQ_DATA_statusAllFields","summary":"Status message, all fields","id":"paths/~1external~1messages/post/requestBody/content/application~1json/examples/CARGOIQ_DATA_statusAllFields"},"paths/~1external~1messages/post/requestBody/content/application~1json/examples/CARGOIQ_DATA_status":{"value":{"messageHeaderDocument":{"name":{"value":"Status Message"},"id":{"value":"006-12345675"},"issueDateTime":1759755600},"masterConsignment":{"originLocation":{"id":{"value":"ATL"}},"reportedStatus":[{"reasonCode":{"value":"RCS"},"associatedStatusConsignment":[{"pieceQuantity":{"value":5},"handlingOSIInstructions":[],"specifiedLogisticsTransportMovement":[{"id":{"value":null},"specifiedEvent":{"occurrenceDateTime":1759755000},"specifiedLocation":[{"id":{"value":"ATL"}}]}]}]}]}},"key":"CARGOIQ_DATA_status","summary":"Status message, minimal","id":"paths/~1external~1messages/post/requestBody/content/application~1json/examples/CARGOIQ_DATA_status"},"paths/~1external~1messages/post/requestBody/content/application~1json/examples/MILESTONEAllFields":{"value":{"milestone_type":"DELIVERED","occurred_at":"2026-10-05T14:30:00Z","data":{"timezone":{"name":"America/New_York","utcOffset":"-04:00"},"facility":"ATL-HUB-1","dock":"D7","lat":33.6407,"lon":-84.4277,"signature_captured":true,"notes":null},"devices":[{"type":"qrcode","value":"TRK0A1B2C3D4","occurred_at":"2026-10-05T14:30:05Z","data":{"seal_intact":true}},{"type":"tape_id","value":"C47F510A129E","occurred_at":"2026-10-05T14:30:40Z","data":{"dock":"D8","pieces":2}},{"type":"asset_barcode","value":"1Z999AA10123456784","data":{"remark":null}}]},"key":"MILESTONEAllFields","summary":"Milestone message, all fields","id":"paths/~1external~1messages/post/requestBody/content/application~1json/examples/MILESTONEAllFields"},"paths/~1external~1messages/post/requestBody/content/application~1json/examples/MILESTONE":{"value":{"milestone_type":"DELIVERED","occurred_at":"2026-10-05T14:30:00Z","data":{},"devices":[{"type":"qrcode","value":"TRK0A1B2C3D4"}]},"key":"MILESTONE","summary":"Milestone message, minimal","id":"paths/~1external~1messages/post/requestBody/content/application~1json/examples/MILESTONE"},"paths/~1external~1messages/post/requestBody/content/application~1json/examples/MILESTONE_undoAllFields":{"value":{"milestone_type":null,"occurred_at":"2026-10-05T15:00:00Z","data":{"timezone":{"name":"America/New_York","utcOffset":"-04:00"},"undo_reason":"scanned in error"},"devices":[{"type":"tape_id","value":"C47F510A129E","occurred_at":"2026-10-05T15:00:00Z","data":{"operator":"jsmith"}}]},"key":"MILESTONE_undoAllFields","summary":"Milestone undo, all fields","id":"paths/~1external~1messages/post/requestBody/content/application~1json/examples/MILESTONE_undoAllFields"},"paths/~1external~1messages/post/requestBody/content/application~1json/examples/MILESTONE_undo":{"value":{"milestone_type":null,"occurred_at":"2026-10-05T15:00:00Z","data":{},"devices":[{"type":"tape_id","value":"C47F510A129E"}]},"key":"MILESTONE_undo","summary":"Milestone undo, minimal","id":"paths/~1external~1messages/post/requestBody/content/application~1json/examples/MILESTONE_undo"},"paths/~1external~1messages/post/requestBody/content/application~1json/examples/DATA_UPDATEAllFields":{"value":{"data":{"pickup_reference":"PU-998877","pickup_window_start":1759683600,"pickup_confirmed":true,"pickup_notes":"Call ahead"},"devices":[{"type":"qrcode","value":"TRK0A1B2C3D4"},{"type":"tape_id","value":"C47F510A129E"},{"type":"asset_barcode","value":"1Z999AA10123456784"},{"type":"qrcode","value":"TRK0MISSING01"},{"type":"asset_barcode","value":"1Z999AA10123456790"},{"type":"tape_id","value":"C47F510A12A0"}],"occurred_at":"2026-10-05T14:30:00Z"},"key":"DATA_UPDATEAllFields","summary":"Data update message, all fields","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" keys shown are examples; send the keys configured for your account."},"children":[]}]}]}],"id":"paths/~1external~1messages/post/requestBody/content/application~1json/examples/DATA_UPDATEAllFields"},"paths/~1external~1messages/post/requestBody/content/application~1json/examples/DATA_UPDATE":{"value":{"data":{"pickup_reference":"PU-998877"},"devices":[{"type":"qrcode","value":"TRK0A1B2C3D4"},{"type":"asset_barcode","value":"1Z999AA10123456784"}]},"key":"DATA_UPDATE","summary":"Data update message, minimal","id":"paths/~1external~1messages/post/requestBody/content/application~1json/examples/DATA_UPDATE"},"paths/~1external~1messages/post/requestBody/content/application~1json/examples/ACCAllFields":{"value":{"message_type":"ACC","awb":"810-24158890","timestamp":"2026-02-24T13:09:35Z","lpns":[{"lpn":"LPN1234","pcs":4},{"lpn":"LPN1235","pcs":2}]},"key":"ACCAllFields","summary":"Acceptance milestone, no message_type header needed","id":"paths/~1external~1messages/post/requestBody/content/application~1json/examples/ACCAllFields"},"paths/~1external~1messages/post/requestBody/content/application~1json/examples/ACC":{"value":{"message_type":"ACC","awb":"810-24158890","timestamp":"2026-02-24T13:09:35Z","lpns":[{"lpn":"LPN1234","pcs":4}]},"key":"ACC","summary":"Acceptance milestone, one LPN","id":"paths/~1external~1messages/post/requestBody/content/application~1json/examples/ACC"},"paths/~1external~1messages/post/requestBody/content/application~1json/examples/BUPAllFields":{"value":{"message_type":"BUP","uld":"PMC82345BR","timestamp":"2026-02-24T15:40:00Z","total_pcs":6,"lpn":"ULDLPN9001","awbs":["810-24158890"],"completed_lpn":["LPN1234","LPN1235"]},"key":"BUPAllFields","summary":"Build-up milestone, all fields","id":"paths/~1external~1messages/post/requestBody/content/application~1json/examples/BUPAllFields"},"paths/~1external~1messages/post/requestBody/content/application~1json/examples/BUP":{"value":{"message_type":"BUP","uld":"PMC82345BR","timestamp":"2026-02-24T15:40:00Z","total_pcs":6,"lpn":"ULDLPN9001","awbs":[],"completed_lpn":[]},"key":"BUP","summary":"Build-up milestone, empty lists","id":"paths/~1external~1messages/post/requestBody/content/application~1json/examples/BUP"},"paths/~1external~1messages/post/requestBody/content/application~1json/examples/FIW":{"value":{"message_type":"FIW","uld":"PMC82345BR","timestamp":"2026-02-26T08:10:00Z","total_pcs":6,"lpn":"ULDLPN9001"},"key":"FIW","summary":"Freight-in-warehouse milestone, all fields are required","id":"paths/~1external~1messages/post/requestBody/content/application~1json/examples/FIW"},"paths/~1external~1messages/post/requestBody/content/application~1json/examples/BCLAllFields":{"value":{"message_type":"BCL","uld":"PMC82345BR","awb":"810-24158890","timestamp":"2026-02-26T09:20:00Z","total_pcs":6,"lpn_list":[{"lpn":"LPN1234","location":"RAMP"},{"lpn":"LPN1235","location":"AISLE-4"}]},"key":"BCLAllFields","summary":"Breakdown milestone, all fields","id":"paths/~1external~1messages/post/requestBody/content/application~1json/examples/BCLAllFields"},"paths/~1external~1messages/post/requestBody/content/application~1json/examples/BCL":{"value":{"message_type":"BCL","uld":"PMC82345BR","awb":"810-24158890","timestamp":"2026-02-26T09:20:00Z","total_pcs":4,"lpn_list":[{"lpn":"LPN1234","location":"RAMP"}]},"key":"BCL","summary":"Breakdown milestone, one LPN","id":"paths/~1external~1messages/post/requestBody/content/application~1json/examples/BCL"},"paths/~1external~1messages/post/requestBody/content/application~1json/examples/DLV":{"value":{"message_type":"DLV","awb":"810-24158890","timestamp":"2026-02-26T13:30:00Z","total_pcs":6},"key":"DLV","summary":"Delivery milestone, all fields are required","id":"paths/~1external~1messages/post/requestBody/content/application~1json/examples/DLV"},"paths/~1external~1messages/post/responses/200/content/application~1json/examples/allFields":{"value":{"message":"Successfully processed the message","code":200,"updated":2,"failed":[{"value":"1Z999AA10123456784","reason":"no_pickup_details"},{"value":"TRK0MISSING01","reason":"not_found"},{"value":"1Z999AA10123456790","reason":"ambiguous"},{"value":"C47F510A12A0","reason":"update_failed"}]},"key":"allFields","summary":"Result of the data update all-fields request with one of each failure reason","id":"paths/~1external~1messages/post/responses/200/content/application~1json/examples/allFields"},"paths/~1external~1messages/post/responses/200/content/application~1json/examples/partial":{"value":{"message":"Successfully processed the message","code":200,"updated":1,"failed":[{"value":"1Z999AA10123456784","reason":"no_pickup_details"}]},"key":"partial","summary":"Result of the minimal data update request","id":"paths/~1external~1messages/post/responses/200/content/application~1json/examples/partial"},"paths/~1external~1messages/post/responses/201/content/application~1json/examples/allFields":{"value":{"message":"Successfully processed the message","code":201,"correlation_id":"5f0c2b8e-6a51-4f7e-9d0e-1c2b3a4d5e6f","sequence_check":[{"lpn":"LPN1234","result":"IN_SEQUENCE","message_type":"DLV","missing_prerequisites":[],"present":["ACC","BUP","FIW","BCL"],"delivery":{"group":"810-24158890","expected":1,"delivered":1,"complete":true,"overflow":false}},{"lpn":"LPN1235","result":"OUT_OF_SEQUENCE","message_type":"DLV","missing_prerequisites":["BCL"],"present":["ACC","BUP"],"reason":"Accepted and processed, but received out of sequence: prerequisite(s) BCL not yet received before DLV.","delivery":{"group":"810-24158890","expected":null,"delivered":1,"complete":false,"overflow":false}}]},"key":"allFields","summary":"Delivery milestone: one LPN fully delivered, one LPN still missing its breakdown","id":"paths/~1external~1messages/post/responses/201/content/application~1json/examples/allFields"},"paths/~1external~1messages/post/responses/201/content/application~1json/examples/accepted":{"value":{"message":"Successfully processed the message","code":201},"key":"accepted","summary":"Header-selected message accepted","id":"paths/~1external~1messages/post/responses/201/content/application~1json/examples/accepted"},"paths/~1external~1messages/post/responses/201/content/application~1json/examples/cargoIqFlightsNotChained":{"value":{"message":"Successfully processed the message.","code":201},"key":"cargoIqFlightsNotChained","summary":"Booking whose flights don't chain from origin to destination, not processed","id":"paths/~1external~1messages/post/responses/201/content/application~1json/examples/cargoIqFlightsNotChained"},"paths/~1external~1messages/post/responses/201/content/application~1json/examples/wfsAccInSequence":{"value":{"message":"Successfully processed the message","code":201,"correlation_id":"5f0c2b8e-6a51-4f7e-9d0e-1c2b3a4d5e6f","sequence_check":[{"lpn":"LPN1234","result":"IN_SEQUENCE","message_type":"ACC","missing_prerequisites":[],"present":[]},{"lpn":"LPN1235","result":"IN_SEQUENCE","message_type":"ACC","missing_prerequisites":[],"present":[]}]},"key":"wfsAccInSequence","summary":"Acceptance milestone (all-fields request) on two labelled LPN entries","id":"paths/~1external~1messages/post/responses/201/content/application~1json/examples/wfsAccInSequence"},"paths/~1external~1messages/post/responses/201/content/application~1json/examples/wfsBclOutOfSequence":{"value":{"message":"Successfully processed the message","code":201,"correlation_id":"5f0c2b8e-6a51-4f7e-9d0e-1c2b3a4d5e6f","sequence_check":[{"lpn":"LPN1234","result":"OUT_OF_SEQUENCE","message_type":"BCL","missing_prerequisites":["FIW"],"present":["ACC","BUP"],"reason":"Accepted and processed, but received out of sequence: prerequisite(s) FIW not yet received before BCL."}]},"key":"wfsBclOutOfSequence","summary":"Breakdown milestone for one LPN before the freight-in-warehouse message was received","id":"paths/~1external~1messages/post/responses/201/content/application~1json/examples/wfsBclOutOfSequence"},"paths/~1external~1messages/post/responses/201/content/application~1json/examples/wfsDlvDelivery":{"value":{"message":"Successfully processed the message","code":201,"correlation_id":"5f0c2b8e-6a51-4f7e-9d0e-1c2b3a4d5e6f","sequence_check":[{"lpn":"LPN1234","result":"IN_SEQUENCE","message_type":"DLV","missing_prerequisites":[],"present":["ACC","BUP","FIW","BCL","DLV"],"delivery":{"group":"810-24158890","expected":2,"delivered":2,"complete":true,"overflow":false}},{"lpn":"LPN1235","result":"IN_SEQUENCE","message_type":"DLV","missing_prerequisites":[],"present":["ACC","BUP","FIW","BCL","DLV"],"delivery":{"group":"810-24158890","expected":2,"delivered":2,"complete":true,"overflow":false}}]},"key":"wfsDlvDelivery","summary":"Second delivery for an AWB whose breakdown listed two LPN entries, delivery complete","id":"paths/~1external~1messages/post/responses/201/content/application~1json/examples/wfsDlvDelivery"},"paths/~1external~1messages/post/responses/201/content/application~1json/examples/wfsDlvOverflow":{"value":{"message":"Successfully processed the message","code":201,"correlation_id":"5f0c2b8e-6a51-4f7e-9d0e-1c2b3a4d5e6f","sequence_check":[{"lpn":"LPN1234","result":"IN_SEQUENCE","message_type":"DLV","missing_prerequisites":[],"present":["ACC","BUP","FIW","BCL","DLV"],"delivery":{"group":"810-24158890","expected":2,"delivered":3,"complete":true,"overflow":true}}]},"key":"wfsDlvOverflow","summary":"Third delivery for the same AWB with more deliveries than expected","id":"paths/~1external~1messages/post/responses/201/content/application~1json/examples/wfsDlvOverflow"},"paths/~1external~1messages/post/responses/201/content/application~1json/examples/wfsFiwHeld":{"value":{"message":"Successfully processed the message","code":201,"correlation_id":"5f0c2b8e-6a51-4f7e-9d0e-1c2b3a4d5e6f","sequence_check":[]},"key":"wfsFiwHeld","summary":"Freight-in-warehouse milestone, held until the breakdown arrives","id":"paths/~1external~1messages/post/responses/201/content/application~1json/examples/wfsFiwHeld"},"paths/~1external~1messages/post/responses/201/content/application~1json/examples/wfsConfigNotFound":{"value":{"message":"Successfully processed the message","code":201,"correlation_id":"5f0c2b8e-6a51-4f7e-9d0e-1c2b3a4d5e6f","sequence_check":[{"lpn":"LPN1234","result":"CONFIG_NOT_FOUND","message_type":"ACC","missing_prerequisites":[],"present":[]}]},"key":"wfsConfigNotFound","summary":"Acceptance milestone for one LPN on an account without a sequence configuration","id":"paths/~1external~1messages/post/responses/201/content/application~1json/examples/wfsConfigNotFound"},"paths/~1external~1messages/post/responses/400/content/application~1json/examples/invalidPayload":{"value":{"message":"Invalid payload","code":400},"key":"invalidPayload","summary":"Empty body","id":"paths/~1external~1messages/post/responses/400/content/application~1json/examples/invalidPayload"},"paths/~1external~1messages/post/responses/400/content/application~1json/examples/invalidMessageType":{"value":{"message":"Invalid message_type in headers","code":400},"key":"invalidMessageType","summary":"Missing or unknown message_type header","id":"paths/~1external~1messages/post/responses/400/content/application~1json/examples/invalidMessageType"},"paths/~1external~1messages/post/responses/400/content/application~1json/examples/missingTenantHeaders":{"value":{"message":"Missing required headers: customer_id, authorized_groups","code":400},"key":"missingTenantHeaders","summary":"Warehouse milestone or data update without the customer and group headers","id":"paths/~1external~1messages/post/responses/400/content/application~1json/examples/missingTenantHeaders"},"paths/~1external~1messages/post/responses/400/content/application~1json/examples/wfsValidationFailed":{"value":{"message":"Validation failed","code":400,"errors":[{"field":"awb","message":"must match format"},{"field":"timestamp","message":"expected ISO 8601 UTC datetime (e.g. 2026-02-24T13:09:35Z)"},{"field":"lpns[0].pcs","message":"Too small: expected number to be >0"}]},"key":"wfsValidationFailed","summary":"Warehouse milestone with field errors","id":"paths/~1external~1messages/post/responses/400/content/application~1json/examples/wfsValidationFailed"},"paths/~1external~1messages/post/responses/400/content/application~1json/examples/wfsUnknownTopLevelKey":{"value":{"message":"Validation failed","code":400,"errors":[{"field":"","message":"Unrecognized key: \"flight\""}]},"key":"wfsUnknownTopLevelKey","summary":"Warehouse milestone with an unknown top-level field","id":"paths/~1external~1messages/post/responses/400/content/application~1json/examples/wfsUnknownTopLevelKey"},"paths/~1external~1messages/post/responses/400/content/application~1json/examples/dataUpdateSchemaFailed":{"value":{"message":"Validation failed","code":400,"errors":[{"field":"data","message":"At least one field is required"},{"field":"devices","message":"Too small: expected array to have >=1 items"}]},"key":"dataUpdateSchemaFailed","summary":"Data update with empty data and devices","id":"paths/~1external~1messages/post/responses/400/content/application~1json/examples/dataUpdateSchemaFailed"},"paths/~1external~1messages/post/responses/400/content/application~1json/examples/dataUpdateFieldsRejected":{"value":{"message":"Validation failed","code":400,"errors":[{"field":"data.carrier_notes","message":"Unsupported field"},{"field":"data.pickup_window_start","message":"Expected number"},{"field":"data.pickup_reference","message":"Value does not match the required format"}]},"key":"dataUpdateFieldsRejected","summary":"Data update with data keys not accepted for your account","id":"paths/~1external~1messages/post/responses/400/content/application~1json/examples/dataUpdateFieldsRejected"},"paths/~1external~1messages/post/responses/400/content/application~1json/examples/invalidPayloadFormat":{"value":{"message":"Invalid payload format","code":400},"key":"invalidPayloadFormat","summary":"Manifest data or milestone body doesn't match the schema","id":"paths/~1external~1messages/post/responses/400/content/application~1json/examples/invalidPayloadFormat"},"paths/~1external~1messages/post/responses/400/content/application~1json/examples/invalidBookingPayloadFormat":{"value":{"message":"Invalid booking payload format","code":400},"key":"invalidBookingPayloadFormat","summary":"Booking or status message doesn't match the schema","id":"paths/~1external~1messages/post/responses/400/content/application~1json/examples/invalidBookingPayloadFormat"},"paths/~1external~1messages/post/responses/400/content/application~1json/examples/invalidInput":{"value":{"message":"Invalid input","code":400},"key":"invalidInput","summary":"Device data message without an identifier","id":"paths/~1external~1messages/post/responses/400/content/application~1json/examples/invalidInput"},"paths/~1external~1messages/post/responses/400/content/application~1json/examples/milestoneAmbiguousDevice":{"value":{"message":"Ambiguous device identifier: asset_barcode=1Z999AA10123456784 matched multiple devices","code":400},"key":"milestoneAmbiguousDevice","summary":"Milestone identifier matches several devices","id":"paths/~1external~1messages/post/responses/400/content/application~1json/examples/milestoneAmbiguousDevice"},"paths/~1external~1messages/post/responses/400/content/application~1json/examples/milestoneMissingMappedField":{"value":{"message":"Missing required field 'dock' mapped from device_event_mapping column 'location'","code":400},"key":"milestoneMissingMappedField","summary":"Milestone without the data key your account uses for the event location","id":"paths/~1external~1messages/post/responses/400/content/application~1json/examples/milestoneMissingMappedField"},"paths/~1external~1messages/post/responses/401/content/application~1json/example":{"value":{"message":"Unauthorized access","code":401},"id":"paths/~1external~1messages/post/responses/401/content/application~1json/example"},"paths/~1external~1messages/post/responses/404/content/application~1json/examples/dataNotFound":{"value":{"message":"Data not found","code":404},"key":"dataNotFound","summary":"Device data message: device not found","id":"paths/~1external~1messages/post/responses/404/content/application~1json/examples/dataNotFound"},"paths/~1external~1messages/post/responses/404/content/application~1json/examples/deviceNotFound":{"value":{"message":"Device not found","code":404},"key":"deviceNotFound","summary":"Milestone message: device not found","id":"paths/~1external~1messages/post/responses/404/content/application~1json/examples/deviceNotFound"},"paths/~1external~1messages/post/responses/404/content/application~1json/examples/dataUpdateNotConfigured":{"value":{"message":"Data update is not configured for this account","code":404},"key":"dataUpdateNotConfigured","summary":"Data update not enabled for the account","id":"paths/~1external~1messages/post/responses/404/content/application~1json/examples/dataUpdateNotConfigured"},"paths/~1external~1messages/post/responses/404/content/application~1json/examples/noShipmentUpdated":{"value":{"message":"No shipment was updated","code":404,"updated":0,"failed":[{"value":"TRK0A1B2C3D4","reason":"no_pickup_details"},{"value":"1Z999AA10123456784","reason":"not_found"}]},"key":"noShipmentUpdated","summary":"Data update where no device could be updated","id":"paths/~1external~1messages/post/responses/404/content/application~1json/examples/noShipmentUpdated"},"paths/~1external~1messages/post/responses/500/content/application~1json/example":{"value":{"message":"An internal server error occurred during processing message.","code":500},"id":"paths/~1external~1messages/post/responses/500/content/application~1json/example"}},"securitySchemeStore":{"bearerAuth":{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token from the token URL issued for your environment at onboarding. Send it on"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"every call as "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Authorization: Bearer <access_token>"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". The token URL, client ID and"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"audience are different for each environment."},"children":[]}]}]}]}},"servers":[{"url":"/_mock/external-api/trackonomy-external-api","isMockServer":true,"description":"Mock server"},{"url":"https://api.trackonomy.com","description":"Production"},{"url":"https://ppe.api.trackonomy.com","description":"PPE (integration testing)"}],"specType":"openapi"},"options":{"mockServer":{"url":"/_mock/external-api/trackonomy-external-api","position":"first","description":"Mock server"},"disableRouter":true,"downloadUrls":[{"url":"/_bundle/external-api/@v1.8/trackonomy-external-api.json?download"},{"url":"/_bundle/external-api/@v1.8/trackonomy-external-api.yaml?download"}],"excludeFromSearch":false,"rbac":{"admin":"admin","external_developers":"read","anonymous":"read"},"replayFeatures":{"graphql":false},"specType":"openapi","markdocOptions":{"tags":{},"nodes":{},"components":{}},"metadata":{"title":"Trackonomy External API","description":"The Trackonomy External API lets you label and manage Trackonomy devices, decode their BLE packets, read the latest location and environmental data of tracked assets, and send integration messages from your systems.\n\n* **Label** devices to activate them on the Trackonomy platform, edit labels, and look labels up: `POST`, `PUT` and `GET /external/v1/devices/label`.\n* **Deactivate** devices: `POST /external/v1/devices/status`.\n* **Configure** devices' firmware settings and metadata: `POST /external/v1/devices/config`.\n* **Decode** Trackonomy BLE packets: `POST /external/v1/devices/{mac_id}/decode` and `POST /external/v1/devices/decode`.\n* **Read** the latest location and environmental data of an asset: `GET /external/locations/{asset_id}`.\n* **Send** integration messages (manifests, milestones, partner updates): `POST /external/messages`.\n\nNote: all cURL requests in this reference are examples.\n\n## Environments\n\n| Environment | Use | Base URL | Token URL, client ID and audience |\n|---|---|---|---|\n| PPE | Integration testing | `https://ppe.api.trackonomy.com` | Issued with your PPE credentials. |\n| Production | Live devices | `https://api.trackonomy.com` | Issued with your production credentials. |\n\nEach environment has its own token URL, client ID, audience and credentials. A token issued for one environment is rejected by the other. Paths in this reference are appended to the base URL exactly as written.\n\n## Authentication\n\nTrackonomy issues you an API identity during onboarding, together with the token URL and audience for each environment. Request an access token from the token URL, then send it on every call as a bearer token. Cache the token until it expires, and request a new one if a call returns `401`.\n\n### Request a token\n\nUse the password grant with the username, password, client ID and audience issued to you for that environment.\n\n```\nPOST <token_url>\nContent-Type: application/x-www-form-urlencoded\n\ngrant_type=password\n&username=<username>\n&password=<password>\n&client_id=<client_id>\n&audience=<audience>\n```\n\n```\n200 OK\n{\n  \"access_token\": \"eyJhbGciOi...\",\n  \"token_type\": \"Bearer\",\n  \"expires_in\": 86400\n}\n```\n\n`expires_in` is in seconds; the value shown is an example.\n\n### Call the API\n\n```\nAuthorization: Bearer <access_token>\nContent-Type: application/json\n```\n\n**Label, edit label, get labels, deactivate and configuration** resolve your account from the access token, so no other identity headers are needed. If your API identity has access to more than one account, also send `customer_id` and `authorized_group` to choose one.\n\n**Decode, locations and messages** take your account from the `customer_id` and `authorized_groups` headers, which each of those operations lists.\n\n### Permissions\n\nEach endpoint requires a specific permission on your API identity. Trackonomy configures these during onboarding, and they are carried in the access token. If a call returns `401` even with a fresh token, your identity may not be granted that action: contact your Trackonomy integration contact.\n\n## Conventions\n\n| Topic | Behaviour |\n|---|---|\n| Rate limit | Label, edit label, get labels, deactivate and configuration share one limit: 10 requests per fixed 60-second window per API identity. Requests later rejected with `400` or `401` for a missing permission also count. Over the limit returns `429 {\"message\": \"Too many requests\"}`. Decode, locations and messages have no per-identity limit. Contact Trackonomy if your volume needs a higher limit. |\n| Batch sizes | Label, edit label and get labels: 1 to 20 devices. Deactivate and configuration: 1 to 100 devices. Bulk decode: up to 250 packets. In label, edit label, deactivate and configuration requests a QR code may appear only once; in bulk decode each `mac_id` may appear only once. |\n| Partial success | Multi-device calls return `207 Multi-Status` when some devices succeed and others fail. `errors` holds one `{ \"qrcode\", \"error_code\" }` per failed device; `successful` and `failed` are counts. `207` is also returned when every device failed, except for label: when every device fails with `QRMAC_NOT_FOUND` the response is `400` with the same body. An empty `errors` array means every device succeeded. Branch on `error_code`, never on `message`. |\n| Error responses | Whole-request failures return a JSON body with `message` and `code` (`429` carries only `message`). Validation failures return `400 {\"message\": \"Validation failed\", \"code\": 400, \"errors\": [...]}` and nothing is changed. A missing, expired or wrong-environment token, a token without the required permission, a body that isn't valid JSON, or a body over 50 MB returns `401 {\"message\": \"Unauthorized access\", \"code\": 401}`. |\n| Retries | Retry `429`, `500`, `503` and timeouts with exponential backoff. See each operation for whether a retry is safe. |\n| Idempotency: label | No idempotency key. Labelling an already-labelled device returns `ALREADY_LABELLED` for that device; send `override: true` to update its label instead. |\n| Idempotency: deactivate | No idempotency key. Deactivating an already `DEACTIVATED` device returns `ALREADY_IN_TARGET_STATE`; treat it as success. |\n| Request IDs | Send an optional `correlation_id` header on any call so Trackonomy support can trace it. |\n\n## Device lifecycle\n\nLabelling activates a device; deactivation takes it out of service. The main states are:\n\n| Status | Meaning | How it gets there |\n|---|---|---|\n| `NOT_ACTIVATED` | Registered by Trackonomy but not labelled, so not linked to your account. | Before labelling. |\n| `ACTIVATED` | Labelled and linked to your account; its events are processed. | `POST /external/v1/devices/label`. |\n| `DEACTIVATED` | No longer active. | `POST /external/v1/devices/status` with `DEACTIVATE`. |\n\n`GET /external/v1/devices/label` can also report `FORCE_ACTIVATED`, `ACTIVE_WITH_NO_ALERTS`, `REJECTED` and `REUSE_OR_EXPIRED`, which Trackonomy sets.\n\n* Labelling an already-labelled device without `override` returns `ALREADY_LABELLED`.\n* `DEACTIVATE` succeeds for `ACTIVATED`, `FORCE_ACTIVATED` and `ACTIVE_WITH_NO_ALERTS` devices. A `DEACTIVATED` device returns `ALREADY_IN_TARGET_STATE`; any other status returns `INVALID_TRANSITION`.\n* Labelling a `DEACTIVATED` device with `override: true` updates its label but does **not** reactivate it. This API documents no reactivation action; to reactivate a device, contact Trackonomy.\n"}},"baseSlug":"/external-api/trackonomy-external-api","routesMapping":{}}