> For the complete documentation index, see [llms.txt](https://docs.riskbase.uk/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.riskbase.uk/riskbase-docs/api/properties.md).

# Properties

## GET /properties/groups

> Get Property Groups

```json
{"openapi":"3.1.1","info":{"title":"RiskBase API","version":"0.0.1"},"tags":[{"name":"Properties","description":""}],"servers":[{"url":"https://api3.riskbase.uk"}],"security":[{"Bearer Authentication":[]}],"components":{"securitySchemes":{"Bearer Authentication":{"type":"http","scheme":"bearer","description":"`Authorization: Bearer {AuthorizationToken}`"}}},"paths":{"/properties/groups":{"get":{"tags":["Properties"],"summary":"Get Property Groups","parameters":[{"schema":{"type":"integer","minimum":1,"maximum":1000,"default":1000},"in":"query","name":"limit"},{"schema":{"type":"integer","default":1},"in":"query","name":"page"}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"total":{"type":"integer"},"propertyGroups":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"UID"},"name":{"type":"string"},"reference":{"type":"string"},"customReference":{"type":"string"}}}}}}}}}}}}}}
```

## GET /properties

> Get Properties

```json
{"openapi":"3.1.1","info":{"title":"RiskBase API","version":"0.0.1"},"tags":[{"name":"Properties","description":""}],"servers":[{"url":"https://api3.riskbase.uk"}],"security":[{"Bearer Authentication":[]}],"components":{"securitySchemes":{"Bearer Authentication":{"type":"http","scheme":"bearer","description":"`Authorization: Bearer {AuthorizationToken}`"}}},"paths":{"/properties":{"get":{"tags":["Properties"],"summary":"Get Properties","parameters":[{"schema":{"type":"integer","minimum":1,"maximum":1000,"default":1000},"in":"query","name":"limit"},{"schema":{"type":"integer","default":1},"in":"query","name":"page"},{"schema":{"type":"string"},"in":"query","name":"property","description":"Comma separated property IDs"},{"schema":{"type":"string"},"in":"query","name":"customreference","description":"Comma separated property custom references"}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"total":{"type":"integer"},"properties":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"reference":{"type":"string"},"customReference":{"type":"string"},"photoId":{"type":["string","null"]},"address":{"type":"object","properties":{"line1":{"type":"string"},"line2":{"type":"string"},"city":{"type":"string"},"county":{"type":"string"},"postcode":{"type":"string"}}}}}}}}}}}}}}}}
```

## Create Property

> \- Triggers the \`property\` webhook.<br>

```json
{"openapi":"3.1.1","info":{"title":"RiskBase API","version":"0.0.1"},"tags":[{"name":"Properties","description":""}],"servers":[{"url":"https://api3.riskbase.uk"}],"security":[{"Bearer Authentication":[]}],"components":{"securitySchemes":{"Bearer Authentication":{"type":"http","scheme":"bearer","description":"`Authorization: Bearer {AuthorizationToken}`"}}},"paths":{"/properties":{"post":{"tags":["Properties"],"summary":"Create Property","description":"- Triggers the `property` webhook.\n","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["name"],"properties":{"name":{"type":"string","required":true},"parent":{"type":"string","nullable":"true,","format":"UID","description":"Parent property or property group ID. If null is provided, the property will be created in a property group called \"Created by API\""},"customReference":{"type":"string"},"address":{"type":"object","properties":{"line1":{"type":"string"},"line2":{"type":"string"},"city":{"type":"string"},"county":{"type":"string"},"postcode":{"type":"string"}}},"skipWebhook":{"type":"boolean","default":false}}}}}},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"id":{"type":"string","format":"UID"}}}}}},"400":{"content":{"application/json":{"schema":{"oneOf":[{"title":"PropertyCreateNameRequired","properties":{"code":{"type":"PropertyCreateNameRequired"}}},{"title":"PropertyCreateInvalidParent","properties":{"code":{"type":"PropertyCreateInvalidParent"}}}]}}}}}}}}}
```

## GET /properties/tree

> Get Property Tree

```json
{"openapi":"3.1.1","info":{"title":"RiskBase API","version":"0.0.1"},"tags":[{"name":"Properties","description":""}],"servers":[{"url":"https://api3.riskbase.uk"}],"security":[{"Bearer Authentication":[]}],"components":{"securitySchemes":{"Bearer Authentication":{"type":"http","scheme":"bearer","description":"`Authorization: Bearer {AuthorizationToken}`"}}},"paths":{"/properties/tree":{"get":{"tags":["Properties"],"summary":"Get Property Tree","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"tree":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"type":{"type":"enum","enum":["Organisation","Property Group","Property"]},"children":{"type":"array","description":"Recurring tree","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"type":{"type":"enum","enum":["Organisation","Property Group","Property"]},"children":{"type":"array","description":"Recurring tree","items":{"type":"object"}}}}}}}}}}}}}}}}}}
```

## Update Property

> Update a property's name and address.\
> \- Triggers the \`property\` webhook.<br>

```json
{"openapi":"3.1.1","info":{"title":"RiskBase API","version":"0.0.1"},"tags":[{"name":"Properties","description":""}],"servers":[{"url":"https://api3.riskbase.uk"}],"security":[{"Bearer Authentication":[]}],"components":{"securitySchemes":{"Bearer Authentication":{"type":"http","scheme":"bearer","description":"`Authorization: Bearer {AuthorizationToken}`"}}},"paths":{"/properties/{propertyId}":{"patch":{"tags":["Properties"],"summary":"Update Property","description":"Update a property's name and address.\n- Triggers the `property` webhook.\n","parameters":[{"schema":{"type":"string","format":"UID"},"in":"path","name":"propertyId","required":true}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"customReference":{"type":"string"},"address":{"type":"object","properties":{"line1":{"type":"string"},"line2":{"type":"string"},"city":{"type":"string"},"county":{"type":"string"},"postcode":{"type":"string"}}},"skipWebhook":{"type":"boolean","default":false}}}}}},"responses":{"204":{"content":"application/json"},"400":{"content":{"application/json":{"schema":{"oneOf":[{"title":"PropertyNotFound","properties":{"code":{"type":"PropertyNotFound"}}}]}}}}}}}}}
```

## Move Property

> Move a property to a different position in the property tree; either below a property group or another property.\
> \- Triggers the \`property\` webhook.<br>

```json
{"openapi":"3.1.1","info":{"title":"RiskBase API","version":"0.0.1"},"tags":[{"name":"Properties","description":""}],"servers":[{"url":"https://api3.riskbase.uk"}],"security":[{"Bearer Authentication":[]}],"components":{"securitySchemes":{"Bearer Authentication":{"type":"http","scheme":"bearer","description":"`Authorization: Bearer {AuthorizationToken}`"}}},"paths":{"/properties/{propertyId}/parent":{"patch":{"tags":["Properties"],"summary":"Move Property","description":"Move a property to a different position in the property tree; either below a property group or another property.\n- Triggers the `property` webhook.\n","parameters":[{"schema":{"type":"string","format":"UID"},"in":"path","name":"propertyId","required":true}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["parent"],"properties":{"parent":{"type":"string","format":"UID","description":"Parent property or property group ID"},"skipWebhook":{"type":"boolean","default":false}}}}}},"responses":{"204":{"content":"application/json"},"400":{"content":{"application/json":{"schema":{"oneOf":[{"title":"PropertyNotFound","properties":{"code":{"type":"PropertyNotFound"}}},{"title":"PropertyParentNotFound","properties":{"code":{"type":"PropertyParentNotFound"}}},{"title":"PropertyMoveParentIsChild","properties":{"code":{"type":"PropertyMoveParentIsChild"},"error":{"type":"Parent property is currently a child of the property being moved"}}},{"title":"PropertyMoveInvalidParentPropertyGroup","properties":{"code":{"type":"PropertyMoveInvalidParentPropertyGroup"},"error":{"type":"Property groups can only exist under an organisation or another property group"}}},{"title":"PropertyMoveInvalidParentProperty","properties":{"code":{"type":"PropertyMoveInvalidParentProperty"},"error":{"type":"Property can only exist under a property group or another property"}}}]}}}}}}}}}
```

## Get Property Team Users

> Get a list of users responsible for teams for all properties in your organisation.\
> \- Responsible users are auto-assigned to tasks that are assigned to their team.\
> \- Users are automatically given access to properties they are responsible for.<br>

```json
{"openapi":"3.1.1","info":{"title":"RiskBase API","version":"0.0.1"},"tags":[{"name":"Properties","description":""}],"servers":[{"url":"https://api3.riskbase.uk"}],"security":[{"Bearer Authentication":[]}],"components":{"securitySchemes":{"Bearer Authentication":{"type":"http","scheme":"bearer","description":"`Authorization: Bearer {AuthorizationToken}`"}}},"paths":{"/properties/teamusers":{"get":{"tags":["Properties"],"summary":"Get Property Team Users","description":"Get a list of users responsible for teams for all properties in your organisation.\n- Responsible users are auto-assigned to tasks that are assigned to their team.\n- Users are automatically given access to properties they are responsible for.\n","parameters":[{"schema":{"type":"string","format":"UID"},"in":"query","name":"property","description":"Comma separated property IDs"},{"schema":{"type":"string","format":"UID"},"in":"query","name":"user","description":"Comma separated user IDs"},{"schema":{"type":"boolean","default":false},"in":"query","name":"includeinherited","description":"Responsibility is inherited down the property tree. By default this endpoint will list responsbility which has been set explicitly. Set this to true to include inherited responsibility."}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"properties":{"type":"object","properties":{"propertyId":{"type":"object","properties":{"teamId":{"type":"array","items":{"type":"string","format":"UID"}}}}}}}}}}}}}}}}
```

## Add Property Team Users

> Set which users are responsible for teams at this property.\
> \- Users are added as members of the team if they aren't already. Triggers the team webhook if users are added to the team.\
> \- Invalid user IDs are silently ignored.<br>

```json
{"openapi":"3.1.1","info":{"title":"RiskBase API","version":"0.0.1"},"tags":[{"name":"Properties","description":""}],"servers":[{"url":"https://api3.riskbase.uk"}],"security":[{"Bearer Authentication":[]}],"components":{"securitySchemes":{"Bearer Authentication":{"type":"http","scheme":"bearer","description":"`Authorization: Bearer {AuthorizationToken}`"}}},"paths":{"/properties/{propertyId}/teamusers/add":{"patch":{"tags":["Properties"],"summary":"Add Property Team Users","description":"Set which users are responsible for teams at this property.\n- Users are added as members of the team if they aren't already. Triggers the team webhook if users are added to the team.\n- Invalid user IDs are silently ignored.\n","parameters":[{"schema":{"type":"string","format":"UID"},"in":"path","name":"propertyId","required":true}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["team","users"],"properties":{"team":{"type":"string","format":"UID"},"users":{"type":"array","items":{"type":"string","format":"UID"}},"skipWebhook":{"type":"boolean","default":false}}}}}},"responses":{"204":{"content":"application/json"},"400":{"content":{"application/json":{"schema":{"oneOf":[{"title":"PropertyNotFound","properties":{"code":{"type":"PropertyNotFound"}}},{"title":"TeamNotFound","properties":{"code":{"type":"TeamNotFound"}}}]}}}}}}}}}
```

## Remove Property Team Users

> Remove users as responsible for teams at this property.\
> \- Users are unassigned from any tasks they were auto-assigned to.\
> \- Invalid user IDs are silently ignored.\
> \- Users are not removed as members of the team.<br>

```json
{"openapi":"3.1.1","info":{"title":"RiskBase API","version":"0.0.1"},"tags":[{"name":"Properties","description":""}],"servers":[{"url":"https://api3.riskbase.uk"}],"security":[{"Bearer Authentication":[]}],"components":{"securitySchemes":{"Bearer Authentication":{"type":"http","scheme":"bearer","description":"`Authorization: Bearer {AuthorizationToken}`"}}},"paths":{"/properties/{propertyId}/teamusers/remove":{"patch":{"tags":["Properties"],"summary":"Remove Property Team Users","description":"Remove users as responsible for teams at this property.\n- Users are unassigned from any tasks they were auto-assigned to.\n- Invalid user IDs are silently ignored.\n- Users are not removed as members of the team.\n","parameters":[{"schema":{"type":"string","format":"UID"},"in":"path","name":"propertyId","required":true}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["team","users"],"properties":{"team":{"type":"string","format":"UID"},"users":{"type":"array","items":{"type":"string","format":"UID"}}}}}}},"responses":{"204":{"content":"application/json"},"400":{"content":{"application/json":{"schema":{"oneOf":[{"title":"PropertyNotFound","properties":{"code":{"type":"PropertyNotFound"}}},{"title":"TeamNotFound","properties":{"code":{"type":"TeamNotFound"}}}]}}}}}}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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://docs.riskbase.uk/riskbase-docs/api/properties.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.
