{"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.7/trackonomy-external-api.json?download"},{"kind":"download","label":"trackonomy-external-api.yaml","url":"/_bundle/external-api/@v1.7/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},{"description":"PPE API for Locations data","url":"https://ppe.api.trackonomy.com/external"},{"description":"PPE API for Historical data","url":"https://ppe.mt.trackonomysystems.com"}],"mode":"default"}]}],"children":[{"nodeType":"overview-section-wrapper","children":[{"nodeType":"header","level":1,"label":"Trackonomy External API (1.4.0.0)","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":"External APIs are meant for interacting with Trackonomy Platform. New endpoints will be added regularly. Current APIs enable the following:"},"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":"retrieve location and environmental data for assets tracked with Trackonomy tapes."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"activate tapes using API."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"decode Trackonomy BLE packets"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"send various messages from third party systems for integration purposes"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Locations endpoint can be used for the latest event, Historical data endpoint reveals also older data with about 15 minute delay."},"children":[]}]}]}]}],"sectionId":"/external-api/trackonomy-external-api"}],"sectionId":"/external-api/trackonomy-external-api"}]}]}},{"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":"Request the latest event with location and environmental data"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"get-location","name":"Request the latest event with location and environmental data","isWebhook":false,"pointer":"/paths/~1locations~1{asset_id}/get","hasSamples":false},"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":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"asset_id","in":"path","schemaId":"schema_127","description":"AWB when fetching location only, for environmental data, use your asset id associated to Trackonomy tape.","required":true}],"pointer":"/paths/~1locations~1{asset_id}/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"event","in":"query","schemaId":"schema_128","description":"Enable sensor readings in the response, required for non-AWB asset id"}],"pointer":"/paths/~1locations~1{asset_id}/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"customer_id","in":"header","schemaId":"schema_127","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"customer_id for the request"},"children":[]}]}]}],"required":true},{"name":"authorized_groups","in":"header","schemaId":"schema_127","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"authorized_groups for access control"},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1locations~1{asset_id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/locations/{asset_id}","servers":[{"url":"/_mock/external-api/trackonomy-external-api","description":"Mock server","isMockServer":true},{"url":"https://ppe.api.trackonomy.com/external","description":"PPE API for Locations data"},{"url":"https://ppe.mt.trackonomysystems.com","description":"PPE API for Historical data"}],"parameters":{"path":[{"name":"asset_id","in":"path","required":true,"schemaId":"schema_127"}],"query":[{"name":"event","in":"query","required":false,"schemaId":"schema_128"}],"querystring":[],"header":[{"name":"customer_id","in":"header","required":true,"schemaId":"schema_127"},{"name":"authorized_groups","in":"header","required":true,"schemaId":"schema_127"}],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","404","500"],"pointer":"/locations/{asset_id}","href":"locations/get-location","openApiOperationId":"get-location","summary":"Request the latest event with location and environmental data"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/external-api/trackonomy-external-api","description":"Mock server","isMockServer":true},{"url":"https://ppe.api.trackonomy.com/external","description":"PPE API for Locations data"},{"url":"https://ppe.mt.trackonomysystems.com","description":"PPE API for Historical data"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Latest event for the specific asset, including location and optionally environmental data","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/LocationEvent"}},"schemaId":"components/schemas/LocationEvent"},{"code":"400","description":"Bad Request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"},{"code":"404","description":"Resource Not Found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"},{"code":"500","description":"Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"}],"pointer":"/paths/~1locations~1{asset_id}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/LocationEvent","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/LocationEvent"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/locations/get-location"}],"panels":[]}]},"httpPath":"/locations/{asset_id}"}],"content":{"contentType":"group","meta":{"name":"Locations"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Locations","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This API allows to request location and environmental data for assets tracked with Trackonomy tapes."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"em","inline":true,"attributes":{"marker":"*"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"available sensor data"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" depends on the exact model of tape used and sensor configuration applied to the specific device. Value -255 indicates sensor unavailability."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"em","inline":true,"attributes":{"marker":"*"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"location_detailed"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" info can only be returned if Trackonomy indoor network is used by customer at the given location."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/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":"Historical data","link":"/external-api/trackonomy-external-api/historical-data","routeSlug":"/external-api/trackonomy-external-api/historical-data","items":[{"label":"Request historical location and environmental data","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/external-api/trackonomy-external-api/historical-data/post-historical-data","routeSlug":"/external-api/trackonomy-external-api/historical-data/post-historical-data","metadata":{"seo":{"title":"Request historical location and environmental data","description":"Returns historical data."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"post-historical-data","name":"Request historical location and environmental data","isWebhook":false,"pointer":"/paths/~1agent-service~1v1~1agent~1exec~1e4735852-45a4-4d73-a4b4-b13b60fc5dfe/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Request historical 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":"Returns historical data."},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"customer_id","in":"header","schemaId":"schema_129","description":"Customer ID for the request","required":true},{"name":"authorized_groups","in":"header","schemaId":"schema_130","description":"Authorized groups for access control","required":true}],"pointer":"/paths/~1agent-service~1v1~1agent~1exec~1e4735852-45a4-4d73-a4b4-b13b60fc5dfe/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_131"}},"schemaId":"schema_131","pointer":"/paths/~1agent-service~1v1~1agent~1exec~1e4735852-45a4-4d73-a4b4-b13b60fc5dfe/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/agent-service/v1/agent/exec/e4735852-45a4-4d73-a4b4-b13b60fc5dfe","servers":[{"url":"/_mock/external-api/trackonomy-external-api","description":"Mock server","isMockServer":true},{"url":"https://ppe.api.trackonomy.com/external","description":"PPE API for Locations data"},{"url":"https://ppe.mt.trackonomysystems.com","description":"PPE API for Historical data"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"customer_id","in":"header","required":true,"example":"c89c432b-12b7-4956-8be4-904a5e95df23","schemaId":"schema_129"},{"name":"authorized_groups","in":"header","required":true,"example":"cb2c60c7-9b47-41af-ab05-9d3fdbff44e5","schemaId":"schema_130"}],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_131"}},"responseCodes":["200","400","401","500"],"pointer":"/agent-service/v1/agent/exec/e4735852-45a4-4d73-a4b4-b13b60fc5dfe","href":"historical-data/post-historical-data","openApiOperationId":"post-historical-data","summary":"Request historical location and environmental data"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/external-api/trackonomy-external-api","description":"Mock server","isMockServer":true},{"url":"https://ppe.api.trackonomy.com/external","description":"PPE API for Locations data"},{"url":"https://ppe.mt.trackonomysystems.com","description":"PPE API for Historical data"}],"schemaId":"schema_131","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_131"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Historical location and environmental data","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_132"}},"schemaId":"schema_132"},{"code":"400","description":"Bad Request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_133"}},"schemaId":"schema_133"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"},{"code":"500","description":"Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"}],"pointer":"/paths/~1agent-service~1v1~1agent~1exec~1e4735852-45a4-4d73-a4b4-b13b60fc5dfe/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_132","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_132"}}},{"code":"400","schemaId":"schema_133","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_133"}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/historical-data/post-historical-data"}],"panels":[]}]},"httpPath":"/agent-service/v1/agent/exec/e4735852-45a4-4d73-a4b4-b13b60fc5dfe"}],"content":{"contentType":"group","meta":{"name":"Historical data"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Historical data","showPageActions":true},{"nodeType":"markdoc","content":"This endpoint allows requesting historical location and environmental data based on provided filters. Up to 1 year of history is available, at once maximum 1 month or 1000 events can be fetched. If no time frame provided, the latest event is returned."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/agent-service/v1/agent/exec/e4735852-45a4-4d73-a4b4-b13b60fc5dfe","summary":"Request historical location and environmental data","prefix":{"name":"post","color":"post"},"badges":[],"link":"/historical-data/post-historical-data","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 single device BLE packet","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 single device BLE packet","description":"Decodes a BLE packet from a single device and returns sensor data including temperature, battery, shock events, and other telemetry information."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"post-devices-decode","name":"Decode single device BLE packet","isWebhook":false,"pointer":"/paths/~1external~1v1~1devices~1{mac_id}~1decode/post","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Decode single device BLE packet","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Decodes a BLE packet from a single device and returns sensor data including temperature, battery, shock events, and other telemetry information."},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"mac_id","in":"path","schemaId":"schema_127","description":"Device MAC address","required":true,"example":"Trackonomy device macid"}],"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_127","description":"Customer identifier","required":true,"example":"Unique customer UUID"},{"name":"authorized_groups","in":"header","schemaId":"schema_127","description":"Authorized groups for access control","required":true,"example":"Unique customer sub-group UUID"},{"name":"product_id","in":"header","schemaId":"schema_127","description":"Product identifier","required":true,"example":"Unique Trackonomy device identifier"},{"name":"ble_packet","in":"header","schemaId":"schema_127","description":"BLE packet data to decode","required":true,"example":"Encoded Trackonomy device data"},{"name":"scan_time","in":"header","schemaId":"schema_127","description":"Scan timestamp","required":true,"example":"Event time"}],"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://ppe.api.trackonomy.com/external","description":"PPE API for Locations data"},{"url":"https://ppe.mt.trackonomysystems.com","description":"PPE API for Historical data"}],"parameters":{"path":[{"name":"mac_id","in":"path","required":true,"example":"Trackonomy device macid","schemaId":"schema_127"}],"query":[],"querystring":[],"header":[{"name":"customer_id","in":"header","required":true,"example":"Unique customer UUID","schemaId":"schema_127"},{"name":"authorized_groups","in":"header","required":true,"example":"Unique customer sub-group UUID","schemaId":"schema_127"},{"name":"product_id","in":"header","required":true,"example":"Unique Trackonomy device identifier","schemaId":"schema_127"},{"name":"ble_packet","in":"header","required":true,"example":"Encoded Trackonomy device data","schemaId":"schema_127"},{"name":"scan_time","in":"header","required":true,"example":"Event time","schemaId":"schema_127"}],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","404","500"],"pointer":"/external/v1/devices/{mac_id}/decode","href":"device-management/post-devices-decode","openApiOperationId":"post-devices-decode","summary":"Decode single device BLE packet"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/external-api/trackonomy-external-api","description":"Mock server","isMockServer":true},{"url":"https://ppe.api.trackonomy.com/external","description":"PPE API for Locations data"},{"url":"https://ppe.mt.trackonomysystems.com","description":"PPE API for Historical data"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Successfully decoded BLE packet","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_134"}},"schemaId":"schema_134"},{"code":"400","description":"Bad Request - Missing required parameters or invalid BLE packet","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_135"}},"schemaId":"schema_135"},{"code":"401","description":"Unauthorized - Invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_136"}},"schemaId":"schema_136"},{"code":"404","description":"Device not found or not associated with customer","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_137"}},"schemaId":"schema_137"},{"code":"500","description":"Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_138"}},"schemaId":"schema_138"}],"pointer":"/paths/~1external~1v1~1devices~1{mac_id}~1decode/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_134","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_134"}}},{"code":"400","schemaId":"schema_135","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_135"}}},{"code":"401","schemaId":"schema_136","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_136"}}},{"code":"404","schemaId":"schema_137","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_137"}}},{"code":"500","schemaId":"schema_138","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_138"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/device-management/post-devices-decode"}],"panels":[]}]},"httpPath":"/external/v1/devices/{mac_id}/decode"},{"label":"Decode multiple device BLE packets","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 multiple device BLE packets","description":"Processes multiple BLE packets from different devices in a single request. Ideal for bulk operations and batch processing."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"post-devices-decode-batch","name":"Decode multiple device BLE packets","isWebhook":false,"pointer":"/paths/~1external~1v1~1devices~1decode/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Decode multiple device BLE packets","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Processes multiple BLE packets from different devices in a single request. Ideal for bulk operations and batch processing."},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"customer_id","in":"header","schemaId":"schema_127","description":"Customer identifier","required":true,"example":"Unique customer UUID"},{"name":"authorized_groups","in":"header","schemaId":"schema_127","description":"Authorized groups for access control","required":true,"example":"Unique customer sub-group UUID"}],"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":"schema_139","exampleIds":["paths/~1external~1v1~1devices~1decode/post/requestBody/content/application~1json/example"]}},"schemaId":"schema_139","exampleIds":["paths/~1external~1v1~1devices~1decode/post/requestBody/content/application~1json/example"],"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://ppe.api.trackonomy.com/external","description":"PPE API for Locations data"},{"url":"https://ppe.mt.trackonomysystems.com","description":"PPE API for Historical data"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"customer_id","in":"header","required":true,"example":"Unique customer UUID","schemaId":"schema_127"},{"name":"authorized_groups","in":"header","required":true,"example":"Unique customer sub-group UUID","schemaId":"schema_127"}],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_139","exampleIds":["paths/~1external~1v1~1devices~1decode/post/requestBody/content/application~1json/example"]}},"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 multiple device BLE packets"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/external-api/trackonomy-external-api","description":"Mock server","isMockServer":true},{"url":"https://ppe.api.trackonomy.com/external","description":"PPE API for Locations data"},{"url":"https://ppe.mt.trackonomysystems.com","description":"PPE API for Historical data"}],"schemaId":"schema_139","exampleIds":["paths/~1external~1v1~1devices~1decode/post/requestBody/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_139","exampleIds":["paths/~1external~1v1~1devices~1decode/post/requestBody/content/application~1json/example"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Successfully processed bulk decode request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_140"}},"schemaId":"schema_140"},{"code":"400","description":"Bad Request - Missing required parameters or invalid request body","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_135"}},"schemaId":"schema_135"},{"code":"401","description":"Unauthorized - Invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_136"}},"schemaId":"schema_136"},{"code":"413","description":"Payload Too Large - Request body exceeds maximum allowed size","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_141"}},"schemaId":"schema_141"},{"code":"500","description":"Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_138"}},"schemaId":"schema_138"}],"pointer":"/paths/~1external~1v1~1devices~1decode/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_140","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_140"}}},{"code":"400","schemaId":"schema_135","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_135"}}},{"code":"401","schemaId":"schema_136","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_136"}}},{"code":"413","schemaId":"schema_141","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_141"}}},{"code":"500","schemaId":"schema_138","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_138"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/device-management/post-devices-decode-batch"}],"panels":[]}]},"httpPath":"/external/v1/devices/decode"},{"label":"Add device","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/external-api/trackonomy-external-api/device-management/post-devices-parcel","routeSlug":"/external-api/trackonomy-external-api/device-management/post-devices-parcel","metadata":{"seo":{"title":"Add device","description":"This API is used to activate a tape with its correct configuration."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"post-devices-parcel","name":"Add device","isWebhook":false,"pointer":"/paths/~1devices~1v1~1parcel/post","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Add device","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"This API is used to activate a tape with its correct configuration."},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"qrcode","in":"query","schemaId":"schema_127","description":"The QR code of the device.","required":true},{"name":"tape_id","in":"query","schemaId":"schema_127","description":"The unique identifier of the tape (MAC address or UUID).","required":true},{"name":"abc","in":"query","schemaId":"schema_127","description":"Customer's asset identifier like AWB, shipment number, asset ID etc. Shown later in location data."},{"name":"retry","in":"query","schemaId":"schema_142","description":"Retry flag (default: 0)."},{"name":"override","in":"query","schemaId":"schema_142","description":"Set to 1 to force delete and recreate the record if it exists. Default 0."},{"name":"appId","in":"query","schemaId":"schema_127","description":"Application ID (defaults to system default if not provided) - get correct values from Trackonomy.","required":true},{"name":"dstatus","in":"query","schemaId":"schema_143","description":"Device status (1 for active).","required":true},{"name":"abcd","in":"query","schemaId":"schema_127","description":"Asset Description."},{"name":"iu","in":"query","schemaId":"schema_127","description":"Image URL."},{"name":"apn","in":"query","schemaId":"schema_127","description":"APN configuration."},{"name":"tt","in":"query","schemaId":"schema_127","description":"Tape Type (e.g., 'Green', 'Black').","required":true},{"name":"tp","in":"query","schemaId":"schema_127","description":"Tape Personality - use \"Parcel\"","required":true},{"name":"agps","in":"query","schemaId":"schema_127","description":"Activation GPS coordinates."},{"name":"macad","in":"query","schemaId":"schema_127","description":"MAC address (explicit)."},{"name":"fw_version","in":"query","schemaId":"schema_127","description":"Firmware version."},{"name":"tracked_application_id","in":"query","schemaId":"schema_127","description":"Tracked Application ID."},{"name":"notes","in":"query","schemaId":"schema_127","description":"Additional notes."}],"pointer":"/paths/~1devices~1v1~1parcel/post/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"customer_id","in":"header","schemaId":"schema_127","description":"The ID of the customer.","required":true},{"name":"authorized_groups","in":"header","schemaId":"schema_127","description":"The department/group authorized for this request.","required":true},{"name":"facility_id","in":"header","schemaId":"schema_127","description":"The facility ID where the device is activated."},{"name":"X-Correlation-Id","in":"header","schemaId":"schema_127","description":"Unique ID for tracking the request (auto-generated if not provided)."}],"pointer":"/paths/~1devices~1v1~1parcel/post/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/devices/v1/parcel","servers":[{"url":"/_mock/external-api/trackonomy-external-api","description":"Mock server","isMockServer":true},{"url":"https://ppe.api.trackonomy.com/external","description":"PPE API for Locations data"},{"url":"https://ppe.mt.trackonomysystems.com","description":"PPE API for Historical data"}],"parameters":{"path":[],"query":[{"name":"qrcode","in":"query","required":true,"schemaId":"schema_127"},{"name":"tape_id","in":"query","required":true,"schemaId":"schema_127"},{"name":"abc","in":"query","required":false,"schemaId":"schema_127"},{"name":"retry","in":"query","required":false,"schemaId":"schema_142"},{"name":"override","in":"query","required":false,"schemaId":"schema_142"},{"name":"appId","in":"query","required":true,"schemaId":"schema_127"},{"name":"dstatus","in":"query","required":true,"schemaId":"schema_143"},{"name":"abcd","in":"query","required":false,"schemaId":"schema_127"},{"name":"iu","in":"query","required":false,"schemaId":"schema_127"},{"name":"apn","in":"query","required":false,"schemaId":"schema_127"},{"name":"tt","in":"query","required":true,"schemaId":"schema_127"},{"name":"tp","in":"query","required":true,"schemaId":"schema_127"},{"name":"agps","in":"query","required":false,"schemaId":"schema_127"},{"name":"macad","in":"query","required":false,"schemaId":"schema_127"},{"name":"fw_version","in":"query","required":false,"schemaId":"schema_127"},{"name":"tracked_application_id","in":"query","required":false,"schemaId":"schema_127"},{"name":"notes","in":"query","required":false,"schemaId":"schema_127"}],"querystring":[],"header":[{"name":"customer_id","in":"header","required":true,"schemaId":"schema_127"},{"name":"authorized_groups","in":"header","required":true,"schemaId":"schema_127"},{"name":"facility_id","in":"header","required":false,"schemaId":"schema_127"},{"name":"X-Correlation-Id","in":"header","required":false,"schemaId":"schema_127"}],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","201","400","401","404","409","500"],"pointer":"/devices/v1/parcel","href":"device-management/post-devices-parcel","openApiOperationId":"post-devices-parcel","summary":"Add device"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/external-api/trackonomy-external-api","description":"Mock server","isMockServer":true},{"url":"https://ppe.api.trackonomy.com/external","description":"PPE API for Locations data"},{"url":"https://ppe.mt.trackonomysystems.com","description":"PPE API for Historical data"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_144"}},"schemaId":"schema_144"},{"code":"201","description":"Created","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_144"}},"schemaId":"schema_144"},{"code":"400","description":"Bad Request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"},{"code":"404","description":"Resource Not Found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"},{"code":"409","description":"Conflict - Device already exists (and override was not enabled)","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"},{"code":"500","description":"Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}},"schemaId":"components/schemas/ErrorResponse"}],"pointer":"/paths/~1devices~1v1~1parcel/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_144","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_144"}}},{"code":"201","schemaId":"schema_144","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_144"}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}},{"code":"409","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/device-management/post-devices-parcel"}],"panels":[]}]},"httpPath":"/devices/v1/parcel"}],"content":{"contentType":"group","meta":{"name":"Device Management"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Device Management","showPageActions":true},{"nodeType":"markdoc","content":"Services to activate new devices and decode BLE packets either one by one or in batch"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/external/v1/devices/{mac_id}/decode","summary":"Decode single device BLE packet","prefix":{"name":"post","color":"post"},"badges":[],"link":"/device-management/post-devices-decode","deprecated":false},{"title":"/external/v1/devices/decode","summary":"Decode multiple device BLE packets","prefix":{"name":"post","color":"post"},"badges":[],"link":"/device-management/post-devices-decode-batch","deprecated":false},{"title":"/devices/v1/parcel","summary":"Add device","prefix":{"name":"post","color":"post"},"badges":[],"link":"/device-management/post-devices-parcel","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":"Processes external messages including device patches and manifest data. Supports different message types for various data processing needs."}},"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":"Processes external messages including device patches and manifest data. Supports different message types for various data processing needs."},{"nodeType":"security","requirements":[{"schemes":[{"name":"bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"customer_id","in":"header","schemaId":"schema_127","description":"Customer identifier","required":true,"example":"Unique customer UUID"},{"name":"authorized_groups","in":"header","schemaId":"schema_127","description":"Authorized groups for access control","required":true,"example":"Unique customer sub-group UUID"},{"name":"message_type","in":"header","schemaId":"schema_145","description":"Type of message to process","required":true,"example":"DEVICE_DATA"}],"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_146","exampleIds":["paths/~1external~1messages/post/requestBody/content/application~1json/examples/manifest_data","paths/~1external~1messages/post/requestBody/content/application~1json/examples/device_data","paths/~1external~1messages/post/requestBody/content/application~1json/examples/cargoiq_data"]}},"schemaId":"schema_146","exampleIds":["paths/~1external~1messages/post/requestBody/content/application~1json/examples/manifest_data","paths/~1external~1messages/post/requestBody/content/application~1json/examples/device_data","paths/~1external~1messages/post/requestBody/content/application~1json/examples/cargoiq_data"],"pointer":"/paths/~1external~1messages/post/requestBody"}],"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://ppe.api.trackonomy.com/external","description":"PPE API for Locations data"},{"url":"https://ppe.mt.trackonomysystems.com","description":"PPE API for Historical data"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"customer_id","in":"header","required":true,"example":"Unique customer UUID","schemaId":"schema_127"},{"name":"authorized_groups","in":"header","required":true,"example":"Unique customer sub-group UUID","schemaId":"schema_127"},{"name":"message_type","in":"header","required":true,"example":"DEVICE_DATA","schemaId":"schema_145"}],"cookie":[]},"security":[{"schemes":[{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_146","exampleIds":["paths/~1external~1messages/post/requestBody/content/application~1json/examples/manifest_data","paths/~1external~1messages/post/requestBody/content/application~1json/examples/device_data","paths/~1external~1messages/post/requestBody/content/application~1json/examples/cargoiq_data"]}},"responseCodes":["201","400","401","404","500"],"pointer":"/external/messages","href":"messaging/post-messages","openApiOperationId":"post-messages","summary":"Process external messages"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/external-api/trackonomy-external-api","description":"Mock server","isMockServer":true},{"url":"https://ppe.api.trackonomy.com/external","description":"PPE API for Locations data"},{"url":"https://ppe.mt.trackonomysystems.com","description":"PPE API for Historical data"}],"schemaId":"schema_146","exampleIds":["paths/~1external~1messages/post/requestBody/content/application~1json/examples/manifest_data","paths/~1external~1messages/post/requestBody/content/application~1json/examples/device_data","paths/~1external~1messages/post/requestBody/content/application~1json/examples/cargoiq_data"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_146","exampleIds":["paths/~1external~1messages/post/requestBody/content/application~1json/examples/manifest_data","paths/~1external~1messages/post/requestBody/content/application~1json/examples/device_data","paths/~1external~1messages/post/requestBody/content/application~1json/examples/cargoiq_data"]}},"examples":[{},{},{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Successfully processed the message","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_147"}},"schemaId":"schema_147"},{"code":"400","description":"Bad Request - Invalid message type or payload","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_135"}},"schemaId":"schema_135"},{"code":"401","description":"Unauthorized - Invalid or missing authentication token","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_136"}},"schemaId":"schema_136"},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_137"}},"schemaId":"schema_137"},{"code":"500","description":"Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_138"}},"schemaId":"schema_138"}],"pointer":"/paths/~1external~1messages/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"schema_147","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_147"}}},{"code":"400","schemaId":"schema_135","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_135"}}},{"code":"401","schemaId":"schema_136","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_136"}}},{"code":"404","schemaId":"schema_137","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_137"}}},{"code":"500","schemaId":"schema_138","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_138"}}}],"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":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Service to process external messages and modify device status based on the inputs."},"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":"NB!"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" Usage of the given API needs prior alignment with customer as each received message and intended behavior is different.  Provided examples are some possible ways to use the endpoint."},"children":[]}]}]}]}],"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":{"code":{"description":"HTTP status code associated with the error","example":500,"type":"integer"},"message":{"description":"Error message describing what went wrong","example":"Internal Server Error","type":"string"}}}},"components/schemas/Asset":{"id":"components/schemas/Asset","kind":"json-schema","title":"Asset","data":{"properties":{"event_type":{"enum":["location","environment"],"example":"environment","type":"string"},"lat":{"example":33.6388667,"type":"number"},"location":{"example":"ATL Warehouse","type":"string"},"location_detailed":{"example":"COOLER FRONTWALL","type":"string"},"lon":{"example":-84.41425556,"type":"number"},"sensors":{"items":{"$ref":"#/components/schemas/Sensor"},"type":"array"},"time_zone":{"example":"America/Los_Angeles","type":"string"},"timestamp":{"example":"2025-02-07T09:02:34","type":"string"},"trk_asset_id":{"description":"Customer asset ID associated to the Trackonomy tape","example":"999-2440 0001-0001","type":"string"},"vendor_asset_id":{"description":"Trackonomy tape QR Code","example":"06-140524-19-N1CE39","type":"string"}},"type":"object"}},"components/schemas/LocationEvent":{"id":"components/schemas/LocationEvent","kind":"json-schema","title":"LocationEvent","data":{"properties":{"assets":{"items":{"$ref":"#/components/schemas/Asset"},"type":"array"},"uuid":{"example":"a51799fa-4765-4f9c-9460-2d44fc2fe27f","type":"string"},"vendor_id":{"example":"c59f7130-e0b7-4aff-ac6e-a97dcfbd9222","type":"string"},"version":{"example":"1.0.0","type":"string"}},"type":"object"}},"components/schemas/Sensor":{"id":"components/schemas/Sensor","kind":"json-schema","title":"Sensor","data":{"properties":{"data":{"example":25.5,"type":"number"},"type":{"enum":["ambient_temp","probe_temp","shock","humidity","pressure","light"],"example":"ambient_temp","type":"string"},"units":{"example":"℃","type":"string"}},"type":"object"}},"schema_127":{"kind":"json-schema","data":{"type":"string"},"id":"schema_127"},"schema_128":{"kind":"json-schema","data":{"enum":["sensor"],"type":"string"},"id":"schema_128"},"schema_129":{"kind":"json-schema","data":{"type":"string","example":"c89c432b-12b7-4956-8be4-904a5e95df23"},"id":"schema_129"},"schema_130":{"kind":"json-schema","data":{"example":"cb2c60c7-9b47-41af-ab05-9d3fdbff44e5","type":"string"},"id":"schema_130"},"schema_131":{"kind":"json-schema","data":{"type":"object","required":["context"],"properties":{"context":{"type":"object","required":["customer_id","authorized_groups","filters"],"properties":{"authorized_groups":{"type":"string","format":"uuid","example":"cb2c60c7-9b47-41af-ab05-9d3fdbff44e5"},"customer_id":{"type":"string","format":"uuid","example":"c89c432b-12b7-4956-8be4-904a5e95df23"},"filters":{"type":"object","properties":{"customer_asset_id":{"type":"string","description":"customer asset identifier, connected to Trackonomy tape","example":"999-2440 0001-0001"},"event_type":{"type":"string","description":"location option returns data without sensor readings, environment option returns both location and sensor data.\n","enum":["location","environment"],"example":"environment"},"from":{"type":"string","format":"date-time","description":"show events from this date, time in UTC","example":"2025-02-07T09:02:34Z"},"to":{"type":"string","format":"date-time","description":"show events until this date, time in UTC","example":"2025-02-07T09:02:34Z"},"trk_asset_id":{"type":"string","description":"Trackonomy tape QR Code","example":"9E-240125-08-K1B226"}},"oneOf":[{"required":["trk_asset_id"]},{"required":["customer_asset_id"]}]}}}}},"id":"schema_131"},"schema_132":{"kind":"json-schema","data":{"properties":{"data":{"properties":{"events":{"items":{"properties":{"battery":{"nullable":true,"properties":{"charge":{"type":"string","enum":["HIGH","MED","LOW"],"example":"HIGH","description":"Indicator for battery charge level with HIGH being a fresh battery, MED being normal operating range and LOW showing a battery reaching its EOL."}},"type":"object"},"customer_asset_id":{"example":"AC_NY_MN_1_1","type":"string","description":"asset identifier connected to Trackonomy tape at the time of association"},"event_type":{"example":"environment","type":"string"},"lat":{"example":40.6635742,"type":"number"},"location":{"example":"New York, USA","type":"string","description":"For in-mesh events, facility name, otherwise state and country"},"location_detailed":{"example":"Bellmore","type":"string","description":"For in-mesh events, facility zone name, otherwise city name"},"lon":{"example":-73.52722932,"type":"number"},"sensors":{"description":"only those sensors, which are active on the tape, will be returned","items":{"properties":{"data":{"example":20.47,"type":"number"},"type":{"enum":["ambient_temp","probe_temp","shock","humidity","pressure","light"],"example":"ambient_temp","type":"string"},"units":{"example":"C","type":"string"}},"type":"object"},"type":"array"},"timestamp":{"example":"2025-04-29T18:10:20Z","format":"date-time","type":"string","description":"event time, in UTC"},"trk_asset_id":{"example":"9E-240125-08-K1B226","type":"string","description":"Trackonomy tape QR Code"}},"type":"object"},"type":"array"},"version":{"example":"1.2.0","type":"string"}},"type":"object"}},"type":"object"},"id":"schema_132"},"schema_133":{"kind":"json-schema","data":{"properties":{"data":{"properties":{"message":{"example":"Input validation error: Missing mandatory parameter: customer_id","type":"string"},"status":{"example":"error","type":"string"}},"type":"object"}},"type":"object"},"id":"schema_133"},"schema_134":{"kind":"json-schema","data":{"type":"object","properties":{"qr_code":{"type":"string","example":"TRK123456789"},"cts":{"type":"number","example":1730813898},"ts":{"type":"number","example":1730813898},"bat":{"type":"number","example":3.2},"temp":{"type":"number","example":22.5},"over_temp":{"type":"number","example":35},"over_temp_ts":{"type":"number","example":1730813800},"shock":{"type":"number","example":2.5},"shock_ts":{"type":"number","example":1730813800},"shock_count":{"type":"number","example":3},"fw_ver":{"type":"string","example":"1.2.3"}}},"id":"schema_134"},"schema_135":{"kind":"json-schema","data":{"type":"object","properties":{"message":{"type":"string","example":"Missing required headers customer_id or authorized_groups"},"code":{"type":"integer","example":400}}},"id":"schema_135"},"schema_136":{"kind":"json-schema","data":{"type":"object","properties":{"message":{"type":"string","example":"Unauthorized access"},"code":{"type":"integer","example":401}}},"id":"schema_136"},"schema_137":{"kind":"json-schema","data":{"type":"object","properties":{"message":{"type":"string","example":"Resource not found"},"code":{"type":"integer","example":404}}},"id":"schema_137"},"schema_138":{"kind":"json-schema","data":{"type":"object","properties":{"message":{"type":"string","example":"Internal Server Error"},"code":{"type":"integer","example":500}}},"id":"schema_138"},"schema_139":{"kind":"json-schema","data":{"type":"array","items":{"type":"object","required":["mac_id","ble_packet","product_id","scan_time"],"properties":{"mac_id":{"type":"string","example":"Trackonomy device macid"},"ble_packet":{"type":"string","example":"Encoded Trackonomy device data"},"product_id":{"type":"string","example":"Unique Trackonomy device identifier"},"scan_time":{"type":"string","example":"Event time"}}}},"id":"schema_139"},"schema_140":{"kind":"json-schema","data":{"type":"array","items":{"type":"object","properties":{"mac_id":{"type":"string","example":"A1B2C3D4E5F6"},"qr_code":{"type":"string","example":"TRK123456789"},"cts":{"type":"number","example":1730813898},"ts":{"type":"number","example":1730813898},"bat":{"type":"number","example":3.2},"temp":{"type":"number","example":22.5},"error":{"type":"string","example":"Invalid BLE packet"}}}},"id":"schema_140"},"schema_141":{"kind":"json-schema","data":{"type":"object","properties":{"message":{"type":"string","example":"Request body length greater than 250"},"code":{"type":"integer","example":413}}},"id":"schema_141"},"schema_142":{"kind":"json-schema","data":{"type":"integer","default":0},"id":"schema_142"},"schema_143":{"kind":"json-schema","data":{"type":"integer"},"id":"schema_143"},"schema_144":{"kind":"json-schema","data":{"type":"object","properties":{"code":{"type":"integer","example":200},"message":{"type":"string","example":"Resource created"}}},"id":"schema_144"},"schema_145":{"kind":"json-schema","data":{"type":"string","enum":["DEVICE_DATA","MANIFEST_DATA","CARGOIQ"]},"id":"schema_145"},"schema_146":{"kind":"json-schema","data":{"type":"object","properties":{"message_type":{"type":"string","enum":["DEVICE_DATA","MANIFEST_DATA","CARGOIQ"],"example":"DEVICE_DATA"},"data":{"type":"object","description":"Message data payload"}}},"id":"schema_146"},"schema_147":{"kind":"json-schema","data":{"type":"object","properties":{"message":{"type":"string","example":"Successfully processed the message"},"code":{"type":"number","example":201}}},"id":"schema_147"}},"exampleStore":{"paths/~1external~1v1~1devices~1decode/post/requestBody/content/application~1json/example":{"value":[{"mac_id":"A1B2C3D4E5F6","ble_packet":"XXXXXXXX","product_id":"example-device","scan_time":"1730813898"},{"mac_id":"A1B2C3D4E5F6","ble_packet":"YYYYYYYYYYYY","product_id":"example-device","scan_time":"1730813899"}],"id":"paths/~1external~1v1~1devices~1decode/post/requestBody/content/application~1json/example"},"paths/~1external~1messages/post/requestBody/content/application~1json/examples/manifest_data":{"value":{"message_type":"MANIFEST_DATA","data":{"asset_barcode":"EXAMPLE BARCODE","shipped_date":1755907016,"shipment_id":"EXAMPLE SHIPMENT ID","container_id":"EXAMPLE CONTAINER ID"}},"key":"manifest_data","summary":"manifest_data","id":"paths/~1external~1messages/post/requestBody/content/application~1json/examples/manifest_data"},"paths/~1external~1messages/post/requestBody/content/application~1json/examples/device_data":{"value":{"message_type":"DEVICE_DATA","data":{"device_id":"DEVICE123","sensor_data":{"temperature":22.5,"humidity":45.2},"timestamp":1730813898}},"key":"device_data","summary":"device_data","id":"paths/~1external~1messages/post/requestBody/content/application~1json/examples/device_data"},"paths/~1external~1messages/post/requestBody/content/application~1json/examples/cargoiq_data":{"value":{"message_type":"CARGOIQ","data":{"bookingPublishEvent":{"bookingDetails":{"awb":"EXAMPLE BARCODE","bookingReference":"EXAMPLE REFERENCE","bookingStatus":"QUE","taxAmount":0,"origin":"LAX","destination":"ATL","shippingDate":"2025-09-25","agentCode":"EXAMPLE AGENT CODE","agentName":"EXAMPLE AGENT NAME","product":"DSH","specialHandlingCodes":["ABC","XYZ"],"promoCode":null,"valueAddedServices":[],"shipmentDetails":[{"commodity":"PER","pieces":10,"weight":100,"adjustedWeight":0,"volume":0.723,"natureOfGoods":"PERISHABLES (GENERAL)","handlingCode":"PER","dimensions":[{"pieces":10,"weight":100,"container":null,"length":5,"width":5,"height":5,"tiltable":false,"stackable":true}],"uldDetails":[],"complementoryHandlingCodes":[]}],"latestAcceptanceTime":"2025-03-23T18:00:00.000Z","timeOfAvailability":null,"flights":[{"flightCarrier":"DL","flightNumber":"001","departureDate":"2025-03-23","departureAirport":"LAX","arrivalAirport":"ATL","bookingStatus":"BOOKED","pieces":10,"weight":100,"volume":0.723,"maindeckContainer":0,"maindeckPallet":0,"lowerdeckContainer":0,"lowerdeckPallet":0,"forceQueue":false,"forceConfirm":null,"queueReason":"XYZ","allotmentIdentifier":"ABC","remarks":"","std":"2025-04-14T18:00:00.000Z","sta":"2025-04-12T18:00:00.000Z","aircraftType":null}],"bookingContact":null,"shipper":{"code":"EXAMPLE CODE","name":"EXAMPLE NAME","address":"EXAMPLE ADDRESS","city":"EXAMPLE CITY","state":"EXAMPLE STATE","postCode":"EXAMPLE ZIPCODE","country":"EXAMPLE COUNTRY","telephone":"EXAMPLE TELEPHONE","email":"EXAMPLE EMAIL","station":null},"consignee":{"code":"EXAMPLE CODE","name":"EXAMPLE NAME","address":"EXAMPLE ADDRESS","city":"EXAMPLE CITY","state":"EXAMPLE STATE","postCode":"EXAMPLE ZIPCODE","country":"EXAMPLE COUNTRY","telephone":"EXAMPLE TELEPHONE","email":"EXAMPLE EMAIL","consigneeEori":null,"station":null},"emergencyContact":null,"quoteId":null,"charges":{"isSpotrate":false,"allInRate":false,"rate":null,"airfreightCharge":2142.2,"chargeableWeight":null,"tax":null,"otherCharge":null,"otherCharges":[],"totalCharge":null,"currency":"SEK"},"handlingInfo":"","bookingRemarks":"","bookingSourceName":null,"paymentType":"PP","preScreened":false,"dvForCarriage":0,"dvForCustoms":null,"insuranceAmount":0,"serviceClass":"","ratedCustomer":"EXAMPLE","unitOfMeasure":{"weight":"LBS","volume":"CFT","length":"IN"}},"eventMetadata":{"id":"72cb8125-d5d1-4710-a9c6-c328aa50c20b","timestamp":"Fri Mar 21 12:02:27 UTC 2025","type":"BOOKING_PUBLISH"}}}},"key":"cargoiq_data","summary":"cargoiq_data","id":"paths/~1external~1messages/post/requestBody/content/application~1json/examples/cargoiq_data"}},"securitySchemeStore":{"bearerAuth":{"id":"bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}},"servers":[{"url":"/_mock/external-api/trackonomy-external-api","isMockServer":true,"description":"Mock server"},{"url":"https://ppe.api.trackonomy.com/external","description":"PPE API for Locations data"},{"url":"https://ppe.mt.trackonomysystems.com","description":"PPE API for Historical data"}]},"options":{"hideSidebar":true,"mockServer":{"url":"/_mock/external-api/trackonomy-external-api","position":"first","description":"Mock server"},"disableRouter":true,"downloadUrls":[{"url":"/_bundle/external-api/@v1.7/trackonomy-external-api.json?download"},{"url":"/_bundle/external-api/@v1.7/trackonomy-external-api.yaml?download"}],"excludeFromSearch":false,"rbac":{"admin":"admin","external_developers":"read","anonymous":"read"},"specType":"openapi","markdocOptions":{"tags":{},"nodes":{},"components":{}},"metadata":{"title":"Trackonomy External API","description":"External APIs are meant for interacting with Trackonomy Platform. New endpoints will be added regularly. Current APIs enable the following:\n  * retrieve location and environmental data for assets tracked with Trackonomy tapes.\n  * activate tapes using API.\n  * decode Trackonomy BLE packets\n  * send various messages from third party systems for integration purposes\n\n Locations endpoint can be used for the latest event, Historical data endpoint reveals also older data with about 15 minute delay."}},"baseSlug":"/external-api/trackonomy-external-api","routesMapping":{}}