# People

## GET /people

> List people in a tenant (or in the tenant owning a given site).

```json
{"openapi":"3.0.3","info":{"title":"Incident Tracker API","version":"1.0.0"},"servers":[{"url":"https://api.kitehouse.co.uk"}],"paths":{"/people":{"get":{"tags":["People"],"description":"List people in a tenant (or in the tenant owning a given site).","parameters":[{"schema":{"type":"string"},"in":"query","name":"tenant","required":false},{"schema":{"type":"string"},"in":"query","name":"site","required":false},{"schema":{"type":"boolean"},"in":"query","name":"active","required":false},{"schema":{"type":"string"},"in":"query","name":"q","required":false},{"schema":{"type":"number"},"in":"query","name":"limit","required":false},{"schema":{"type":"number"},"in":"query","name":"skip","required":false}],"responses":{"200":{"description":"Default Response"}}}}}}
```

## POST /people

> Create a new person (tenant-scoped, unique by student\_id within tenant).

```json
{"openapi":"3.0.3","info":{"title":"Incident Tracker API","version":"1.0.0"},"servers":[{"url":"https://api.kitehouse.co.uk"}],"paths":{"/people":{"post":{"tags":["People"],"description":"Create a new person (tenant-scoped, unique by student_id within tenant).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["tenant","first_name","last_name","student_id"],"properties":{"tenant":{"type":"string"},"site":{"type":"string"},"first_name":{"type":"string"},"last_name":{"type":"string"},"student_id":{"type":"string"},"email":{"type":"string"},"welfare_flag":{"type":"boolean"},"flags":{"type":"array","items":{"type":"string"}},"welfare_state":{"type":"string"}}}}}},"responses":{"200":{"description":"Default Response"}}}}}}
```

## GET /people/{personId}

> Retrieve a single person with active booking context.

```json
{"openapi":"3.0.3","info":{"title":"Incident Tracker API","version":"1.0.0"},"servers":[{"url":"https://api.kitehouse.co.uk"}],"paths":{"/people/{personId}":{"get":{"tags":["People"],"description":"Retrieve a single person with active booking context.","parameters":[{"schema":{"type":"string"},"in":"path","name":"personId","required":true}],"responses":{"200":{"description":"Default Response"}}}}}}
```

## DELETE /people/{personId}

> Archive a person (soft delete).

```json
{"openapi":"3.0.3","info":{"title":"Incident Tracker API","version":"1.0.0"},"servers":[{"url":"https://api.kitehouse.co.uk"}],"paths":{"/people/{personId}":{"delete":{"tags":["People"],"description":"Archive a person (soft delete).","parameters":[{"schema":{"type":"string"},"in":"query","name":"site","required":true},{"schema":{"type":"string"},"in":"path","name":"personId","required":true}],"responses":{"200":{"description":"Default Response"}}}}}}
```

## PATCH /people/{personId}

> Update a person.

```json
{"openapi":"3.0.3","info":{"title":"Incident Tracker API","version":"1.0.0"},"servers":[{"url":"https://api.kitehouse.co.uk"}],"paths":{"/people/{personId}":{"patch":{"tags":["People"],"description":"Update a person.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["site"],"properties":{"site":{"type":"string"},"first_name":{"type":"string"},"last_name":{"type":"string"},"email":{"type":"string"},"welfare_flag":{"type":"boolean"},"flags":{"type":"array","items":{"type":"string"}},"welfare_state":{"type":["string","null"]},"active":{"type":"boolean"}}}}}},"parameters":[{"schema":{"type":"string"},"in":"path","name":"personId","required":true}],"responses":{"200":{"description":"Default Response"}}}}}}
```

## GET /people/search

> Unified person search by id / name / email / active booking location.

```json
{"openapi":"3.0.3","info":{"title":"Incident Tracker API","version":"1.0.0"},"servers":[{"url":"https://api.kitehouse.co.uk"}],"paths":{"/people/search":{"get":{"tags":["People"],"description":"Unified person search by id / name / email / active booking location.","parameters":[{"schema":{"type":"string"},"in":"query","name":"tenant","required":false},{"schema":{"type":"string"},"in":"query","name":"site","required":false},{"schema":{"type":"string"},"in":"query","name":"q","required":false},{"schema":{"type":"number"},"in":"query","name":"limit","required":false},{"schema":{"type":"string","enum":["active_only","all","include_ancestors"]},"in":"query","name":"scope","required":false}],"responses":{"200":{"description":"Default Response"}}}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://kitehouse.co.uk/docs/api-reference/people.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
