Docs

Update a person

Preview· P9
PATCH/people/{person_id}

Changes a person's details. Send only the fields you want to change; fields you leave out stay as they are. custom_fields are merged key by key, and a key set to null is removed.

  • Fires person.updated.
  • A deactivated person can't be updated (invalid_state).
  • Returns conflict if another person already uses the new email address.

Scope: people:write · Plan: Pro and Enterprise in live mode; every plan in test mode.

Authorization

AuthorizationBearer <token>

Send Authorization: Bearer <token> on every request. The token is one of:

PrefixWhat it isWhere it may be used
agoo_sk_live_Secret key, live modeYour servers only
agoo_sk_test_Secret key, test modeYour servers only
agoo_pk_live_Publishable key, live modeBrowsers 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 modeAs 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: people:write

Path Parameters

person_id*string

The person's ID.

Match^person_[0-7][0-9a-hjkmnp-tv-z]{25}$
Example"person_01kjsesxm0e4zbyvkr7bcfxbfg"

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

The fields to change. Send null to clear an optional field.

Properties1 <= properties

Response Body

application/json

application/problem+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/people/person_01kjsesxm0e4zbyvkr7bcfxbfg" \  -H "Content-Type: application/json" \  -d '{    "job_title": "Director, Treasury"  }'
{  "id": "person_01kjsesxm0e4zbyvkr7bcfxbfg",  "name": "Kwame Mensah",  "email": "kwame.mensah@voltabank.example",  "phone": "+233205550142",  "job_title": "Director, Treasury",  "department": "Treasury",  "employee_number": "VB-0142",  "site_ids": [    "site_01kjpt3yw0fz0v414608h9x65s"  ],  "can_host": true,  "tracks_attendance": true,  "status": "active",  "custom_fields": {},  "created_at": "2026-03-03T09:00:00Z",  "updated_at": "2026-10-14T10:02:00Z",  "deactivated_at": null}