List review forms
GET/api/v1/review-forms
scope
reviews:readThe questionnaires a review request can carry, oldest first, including inactive ones. Use an id as form_id when sending. Forms are managed in Reviews → Forms.
Request
curl "https://your-crm.example.com/api/v1/review-forms" \
-H "Authorization: Bearer $RAABTA_API_KEY"Response · 200 OK
{
"data": [
{
"id": "f0a1b2c3-d4e5-4f6a-8b7c-9d0e1f2a3b4c",
"name": "After-visit feedback",
"intro_text": "Thanks for visiting — how did we do?",
"questions": [
{
"id": "q1",
"type": "text",
"label": "What could we do better?",
"required": false
}
],
"active": true,
"created_at": "2026-08-01T09:00:00.000Z",
"updated_at": "2026-08-01T09:00:00.000Z"
}
]
}Response
Wrapped in { data: … }| Name | Type | Description |
|---|---|---|
idrequired | string (uuid) | UUID |
namerequired | string | The form’s name |
intro_textrequired | string | null | The line shown above the rating |
questionsrequired | object[] | Asked after the star rating, in this order |
questions[].idrequired | string | The question’s id |
questions[].typerequired | string (enum) | text, a 1 to 5 scale, or yes/notextscaleyes_no |
questions[].labelrequired | string | The question |
questions[].requiredoptional | boolean | Whether an answer is required |
activerequired | boolean | Only an active form can be the default |
created_atrequired | string (date-time) | ISO 8601 timestamp |
updated_atrequired | string (date-time) | ISO 8601 timestamp |
Errors
| Status | Code | When |
|---|---|---|
| 401 | unauthorized | No usable API key: the Authorization header is missing or malformed, or the key is unknown, revoked or expired. The three are deliberately indistinguishable. |
| 403 | forbidden | The key is valid but lacks the scope this endpoint requires, or the request came from an address outside the key’s IP allowlist. The message says which. |
| 403 | account_suspended | The account this key belongs to is suspended. Rotating the key will not help; contact support. |
| 429 | rate_limited | The per-key budget, or the per-IP budget for failed authentication, is exhausted. Honour `Retry-After` before retrying. |
| 500 | internal | Something failed on our side. Safe to retry with the same Idempotency-Key; quote `request_id` if it persists. |