> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.aurasos.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.aurasos.com/_mcp/server.

# Property Protect Quickstart

This quickstart gets a **Property Protect** integration through the basic server
flow: authenticate, register a Fixed Location, and create a callout when an
alarm or operator action requires response.

#### 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.

* Reference: [Exchange credentials for a token](/api-reference/authentication/create-oauth-token)

```http
POST /panic-api/v2/oauth/token HTTP/1.1
Host: staging-panic.aura.services
Content-Type: application/json

{
  "clientId": "your_client_id",
  "clientSecret": "your_client_secret"
}
```

#### Register a Fixed Location

Before you can create a callout for a property, register it as a Fixed Location with coordinates, details, and your own stable `externalReferenceId`.

* Reference: [Create a fixed location](/api-reference/fixed-locations/create-fixed-location)

```http
POST /panic-api/v2/predefinedLocations HTTP/1.1
Host: staging-panic.aura.services
Authorization: Bearer YOUR_ACCESS_TOKEN
Content-Type: application/json

{
  "externalReferenceId": "site_9944",
  "locationIdentifier": "site_9944",
  "locationDescription": "Downtown Branch",
  "latitude": "-26.12345",
  "longitude": "28.12345",
  "formattedAddress": "123 Main Street, Johannesburg",
  "calloutLocationTypeId": 3
}
```

#### Create a Fixed Location callout

When an alarm or operator action requires AURA response, create a callout by passing the Fixed Location's `externalReferenceId`.

* Reference: [Create a fixed-location callout](/api-reference/callouts/create-fixed-location-callout)

```http
POST /panic-api/v2/predefinedLocations/externalRef/site_9944/callouts HTTP/1.1
Host: staging-panic.aura.services
Authorization: Bearer YOUR_ACCESS_TOKEN
Content-Type: application/json

{}
```

The body is optional. Store the returned callout `id` for cancellation,
events, and polling. If the `externalReferenceId` is unknown, the API
responds with **400** (not 404) and the detail in the `message` field.

#### Verify and close the callout

Read the callout back with
[Get a callout](/api-reference/callouts/get-callout-by-id) — note the read
endpoint returns a richer, **nested** shape than the creation response.

Staging callouts are never closed automatically. To drive your callout
through dispatch, arrival, completion, and closure, open the
**Responder Simulator** in the [AURA portal](https://staging-portal.aura.services)
(switch to Staging mode), enter your `calloutId`, and step through the flow.
Each step emits the matching webhook event, as a live response would. See
[Testing with the Responder Simulator](/overview/core-concepts/webhooks#testing-with-the-responder-simulator)
for the step-to-event mapping.

## Next steps

* [Fixed Locations](/property-protect/fixed-locations)
* [Bulk importing Fixed Locations via CSV](/property-protect/bulk-csv-import)
* [Handling webhooks and state updates](/overview/core-concepts/webhooks)
* [Monitoring Platforms](/property-protect/use-cases/monitoring-platforms)