# List CRM forms

`GET /v1/crm-forms` calls `crm.form.list`. It requires a Vibecode API key with the `crm` scope; a READONLY key works.

| Parameter | Value |
|---|---|
| `active` | Optional `true`/`false` or `1`/`0`. When omitted, Bitrix24 returns active forms only. |
| `isCallback` | Optional `true`/`false` or `1`/`0`. |

The response has a `data` array of `{ id, name }` and `meta.total`. Order is descending by ID and there is no pagination. For example, `GET /v1/crm-forms?active=false` finds inactive forms.

Without permission to view forms, Bitrix24 silently returns an empty list. `data: []` alone does not prove that the account has no forms.

Errors include `400 UNKNOWN_FILTER_FIELD` for an unknown parameter, `400 INVALID_PARAMS` for an invalid or repeated boolean filter, `403 SCOPE_DENIED`, and `422 BITRIX_ERROR` for a Bitrix24 refusal. See [Errors](/docs/errors) for shared key, quota and availability errors.
