People Protect Quickstart

This quickstart gets a People Protect integration through the basic server flow: authenticate, register a customer, create a live-location callout, and open callout tracking for the customer.

1

Authenticate

First, exchange your client ID and client secret for a secure bearer token. Include this token in the header of all subsequent API calls.

1POST /panic-api/v2/oauth/token HTTP/1.1
2Host: staging-panic.aura.services
3Content-Type: application/json
4
5{
6 "clientId": "your_client_id",
7 "clientSecret": "your_client_secret"
8}
2

Register a customer with a subscription

Create the customer profile representing the protected user, and activate a subscription in the same call — live callouts require the customer to have an active subscription, so creating one without a subscription leaves the customer unable to request help. Store the returned customerId; you need it for subscriptions and callouts.

1POST /panic-api/v2/customers HTTP/1.1
2Host: staging-panic.aura.services
3Authorization: Bearer YOUR_ACCESS_TOKEN
4Content-Type: application/json
5
6{
7 "customer": {
8 "name": "Jane",
9 "surname": "Doe",
10 "mobile": "+27821234567"
11 },
12 "subscription": {
13 "subscriptionTypeId": 4,
14 "validFrom": "2026-06-10T00:00:00Z",
15 "validTo": "2027-06-10T00:00:00Z"
16 }
17}

Get valid subscriptionTypeId values for your customer source from List subscription types.

3

Create a callout at the customer's current location

When the user requests assistance, create a callout for that customer using their current latitude and longitude. Use the customerId returned in the previous step as the path parameter.

1POST /panic-api/v2/customers/{customerId}/callouts HTTP/1.1
2Host: staging-panic.aura.services
3Authorization: Bearer YOUR_ACCESS_TOKEN
4Content-Type: application/json
5
6{
7 "location": {
8 "latitude": -26.12345,
9 "longitude": 28.12345,
10 "accuracy": 10
11 },
12 "responseTypeId": 1,
13 "calloutClassificationId": 1
14}

If the customer already has an active callout, this call returns the existing callout rather than creating another one.

4

Open the live tracking URL

The callout response always includes a hosted tracking link in its url field. Redirect the customer’s browser to it or load it inside an in-app WebView so the user can track the response.

5

Verify and close the callout

Read the callout back to confirm its state. Note that the read endpoint returns a richer, nested shape than the creation response — incident and dispatch detail live under incidentInformation[].

1GET /panic-api/v2/callouts/{calloutId} HTTP/1.1
2Host: staging-panic.aura.services
3Authorization: Bearer YOUR_ACCESS_TOKEN

Staging callouts are never closed automatically. To drive your callout through dispatch, arrival, completion, and closure, open the Responder Simulator in the AURA portal (switch to Staging mode), enter your calloutId, and step through the flow. The simulator does not emit webhook events — poll the callout to observe its state changes.