openapi: 3.2.0 info: title: HyperTrack Workers API version: '1.0' description: HyperTrack API Reference — Orders, Workers, Places, Routes, and more. contact: name: HyperTrack support url: https://hypertrack.com/contact email: help@hypertrack.com servers: - url: https://v3.api.hypertrack.com tags: - name: Workers paths: /workers/: get: parameters: - in: query name: from_date description: 'ISO 8601 date format (''yyyy-MM-dd'') indicating the start date to be used for the summary computation.
Default: Current date in UTC.' schema: type: - string - 'null' required: false - in: query name: to_date description: 'ISO 8601 date format (''yyyy-MM-dd'') indicating the end date to be used for the summary computation.
Default: Current date in UTC.' schema: type: - string - 'null' required: false - in: query name: limit description: Number of workers to be sent in response schema: type: - integer - 'null' default: 25 required: false - in: query name: include_schedule description: Flag to include worker's schedule in the response. schema: type: boolean default: true required: false - in: query name: include_summary description: Flag to include worker's summary stats in the response. schema: type: boolean default: true required: false - in: query name: ops_group_handle description: List of ops group handles as comma separated strings used to filter workers. schema: type: - string - 'null' required: false - in: query name: profile description: Profile filter to be applied on the list of workers schema: type: - string - 'null' required: false - in: query name: worker_handle description: List of worker handles as comma separated strings used for fetching associated workers schema: type: - string - 'null' required: false - in: query name: search_term description: Keyword to match against worker handle, name, or profile schema: type: - string - 'null' required: false - in: query name: pagination_token description: Identifier used to fetch the next page of data schema: type: - string - 'null' required: false - in: query name: device_id description: Unique identifier for a worker's device. This field is present in case the worker is currently linked with a device schema: type: - string - 'null' format: uuid required: false - in: query name: include_deleted description: Flag to include deleted workers schema: type: boolean default: false required: false - in: query name: from_time description: ISO 8601 datetime indicating the start time to be used for computing summary, status. schema: type: - string - 'null' format: date-time deprecated: true required: false - in: query name: to_time description: ISO 8601 datetime indicating the end time to be used for computing summary, status. schema: type: - string - 'null' format: date-time deprecated: true required: false - in: query name: filter_outage description: Filter workers on a particular outage code. schema: type: - string - 'null' required: false - in: query name: filter_outage_category description: 'List of comma separated outage categories to be used for filtering workers. Valid categories: `behavioural`,`adversarial`,`reachability`,`os`,`sporadic`' schema: type: - string - 'null' required: false - in: query name: filter_geofence_metadata description: geofence_metadata filter for aggregate response schema: type: - string - 'null' required: false - in: query name: aggregate description: Flag set to retrieve aggregated data over the provided time range schema: type: boolean default: false required: false - in: query name: work_status description: URL-encoded json string specifying filters on availability or tracking. schema: type: - string - 'null' required: false - in: query name: filter_status description: Only list workers that are currently active/inactive/disconnected. schema: type: - string - 'null' enum: - active - inactive - disconnected required: false - in: query name: tracked description: If set to true, only shows workers that were actually tracked during the specified period. schema: type: - boolean - 'null' required: false - in: query name: worked description: If set to true, only shows workers that actually during the specified period. schema: type: - boolean - 'null' required: false - in: query name: intended_to_track description: If set to true, only shows workers that was supposed to be tracked during the specified period. schema: type: - boolean - 'null' required: false - in: query name: include_lp description: Flag to include location permission stats in response (only applicable when `aggregate=True`). schema: type: - boolean - 'null' default: false required: false - in: query name: region_filter description: URL-encoded JSON string used to filter workers from a particular region. Ex `{"city":"Detroit"}` schema: type: - string - 'null' required: false responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetWorkersResponse' examples: Filter on profile: summary: Filter on profile value: workers: - created_at: 2023-10-18 12:41:59.865000+00:00 device_id: 7B252163-BC27-46B2-8BFD-FFB87D633602 device_info: device_brand: OnePlus device_model: DN2111 network_operator: JIO 4G os_hardware_identifier: 10b653a2c0a09e77 os_name: Android os_version: '11' sdk_version: 7.0.9+a5a509f3 timezone: Asia/Kolkata device_status: data: activity: drive recorded_at: 2023-10-24 16:27:52.768000+00:00 value: active devices: - device_id: 7B252163-BC27-46B2-8BFD-FFB87D633602 start_time: 2023-10-183T20:42:38Z - device_id: 7B252163-BC27-46B2-8BFD-FFB87D633602 start_time: 2023-10-183T16:02:38Z end_time: 2023-10-183T20:41:38Z worker_handle: james@ht.com location: accuracy: 19.35 bearing: 352.97 geometry: coordinates: - -121.94186 - 37.3570492 - -44.01 type: Point speed: 20.2 name: James ops_group_handle: store-sf product_types: - plumbing - hardware profile: zoneId: '4' schedule: - day_of_week: MONDAY end_time: 1080 ops_group_handle: store-sf priority: null start_time: 09:00 - day_of_week: TUESDAY end_time: 1080 ops_group_handle: store-sf priority: null start_time: 09:00 - day_of_week: WEDNESDAY end_time: 1080 ops_group_handle: store-sf priority: null start_time: 09:00 - day_of_week: THURSDAY end_time: 1080 ops_group_handle: store-sf priority: null start_time: 09:00 - day_of_week: FRIDAY end_time: 1080 ops_group_handle: store-sf priority: null start_time: 09:00 - day_of_week: SATURDAY end_time: 1080 ops_group_handle: store-sf priority: null start_time: 09:00 - day_of_week: SUNDAY end_time: 1080 ops_group_handle: store-sf priority: null start_time: 09:00 home: address: 777 Story Rd, San Jose, CA 95122 geometry: type: Point coordinates: - -121.8624398 - 37.3304521 radius: 100 work_status: available: false tracking: true location_permission: recorded_at: 2023-12-19 12:29:54.321000+00:00 state: always unavailable_on: - 2023-12-15 summary: orders: completed: 4 cancelled: 1 assigned: 0 tracked: 5 total: 6 geotags: 4 visits: 4 distance: null duration: null tracking_rate: null - created_at: 2023-10-06 12:00:45.221000+00:00 device_id: 71284FFE-D949-4FF7-B238-44C667BE8EF4 device_status: data: recorded_at: 2023-10-24 12:51:25.995000+00:00 value: disconnected worker_handle: smith@ht.com location: accuracy: 35 bearing: 280.3 geometry: coordinates: - 20.016091 - 50.103046 - 250.59 type: Point speed: 0 name: fero ops_group_handle: store-sjc profile: zoneId: '4' work_status: available: false tracking: true - created_at: 2023-07-13 15:05:31.341000+00:00 worker_handle: rick@ht.com ops_group_handle: store-okl profile: zoneId: '4' schedule: - day_of_week: MONDAY end_time: 1080 ops_group_handle: store-sf priority: null start_time: 09:00 - day_of_week: TUESDAY end_time: 1080 ops_group_handle: store-sf priority: null start_time: 09:00 - day_of_week: WEDNESDAY end_time: 1080 ops_group_handle: store-sf priority: null start_time: 09:00 - day_of_week: THURSDAY end_time: 1080 ops_group_handle: store-sf priority: null start_time: 09:00 - day_of_week: FRIDAY end_time: 1080 ops_group_handle: store-sf priority: null start_time: 09:00 - day_of_week: SATURDAY end_time: 1080 ops_group_handle: store-sf priority: null start_time: 09:00 - day_of_week: SUNDAY end_time: 1080 ops_group_handle: store-sf priority: null start_time: 09:00 work_status: available: false tracking: false pagination_token: eyJwYWdlX251bWJlciI6IDIzLCJsYXN0X2l0ZW1faWQiOiAxMjM0NQ== Filter on ops group: summary: Filter on ops group value: workers: - created_at: 2023-07-13 15:05:31.341000+00:00 worker_handle: rick@ht.com ops_group_handle: store-okl profile: zoneId: '4' schedule: - day_of_week: MONDAY end_time: 1080 ops_group_handle: store-sf priority: null start_time: 09:00 - day_of_week: TUESDAY end_time: 1080 ops_group_handle: store-sf priority: null start_time: 09:00 - day_of_week: WEDNESDAY end_time: 1080 ops_group_handle: store-sf priority: null start_time: 09:00 - day_of_week: THURSDAY end_time: 1080 ops_group_handle: store-sf priority: null start_time: 09:00 - day_of_week: FRIDAY end_time: 1080 ops_group_handle: store-sf priority: null start_time: 09:00 - day_of_week: SATURDAY end_time: 1080 ops_group_handle: store-sf priority: null start_time: 09:00 - day_of_week: SUNDAY end_time: 1080 ops_group_handle: store-sf priority: null start_time: 09:00 work_status: available: false tracking: false pagination_token: eyJwYWdlX251bWJlciI6IDIzLCJsYXN0X2l0ZW1faWQiOiAxMjM0NQ== Filter on worker handle: summary: Filter on worker handle value: workers: - created_at: 2023-10-18 12:41:59.865000+00:00 device_id: 7B252163-BC27-46B2-8BFD-FFB87D633602 device_status: data: activity: drive recorded_at: 2023-10-24 16:27:52.768000+00:00 value: active worker_handle: james@ht.com location: accuracy: 19.35 bearing: 352.97 geometry: coordinates: - -121.94186 - 37.3570492 - -44.01 type: Point speed: 20.2 name: James ops_group_handle: store-sf profile: zoneId: '4' work_status: available: false tracking: true Filter on work status: summary: Filter on work status value: workers: - created_at: 2023-10-18 12:41:59.865000+00:00 device_id: 7B252163-BC27-46B2-8BFD-FFB87D633602 device_status: data: activity: drive recorded_at: 2023-10-24 16:27:52.768000+00:00 value: active worker_handle: james@ht.com location: accuracy: 19.35 bearing: 352.97 geometry: coordinates: - -121.94186 - 37.3570492 - -44.01 type: Point speed: 20.2 name: James ops_group_handle: store-sf profile: zoneId: '4' work_status: available: true tracking: false - created_at: 2023-10-06 12:00:45.221000+00:00 device_id: 71284FFE-D949-4FF7-B238-44C667BE8EF4 device_status: data: recorded_at: 2023-10-24 12:51:25.995000+00:00 value: disconnected worker_handle: smith@ht.com location: accuracy: 35 bearing: 280.3 geometry: coordinates: - 20.016091 - 50.103046 - 250.59 type: Point speed: 0 name: fero ops_group_handle: store-sjc profile: zoneId: '4' work_status: available: true tracking: false pagination_token: eyJwYWdlX251bWJlciI6IDIzLCJsYXN0X2l0ZW1faWQiOiAxMjM0NQ== Fetch aggregate: summary: Fetch aggregate value: aggregate: geotags: count: 107 deviation: 2300 distance: 8035 duration: 14583 orders: count: assigned: 22 cancelled: 516 completed: 634 ongoing: 8 total: 1261 deviation: 365 distance: 8035 duration: 18374 description: Successful response '401': content: application/json: schema: $ref: '#/components/schemas/HTTPError' description: Authentication error '422': content: application/json: schema: $ref: '#/components/schemas/ValidationError' description: Validation error tags: - Workers summary: Get Workers description: Fetch workers in a paginated list security: - BasicAuth: [] - TokenAuth: [] post: parameters: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/PostWorkerResponse' example: worker_handle: james@ht.com ops_group_handle: store-sf product_types: - plumbing - hardware device_id: 00000000-4636-461C-B5F6-7E4BEFC09575 profile: workerId: '0012244' vehicle: Ford F-150 zoneId: '4' status: available: false working: false schedule: - start_time: 09:00 end_time: 1080 day_of_week: MONDAY - start_time: 09:00 end_time: 1080 day_of_week: TUESDAY - start_time: 09:00 end_time: 1080 day_of_week: WEDNESDAY - start_time: 09:00 end_time: 1080 day_of_week: THURSDAY - start_time: 09:00 end_time: 1080 day_of_week: FRIDAY created_at: 2023-06-01 02:00:00+00:00 home: address: 777 Story Rd, San Jose, CA 95122 geometry: type: Point coordinates: - -121.8624398 - 37.3304521 radius: 100 device_status: value: unavailable description: Successful response '401': content: application/json: schema: $ref: '#/components/schemas/HTTPError' description: Authentication error '422': content: application/json: schema: $ref: '#/components/schemas/ValidationError' description: Validation error tags: - Workers summary: Create Worker description: Create a worker requestBody: content: application/json: schema: $ref: '#/components/schemas/PostWorkerRequest' example: worker_handle: james@ht.com ops_group_handle: store-sf product_types: - plumbing - hardware device_id: 00000000-4636-461C-B5F6-7E4BEFC09575 profile: workerId: '0012244' vehicle: Ford F-150 zoneId: '4' schedule: - start_time: 09:00 end_time: 1080 day_of_week: MONDAY - start_time: 09:00 end_time: 1080 day_of_week: TUESDAY - start_time: 09:00 end_time: 1080 day_of_week: WEDNESDAY - start_time: 09:00 end_time: 1080 day_of_week: THURSDAY - start_time: 09:00 end_time: 1080 day_of_week: FRIDAY home: address: 777 Story Rd, San Jose, CA 95122 geometry: type: Point coordinates: - -121.8624398 - 37.3304521 radius: 100 security: - BasicAuth: [] - TokenAuth: [] /workers/locate: get: parameters: - in: query name: request_id description: Unique identifier returned by POST /workers/{worker_handle}/locate. schema: type: string required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/LocateResponse' examples: locate_completed_location_response_example: summary: 'Completed: a device returned a fresh location.' value: request_id: 00000000-aaaa-bbbb-cccc-111122223333 worker_handle: worker001 status: completed created_at: 2026-06-03 05:46:57.096000+00:00 updated_at: 2026-06-03 05:47:10.780000+00:00 completed_at: 2026-06-03 05:47:10.780000+00:00 devices: - device_id: AAA11111-BBBB-2222-CCCC-3333DDDD4444 status: completed completed_at: 2026-06-03 05:47:10.744000+00:00 location: geometry: type: Point coordinates: - -119.60121 - 34.4225 locate_completed_outage_response_example: summary: 'Completed with an outage: location permission denied and imprecise.' value: request_id: 00000000-aaaa-bbbb-cccc-111122223333 worker_handle: worker001 status: completed created_at: 2026-06-03 05:16:03.109000+00:00 updated_at: 2026-06-03 05:16:17.146000+00:00 completed_at: 2026-06-03 05:16:17.146000+00:00 devices: - device_id: AAA11111-BBBB-2222-CCCC-3333DDDD4444 status: completed completed_at: 2026-06-03 05:16:17.114000+00:00 outage_reasons: - code: location_permissions_denied label: Location permission denied category: behavioural description: Location permission is denied by the worker. The worker should grant it in Settings > Apps > [App name] > Permissions > Location duration: 0 distance: 0 - code: location_permission_imprecise label: Location imprecise category: behavioural description: The worker did not grant precise location permissions or downgraded permissions to imprecise. The worker should grant precise location permission in Settings > Apps > [App name] > Permissions > Location > Use precise location duration: 0 distance: 0 locate_completed_disconnected_response_example: summary: Completed but the SDK did not wake within budget (device disconnected). value: request_id: 00000000-aaaa-bbbb-cccc-111122223333 worker_handle: worker001 status: completed created_at: 2026-06-03 00:00:00+00:00 updated_at: 2026-06-03 00:05:00+00:00 completed_at: 2026-06-03 00:05:00+00:00 devices: - device_id: AAA11111-BBBB-2222-CCCC-3333DDDD4444 status: completed completed_at: 2026-06-03 00:05:00+00:00 device_status: value: disconnected data: reason: sdk_did_not_respond_within_budget budget_seconds: 300 description: Successful response '401': content: application/json: schema: $ref: '#/components/schemas/HTTPError' description: Authentication error '422': content: application/json: schema: $ref: '#/components/schemas/ValidationError' description: Validation error tags: - Workers summary: Poll the state of a worker locate request description: 'Returns the current state of a locate request. The response shape matches both the POST response and the `locate` webhook payload. Once `status` is `completed`, inspect each `devices[]` entry for its outcome: a fresh `location`, `outage_reasons` when the SDK reported outages, or a `device_status` of `disconnected` when the SDK did not wake within the budget.' security: - BasicAuth: [] - TokenAuth: [] /workers/export: post: parameters: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/WorkerExportResponse' description: Successful response '401': content: application/json: schema: $ref: '#/components/schemas/HTTPError' description: Authentication error '422': content: application/json: schema: $ref: '#/components/schemas/ValidationError' description: Validation error tags: - Workers summary: Create a worker export job description: Creates an asynchronous job to export workers to CSV.gz file. Returns a job_id that can be used to check status. Download link will be sent via email when ready. requestBody: content: application/json: schema: $ref: '#/components/schemas/WorkerExportRequest' security: - BasicAuth: [] - TokenAuth: [] /workers/ops-groups/: get: parameters: - in: query name: pagination_token description: Identifier used to fetch the next page of data schema: type: - string - 'null' required: false - in: query name: include_deleted description: Flag to include deleted ops groups schema: type: boolean default: false required: false - in: query name: include_schedule description: Flag to include ops group's schedule in the response. schema: type: boolean default: true required: false - in: query name: limit description: Number of ops groups to be sent in the response. schema: type: - integer - 'null' default: 100 required: false responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetOpsGroupsResponse' example: ops_groups: - ops_group_handle: san-jose-store ops_group_label: store timezone: America/Los_Angeles route_start_location: ops_group_home route_completion_type: manual ops_group_home: geometry: type: Point coordinates: - -121.94186 - 37.3570534 address: 1709 Automation Pkwy, San Jose, CA 95101 objective_fn: minimise_time route_capacity: 10 route_max_distance: 20000 default_shift_start_time: 07:00 default_shift_end_time: 1140 order_tracking_mode: auto shift_availability_mode: auto order_tracking_automation: type: manual - ops_group_handle: santa-clara-store ops_group_label: store timezone: America/Los_Angeles route_start_location: ops_group_home route_completion_type: manual ops_group_home: geometry: type: Point coordinates: - -121.8871193 - 37.3906152 address: 1601 Coleman Ave, Santa Clara, CA 95050 objective_fn: minimise_time route_capacity: 10 route_max_distance: 25000 default_shift_start_time: 07:00 default_shift_end_time: 1140 order_tracking_mode: manual shift_availability_mode: manual order_tracking_automation: type: manual pagination_token: cGFnaW5hdGlvbl90b2tlbg== description: Successful response '401': content: application/json: schema: $ref: '#/components/schemas/HTTPError' description: Authentication error '422': content: application/json: schema: $ref: '#/components/schemas/ValidationError' description: Validation error tags: - Workers summary: List Ops Groups description: Fetch all ops groups security: - BasicAuth: [] - TokenAuth: [] post: parameters: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/PostOpsGroupResponse' example: ops_group_handle: san-jose-store ops_group_label: store timezone: America/Los_Angeles route_start_location: ops_group_home route_completion_type: manual ops_group_home: geometry: type: Point coordinates: - -121.93186 - 36.3570534 address: 1709 Automation Pkwy, San Jose, CA 95101 objective_fn: minimise_time route_capacity: 10 route_max_distance: 20000 default_shift_start_time: 07:00 default_shift_end_time: 1140 order_tracking_mode: manual shift_availability_mode: auto order_tracking_automation: type: shift mode: auto lead_time: 3600 lag_time: 0 description: Successful response '401': content: application/json: schema: $ref: '#/components/schemas/HTTPError' description: Authentication error '422': content: application/json: schema: $ref: '#/components/schemas/ValidationError' description: Validation error tags: - Workers summary: Create Ops Group description: Create an ops group to manage your workforce and orders requestBody: content: application/json: schema: $ref: '#/components/schemas/PostOpsGroupRequest' security: - BasicAuth: [] - TokenAuth: [] /workers/{worker_handle}: get: parameters: - in: path name: worker_handle schema: type: string required: true - in: query name: include_deleted description: Flag to fetch deleted worker schema: type: boolean default: false required: false - in: query name: from_time description: 'ISO 8601 datetime indicating the start time. Default time range 24 hours. ' schema: type: - string - 'null' format: date-time required: false - in: query name: to_time description: ISO 8601 datetime indicating the end time. Default time range 24 hours. schema: type: - string - 'null' format: date-time required: false - in: query name: date description: 'ISO 8601 date format (''yyyy-MM-dd'') indicating date to be used for the summary computation.
Default: current date in worker''s timezone.' schema: type: - string - 'null' required: false - in: query name: include_summary description: Flag to include worker summary. Default true. schema: type: boolean default: true required: false - in: query name: include_schedule description: Flag to include worker schedule. Default true. schema: type: boolean default: true required: false - in: query name: include_timeline description: Flag to include worker timeline. Default false. schema: type: boolean default: false required: false responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetWorkerTimelineResponse' example: worker_handle: james@ht.com name: James ops_group_handle: store-sf product_types: - plumbing - hardware device_id: 00000000-4636-461C-B5F6-7E4BEFC09575 profile: workerId: '0012244' vehicle: Ford F-150 zoneId: '4' status: available: false working: false schedule: - start_time: 02:00 end_time: 1080 day_of_week: MONDAY - start_time: 02:00 end_time: 1080 day_of_week: TUESDAY - start_time: 02:00 end_time: 1080 day_of_week: WEDNESDAY created_at: 2023-06-01 02:00:00+00:00 home: address: 777 Story Rd, San Jose, CA 95122 geometry: type: Point coordinates: - -121.8624398 - 37.3304521 radius: 100 location: accuracy: 17.47 geometry: coordinates: - -121.877304 - 37.371943 - 29.26 type: Point speed: 0 device_status: data: activity: drive recorded_at: 2023-10-03 20:42:44.969000+00:00 value: active devices: - device_id: 00000000-4636-461C-B5F6-7E4BEFC09575 start_time: 2023-10-03 20:42:38+00:00 summary: orders: completed: 4 cancelled: 1 assigned: 0 ongoing: 2 geotags: 4 visits: 4 distance: 3000 duration: 120 tracking_rate: 92.8 work_started_at: 2023-06-06 14:00:00+00:00 timeline: - type: route_started recorded_at: 2023-06-06 14:00:00+00:00 route_handle: route_1 data: {} location: geometry: type: Point coordinates: - -121.8624398 - 37.3304521 - type: order_completed recorded_at: 2023-06-06 14:15:00+00:00 order_handle: order_1 data: {} location: geometry: type: Point coordinates: - -121.8624389 - 37.3304522 description: Successful response '401': content: application/json: schema: $ref: '#/components/schemas/HTTPError' description: Authentication error '404': content: application/json: schema: $ref: '#/components/schemas/HTTPError' description: Not found '422': content: application/json: schema: $ref: '#/components/schemas/ValidationError' description: Validation error tags: - Workers summary: Get Worker By Handle description: Fetch the details for a worker using the worker_handle security: - BasicAuth: [] - TokenAuth: [] patch: parameters: - in: path name: worker_handle schema: type: string required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/PatchWorkerResponse' example: worker_handle: james@ht.com ops_group_handle: store-sf product_types: - plumbing - hardware device_id: 00000000-4636-461C-B5F6-7E4BEFC09575 profile: workerId: '0012244' vehicle: Ford F-150 zoneId: '4' status: available: false working: false schedule: - start_time: 02:00 end_time: 1080 day_of_week: MONDAY - start_time: 02:00 end_time: 1080 day_of_week: TUESDAY - start_time: 02:00 end_time: 1080 day_of_week: WEDNESDAY created_at: 2023-06-01 02:00:00+00:00 home: address: 777 Story Rd, San Jose, CA 95122 geometry: type: Point coordinates: - -121.8624398 - 37.3304521 radius: 100 device_status: data: activity: drive recorded_at: 2023-10-03 20:42:44.969000+00:00 value: active description: Successful response '401': content: application/json: schema: $ref: '#/components/schemas/HTTPError' description: Authentication error '404': content: application/json: schema: $ref: '#/components/schemas/HTTPError' description: Not found '422': content: application/json: schema: $ref: '#/components/schemas/ValidationError' description: Validation error tags: - Workers summary: Patch Worker description: Update worker information using the worker_handle requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchWorkerRequest' example: schedule: - start_time: 02:00 end_time: 1080 day_of_week: MONDAY - start_time: 02:00 end_time: 1080 day_of_week: TUESDAY - start_time: 02:00 end_time: 1080 day_of_week: WEDNESDAY security: - BasicAuth: [] - TokenAuth: [] delete: parameters: - in: path name: worker_handle schema: type: string required: true responses: '204': description: Worker deleted successfully '401': content: application/json: schema: $ref: '#/components/schemas/HTTPError' description: Authentication error '404': content: application/json: schema: $ref: '#/components/schemas/HTTPError' description: Not found tags: - Workers summary: Delete Worker description: Delete a worker security: - BasicAuth: [] - TokenAuth: [] /workers/export/{job_id}: get: parameters: - in: path name: job_id schema: type: string required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/WorkerExportStatusResponse' description: Successful response '401': content: application/json: schema: $ref: '#/components/schemas/HTTPError' description: Authentication error '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' tags: - Workers summary: Get worker export job status description: Check the status of a worker export job by job_id. Returns current status, progress, and download URL when completed. security: - BasicAuth: [] - TokenAuth: [] /workers/{worker_handle}/invite: post: parameters: - in: path name: worker_handle schema: type: string required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/PostWorkerInviteResponse' example: worker_handle: james@ht.com link: https://hypertrack-logistics.app.link/wqepoifv8f34c description: Successful response '401': content: application/json: schema: $ref: '#/components/schemas/HTTPError' description: Authentication error '404': content: application/json: schema: $ref: '#/components/schemas/HTTPError' description: Not found '422': content: application/json: schema: $ref: '#/components/schemas/ValidationError' description: Validation error tags: - Workers summary: Invite Worker description: Generate a HyperTrack app (`ORDERS` or `VISITS`) installation link to be shared with the worker requestBody: content: application/json: schema: $ref: '#/components/schemas/PostWorkerInviteRequest' security: - BasicAuth: [] - TokenAuth: [] /workers/{worker_handle}/locate: post: parameters: - in: path name: worker_handle schema: type: string required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/LocateResponse' examples: locate_pending_response_example: summary: Locate accepted; request is pending while the SDK is woken and devices are polled. value: request_id: 00000000-aaaa-bbbb-cccc-111122223333 worker_handle: worker001 status: pending created_at: 2026-06-03 05:46:57.096000+00:00 updated_at: 2026-06-03 05:46:57.096000+00:00 devices: - device_id: AAA11111-BBBB-2222-CCCC-3333DDDD4444 status: pending description: Successful response '401': content: application/json: schema: $ref: '#/components/schemas/HTTPError' description: Authentication error '404': content: application/json: schema: $ref: '#/components/schemas/HTTPError' description: Not found '422': content: application/json: schema: $ref: '#/components/schemas/ValidationError' description: Validation error tags: - Workers summary: Locate a worker description: Initiates an async worker locate. The implementation sets the worker's availability=true (waking the SDK), pulls a fresh location from each currently-linked device, then sets availability back to false. Returns immediately with a request_id; poll the GET endpoint or listen for the `locate` webhook for the final result. requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateLocateRequest' security: - BasicAuth: [] - TokenAuth: [] /workers/{worker_handle}/history: get: parameters: - in: path name: worker_handle schema: type: string required: true - in: query name: from_time description: ISO 8601 datetime indicating the start time schema: type: - string - 'null' format: date-time required: false - in: query name: to_time description: ISO 8601 datetime indicating the end time schema: type: - string - 'null' format: date-time required: false - in: query name: date description: Date in ISO 8601 format ('yyyy-MM-dd'). schema: type: - string - 'null' required: false responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetWorkerHistoryResponse' example: worker_handle: james@ht.com locations: type: LineString coordinates: - - -118.460831 - 34.032051 - 13.2 - 2023-07-15 00:10:48.972000+00:00 - - -118.460821 - 34.032056 - 13.2 - 2023-07-15 01:44:14.028000+00:00 - - -118.460828 - 34.032056 - 13.2 - 2023-07-15 04:44:19.203000+00:00 markers: - device_id: 00000000-4636-461C-B5F6-7E4BEFC09575 timestamp: 2023-04-24 19:19:59.569000+00:00 type: device_linked - type: device_status data: start: recorded_at: 2023-07-15 00:00:00+00:00 location: recorded_at: 2023-07-15 00:10:48.972000+00:00 geometry: type: Point coordinates: - -118.460831 - 34.032051 end: recorded_at: 2023-07-16 17:51:30.068000+00:00 location: recorded_at: 2023-07-16 17:51:30.068000+00:00 geometry: type: Point coordinates: - -118.460847 - 34.032045 duration: 150690 value: active address: 12511 Venice Blvd., Los Angeles, CA 90066 activity: stop steps: 10 bubble: centroid: - -118.4372615 - 34.0033542 radius: 5 marker_id: c067c38c-e9a9-4fb2-b304-f8682ed3ad6b - type: device_status data: start: recorded_at: 2023-07-16 17:51:30.068000+00:00 location: recorded_at: 2023-07-16 17:51:30.068000+00:00 geometry: type: Point coordinates: - -118.460847 - 34.032045 end: recorded_at: 2023-07-16 18:07:14.320000+00:00 location: recorded_at: 2023-07-16 18:07:14.320000+00:00 geometry: type: Point coordinates: - -118.517871 - 34.034686 duration: 944 value: active activity: drive distance: 8311 marker_id: 3329f37e-cc88-4631-ac7b-1652d1cf2eea - type: device_status data: start: recorded_at: 2023-07-16 18:07:14.320000+00:00 location: recorded_at: 2023-07-16 18:07:14.320000+00:00 geometry: type: Point coordinates: - -118.517871 - 34.034686 end: recorded_at: 2023-07-16 18:17:17.487000+00:00 location: recorded_at: 2023-07-16 18:17:17.487000+00:00 geometry: type: Point coordinates: - -118.517892 - 34.034684 duration: 603 value: active address: East Rustic Road, Pacific Palisades, LA, Los Angeles, California, 90402, United States of America activity: stop steps: 179 bubble: centroid: - -118.517875 - 34.034703 radius: 6 marker_id: fe82c586-295a-406a-8b5a-63e1b4e9bb44 - type: device_status data: start: recorded_at: 2023-07-16 18:17:17.487000+00:00 location: recorded_at: 2023-07-16 18:17:17.487000+00:00 geometry: type: Point coordinates: - -118.517892 - 34.034684 end: recorded_at: 2023-07-16 18:20:43.427000+00:00 location: recorded_at: 2023-07-16 18:20:43.427000+00:00 geometry: type: Point coordinates: - -118.516617 - 34.032466 duration: 206 value: active activity: drive distance: 837 marker_id: de4882aa-4a93-4614-a15f-844eb4987370 started_at: 2023-07-15 00:00:00+00:00 completed_at: 2023-07-17 00:00:00+00:00 distance: 66410 duration: 172799 steps: 423 description: Successful response '401': content: application/json: schema: $ref: '#/components/schemas/HTTPError' description: Authentication error '404': content: application/json: schema: $ref: '#/components/schemas/HTTPError' description: Not found '422': content: application/json: schema: $ref: '#/components/schemas/ValidationError' description: Validation error tags: - Workers summary: Get Worker History description: Generate and fetch the worker history for the provided time range deprecated: true security: - BasicAuth: [] - TokenAuth: [] /workers/{worker_handle}/undelete: post: parameters: - in: path name: worker_handle schema: type: string required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/UndeleteWorkerResponse' example: worker_handle: james@ht.com ops_group_handle: store-sf product_types: - plumbing - hardware device_id: 00000000-4636-461C-B5F6-7E4BEFC09575 profile: workerId: '0012244' vehicle: Ford F-150 zoneId: '4' status: available: false working: false schedule: - start_time: 02:00 end_time: 1080 day_of_week: MONDAY - start_time: 02:00 end_time: 1080 day_of_week: TUESDAY - start_time: 02:00 end_time: 1080 day_of_week: WEDNESDAY created_at: 2023-06-01 02:00:00+00:00 home: address: 777 Story Rd, San Jose, CA 95122 geometry: type: Point coordinates: - -121.8624398 - 37.3304521 radius: 100 device_status: data: activity: drive recorded_at: 2023-10-03 20:42:44.969000+00:00 value: active deleted: false description: Successful response '401': content: application/json: schema: $ref: '#/components/schemas/HTTPError' description: Authentication error '404': content: application/json: schema: $ref: '#/components/schemas/HTTPError' description: Not found tags: - Workers summary: Undelete Worker description: Undelete a previously deleted worker identified by the worker_handle security: - BasicAuth: [] - TokenAuth: [] /workers/{worker_handle}/approvers: get: parameters: - in: path name: worker_handle schema: type: string required: true - in: query name: limit description: Maximum number of approvers to return schema: type: - integer - 'null' default: 100 required: false - in: query name: pagination_token description: Token for pagination to get next page of results schema: type: - string - 'null' required: false - in: query name: approver_type description: Filter by approver type schema: enum: - worker - dashboard_user required: false responses: '200': content: application/json: schema: $ref: '#/components/schemas/WorkerApproverListResponse' example: approvers: - worker_handle: worker_456 approver_id: user_123 approver_type: worker created_at: 2025-01-15 10:30:00+00:00 updated_at: null - worker_handle: worker_456 approver_id: manager_789 approver_type: dashboard_user created_at: 2025-01-15 09:15:00+00:00 updated_at: null total_count: 2 limit: 100 pagination_token: eyJsYXN0X2NyZWF0ZWRfYXQiOiIyMDI1LTAxLTE1VDA5OjE1OjAwWiIsImxhc3RfYXBwcm92ZXJfaWQiOiJtYW5hZ2VyXzc4OSJ9 description: List of worker approvers retrieved successfully '401': content: application/json: schema: $ref: '#/components/schemas/HTTPError' description: Authentication error '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' examples: worker_not_found: summary: driver_not_found value: code: driver_not_found title: Worker Not Found detail: description: Worker not found for handle worker_456 '422': content: application/json: schema: $ref: '#/components/schemas/ValidationError' description: Validation error tags: - Workers summary: List Worker Approvers description: Get a list of all approvers for a specific worker with optional filtering and token-based pagination. security: - BasicAuth: [] - TokenAuth: [] post: parameters: - in: path name: worker_handle schema: type: string required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/WorkerApproverResponse' example: worker_handle: worker_456 approver_id: user_123 approver_type: worker created_at: 2025-01-15 10:30:00+00:00 updated_at: null description: Worker approver created successfully '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' examples: invalid_approver_type: summary: validation_error value: code: validation_error title: Validation Error detail: 'Invalid approver_type: invalid_type. Must be one of [''worker'', ''dashboard_user'']' approver_already_exists: summary: approver_already_exists value: code: approver_already_exists title: Validation Error detail: Approver user_123 already exists for worker worker_456 '401': content: application/json: schema: $ref: '#/components/schemas/HTTPError' description: Authentication error '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' examples: worker_not_found: summary: driver_not_found value: code: driver_not_found title: Worker Not Found detail: description: Worker not found for handle worker_456 '422': content: application/json: schema: $ref: '#/components/schemas/ValidationError' description: Validation error tags: - Workers summary: Create Worker Approver description: Create a new approver for a worker. The approver can be either a worker or a dashboard user. requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateWorkerApproverRequest' security: - BasicAuth: [] - TokenAuth: [] /workers/{worker_handle}/work_status: post: parameters: - in: path name: worker_handle schema: type: string required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/SetWorkerStatusResponse' example: worker_handle: james@ht.com ops_group_handle: store-sf product_types: - plumbing - hardware device_id: 00000000-4636-461C-B5F6-7E4BEFC09575 profile: workerId: '0012244' vehicle: Ford F-150 zoneId: '4' status: available: true working: false schedule: - start_time: 02:00 end_time: 1080 day_of_week: MONDAY - start_time: 02:00 end_time: 1080 day_of_week: TUESDAY - start_time: 02:00 end_time: 1080 day_of_week: WEDNESDAY created_at: 2023-06-01 02:00:00+00:00 home: address: 777 Story Rd, San Jose, CA 95122 geometry: type: Point coordinates: - -121.8624398 - 37.3304521 radius: 100 device_status: data: activity: drive recorded_at: 2023-10-03 20:42:44.969000+00:00 value: active description: Successful response '401': content: application/json: schema: $ref: '#/components/schemas/HTTPError' description: Authentication error '404': content: application/json: schema: $ref: '#/components/schemas/HTTPError' description: Not found '422': content: application/json: schema: $ref: '#/components/schemas/ValidationError' description: Validation error tags: - Workers summary: Set Worker Work Status description: Set the work status of a worker identified by the worker_handle requestBody: content: application/json: schema: $ref: '#/components/schemas/SetWorkerStatusRequest' example: available: true security: - BasicAuth: [] - TokenAuth: [] /workers/ops-groups/{ops_group_handle}: get: parameters: - in: path name: ops_group_handle schema: type: string required: true - in: query name: include_schedule description: Flag to include ops group's schedule in the response. schema: type: boolean default: true required: false responses: '200': content: application/json: schema: $ref: '#/components/schemas/GetOpsGroupResponse' example: ops_group_handle: san-jose-store ops_group_label: store timezone: America/Los_Angeles route_start_location: ops_group_home route_completion_type: manual ops_group_home: geometry: type: Point coordinates: - -121.94186 - 37.3570534 address: 1709 Automation Pkwy, San Jose, CA 95101 objective_fn: minimise_time route_capacity: 10 route_max_distance: 20000 default_shift_start_time: 07:00 default_shift_end_time: 1140 order_tracking_mode: manual shift_availability_mode: manual order_tracking_automation: type: manual description: Successful response '401': content: application/json: schema: $ref: '#/components/schemas/HTTPError' description: Authentication error '404': content: application/json: schema: $ref: '#/components/schemas/HTTPError' description: Not found '422': content: application/json: schema: $ref: '#/components/schemas/ValidationError' description: Validation error tags: - Workers summary: Get Ops Group by Handle description: Fetch ops group by ops_group_handle security: - BasicAuth: [] - TokenAuth: [] patch: parameters: - in: path name: ops_group_handle schema: type: string required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/PatchOpsGroupResponse' example: ops_group_handle: san-jose-store ops_group_label: store timezone: America/Los_Angeles route_start_location: ops_group_home route_completion_type: manual ops_group_home: geometry: type: Point coordinates: - -121.93186 - 36.3570534 address: 1709 Automation Pkwy, San Jose, CA 95101 objective_fn: minimise_time route_capacity: 10 route_max_distance: 20000 default_shift_start_time: 07:00 default_shift_end_time: 1140 order_tracking_mode: manual shift_availability_mode: manual order_tracking_automation: type: manual description: Successful response '401': content: application/json: schema: $ref: '#/components/schemas/HTTPError' description: Authentication error '404': content: application/json: schema: $ref: '#/components/schemas/HTTPError' description: Not found '422': content: application/json: schema: $ref: '#/components/schemas/ValidationError' description: Validation error tags: - Workers summary: Update Ops Group description: Update Ops Group by ops_group_handle requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchOpsGroupRequest' security: - BasicAuth: [] - TokenAuth: [] /workers/{worker_handle}/approvers/{approver_id}: delete: parameters: - in: path name: worker_handle schema: type: string required: true - in: path name: approver_id schema: type: string required: true responses: '204': description: Worker approver deleted successfully '401': content: application/json: schema: $ref: '#/components/schemas/HTTPError' description: Authentication error '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' examples: worker_not_found: summary: driver_not_found value: code: driver_not_found title: Worker Not Found detail: description: Worker not found for handle worker_456 approver_not_found: summary: worker_approver_not_found value: code: worker_approver_not_found title: Worker Approver Not Found detail: description: 'Worker approver not found for worker_handle: worker_456, approver_id: user_123' tags: - Workers summary: Delete Worker Approver description: Remove a specific approver from a worker. security: - BasicAuth: [] - TokenAuth: [] components: schemas: DriverOutageSummary: type: object properties: code: type: string description: Code indicating the type of outage label: type: string description: Text indicating the type of outage description: type: string description: Text describing the outage. category: type: string enum: - behavioural - adversarial - reachability - os - sporadic description: String indicating the category of outage duration: type: integer description: Sum total duration of all outages experienced with this `code` in the specified time range. distance: type: integer description: Sum total (estimated) distance covered during all outages experienced with this `code` in the specified time range. required: - category - code - description - distance - duration - label GetWorkerHistoryResponse: type: object properties: worker_handle: type: string description: Unique customer provided identifier for a worker locations: description: List of locations for the worker's device allOf: - $ref: '#/components/schemas/LineStringLocation1' markers: type: array description: List of markers summarising the history of the worker items: type: object additionalProperties: {} started_at: type: string description: Time from where the history is requested from completed_at: type: string description: Time to where the history is requested to distance: type: integer description: Distance tracked during the duration of history duration: type: integer description: Duration tracked during the duration of history steps: type: integer description: Number of steps taken by worker during the duration of history required: - completed_at - distance - duration - locations - markers - started_at - steps - worker_handle PatchWorkerRequest: type: object properties: device_id: type: - string - 'null' format: uuid description: Unique ID representing the worker's device name: type: - string - 'null' description: Name of the worker ops_group_handle: type: - string - 'null' description: Unique identifier for an Ops Group to which the worker belongs home: description: Worker's home location anyOf: - $ref: '#/components/schemas/LocationWithoutRadius1' product_types: type: - array - 'null' description: List of product types used for worker matching during order planning items: type: string schedule: type: - array - 'null' description: List of schedules used for worker matching during order planning and auto start/stop of availability or tracking of the worker items: oneOf: - $ref: '#/components/schemas/DriverDateSchedule' - $ref: '#/components/schemas/DriverRecurringSchedule' profile: type: - object - 'null' description: Additional customer provided data associated with a worker additionalProperties: {} unavailable_on: type: - array - 'null' description: List of dates (YYYY-MM-DD) on which the worker is unavailable items: type: string transfer_existing_work: type: - boolean - 'null' default: true description: Flag to indicate whether existing work of the worker is to be transferred to the newly linked device.Only applicable at the time of linking worker with a device. SetWorkerStatusResponse: type: object properties: worker_handle: type: string description: Unique customer provided identifier for a worker name: type: - string - 'null' description: Name of the worker ops_group_handle: type: string description: Unique identifier for an Ops Group to which the worker belongs product_types: type: array description: List of product types used for worker matching during order planning items: type: string device_id: type: - string - 'null' description: Unique ID representing the worker's device profile: type: object description: Metadata associated with a worker additionalProperties: {} work_status: description: work_status of the worker with respect to availability and on order fulfilment allOf: - $ref: '#/components/schemas/DriverStatus1' schedule: type: - array - 'null' description: List indicating the schedule of a worker for work assignment items: oneOf: - $ref: '#/components/schemas/DriverDateSchedule' - $ref: '#/components/schemas/DriverRecurringSchedule' deleted: type: - boolean - 'null' description: Flag indicating whether the worker was deleted created_at: type: string description: Timestamp at which the worker was created home: description: Worker home allOf: - $ref: '#/components/schemas/LocationWithoutRadiusResponse' deleted_at: type: - string - 'null' description: Timestamp at which the worker was deleted location: description: Last known location of the worker. anyOf: - $ref: '#/components/schemas/MovementLocationResponse' device_status: description: Current status of the device used by the worker anyOf: - $ref: '#/components/schemas/DeviceStatus1' unavailable_on: type: array description: List of dates (YYYY-MM-DD) on which the worker is not available items: type: string summary: description: Summary of work done by the worker during the specified time range. Default last 24 hours. anyOf: - $ref: '#/components/schemas/DriverSummary1' location_permission: description: Last known location permission on the worker's device anyOf: - $ref: '#/components/schemas/LocationPermission1' device_info: description: Information of the Device associated with Worker anyOf: - $ref: '#/components/schemas/DeviceInfo' battery: description: Information of the battery status. anyOf: - $ref: '#/components/schemas/BatteryStatus1' timezone: type: - string - 'null' description: Timezone of the worker required: - created_at - home - ops_group_handle - product_types - profile - unavailable_on - work_status - worker_handle PolygonGeometry: type: object properties: type: type: string enum: - Polygon description: Geometry type coordinates: type: array description: Location coordinates represented as [[[longitude, latitude], [lon, lat]...]] items: type: array items: type: array items: type: number required: - coordinates - type PointGeometry: type: object properties: coordinates: type: array description: Location coordinates represented as [longitude, latitude] items: type: number type: type: string default: Point enum: - Point description: Geometry type required: - coordinates Error: type: object properties: code: type: string description: error code for the type of error title: type: string description: error title detail: type: string description: error detail DriverDeviceLinkedEvent2: type: object properties: type: type: string enum: - driver_device_linked_event description: String indicating the type of timeline event. recorded_at: type: string description: Timestamp indicating the beginning of the device session. location: description: Location of the device when the event was recorded anyOf: - $ref: '#/components/schemas/LocationGeometryModel' location_recorded_at: type: - string - 'null' description: Timestamp when the location was recorded. driver_handle: type: - string - 'null' deprecated: true description: handle of the driver worker_handle: type: - string - 'null' description: handle of the worker device_id: type: string description: Unique ID of device device_info: description: Device information anyOf: - $ref: '#/components/schemas/DeviceInfo2' former_associated_workers: type: - array - 'null' description: List of workers connected to this device in the last 2 days items: {} required: - device_id - recorded_at - type OrderCompletedEvent2: type: object properties: type: type: string enum: - driver_order_completed description: String indicating the type of timeline event. recorded_at: type: - string - 'null' description: Timestamp when the event was recorded location: description: Location of the device when the event was recorded anyOf: - $ref: '#/components/schemas/LocationGeometryModel' order_handle: type: - string - 'null' description: Order handle route_handle: type: - string - 'null' description: Route handle order_type: type: - string - 'null' description: Order type destination_address: type: - string - 'null' description: Address of the intended order destination. destination_location: description: Intended order destination in coordinates. anyOf: - $ref: '#/components/schemas/LocationGeometryModel' fulfillment_attempt: type: - integer - 'null' description: Number of fulfillment attempts made. driver_handle: type: - string - 'null' deprecated: true description: handle of the driver worker_handle: type: - string - 'null' description: handle of the worker device_id: type: - string - 'null' description: Unique ID of device deviation_from_destination: type: - integer - 'null' description: Distance in meters between the actual completion location to the order location completed_at_destination: type: - boolean - 'null' description: Indicates whether the order was completed at destination required: - type DeviceStatus: type: object properties: value: type: string description: Status of the driver's device - `active` `disconnected` `inactive` `available` `unavailable` data: type: object description: Data associated with the driver's device status - `reason`, `activity` additionalProperties: {} required: - data - value PolylineProperties: type: object properties: timestamps: type: - array - 'null' description: list of timestamps, one for each location in polyline. items: type: string ValidationError: properties: detail: type: object properties: : type: object properties: : type: array items: type: string message: type: string type: object PolylineGeometry: type: object properties: type: type: string description: geometry type coordinates: type: - array - 'null' description: 'centre coordinates: lon, lat' items: type: array items: type: number required: - type DeviceDisconnectedEvent2: type: object properties: type: type: string enum: - device_disconnected_event description: String indicating the type of timeline event. recorded_at_start: type: - string - 'null' description: Timestamp indicating the beginning of the event. recorded_at_end: type: - string - 'null' description: Timestamp indicating the end of the event location_start: description: Location of the device at the beginning of the event. anyOf: - $ref: '#/components/schemas/LocationGeometryModel' location_end: description: Location of the device at the end of the event. anyOf: - $ref: '#/components/schemas/LocationGeometryModel' driver_handle: type: - string - 'null' deprecated: true description: handle of the driver worker_handle: type: - string - 'null' description: handle of the worker device_id: type: string description: Unique ID of device marker_id: type: - string - 'null' description: unique id split_marker_id: type: - string - 'null' description: marker id if the marker is split disconnected_code: type: string description: Code indicating the type of event disconnected_label: type: string description: Text indicating the type of event disconnected_description: type: string description: Text describing the detail description. detail: description: 'Details associated with stats: distance/duration etc.' anyOf: - $ref: '#/components/schemas/ActivityDetail' is_partial: type: boolean description: flag indicating if the outage is partial. is_ongoing: type: boolean description: flag indicating if the activity is ongoing. required: - device_id - disconnected_code - disconnected_description - disconnected_label - is_ongoing - is_partial - type LocationGeometry: type: object properties: type: type: string enum: - Point description: Geometry type coordinates: type: array description: Location coordinates represented as [longitude, latitude] items: type: number required: - coordinates - type DriverStatusUpdatedEvent2: type: object properties: type: type: string enum: - driver_status_updated description: String indicating the type of timeline event. recorded_at: type: - string - 'null' description: Timestamp when the event was recorded location: description: Location of the device when the event was recorded anyOf: - $ref: '#/components/schemas/LocationGeometryModel' detail: description: Details of the status update. anyOf: - $ref: '#/components/schemas/StatusDetail2' tracking: type: - boolean - 'null' description: Boolean flag indicating tracking status. available: type: - boolean - 'null' description: Boolean flag indicating availability status. marker_id: type: - string - 'null' description: unique id driver_handle: type: - string - 'null' deprecated: true description: handle of the driver worker_handle: type: - string - 'null' description: handle of the worker device_id: type: - string - 'null' description: Unique ID of device required: - type PostWorkerInviteRequest: type: object properties: app: type: - string - 'null' default: ORDERS enum: - ORDERS - VISITS description: Value indicating the HyperTrack app for which the invite should be generated. `ORDERS` or `VISITS`. PatchOpsGroupResponse: type: object properties: ops_group_handle: type: string description: Unique identifier for an Ops Group ops_group_label: type: string description: Identifier label for an Ops Group timezone: type: string description: IANA timezone of the Ops Group route_start_location: type: string description: Configuration to identify where routes are expected to start route_completion_type: type: string description: Configuration to identify where routes are expected to end objective_fn: type: string description: Configuration to identify the metric used by the solver when generating optimized routes ops_group_home: description: Location of the Ops Group allOf: - $ref: '#/components/schemas/OpsGroupHome' default_shift_start_time: type: string description: Default time HH:mm when the shift starts for drivers default_shift_end_time: type: string description: Default time HH:mm when the shift ends for drivers route_capacity: type: integer description: Maximum number of orders in a route route_max_distance: type: integer description: Maximum distance in meters used by the resolver to constrain each route distance deleted: type: boolean description: Flag to include deleted ops groups deleted_at: type: string description: Timestamp at which the OpsGroup was deleted shift_availability_mode: type: string description: Flag to start/stop availability of all drivers based on the ops group shift order_tracking_mode: type: - string - 'null' description: Order tracking mode associated with the ops-group deprecated: true schedule: type: - array - 'null' description: List of schedules used for ops group workers for work assignment and shift tracking items: oneOf: - $ref: '#/components/schemas/OpsGroupDateSchedule' - $ref: '#/components/schemas/OpsGroupRecurringSchedule' order_tracking_automation: description: A configuration object to enable/disable and customize automatic order tracking. anyOf: - $ref: '#/components/schemas/OpsGroupOrderTrackingAutomation' work_status_automation: type: - array - 'null' description: 'List of configuration object to enable/disable and customize automatic work status updation. If `null`, the default behavior is equivalent to: `{"type": "manual"}`.' items: $ref: '#/components/schemas/WorkStatusAutomation' app_config: type: - object - 'null' description: Configuration specific to order's app additionalProperties: {} operations_radius: type: - integer - 'null' description: Maximum distance in meters from the ops group home within which order destinations are allowed enforce_operations_radius: type: - boolean - 'null' description: Whether to enforce operations_radius validation at order creation time required: - ops_group_handle - ops_group_label - route_capacity - route_max_distance - shift_availability_mode - timezone DriverActivityEvent2: type: object properties: type: type: string enum: - driver_activity_event description: String indicating the type of timeline event. recorded_at_start: type: - string - 'null' description: Timestamp indicating the beginning of the event. recorded_at_end: type: - string - 'null' description: Timestamp indicating the end of the event location_start: description: Location of the device at the beginning of the event. anyOf: - $ref: '#/components/schemas/LocationGeometryModel2' location_end: description: Location of the device at the end of the event. anyOf: - $ref: '#/components/schemas/LocationGeometryModel' detail: description: Details of activity ex. distance (metres), duration (seconds), steps (number) anyOf: - $ref: '#/components/schemas/ActivityDetail2' activity: type: - string - 'null' description: 'type of activity: drive/stop/walk' marker_id: type: - string - 'null' description: event id split_marker_id: type: - string - 'null' description: marker id if the marker is split is_partial: type: boolean description: flag indicating if the activity is trimmed. is_ongoing: type: boolean description: flag indicating if the activity is ongoing. polyline: description: polyline associated with the activity anyOf: - $ref: '#/components/schemas/PolylineGeoJSON2' address: type: - string - 'null' description: address associated with activity source_locations: type: - string - 'null' writeOnly: true description: source locations hex_map: type: - array - 'null' description: location heatmap for stop activity items: $ref: '#/components/schemas/PolygonHeatMap' driver_handle: type: - string - 'null' deprecated: true description: handle of the driver worker_handle: type: - string - 'null' description: handle of the worker device_id: type: - string - 'null' description: Unique ID of device battery_details: description: Details of battery usage during the event. anyOf: - $ref: '#/components/schemas/ActivityBatteryDetails1' required: - is_ongoing - is_partial - type PolylineGeoJSON: type: object properties: type: type: string description: type geometry: description: geojson geometry allOf: - $ref: '#/components/schemas/PolylineGeometry' properties: description: geojson properties allOf: - $ref: '#/components/schemas/PolylineProperties' required: - geometry - properties - type GetOpsGroupResponse: type: object properties: ops_group_handle: type: string description: Unique identifier for an Ops Group ops_group_label: type: string description: Identifier label for an Ops Group timezone: type: string description: IANA timezone of the Ops Group route_start_location: type: string description: Configuration to identify where routes are expected to start route_completion_type: type: string description: Configuration to identify where routes are expected to end objective_fn: type: string description: Configuration to identify the metric used by the solver when generating optimized routes ops_group_home: description: Location of the Ops Group allOf: - $ref: '#/components/schemas/OpsGroupHome' default_shift_start_time: type: string description: Default time HH:mm when the shift starts for drivers default_shift_end_time: type: string description: Default time HH:mm when the shift ends for drivers route_capacity: type: integer description: Maximum number of orders in a route route_max_distance: type: integer description: Maximum distance in meters used by the resolver to constrain each route distance deleted: type: boolean description: Flag to include deleted ops groups deleted_at: type: string description: Timestamp at which the OpsGroup was deleted shift_availability_mode: type: string description: Flag to start/stop availability of all drivers based on the ops group shift order_tracking_mode: type: - string - 'null' description: Order tracking mode associated with the ops-group deprecated: true schedule: type: - array - 'null' description: List of schedules used for ops group workers for work assignment and shift tracking items: oneOf: - $ref: '#/components/schemas/OpsGroupDateSchedule' - $ref: '#/components/schemas/OpsGroupRecurringSchedule' order_tracking_automation: description: A configuration object to enable/disable and customize automatic order tracking. anyOf: - $ref: '#/components/schemas/OpsGroupOrderTrackingAutomation' work_status_automation: type: - array - 'null' description: 'List of configuration object to enable/disable and customize automatic work status updation. If `null`, the default behavior is equivalent to: `{"type": "manual"}`.' items: $ref: '#/components/schemas/WorkStatusAutomation' app_config: type: - object - 'null' description: Configuration specific to order's app additionalProperties: {} operations_radius: type: - integer - 'null' description: Maximum distance in meters from the ops group home within which order destinations are allowed enforce_operations_radius: type: - boolean - 'null' description: Whether to enforce operations_radius validation at order creation time required: - ops_group_handle - ops_group_label - route_capacity - route_max_distance - shift_availability_mode - timezone WorkStatusAutomation: type: object properties: mode: type: - string - 'null' enum: - auto - auto_start - auto_stop description: "Controls what automation should occur.\n \n " type: type: string enum: - manual - tracking - available description: "Defines the basis for automation. The value of this field determines how the rest of the configuration is interpreted.\n \n " required: - type GetWorkerTimelineResponse: type: object properties: worker_handle: type: string description: Unique customer provided identifier for a worker name: type: - string - 'null' description: Name of the worker current_date: type: string description: Current date in the timezone of the worker. ops_group_handle: type: string description: Unique identifier for an Ops Group to which the worker belongs product_types: type: - array - 'null' description: List of product types used for worker matching during order planning items: type: string device_id: type: - string - 'null' description: Unique ID representing the worker's device device_info: description: Information of the Device associated with worker anyOf: - $ref: '#/components/schemas/DeviceInfo' profile: type: - object - 'null' description: Metadata associated with a worker additionalProperties: {} work_status: description: work_status of the worker with respect to availability and on order fulfilment allOf: - $ref: '#/components/schemas/DriverStatus1' schedule: type: - array - 'null' description: List indicating the schedule of a worker for work assignment items: oneOf: - $ref: '#/components/schemas/DriverDateSchedule' - $ref: '#/components/schemas/DriverRecurringSchedule' deleted: type: - boolean - 'null' description: Flag indicating whether the worker was deleted created_at: type: string description: Timestamp at which the worker was created home: description: Worker home anyOf: - $ref: '#/components/schemas/LocationWithoutRadiusResponse' deleted_at: type: - string - 'null' description: Timestamp at which the worker was deleted location: description: Last known location of the worker anyOf: - $ref: '#/components/schemas/MovementLocationResponse' device_status: description: Current status of the device used by the worker anyOf: - $ref: '#/components/schemas/DeviceStatus1' unavailable_on: type: - array - 'null' description: List of dates (YYYY-MM-DD) on which the worker is not available items: type: string devices: type: - array - 'null' description: List of devices that were linked to the worker items: $ref: '#/components/schemas/DriverDevice1' summary: description: Summary of work for the worker anyOf: - $ref: '#/components/schemas/DriverSummary1' location_permission: description: Last known location permission on the worker's device anyOf: - $ref: '#/components/schemas/LocationPermission1' timeline: type: - array - 'null' description: Worker timeline events highlighting the work and relevant events during specified time range. items: oneOf: - $ref: '#/components/schemas/DriverActivityEvent2' - $ref: '#/components/schemas/DriverOutageEvent2' - $ref: '#/components/schemas/DriverStatusUpdatedEvent2' - $ref: '#/components/schemas/GeotagEvent1' - $ref: '#/components/schemas/OrderAssignedEvent2' - $ref: '#/components/schemas/OrderStartedEvent2' - $ref: '#/components/schemas/OrderCompletedEvent2' - $ref: '#/components/schemas/OrderCancelledEvent2' - $ref: '#/components/schemas/OrderRescheduledEvent' - $ref: '#/components/schemas/DriverVisitEvent1' - $ref: '#/components/schemas/DriverDeviceLinkedEvent2' - $ref: '#/components/schemas/DriverDeviceUnlinkedEvent2' - $ref: '#/components/schemas/DeviceDisconnectedEvent2' battery: description: Information of the battery status anyOf: - $ref: '#/components/schemas/BatteryStatus1' timezone: type: - string - 'null' default: UTC description: Timezone of the worker required: - created_at - current_date - ops_group_handle - work_status - worker_handle OrderAssignedEvent2: type: object properties: type: type: string enum: - driver_order_assigned description: String indicating the type of timeline event. recorded_at: type: - string - 'null' description: Timestamp when the event was recorded location: description: Location of the device when the event was recorded anyOf: - $ref: '#/components/schemas/LocationGeometryModel' order_handle: type: - string - 'null' description: Order handle route_handle: type: - string - 'null' description: Route handle order_type: type: - string - 'null' description: Order type destination_address: type: - string - 'null' description: Address of the intended order destination. destination_location: description: Intended order destination in coordinates. anyOf: - $ref: '#/components/schemas/LocationGeometryModel' fulfillment_attempt: type: - integer - 'null' description: Number of fulfillment attempts made. driver_handle: type: - string - 'null' deprecated: true description: handle of the driver worker_handle: type: - string - 'null' description: handle of the worker device_id: type: - string - 'null' description: Unique ID of device required: - type DriverOutageSummary1: type: object properties: code: type: string description: Code indicating the type of outage label: type: string description: Text indicating the type of outage description: type: string description: Text describing the outage. category: type: string enum: - behavioural - adversarial - reachability - os - sporadic description: String indicating the category of outage duration: type: integer description: Sum total duration of all outages experienced with this `code` in the specified time range. distance: type: integer description: Sum total (estimated) distance covered during all outages experienced with this `code` in the specified time range. required: - category - code - description - distance - duration - label LocationGeometryResponse: type: object properties: type: type: string description: Geometry type coordinates: type: array description: Location coordinates represented as list of [longitude, latitude]. items: {} required: - coordinates - type DriverDateSchedule: type: object properties: start_time: type: string description: Start time represented by HH:mm of the worker's day schedule end_time: type: string description: End time represented by HH:mm of the worker's day schedule date: type: string description: Date on which the worker is available for work ops_group_handle: type: - string - 'null' description: Unique identifier for an Ops Group priority: type: - integer - 'null' description: Priority of schedule of a worker required: - date - end_time - start_time WorkerApproverResponse: type: object properties: worker_handle: type: string description: Handle of the worker approver_id: type: string description: ID of the approver approver_type: type: string description: 'Type of approver: ''worker'' or ''dashboard_user''' created_at: type: - string - 'null' description: When the approver was created updated_at: type: - string - 'null' description: When the approver was last updated required: - approver_id - approver_type - worker_handle ActivityBatteryDetails1: type: object properties: battery_used: type: - number - 'null' description: Battery percentage used during event. is_battery_usage_high: type: - boolean - 'null' description: Boolean flag indicating if battery usage during the event was high. DeviceInfo: type: object properties: timezone: type: string description: Timezone of the device os_name: type: string description: Operating system running on the device device_brand: type: string description: Brand of the device sdk_version: type: string description: HyperTrack SDK version used on the device device_model: type: string description: Model of the device network_operator: type: - string - 'null' description: Network operator used by the device os_version: type: string description: Operating system version on the device os_hardware_identifier: type: string description: Hardware identification number for the device app_name: type: string description: App name on the device app_version_string: type: - string - 'null' description: App version used on the device app_version_number: type: - string - 'null' description: App version number used on the device required: - app_name - device_brand - device_model - os_hardware_identifier - os_name - os_version - sdk_version - timezone WorkerExportResponse: type: object properties: job_id: type: string description: Unique identifier for the export job status: type: string description: 'Current status of the export job: pending, processing, completed, failed' message: type: string description: Human-readable message about the job required: - job_id - message - status PolylineGeoJSON2: type: object properties: type: type: string description: type geometry: description: geojson geometry allOf: - $ref: '#/components/schemas/PolylineGeometry2' properties: description: geojson properties allOf: - $ref: '#/components/schemas/PolylineProperties2' required: - geometry - properties - type PostWorkerInviteResponse: type: object properties: worker_handle: type: string description: Unique customer provided identifier for a worker invite_link: type: string description: App link to be shared with the worker required: - invite_link - worker_handle PolylineProperties2: type: object properties: timestamps: type: - array - 'null' description: list of timestamps, one for each location in polyline. items: type: string LocationPermissionStateCounts: type: object properties: always: type: integer foreground_only: type: integer never: type: integer unknown: type: integer required: - always - foreground_only - never - unknown SetWorkerStatusRequest: type: object properties: tracking: type: - boolean - 'null' description: Flag set to indicate that the worker is being tracked while working available: type: - boolean - 'null' description: Flag set to indicate that the worker is available for work OpsGroupHome: type: object properties: geometry: description: Location of the Ops Group home allOf: - $ref: '#/components/schemas/LocationGeometry' address: type: - string - 'null' description: Address for the Ops Group home required: - geometry WorkerAggregate: type: object properties: geotags: description: Aggregate information of geotags in the specified time range allOf: - $ref: '#/components/schemas/GeotagsAggregate' orders: description: Aggregate information of orders in the specified time range allOf: - $ref: '#/components/schemas/OrdersAggregate' workers: description: Aggregate information of workers in the specified time range allOf: - $ref: '#/components/schemas/DriversAggregate1' summary: description: Aggregate information of worker activities in the specified time range allOf: - $ref: '#/components/schemas/SummaryAggregate' tracking_rate: type: - number - 'null' description: Tracking Rate outage_summary: type: - array - 'null' description: Aggregate information of worker outage summaries in the specified time range items: $ref: '#/components/schemas/DriverOutageSummaryAggregate' location_permission_state_counts: description: Counts of location permission states for the last known device of workers. allOf: - $ref: '#/components/schemas/LocationPermissionStateCounts' visits: description: Aggregate information of visits in the specified time range allOf: - $ref: '#/components/schemas/VisitAggregateModel' GeotagsAggregate: type: object properties: count: type: integer description: Number of geotags generated in the given time range distance: description: Stats related to workers' distance anyOf: - $ref: '#/components/schemas/GeotagStats' duration: description: Stats related to workers' duration anyOf: - $ref: '#/components/schemas/GeotagStats' deviation: description: Stats related to the geotag deviation anyOf: - $ref: '#/components/schemas/GeotagStats' required: - count LocationWithoutRadius1: type: object properties: address: type: - string - 'null' description: Address for the location geometry: description: Location geometry anyOf: - $ref: '#/components/schemas/LocationGeometry' GeotagEvent1: type: object properties: type: type: string enum: - geotag_event description: String indicating the type of timeline event. recorded_at: type: - string - 'null' description: Timestamp when the event was recorded location: description: Location of the device when the event was recorded anyOf: - $ref: '#/components/schemas/LocationGeometryModel' geotag_id: type: - string - 'null' description: id of geotag address: type: - string - 'null' description: Address of the device when the geotag was created. order_handle: type: - string - 'null' description: Order handle associated with the geotag. metadata: type: - object - 'null' description: metadata of geotag additionalProperties: {} geotag_type: type: - string - 'null' description: Type of geotag. deviation: type: - integer - 'null' description: Deviation of geotag. expected_location: description: Expected Location. anyOf: - $ref: '#/components/schemas/LocationGeometryModel' driver_handle: type: - string - 'null' deprecated: true description: handle of the driver worker_handle: type: - string - 'null' description: handle of the worker place_handle: type: - string - 'null' description: handle of the place device_id: type: - string - 'null' description: Unique ID of device accuracy: type: - integer - 'null' description: Error margin of location reading associated with the geotag attachments: type: - array - 'null' description: Attachments associated with the event items: oneOf: - $ref: '#/components/schemas/ImageAttachment3' - $ref: '#/components/schemas/NoteAttachment3' - $ref: '#/components/schemas/SignatureAttachment3' required: - type LocationGeometryModel2: type: object properties: type: type: string description: Geometry type. coordinates: description: Geo coordinates (lon, lat) oneOf: - type: array items: type: number - type: array items: type: array items: type: array items: type: number required: - coordinates - type HTTPError: properties: detail: type: object message: type: string type: object PolylineGeometry2: type: object properties: type: type: string description: geometry type coordinates: type: - array - 'null' description: 'centre coordinates: lon, lat' items: type: array items: type: number required: - type PostWorkerRequest: type: object properties: profile: type: - object - 'null' description: Additional customer provided data associated with a worker additionalProperties: {} name: type: - string - 'null' description: Name of the worker home: description: Worker's home location anyOf: - $ref: '#/components/schemas/LocationWithoutRadius1' product_types: type: - array - 'null' description: List of product types used for worker matching during order planning items: type: string unavailable_on: type: - array - 'null' description: List of dates (YYYY-MM-DD) on which the worker is unavailable items: type: string worker_handle: type: string description: Unique customer provided identifier for a worker device_id: type: - string - 'null' format: uuid description: Unique ID representing the worker's device schedule: type: - array - 'null' description: List of schedules used for worker matching during order planning and auto start/stop of availability or tracking of the worker items: oneOf: - $ref: '#/components/schemas/DriverDateSchedule' - $ref: '#/components/schemas/DriverRecurringSchedule' ops_group_handle: type: - string - 'null' default: default description: Unique identifier for an Ops Group to which the worker belongs required: - worker_handle GetWorkersResponse: type: object properties: workers: type: - array - 'null' description: List of workers items: $ref: '#/components/schemas/Worker' pagination_token: type: - string - 'null' description: Identifier used to fetch the next page of data aggregate: description: Combined aggregate work metrics for workers in the given time range. Default last 24 hours. anyOf: - $ref: '#/components/schemas/WorkerAggregate' OrdersAggregate: type: object properties: count: description: Count related to the orders allOf: - $ref: '#/components/schemas/CountGroup' distance: description: Stats related to workers' distance anyOf: - $ref: '#/components/schemas/OrderStats' duration: description: Stats related to workers' duration anyOf: - $ref: '#/components/schemas/OrderStats' deviation: description: Stats related to the geotag deviation anyOf: - $ref: '#/components/schemas/OrderStats' required: - count DriverStatus1: type: object properties: tracking: type: boolean description: Flag indicating whether the worker is currently on work available: type: boolean description: Flag indicating if the worker is available for work required: - available - tracking CreateLocateRequest: type: object properties: {} ApprovalAutomation: type: object properties: auto_cancel: type: boolean description: Whether to auto-cancel unapproved approvals cancel_before_scheduled_in_seconds: type: - integer - 'null' description: Time before scheduled at of order to cancel approvals automatically required: - auto_cancel ActivityDetail2: type: object properties: steps: type: - integer - 'null' description: Number of steps distance: type: - integer - 'null' description: Distance in metres duration: type: - integer - 'null' description: Duration in seconds DeviceStatus1: type: object properties: value: type: string description: Status of the worker's device - `active` `disconnected` `inactive` data: type: object description: Data associated with the worker's device status - `reason`, `activity` additionalProperties: {} required: - data - value BatteryStatus1: type: object properties: battery_percent: type: integer description: Integer indicating the percent of charge on the battery. recorded_at: type: string description: Timestamp of the reading required: - battery_percent - recorded_at OpsGroupHomeRequest: type: object properties: geometry: description: Location of the Ops Group home allOf: - $ref: '#/components/schemas/LocationGeometry' address: type: - string - 'null' description: Address of the Ops Group home required: - geometry ActivityDetail: type: object properties: steps: type: - integer - 'null' description: Number of steps distance: type: - integer - 'null' description: Distance in metres duration: type: - integer - 'null' description: Duration in seconds DriverSummary1: type: object properties: orders: description: Summary of orders fulfilled by the worker in the specified time range. allOf: - $ref: '#/components/schemas/OrderSummary1' geotags: type: - integer - 'null' description: Number of Geotags created by the worker in the specified time range. visits: type: - integer - 'null' description: Number of Visits made by the worker during the specified time range. intended_track_duration: type: integer description: Total duration (in seconds) for which the worker was supposed to be tracked during the specified time range. outage_duration: type: integer description: Total duration (in seconds) for which the worker could not be tracked (in outage) during the specified time range. outage_distance: type: integer description: Total estimated distance (in meters) covered by the worker while he/she could not be tracked during the specified time range. outage_summary: type: array description: List of outages experienced by the worker during the specified time range. items: $ref: '#/components/schemas/DriverOutageSummary1' tracked_duration: type: integer description: Total duration (in seconds) for which the worker was actually tracked during the specified time range. tracked_distance: type: integer description: Total distance (in meters) driven by the worker while the worker was actually tracked during the specified time range. avg_distance_per_visit: type: number description: Average distance (in meters) driven by the worker per visit while the worker was actually tracked during the specified time range. drive_duration: type: integer description: Total duration (seconds) for which the worker was driving during the specified time range. walk_duration: type: integer description: Total duration (seconds) for which the worker was walking during the specified time range. stop_duration: type: integer description: Total duration (seconds) for which the worker had stopped during the specified time range. order_duration: type: integer description: Total duration (seconds) which the worker had spent delivering orders. visit_duration: type: integer description: Total duration (seconds) which the worker had spent doing visits. geotag_duration: type: integer description: Total duration (seconds) which the worker had spent creating geotags. tracking_rate: type: - number - 'null' description: Average tracking rate of the worker during the specified time range. stop_count: type: - integer - 'null' description: Number of stops. walk_count: type: - integer - 'null' description: Number of walks. drive_count: type: - integer - 'null' description: Number of drives. distance: type: - integer - 'null' description: Total distance (tracked + outage) in meters covered by the worker during the specified time range. available_duration: type: - integer - 'null' description: 'Total duration (in seconds) for which the worker was actually tracked during the specified time range.
__Please use the field `tracked_duration` instead.__ ' deprecated: false work_duration: type: - integer - 'null' description: Total duration (seconds) spent on work by the worker in the specified time range. deprecated: true disconnected_duration: type: - integer - 'null' description: Total duration (in seconds) for which the worker was supposed to be tracked, but actually in a disconnected state. deprecated: false status: description: Flags indicating worker's work status during the specified time range. allOf: - $ref: '#/components/schemas/DriverSummaryStatus1' required: - avg_distance_per_visit - drive_duration - geotag_duration - intended_track_duration - order_duration - orders - outage_distance - outage_duration - outage_summary - status - stop_duration - tracked_distance - tracked_duration - visit_duration - walk_duration OpsGroup: type: object properties: ops_group_handle: type: string description: Unique identifier for an Ops Group ops_group_label: type: string description: Identifier label for an Ops Group timezone: type: string description: IANA timezone of the Ops Group route_start_location: type: string description: Configuration to identify where routes are expected to start route_completion_type: type: string description: Configuration to identify where routes are expected to end objective_fn: type: string description: Configuration to identify the metric used by the solver when generating optimized routes ops_group_home: description: Location of the Ops Group allOf: - $ref: '#/components/schemas/OpsGroupHome' default_shift_start_time: type: string description: Default time HH:mm when the shift starts for drivers default_shift_end_time: type: string description: Default time HH:mm when the shift ends for drivers route_capacity: type: integer description: Maximum number of orders in a route route_max_distance: type: integer description: Maximum distance in meters used by the resolver to constrain each route distance deleted: type: boolean description: Flag to include deleted ops groups deleted_at: type: string description: Timestamp at which the OpsGroup was deleted shift_availability_mode: type: string description: Flag to start/stop availability of all drivers based on the ops group shift order_tracking_mode: type: - string - 'null' description: Order tracking mode associated with the ops-group deprecated: true schedule: type: - array - 'null' description: List of schedules used for ops group workers for work assignment and shift tracking items: oneOf: - $ref: '#/components/schemas/OpsGroupDateSchedule' - $ref: '#/components/schemas/OpsGroupRecurringSchedule' order_tracking_automation: description: A configuration object to enable/disable and customize automatic order tracking. anyOf: - $ref: '#/components/schemas/OpsGroupOrderTrackingAutomation' work_status_automation: type: - array - 'null' description: 'List of configuration object to enable/disable and customize automatic work status updation. If `null`, the default behavior is equivalent to: `{"type": "manual"}`.' items: $ref: '#/components/schemas/WorkStatusAutomation' app_config: type: - object - 'null' description: Configuration specific to order's app additionalProperties: {} operations_radius: type: - integer - 'null' description: Maximum distance in meters from the ops group home within which order destinations are allowed enforce_operations_radius: type: - boolean - 'null' description: Whether to enforce operations_radius validation at order creation time required: - ops_group_handle - ops_group_label - route_capacity - route_max_distance - shift_availability_mode - timezone ImageAttachment3: type: object properties: type: enum: - image description: Type of attachment url: type: string description: Image link caption: type: - string - 'null' description: Caption for the image required: - type - url LocationPermission1: type: object properties: state: type: string enum: - always - foreground_only - never - location_imprecise - unknown description: State of location permission recorded_at: type: - string - 'null' description: Time stamp of the last known location permission required: - state DriverSummaryStatus1: type: object properties: intended_to_track: type: boolean description: Boolean flag indicating whether worker was supposed to be tracked during the specified period. tracked: type: boolean description: Boolean flag indicating whether worker was actually tracked during the specified period. worked: type: boolean description: Boolean flag indicating whether worker had worked during the specified period. available: type: boolean description: Boolean flag indicating whether worker was marked available during the specified period. required: - available - intended_to_track - tracked - worked PatchWorkerResponse: type: object properties: worker_handle: type: string description: Unique customer provided identifier for a worker name: type: - string - 'null' description: Name of the worker ops_group_handle: type: string description: Unique identifier for an Ops Group to which the worker belongs product_types: type: array description: List of product types used for worker matching during order planning items: type: string device_id: type: - string - 'null' description: Unique ID representing the worker's device profile: type: object description: Metadata associated with a worker additionalProperties: {} work_status: description: work_status of the worker with respect to availability and on order fulfilment allOf: - $ref: '#/components/schemas/DriverStatus1' schedule: type: - array - 'null' description: List indicating the schedule of a worker for work assignment items: oneOf: - $ref: '#/components/schemas/DriverDateSchedule' - $ref: '#/components/schemas/DriverRecurringSchedule' deleted: type: - boolean - 'null' description: Flag indicating whether the worker was deleted created_at: type: string description: Timestamp at which the worker was created home: description: Worker home allOf: - $ref: '#/components/schemas/LocationWithoutRadiusResponse' deleted_at: type: - string - 'null' description: Timestamp at which the worker was deleted location: description: Last known location of the worker. anyOf: - $ref: '#/components/schemas/MovementLocationResponse' device_status: description: Current status of the device used by the worker anyOf: - $ref: '#/components/schemas/DeviceStatus1' unavailable_on: type: array description: List of dates (YYYY-MM-DD) on which the worker is not available items: type: string summary: description: Summary of work done by the worker during the specified time range. Default last 24 hours. anyOf: - $ref: '#/components/schemas/DriverSummary1' location_permission: description: Last known location permission on the worker's device anyOf: - $ref: '#/components/schemas/LocationPermission1' device_info: description: Information of the Device associated with Worker anyOf: - $ref: '#/components/schemas/DeviceInfo' battery: description: Information of the battery status. anyOf: - $ref: '#/components/schemas/BatteryStatus1' timezone: type: - string - 'null' description: Timezone of the worker required: - created_at - home - ops_group_handle - product_types - profile - unavailable_on - work_status - worker_handle LocateDeviceResultResponse: type: object properties: device_id: type: string description: Unique ID representing the device that was located. status: type: string enum: - pending - completed - error description: 'Per-device locate status: `pending` while async work is in flight, `completed` once the async work for this device is done (inspect `location` / `outage_reasons` / `device_status` for the outcome), `error` on unexpected processing failure.' location: description: Location pulled from this device, if any. anyOf: - $ref: '#/components/schemas/MovementLocationResponse' location_permission: description: Last known location permission for this device. anyOf: - $ref: '#/components/schemas/LocationPermission1' device_status: description: Connection-level outcome for this locate attempt. Populated when the SDK didn't come back online within the wake-and-wait budget (`value` = `disconnected`). Same shape as `worker.device_status`. anyOf: - $ref: '#/components/schemas/DeviceStatus' outage_reasons: type: - array - 'null' description: Outage details reported by the SDK; same shape as `worker.summary.outages`. items: $ref: '#/components/schemas/DriverOutageSummary' completed_at: type: - string - 'null' description: Timestamp at which this device's locate reached terminal state. required: - device_id - status DeviceInfo2: type: object properties: timezone: type: string description: Timezone of the device os_name: type: string description: Operating system running on the device device_brand: type: string description: Brand of the device sdk_version: type: string description: HyperTrack SDK version used on the device device_model: type: string description: Model of the device network_operator: type: - string - 'null' description: Network operator used by the device os_version: type: string description: Operating system version on the device os_hardware_identifier: type: string description: Hardware identification number for the device app_name: type: string description: App name on the device app_version_string: type: - string - 'null' description: App version used on the device app_version_number: type: - string - 'null' description: App version number used on the device required: - app_name - device_brand - device_model - os_hardware_identifier - os_name - os_version - sdk_version - timezone GeotagStats: type: object properties: mean: type: - number - 'null' description: Average value for the metric min: type: - number - 'null' description: Minimum value for the metric max: type: - number - 'null' description: Maximum value for the metric stdev: type: - number - 'null' description: Standard deviation for the metric mean_by_driver: type: - number - 'null' description: Average value per worker for the metric sum: type: number description: Total value of the metric required: - sum OpsGroupRecurringSchedule: type: object properties: start_time: type: string description: Start time of day represented by HH:mm for all the workers belonging to ops group end_time: type: string description: End time of day represented by HH:mm for all the workers belonging to ops group day_of_week: type: string enum: - SUNDAY - MONDAY - TUESDAY - WEDNESDAY - THURSDAY - FRIDAY - SATURDAY description: Day of the week when ops group workers are available for work priority: type: - integer - 'null' description: Priority of schedule required: - day_of_week - end_time - start_time PostWorkerResponse: type: object properties: worker_handle: type: string description: Unique customer provided identifier for a worker name: type: - string - 'null' description: Name of the worker ops_group_handle: type: string description: Unique identifier for an Ops Group to which the worker belongs product_types: type: array description: List of product types used for worker matching during order planning items: type: string device_id: type: - string - 'null' description: Unique ID representing the worker's device profile: type: object description: Metadata associated with a worker additionalProperties: {} work_status: description: work_status of the worker with respect to availability and on order fulfilment allOf: - $ref: '#/components/schemas/DriverStatus1' schedule: type: - array - 'null' description: List indicating the schedule of a worker for work assignment items: oneOf: - $ref: '#/components/schemas/DriverDateSchedule' - $ref: '#/components/schemas/DriverRecurringSchedule' deleted: type: - boolean - 'null' description: Flag indicating whether the worker was deleted created_at: type: string description: Timestamp at which the worker was created home: description: Worker home allOf: - $ref: '#/components/schemas/LocationWithoutRadiusResponse' deleted_at: type: - string - 'null' description: Timestamp at which the worker was deleted location: description: Last known location of the worker. anyOf: - $ref: '#/components/schemas/MovementLocationResponse' device_status: description: Current status of the device used by the worker anyOf: - $ref: '#/components/schemas/DeviceStatus1' unavailable_on: type: array description: List of dates (YYYY-MM-DD) on which the worker is not available items: type: string summary: description: Summary of work done by the worker during the specified time range. Default last 24 hours. anyOf: - $ref: '#/components/schemas/DriverSummary1' location_permission: description: Last known location permission on the worker's device anyOf: - $ref: '#/components/schemas/LocationPermission1' device_info: description: Information of the Device associated with Worker anyOf: - $ref: '#/components/schemas/DeviceInfo' battery: description: Information of the battery status. anyOf: - $ref: '#/components/schemas/BatteryStatus1' timezone: type: - string - 'null' description: Timezone of the worker required: - created_at - home - ops_group_handle - product_types - profile - unavailable_on - work_status - worker_handle OpsGroupDateSchedule: type: object properties: start_time: type: string description: Start time of day represented by HH:mm for all the workers belonging to ops group end_time: type: string description: End time of day represented by HH:mm for all the workers belonging to ops group date: type: string description: Date for which for all the workers belonging to ops group are available for work priority: type: - integer - 'null' description: Priority of schedule required: - date - end_time - start_time DriversAggregate1: type: object properties: total: type: - integer - 'null' description: Total number of workers matching applied filters total_intended_to_track: type: - integer - 'null' description: Workers expected to be tracked during the period worked: type: - integer - 'null' description: Workers who performed work (orders, geotags, or visits) tracked: type: - integer - 'null' description: Workers successfully tracked during the period untracked: type: - integer - 'null' description: Workers with tracking intent but failed due to actionable outage disconnected: type: - integer - 'null' description: Workers with tracking intent but failed without actionable outage tracked_not_worked: type: - integer - 'null' description: Workers tracked but with no work activity OrderSummary1: type: object properties: total: type: integer description: Total orders completed: type: integer description: Orders completed cancelled: type: integer description: Orders cancelled tracked: type: integer description: Orders currently being tracked assigned: type: integer description: Orders assigned completed_tasks: type: integer description: Order tasks completed required: - assigned - cancelled - completed - completed_tasks - total - tracked GetOpsGroupsResponse: type: object properties: pagination_token: type: string description: Identifier used to fetch the next page of data ops_groups: type: array description: List of Ops Groups items: $ref: '#/components/schemas/OpsGroup' LocationGeometryModel: type: object properties: type: type: string description: Geometry type. coordinates: description: Geo coordinates (lon, lat) oneOf: - type: array items: type: number - type: array items: type: array items: type: array items: type: number required: - coordinates - type PostOpsGroupResponse: type: object properties: ops_group_handle: type: string description: Unique identifier for an Ops Group ops_group_label: type: string description: Identifier label for an Ops Group timezone: type: string description: IANA timezone of the Ops Group route_start_location: type: string description: Configuration to identify where routes are expected to start route_completion_type: type: string description: Configuration to identify where routes are expected to end objective_fn: type: string description: Configuration to identify the metric used by the solver when generating optimized routes ops_group_home: description: Location of the Ops Group allOf: - $ref: '#/components/schemas/OpsGroupHome' default_shift_start_time: type: string description: Default time HH:mm when the shift starts for drivers default_shift_end_time: type: string description: Default time HH:mm when the shift ends for drivers route_capacity: type: integer description: Maximum number of orders in a route route_max_distance: type: integer description: Maximum distance in meters used by the resolver to constrain each route distance deleted: type: boolean description: Flag to include deleted ops groups deleted_at: type: string description: Timestamp at which the OpsGroup was deleted shift_availability_mode: type: string description: Flag to start/stop availability of all drivers based on the ops group shift order_tracking_mode: type: - string - 'null' description: Order tracking mode associated with the ops-group deprecated: true schedule: type: - array - 'null' description: List of schedules used for ops group workers for work assignment and shift tracking items: oneOf: - $ref: '#/components/schemas/OpsGroupDateSchedule' - $ref: '#/components/schemas/OpsGroupRecurringSchedule' order_tracking_automation: description: A configuration object to enable/disable and customize automatic order tracking. anyOf: - $ref: '#/components/schemas/OpsGroupOrderTrackingAutomation' work_status_automation: type: - array - 'null' description: 'List of configuration object to enable/disable and customize automatic work status updation. If `null`, the default behavior is equivalent to: `{"type": "manual"}`.' items: $ref: '#/components/schemas/WorkStatusAutomation' app_config: type: - object - 'null' description: Configuration specific to order's app additionalProperties: {} operations_radius: type: - integer - 'null' description: Maximum distance in meters from the ops group home within which order destinations are allowed enforce_operations_radius: type: - boolean - 'null' description: Whether to enforce operations_radius validation at order creation time required: - ops_group_handle - ops_group_label - route_capacity - route_max_distance - shift_availability_mode - timezone LocationWithoutRadiusResponse: type: object properties: address: type: - string - 'null' description: Address for the location geometry: description: Location geometry allOf: - $ref: '#/components/schemas/LocationGeometryResponse' required: - geometry OrderRescheduledEvent: type: object properties: type: type: string enum: - driver_order_rescheduled description: String indicating the type of timeline event. recorded_at: type: - string - 'null' description: Timestamp when the event was recorded location: description: Location of the device when the event was recorded anyOf: - $ref: '#/components/schemas/LocationGeometryModel' order_handle: type: - string - 'null' description: Order handle route_handle: type: - string - 'null' description: Route handle order_type: type: - string - 'null' description: Order type destination_address: type: - string - 'null' description: Address of the intended order destination. destination_location: description: Intended order destination in coordinates. anyOf: - $ref: '#/components/schemas/LocationGeometryModel' fulfillment_attempt: type: - integer - 'null' description: Number of fulfillment attempts made. driver_handle: type: - string - 'null' deprecated: true description: handle of the driver worker_handle: type: - string - 'null' description: handle of the worker device_id: type: - string - 'null' description: Unique ID of device required: - type SummaryAggregate: type: object properties: tracked_duration: type: - integer - 'null' description: Total tracked duration of all workers. tracked_distance: type: - integer - 'null' description: Total tracked distance of all workers. outage_duration: type: - integer - 'null' description: Total outage duration of all workers. outage_distance: type: - integer - 'null' description: Total outage distance of all workers. drive_duration: type: - integer - 'null' description: Total drive duration of all workers. stop_duration: type: - integer - 'null' description: Total stop duration of all workers. walk_duration: type: - integer - 'null' description: Total walk duration of all workers. GeofenceGeometry1: type: object properties: type: type: string description: type geometry: description: geometry of geofence oneOf: - $ref: '#/components/schemas/PointGeometry' - $ref: '#/components/schemas/PolylineGeometry' properties: type: - object - 'null' description: properties additionalProperties: {} required: - geometry - type LineStringLocation1: type: object properties: type: type: string description: Type of location object coordinates: type: array description: Array of coordinates and the recorded_at timestamp items: type: array items: {} required: - coordinates - type CreateWorkerApproverRequest: type: object properties: approver_id: type: string description: ID of the approver approver_type: enum: - worker - dashboard_user description: 'Type of approver: ''worker'' or ''dashboard_user''' required: - approver_id - approver_type SignatureAttachment3: type: object properties: type: enum: - signature description: Type of attachment url: type: string description: Signature image link required: - type - url PatchOpsGroupRequest: type: object properties: ops_group_label: type: - string - 'null' description: Display name for an Ops Group route_start_location: type: - string - 'null' enum: - driver_home - ops_group_home - live_location description: Configuration to identify where routes are expected to start route_completion_type: type: - string - 'null' enum: - end_at_last_order - return_to_start_location - manual description: Configuration to identify where routes are expected to end objective_fn: type: - string - 'null' enum: - minimise_time - minimise_distance description: Configuration to identify the metric used by the solver when generating optimized routes ops_group_home: description: Location of the Ops Group anyOf: - $ref: '#/components/schemas/OpsGroupHomeRequest' default_shift_start_time: type: - string - 'null' description: Default time HH:mm when the shift starts for drivers default_shift_end_time: type: - string - 'null' description: Default time HH:mm when the shift ends for drivers route_capacity: type: - integer - 'null' description: Maximum number of orders in a route route_max_distance: type: - integer - 'null' description: Maximum distance in meters used by the resolver to constrain each route distance timezone: type: - string - 'null' description: IANA timezone of the Ops Group shift_availability_mode: type: - string - 'null' enum: - auto - manual description: Flag to start/stop availability of all drivers based on the ops group shift deprecated: true order_tracking_mode: type: - string - 'null' description: Order tracking mode associated with the ops-group deprecated: true order_tracking_automation: description: A configuration object to enable/disable and customize automatic order tracking. anyOf: - $ref: '#/components/schemas/OpsGroupOrderTrackingAutomation' work_status_automation: type: - array - 'null' description: 'List of configuration object to enable/disable and customize automatic work status updation. If `null`, the default behavior is equivalent to: `{"type": "manual"}`.' items: $ref: '#/components/schemas/WorkStatusAutomation' schedule: type: - array - 'null' description: List of schedules used for ops group workers matching during order planning and auto start/stop of availability or tracking of the workers items: oneOf: - $ref: '#/components/schemas/OpsGroupDateSchedule' - $ref: '#/components/schemas/OpsGroupRecurringSchedule' app_config: type: - object - 'null' description: Configuration specific to order's app additionalProperties: {} operations_radius: type: - integer - 'null' description: Maximum distance in meters from the ops group home within which order destinations are allowed enforce_operations_radius: type: - boolean - 'null' description: Whether to enforce operations_radius validation at order creation time WorkerExportStatusResponse: type: object properties: job_id: type: string description: Unique identifier for the export job status: type: string description: 'Current status: pending, processing, completed, failed' rows_processed: type: integer default: 0 description: Number of rows processed so far presigned_url: type: - string - 'null' description: Presigned S3 URL to download the export (available when completed) error_message: type: - string - 'null' description: Error message if job failed created_at: type: - string - 'null' description: Job creation timestamp (ISO 8601) started_at: type: - string - 'null' description: Job start timestamp (ISO 8601) completed_at: type: - string - 'null' description: Job completion timestamp (ISO 8601) required: - job_id - status DriverDeviceUnlinkedEvent2: type: object properties: type: type: string enum: - driver_device_unlinked_event description: String indicating the type of timeline event. recorded_at: type: string description: Timestamp indicating the end of the device session. location: description: Location of the device when the event was recorded anyOf: - $ref: '#/components/schemas/LocationGeometryModel' location_recorded_at: type: - string - 'null' description: Timestamp when the location was recorded. driver_handle: type: - string - 'null' deprecated: true description: handle of the driver worker_handle: type: - string - 'null' description: handle of the worker device_id: type: string description: Unique ID of device device_info: description: Device information anyOf: - $ref: '#/components/schemas/DeviceInfo' unlink_duration: type: - integer - 'null' description: Duration in seconds indicating how long the worker remained unlinked from the device. unlinked_due_to_logout: type: - boolean - 'null' description: Flag indicating whether the device was unlinked as a result of a logout event. required: - device_id - recorded_at - type PolygonHeatMap: type: object properties: geometry: description: polygon geometry allOf: - $ref: '#/components/schemas/PolygonGeometry' time_spent: type: number description: time spent at the polygon required: - geometry - time_spent NoteAttachment3: type: object properties: type: enum: - note description: Type of attachment data: type: string description: Text for the note required: - data - type DriverRecurringSchedule: type: object properties: start_time: type: string description: Start time represented by HH:mm of the worker's day schedule end_time: type: string description: End time represented by HH:mm of the worker's day schedule day_of_week: type: string enum: - SUNDAY - MONDAY - TUESDAY - WEDNESDAY - THURSDAY - FRIDAY - SATURDAY description: Day of the week when the worker is available for work ops_group_handle: type: - string - 'null' description: Unique identifier for an Ops Group priority: type: - integer - 'null' description: Priority of schedule of a worker required: - day_of_week - end_time - start_time DriverDevice1: type: object properties: device_id: type: string description: Unique ID representing the worker's device start_time: type: string description: Timestamp of when the device was linked to the worker end_time: type: - string - 'null' description: Timestamp of when the device was unlinked to the worker required: - device_id - start_time WorkerApproverListResponse: type: object properties: approvers: type: array description: List of worker approvers items: $ref: '#/components/schemas/WorkerApproverResponse' total_count: type: integer description: Total number of approvers limit: type: integer description: Maximum number of approvers returned pagination_token: type: - string - 'null' description: Token for next page of results required: - approvers - limit - total_count OrderStartedEvent2: type: object properties: type: type: string enum: - driver_order_started description: String indicating the type of timeline event. recorded_at: type: - string - 'null' description: Timestamp when the event was recorded location: description: Location of the device when the event was recorded anyOf: - $ref: '#/components/schemas/LocationGeometryModel' order_handle: type: - string - 'null' description: Order handle route_handle: type: - string - 'null' description: Route handle order_type: type: - string - 'null' description: Order type destination_address: type: - string - 'null' description: Address of the intended order destination. destination_location: description: Intended order destination in coordinates. anyOf: - $ref: '#/components/schemas/LocationGeometryModel' fulfillment_attempt: type: - integer - 'null' description: Number of fulfillment attempts made. driver_handle: type: - string - 'null' deprecated: true description: handle of the driver worker_handle: type: - string - 'null' description: handle of the worker device_id: type: - string - 'null' description: Unique ID of device required: - type DriverOutageEvent2: type: object properties: type: type: string enum: - driver_outage_event description: String indicating the type of timeline event. recorded_at_start: type: - string - 'null' description: Timestamp indicating the beginning of the event. recorded_at_end: type: - string - 'null' description: Timestamp indicating the end of the event location_start: description: Location of the device at the beginning of the event. anyOf: - $ref: '#/components/schemas/LocationGeometryModel' location_end: description: Location of the device at the end of the event. anyOf: - $ref: '#/components/schemas/LocationGeometryModel' marker_id: type: - string - 'null' description: unique id split_marker_id: type: - string - 'null' description: marker id if the marker is split outage_code: type: string description: Code indicating the type of outage outage_label: type: string description: Text indicating the type of outage outage_is_user_generated: type: boolean description: Flag indicating if the outage is user generated. outage_description: type: string description: Text describing the outage and resolution. outage_category: type: string enum: - behavioural - adversarial - reachability - os - sporadic description: String indicating the category of outage detail: description: 'Details associated with outage: distance/duration etc.' anyOf: - $ref: '#/components/schemas/ActivityDetail' is_partial: type: boolean description: flag indicating if the outage is partial. is_ongoing: type: boolean description: flag indicating if the activity is ongoing. polyline: description: estimated polyline associated with the outage anyOf: - $ref: '#/components/schemas/PolylineGeoJSON' driver_handle: type: - string - 'null' deprecated: true description: handle of the driver worker_handle: type: - string - 'null' description: handle of the worker device_id: type: - string - 'null' description: Unique ID of device required: - is_ongoing - is_partial - outage_category - outage_code - outage_description - outage_is_user_generated - outage_label - type CountGroup: type: object properties: total: type: integer description: Total number of orders completed: type: - integer - 'null' description: Total number of completed orders cancelled: type: - integer - 'null' description: Total number of cancelled orders assigned: type: - integer - 'null' description: Total number of assigned orders tracked: type: - integer - 'null' description: Total number of tracked orders required: - total DriverOutageSummaryAggregate: type: object properties: code: type: string description: Code indicating the type of outage label: type: string description: Text indicating the type of outage description: type: string description: Text describing the outage. category: type: string enum: - behavioural - adversarial - reachability - os - sporadic description: String indicating the category of outage duration: type: integer description: Total duration of all instances of concerned outage. duration_untracked: type: integer description: Total duration of all instances of concerned outage observed for untracked workers. duration_tracked: type: integer description: Total duration of all instances of concerned outage observed for tracked workers. distance: type: integer description: Estimated distance covered during all instances of concerned outage. required: - category - code - description - distance - duration - duration_tracked - duration_untracked - label StatusDetail2: type: object properties: actor: enum: - business - hypertrack description: Source of the action that updated the status. DriverVisitEvent1: type: object properties: type: type: string enum: - driver_visit_event description: String indicating the type of timeline event. recorded_at_start: type: - string - 'null' description: Timestamp indicating the beginning of the event. recorded_at_end: type: - string - 'null' description: Timestamp indicating the end of the event location_start: description: Location of the device at the beginning of the event. anyOf: - $ref: '#/components/schemas/LocationGeometryModel' location_end: description: Location of the device at the end of the event. anyOf: - $ref: '#/components/schemas/LocationGeometryModel' marker_id: type: - string - 'null' description: unique id geofence_id: type: string description: ID of the visited geofence. geofence_label: type: - string - 'null' description: Name of the visited geofence. geofence_geometry: description: Geometry of the visited geofence in geojson format anyOf: - $ref: '#/components/schemas/GeofenceGeometry1' geofence_metadata: type: - object - 'null' description: metadata of geofence additionalProperties: {} address: type: - string - 'null' description: Human friendly address of the visit. duration: type: - integer - 'null' description: Duration of visit in seconds. driver_handle: type: - string - 'null' deprecated: true description: handle of the driver worker_handle: type: - string - 'null' description: handle of the worker device_id: type: - string - 'null' description: Unique ID of device order_handle: type: - string - 'null' description: Unique handle of the order enroute_distance: type: - integer - 'null' description: Distance travelled on route to the visit enroute_duration: type: - integer - 'null' description: Duration spent on route to visit required: - geofence_id - type OpsGroupOrderTrackingAutomation: type: object properties: mode: type: - string - 'null' enum: - auto - auto_start - auto_stop description: "Controls what automation should occur.\n \n " lead_time: type: - integer - 'null' default: 0 minimum: 0 maximum: 86399 description: "Defines how early tracking should begin, relative to a key event.\n \n " lag_time: type: - integer - 'null' default: 0 minimum: 0 maximum: 86399 description: "Defines how late tracking should stop, relative to a key event.\n \n Important: Tracking will not automatically stop if the driver still has active orders.\n " type: type: string enum: - manual - shift - order - route - order_and_route description: "Defines the basis for automation. The value of this field determines how the rest of the configuration is interpreted.\n \n " approval: description: Approval automation settings. anyOf: - $ref: '#/components/schemas/ApprovalAutomation' acceptance: description: Acceptance automation settings. anyOf: - $ref: '#/components/schemas/AcceptanceAutomation' required: - type OrderCancelledEvent2: type: object properties: type: type: string enum: - driver_order_cancelled description: String indicating the type of timeline event. recorded_at: type: - string - 'null' description: Timestamp when the event was recorded location: description: Location of the device when the event was recorded anyOf: - $ref: '#/components/schemas/LocationGeometryModel' order_handle: type: - string - 'null' description: Order handle route_handle: type: - string - 'null' description: Route handle order_type: type: - string - 'null' description: Order type destination_address: type: - string - 'null' description: Address of the intended order destination. destination_location: description: Intended order destination in coordinates. anyOf: - $ref: '#/components/schemas/LocationGeometryModel' fulfillment_attempt: type: - integer - 'null' description: Number of fulfillment attempts made. driver_handle: type: - string - 'null' deprecated: true description: handle of the driver worker_handle: type: - string - 'null' description: handle of the worker device_id: type: - string - 'null' description: Unique ID of device cancellation_source: type: - object - 'null' description: Detail about how order got cancelled additionalProperties: {} required: - type WorkerExportRequest: type: object properties: from_date: type: - string - 'null' description: 'ISO 8601 date format (''yyyy-MM-dd'') indicating the start date to be used for the summary computation.
Default: Current date in UTC.' to_date: type: - string - 'null' description: 'ISO 8601 date format (''yyyy-MM-dd'') indicating the end date to be used for the summary computation.
Default: Current date in UTC.' limit: type: - integer - 'null' default: 25 description: Number of workers to be sent in response include_schedule: type: boolean default: true description: Flag to include worker's schedule in the response. include_summary: type: boolean default: true description: Flag to include worker's summary stats in the response. ops_group_handle: type: - string - 'null' description: List of ops group handles as comma separated strings used to filter workers. profile: type: - string - 'null' description: Profile filter to be applied on the list of workers worker_handle: type: - string - 'null' description: List of worker handles as comma separated strings used for fetching associated workers search_term: type: - string - 'null' description: Keyword to match against worker handle, name, or profile pagination_token: type: - string - 'null' description: Identifier used to fetch the next page of data device_id: type: - string - 'null' format: uuid description: Unique identifier for a worker's device. This field is present in case the worker is currently linked with a device include_deleted: type: boolean default: false description: Flag to include deleted workers from_time: type: - string - 'null' format: date-time description: ISO 8601 datetime indicating the start time to be used for computing summary, status. deprecated: true to_time: type: - string - 'null' format: date-time description: ISO 8601 datetime indicating the end time to be used for computing summary, status. deprecated: true filter_outage: type: - string - 'null' description: Filter workers on a particular outage code. filter_outage_category: type: - string - 'null' description: 'List of comma separated outage categories to be used for filtering workers. Valid categories: `behavioural`,`adversarial`,`reachability`,`os`,`sporadic`' filter_geofence_metadata: type: - string - 'null' description: geofence_metadata filter for aggregate response aggregate: type: boolean default: false description: Flag set to retrieve aggregated data over the provided time range work_status: type: - string - 'null' description: URL-encoded json string specifying filters on availability or tracking. filter_status: type: - string - 'null' enum: - active - inactive - disconnected description: Only list workers that are currently active/inactive/disconnected. tracked: type: - boolean - 'null' description: If set to true, only shows workers that were actually tracked during the specified period. worked: type: - boolean - 'null' description: If set to true, only shows workers that actually during the specified period. intended_to_track: type: - boolean - 'null' description: If set to true, only shows workers that was supposed to be tracked during the specified period. include_lp: type: - boolean - 'null' default: false description: Flag to include location permission stats in response (only applicable when `aggregate=True`). region_filter: type: - string - 'null' description: URL-encoded JSON string used to filter workers from a particular region. Ex `{"city":"Detroit"}` email_recipients: type: array description: Optional list of email addresses to send the export download link. Falls back to the account email when omitted. items: type: string LocateResponse: type: object properties: request_id: type: string description: Unique identifier for the locate request. worker_handle: type: string description: Unique customer provided identifier for a worker. status: type: string enum: - pending - completed - error description: 'Worker-level rollup: `pending` while async work is in flight, `completed` once the async work is done (introspect `devices[]` for per-device outcomes — connection state lives on `device_status`, outage detail on `outage_reasons`), `error` on unexpected internal failure.' devices: type: - array - 'null' description: Per-device locate results, newest session first. Empty array when the worker has no active device sessions; see each entry's `outage_reasons` for per-device outages. items: $ref: '#/components/schemas/LocateDeviceResultResponse' created_at: type: - string - 'null' description: Timestamp at which the locate request was created. updated_at: type: - string - 'null' description: Timestamp of last update to the locate request. completed_at: type: - string - 'null' description: Timestamp at which the locate request reached a terminal state. required: - request_id - status - worker_handle OrderStats: type: object properties: mean: type: - number - 'null' description: Average value for the metric min: type: - number - 'null' description: Minimum value for the metric max: type: - number - 'null' description: Maximum value for the metric stdev: type: - number - 'null' description: Standard deviation for the metric mean_by_driver: type: - number - 'null' description: Average value per worker for the metric sum: type: number description: Total value of the metric required: - sum UndeleteWorkerResponse: type: object properties: worker_handle: type: string description: Unique customer provided identifier for a worker name: type: - string - 'null' description: Name of the worker ops_group_handle: type: string description: Unique identifier for an Ops Group to which the worker belongs product_types: type: array description: List of product types used for worker matching during order planning items: type: string device_id: type: - string - 'null' description: Unique ID representing the worker's device profile: type: object description: Metadata associated with a worker additionalProperties: {} work_status: description: work_status of the worker with respect to availability and on order fulfilment allOf: - $ref: '#/components/schemas/DriverStatus1' schedule: type: - array - 'null' description: List indicating the schedule of a worker for work assignment items: oneOf: - $ref: '#/components/schemas/DriverDateSchedule' - $ref: '#/components/schemas/DriverRecurringSchedule' deleted: type: - boolean - 'null' description: Flag indicating whether the worker was deleted created_at: type: string description: Timestamp at which the worker was created home: description: Worker home allOf: - $ref: '#/components/schemas/LocationWithoutRadiusResponse' deleted_at: type: - string - 'null' description: Timestamp at which the worker was deleted location: description: Last known location of the worker. anyOf: - $ref: '#/components/schemas/MovementLocationResponse' device_status: description: Current status of the device used by the worker anyOf: - $ref: '#/components/schemas/DeviceStatus1' unavailable_on: type: array description: List of dates (YYYY-MM-DD) on which the worker is not available items: type: string summary: description: Summary of work done by the worker during the specified time range. Default last 24 hours. anyOf: - $ref: '#/components/schemas/DriverSummary1' location_permission: description: Last known location permission on the worker's device anyOf: - $ref: '#/components/schemas/LocationPermission1' device_info: description: Information of the Device associated with Worker anyOf: - $ref: '#/components/schemas/DeviceInfo' battery: description: Information of the battery status. anyOf: - $ref: '#/components/schemas/BatteryStatus1' timezone: type: - string - 'null' description: Timezone of the worker required: - created_at - home - ops_group_handle - product_types - profile - unavailable_on - work_status - worker_handle PostOpsGroupRequest: type: object properties: ops_group_handle: type: string description: Unique identifier for an Ops Group ops_group_label: type: string description: Display name for an Ops Group route_start_location: type: string default: live_location enum: - driver_home - ops_group_home - live_location description: Configuration to identify where routes are expected to start route_completion_type: type: string default: end_at_last_order enum: - end_at_last_order - return_to_start_location - manual description: Configuration to identify where routes are expected to end objective_fn: type: - string - 'null' default: minimise_time enum: - minimise_time - minimise_distance description: Configuration to identify the metric used by the solver when generating optimized routes order_tracking_mode: type: - string - 'null' description: Order tracking mode associated with the ops-group deprecated: true order_tracking_automation: description: 'Controls how and when worker tracking is automatically started and stopped. If `null`, the default behavior is equivalent to: `{"type": "manual"}`.' anyOf: - $ref: '#/components/schemas/OpsGroupOrderTrackingAutomation' work_status_automation: type: - array - 'null' description: 'List of configuration object to enable/disable and customize automatic work status updation. If `null`, the default behavior is equivalent to: `{"type": "manual"}`.' items: $ref: '#/components/schemas/WorkStatusAutomation' ops_group_home: description: Location of the Ops Group anyOf: - $ref: '#/components/schemas/OpsGroupHomeRequest' default_shift_start_time: type: - string - 'null' description: Default time HH:mm when the shift starts for drivers default_shift_end_time: type: - string - 'null' description: Default time HH:mm when the shift ends for drivers route_capacity: type: - integer - 'null' description: Maximum number of orders in a route route_max_distance: type: - integer - 'null' description: Maximum distance in meters used by the route solver to constrain each route distance operations_radius: type: - integer - 'null' description: Maximum distance in meters from the ops group home within which order destinations are allowed enforce_operations_radius: type: - boolean - 'null' description: Whether to enforce operations_radius validation at order creation time timezone: type: string default: UTC description: IANA timezone of the Ops Group shift_availability_mode: type: - string - 'null' default: manual enum: - auto - manual description: Flag to start/stop availability of all drivers based on the ops group shift deprecated: true schedule: type: - array - 'null' description: List of schedules used for ops group workers matching during order planning and auto start/stop of availability or tracking of the workers items: oneOf: - $ref: '#/components/schemas/OpsGroupDateSchedule' - $ref: '#/components/schemas/OpsGroupRecurringSchedule' app_config: type: - object - 'null' description: Configuration specific to order's app additionalProperties: {} required: - ops_group_handle - ops_group_label Worker: type: object properties: worker_handle: type: string description: Unique customer provided identifier for a worker name: type: - string - 'null' description: Name of the worker ops_group_handle: type: string description: Unique identifier for an Ops Group to which the worker belongs product_types: type: array description: List of product types used for worker matching during order planning items: type: string device_id: type: - string - 'null' description: Unique ID representing the worker's device profile: type: object description: Metadata associated with a worker additionalProperties: {} work_status: description: work_status of the worker with respect to availability and on order fulfilment allOf: - $ref: '#/components/schemas/DriverStatus1' schedule: type: - array - 'null' description: List indicating the schedule of a worker for work assignment items: oneOf: - $ref: '#/components/schemas/DriverDateSchedule' - $ref: '#/components/schemas/DriverRecurringSchedule' deleted: type: - boolean - 'null' description: Flag indicating whether the worker was deleted created_at: type: string description: Timestamp at which the worker was created home: description: Worker home allOf: - $ref: '#/components/schemas/LocationWithoutRadiusResponse' deleted_at: type: - string - 'null' description: Timestamp at which the worker was deleted location: description: Last known location of the worker. anyOf: - $ref: '#/components/schemas/MovementLocationResponse' device_status: description: Current status of the device used by the worker anyOf: - $ref: '#/components/schemas/DeviceStatus1' unavailable_on: type: array description: List of dates (YYYY-MM-DD) on which the worker is not available items: type: string summary: description: Summary of work done by the worker during the specified time range. Default last 24 hours. anyOf: - $ref: '#/components/schemas/DriverSummary1' location_permission: description: Last known location permission on the worker's device anyOf: - $ref: '#/components/schemas/LocationPermission1' device_info: description: Information of the Device associated with Worker anyOf: - $ref: '#/components/schemas/DeviceInfo' battery: description: Information of the battery status. anyOf: - $ref: '#/components/schemas/BatteryStatus1' timezone: type: - string - 'null' description: Timezone of the worker required: - created_at - home - ops_group_handle - product_types - profile - unavailable_on - work_status - worker_handle AcceptanceAutomation: type: object properties: auto_cancel: type: boolean description: Whether to auto-cancel unaccepted acceptances cancel_before_scheduled_in_seconds: type: - integer - 'null' description: Time before scheduled event to cancel acceptances automatically required: - auto_cancel MovementLocationResponse: type: object properties: geometry: description: Location geometry allOf: - $ref: '#/components/schemas/LocationGeometryResponse' accuracy: type: - number - 'null' description: Accuracy in meters for the location bearing: type: - number - 'null' description: Directional position in degrees for the location speed: type: - number - 'null' description: Speed in meters per second at this location recorded_at: type: - string - 'null' description: Timestamp associated with the last known location of the worker. required: - geometry VisitAggregateModel: type: object properties: count: type: integer description: Number of visits in the given time range required: - count securitySchemes: BasicAuth: type: http scheme: basic TokenAuth: type: http scheme: bearer BearerAuth: type: http scheme: bearer