Viewings
Site visits and their feedback.
GET/viewings
List viewings
Needs the permission viewings:read.
| Parameter | In | Type | Notes |
|---|---|---|---|
limit | query | integer | at least 1. up to 200. default 50 |
cursor | query | string | up to 512 characters |
propertyId | query | string (uuid) | |
projectId | query | string (uuid) | |
leadId | query | string (uuid) | |
status | query | one of scheduled, confirmed, completed, cancelled, no_show | |
from | query | string (date-time) | |
to | query | string (date-time) |
curl -X GET https://crm.anibrosdesign.com/api/v1/viewings \
-H "Authorization: Bearer crm_live_xxxxxxxx"Responses:
200 400 401 403 429
POST/viewings
Create a viewing
Needs the permission viewings:create.
| Parameter | In | Type | Notes |
|---|---|---|---|
Idempotency-Key | header | string | Any unique string up to 128 characters. Repeating the request with the same key returns the first response. up to 128 characters |
| Body field | Type | Notes |
|---|---|---|
leadId required | string (uuid) | |
propertyId | string (uuid) or null | |
projectId | string (uuid) or null | |
unitIds | list of string (uuid) | up to 30 items |
scheduledAt required | string (date-time) | |
durationMinutes | integer | at least 5. up to 480. default 30 |
notes | string or null | |
agentId | string (uuid) or null |
curl -X POST https://crm.anibrosdesign.com/api/v1/viewings \
-H "Authorization: Bearer crm_live_xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"leadId":"01a15d23-0000-7000-8000-000000000000","propertyId":"01a15d23-0000-7000-8000-000000000000","projectId":"01a15d23-0000-7000-8000-000000000000","scheduledAt":"2026-10-24T10:00:00Z"}'Responses:
201 400 401 402 403 429
GET/viewings/outcomes
Get outcomes (viewings)
Needs the permission viewings:read.
curl -X GET https://crm.anibrosdesign.com/api/v1/viewings/outcomes \
-H "Authorization: Bearer crm_live_xxxxxxxx"Responses:
200 401 403 429
GET/viewings/vocab
Get vocab (viewings)
Needs the permission viewings:read.
curl -X GET https://crm.anibrosdesign.com/api/v1/viewings/vocab \
-H "Authorization: Bearer crm_live_xxxxxxxx"Responses:
200 401 403 429
GET/viewings/{id}
Get a viewing
Needs the permission viewings:read.
| Parameter | In | Type | Notes |
|---|---|---|---|
id required | path | string (uuid) |
curl -X GET https://crm.anibrosdesign.com/api/v1/viewings/{id} \
-H "Authorization: Bearer crm_live_xxxxxxxx"Responses:
200 400 401 403 404 429
PATCH/viewings/{id}
Change a viewing
Needs the permission viewings:update.
| Parameter | In | Type | Notes |
|---|---|---|---|
id required | path | string (uuid) |
| Body field | Type | Notes |
|---|---|---|
scheduledAt | string (date-time) | |
durationMinutes | integer | at least 5. up to 480 |
notes | string or null | |
agentId | string (uuid) or null |
curl -X PATCH https://crm.anibrosdesign.com/api/v1/viewings/{id} \
-H "Authorization: Bearer crm_live_xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"scheduledAt":"2026-10-24T10:00:00Z","durationMinutes":5,"notes":"text"}'Responses:
200 400 401 402 403 404 412 429
POST/viewings/{id}/cancel
Cancel (viewings)
Needs the permission viewings:update.
| Parameter | In | Type | Notes |
|---|---|---|---|
id required | path | string (uuid) |
| Body field | Type | Notes |
|---|---|---|
reason | string or null |
curl -X POST https://crm.anibrosdesign.com/api/v1/viewings/{id}/cancel \
-H "Authorization: Bearer crm_live_xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"reason":"text"}'Responses:
200 400 401 402 403 404 429
POST/viewings/{id}/complete
Complete (viewings)
Needs the permission viewings:update.
| Parameter | In | Type | Notes |
|---|---|---|---|
id required | path | string (uuid) |
| Body field | Type | Notes |
|---|---|---|
outcome required | one of interested, offer_expected, considering, wants_other_options, different_area, not_interested | |
note | string or null | |
followUp | object or null | |
followUp.dueAt required | string (date-time) | |
followUp.title | string or null | |
feedback | object | |
feedback.priceFeel | one of good, fair, too_high or null | |
feedback.interestLevel | integer or null | |
feedback.likes | list of string | up to 12 items |
feedback.concerns | list of string | up to 12 items |
feedback.budgetSaid | number or null | |
units | list of object | up to 40 items |
units[].propertyId required | string (uuid) | |
units[].reaction | one of liked, okay, disliked or null | |
units[].note | string or null | |
areas | object | |
areas.wants | list of string | up to 12 items |
areas.dislikesProjectArea | boolean |
curl -X POST https://crm.anibrosdesign.com/api/v1/viewings/{id}/complete \
-H "Authorization: Bearer crm_live_xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"outcome":"interested","note":"text","followUp":{"dueAt":"2026-10-24T10:00:00Z","title":"text"}}'Responses:
200 400 401 402 403 404 429
GET/viewings/{id}/ics
Get ics (viewings)
Needs the permission viewings:read.
| Parameter | In | Type | Notes |
|---|---|---|---|
id required | path | string (uuid) |
curl -X GET https://crm.anibrosdesign.com/api/v1/viewings/{id}/ics \
-H "Authorization: Bearer crm_live_xxxxxxxx"Responses:
200 400 401 403 404 429
POST/viewings/{id}/no-show
No show (viewings)
Needs the permission viewings:update.
| Parameter | In | Type | Notes |
|---|---|---|---|
id required | path | string (uuid) |
| Body field | Type | Notes |
|---|---|---|
note | string or null |
curl -X POST https://crm.anibrosdesign.com/api/v1/viewings/{id}/no-show \
-H "Authorization: Bearer crm_live_xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"note":"text"}'Responses:
200 400 401 402 403 404 429
Something missing or unclear? Tell us.