Skip to main content

Events API

Record what happened and when - duty start, duty end, check-in, check-out - as a queryable operational timeline.


Overview & Solution​

A GPS track tells you where someone was. It does not tell you what they were doing, or what the business considers a completed action.

The Events API captures those moments explicitly. A field app raises an event when a shift starts, when a technician checks in at a site, when a form is submitted. Each event carries a type and action code, and can be tied to a specific record in your data layers - so the timeline links back to the customer, asset or job it belongs to.

Key Value Propositions​

  • Structured, not free text - typeCode / actionCode pairs mean events can be counted, filtered and reported on, not just read.
  • Linked to your data - attach an event to a record so "checked in" means "checked in at this customer".
  • One timeline - attendance, visits and custom milestones sit in the same queryable stream.

Industry Use Cases​

1. Workforce Attendance & Shift Management​

  • Duty accounting - derive worked hours from on-duty and off-duty events instead of a separate attendance system.
  • Shift compliance - surface late starts and early finishes without a manager reviewing tracks by hand.

2. Field Service & Inspections​

  • Check-in / check-out at site - establish time on site per job, and flag visits that were too short to be plausible.
  • Milestone capture - record job stages as they happen rather than reconstructing them from a closing report.

3. Audit & Dispute Resolution​

  • Event trail - answer "when did this actually happen" with a timestamped record rather than a recollection.
  • Operational reporting - count events by type, user or period to see throughput and where it drops.

Ingestion, not subscription

This API records and queries events. It does not push outbound webhooks to your systems - if you need Sovereign to call your endpoint when something happens, talk to us about your requirements.


Works well with​

Pair it withTo get
Tracking APIThe route between two check-ins
PJP APIPlanned visits alongside what actually occurred
Employee Management APIEvents attributed to a known workforce record
Custom Data Layers APIEvents linked to your own customer or asset records


API reference​

Field Force Mobility Execution APIs · Requires Intelomatic tenant

Endpoints​

MethodPathPurpose
POST/api/ndms2/eventsRecord an event
POST/api/ndms2/events/searchSearch events

All requests require a bearer token and the api-key query parameter:

Authorization: Bearer <access_token>
?api-key=<apiKey>

Record an event​

POST /api/ndms2/events

Request Parameters

ParameterInTypeRequiredDescriptionExample
typeCodebodystringNo
actionCodebodystringNo
layerCodebodystringNo
recordNodeIdbodystringNo

Request body

{
"typeCode": "DUTY",
"actionCode": "on_duty",
"layerCode": "<optional layer>",
"recordNodeId": "<optional record id>"
}

Search events​

POST /api/ndms2/events/search

Request Parameters

ParameterInTypeRequiredDescriptionExample
filterbodyobjectNo
filter.createUserbodystringNo

Request body

{
"filter": {
"createUser": "<username>"
}
}

Example​

curl -X POST '$BASE_URL/api/ndms2/events?api-key=$API_KEY' \
-H 'Authorization: Bearer $TOKEN' \
-H 'Content-Type: application/json' \
-d '{"typeCode": "DUTY", "actionCode": "on_duty", "layerCode": "<optional layer>", "recordNodeId": "<optional record id>"}'

Notes​

Observed typeCode/actionCode pairs: DUTY/on_duty, DUTY/off_duty.

This is an event ingestion endpoint: your devices and apps push events here. Outbound delivery (webhooks to your own systems) is a separate integration to design with the team if you need it.

Accepted events:

No.ActionType IDType CodeAction Code
1Turn off duty to on duty1DUTYon_duty
2Turn on duty to off duty1DUTYoff_duty
3Login4AUTHENTICATIONlogin
4Log out4AUTHENTICATIONlogout
5Create a local record2COLLECTORcreate_local_record
6Edit a local record2COLLECTORedit_local_record
7Remove local record2COLLECTORremove_local_record
8Publish a new record2COLLECTORpublish_new_record
9Edit an online record2COLLECTORedit_online_record
10Publish an edited version of an online record2COLLECTORpublish_replacement_record
11Remove an online record2COLLECTORremove_online_record
12Launch app3APP_EVENTlaunch_app
13Resume app3APP_EVENTresume_app
14Have bad app setting6APP_SETTINGbad_setting
15Submit evidence when setting up the app7EVIDENCEinitial_setup
16Submit evidence when providing missing permission7EVIDENCEmissing_permissions
17Check in a visit9VISITcheck_in
18Check out a visit9VISITcheck_out
19Cancel a visit9VISITcancel
20Create order10ORDERcreate_order
21Create customer11CUSTOMERcreate_customer
22Expense submitted12EXPENSEsubmitted_expense

This list is not fixed - new event types and action codes can be declared through the Intelomatic User interface.