Update a site's attendance settings
/sites/{site_id}/attendance-settingsSets the site's own methods and selfie mode (null to use your organisation's again), its geofence (a
circle of 20 to 5,000 metres, or a polygon of 3 to 100 points) and the Wi-Fi networks that count as being
there. Send only what changes. Switching evidence on at a site needs a published notice for it.
Scope: attendance:manage · Plan: Pro and Enterprise in live mode; every plan in test mode.
Send Authorization: Bearer <token> on every request. The token is one of:
| Prefix | What it is | Where it may be used |
|---|---|---|
agoo_sk_live_ | Secret key, live mode | Your servers only |
agoo_sk_test_ | Secret key, test mode | Your servers only |
agoo_pk_live_ | Publishable key, live mode | Browsers and apps: create pre-registrations and bookings, read public booking types (with their intake questions) and their free slots, read the visit types open for pre-registration with their public forms. Never lists people. |
agoo_pk_test_ | Publishable key, test mode | As above, in test mode |
Admins create keys in Console → Developers → API keys and choose each key's scopes. A key is shown once. Never put a secret key in a URL, a browser or a mobile app.
In: header
Scope: attendance:manage
Path Parameters
The site's ID.
^site_[0-7][0-9a-hjkmnp-tv-z]{25}$"site_01kjpt3yw0fz0v414608h9x65s"Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
1 <= propertiesResponse Body
application/json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
curl -X PATCH "https://example.com/sites/site_01kjpt3yw0fz0v414608h9x65s/attendance-settings" \ -H "Content-Type: application/json" \ -d '{ "geofence": { "type": "circle", "latitude": 5.6037, "longitude": -0.187, "radius_m": 150 }, "wifi_networks": [ { "ssid": "RidgeMedical-Staff" } ] }'{ "site_id": "site_01kjpt3yw0fz0v414608h9x65s", "methods": null, "selfie_mode": "required", "geofence": { "type": "circle", "latitude": 5.6037, "longitude": -0.187, "radius_m": 150 }, "wifi_networks": [ { "ssid": "RidgeMedical-Staff" }, { "bssid": "a4:2b:b0:11:22:33" } ], "effective": { "methods": [ "qr", "pin", "face", "geofence", "terminal" ], "selfie_mode": "required" }, "updated_at": "2026-09-28T10:05:00Z"}Get a site's attendance settings GET
Returns the site's own methods and selfie mode (`null` where it uses your organisation's), its geofence and Wi-Fi networks, and what applies there (`effective`). **Scope:** `attendance:read` · **Plan:** Pro and Enterprise in live mode; every plan in test mode.
List people's evidence status GET
Returns, for one evidence type, each active person on attendance with their status, sorted by person. Use `status=unacknowledged` for everyone who hasn't acknowledged the current notice yet, or `status=no_consent` in consent mode. **Scope:** `attendance:read` · **Plan:** Pro and Enterprise in live mode; every plan in test mode.