For AI agents: markdown of this page — /docs-content-en/entities/crm-forms/site-buttons.md documentation index — /llms.txt
List website widgets for a form
GET /v1/crm-forms/:id/site-buttons
List website widgets in the Bitrix24 account and check their association with a CRM form.
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
Parameterid (path) |
Typenumber | Requiredyes | Default— | DescriptionPositive integer form ID. Source: List CRM forms |
Parameterlimit (query) |
Typenumber | Requiredno | Default50 |
DescriptionPage size, from 1 to 1000 |
Parameteroffset (query) |
Typenumber | Requiredno | Default0 |
DescriptionNumber of records to skip, an integer of 0 or greater |
Pagination: each request retrieves one page. Increase offset by limit to retrieve the next page. Pages are not fetched automatically.
Examples
curl — personal key
curl "https://vibecode.bitrix24.com/v1/crm-forms/1/site-buttons?limit=50&offset=0" \
-H "X-Api-Key: YOUR_API_KEY"
curl — OAuth application
curl "https://vibecode.bitrix24.com/v1/crm-forms/1/site-buttons?limit=50&offset=0" \
-H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN"
JavaScript — personal key
const res = await fetch('https://vibecode.bitrix24.com/v1/crm-forms/1/site-buttons?limit=50&offset=0', {
headers: {
'X-Api-Key': 'YOUR_API_KEY',
},
})
const { success, data, meta } = await res.json()
console.log(data)
JavaScript — OAuth application
const res = await fetch('https://vibecode.bitrix24.com/v1/crm-forms/1/site-buttons?limit=50&offset=0', {
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
},
})
const { success, data, meta } = await res.json()
console.log(data)
Response fields
| Field | Type | Description |
|---|---|---|
Fieldsuccess |
Typeboolean | DescriptionAlways true on success |
Fielddata |
Typearray | DescriptionArray of website widgets |
Fielddata[].formId |
Typenumber | DescriptionRequested form ID. Source: List CRM forms |
Fielddata[].id |
Typenumber | DescriptionWidget ID from this list |
Fielddata[].name |
Typestring | DescriptionName. Webhook URLs and secret URL parameters are removed |
Fielddata[].bound |
Typeboolean | DescriptionWhether the item is associated with the requested form |
Fielddata[].system |
Typeboolean | DescriptionWhether this is a system widget |
Fielddata[].formsId |
Typenumber[] | DescriptionIDs of forms associated with the widget. Source: List CRM forms |
Fielddata[].previewUrl |
Typestring | null | DescriptionPublic preview URL, preserved unchanged. null when no preview is available |
Fieldmeta.limit |
Typenumber | DescriptionRequested page size |
Fieldmeta.offset |
Typenumber | DescriptionRequested offset |
Fieldmeta.total |
Typenumber | DescriptionTotal record count. Omitted when the source does not supply a count |
Response example
{
"success": true,
"data": [
{
"formId": 1,
"id": 1,
"name": "Website widget",
"system": true,
"bound": false,
"formsId": [
3
],
"previewUrl": "https://example.bitrix24.com/pub/form/1_contact_details/idsj00/?view=preview&preview=button&preview_id=1"
},
{
"formId": 1,
"id": 3,
"name": "Wix",
"system": false,
"bound": true,
"formsId": [
1
],
"previewUrl": "https://example.bitrix24.com/pub/form/1_contact_details/idsj00/?view=preview&preview=button&preview_id=3"
}
],
"meta": {
"limit": 50,
"offset": 0
}
}
Error response example
400 — the form ID is not a positive integer:
{
"success": false,
"error": {
"code": "INVALID_PARAMS",
"message": "id must be a positive safe integer"
}
}
Errors
| HTTP | Code | Description |
|---|---|---|
| HTTP400 | CodeINVALID_PARAMS |
DescriptionInvalid id, limit, or offset |
| HTTP400 | CodeUNKNOWN_FILTER_FIELD |
DescriptionUnknown query parameter |
| HTTP401 | CodeTOKEN_MISSING |
DescriptionBitrix24 credentials are missing or no OAuth session was provided |
| HTTP403 | CodeSCOPE_DENIED |
DescriptionThe key lacks the crm scope |
| HTTP403 | CodeACCESS_DENIED |
DescriptionThe Bitrix24 user lacks read permission |
| HTTP404 | CodeENTITY_NOT_FOUND |
DescriptionForm not found |
| HTTP422 | CodeBITRIX_ERROR |
DescriptionBitrix24 rejected the request |
| HTTP429 | CodeRATE_LIMITED |
DescriptionRate limit exceeded. Retry after the interval in Retry-After |
| HTTP502 | CodeBITRIX_UNAVAILABLE |
DescriptionBitrix24 is unavailable or returned an invalid response |
| HTTP503 | CodeBITRIX_TIMEOUT |
DescriptionBitrix24 did not respond within the time limit. Retry the read after the interval in Retry-After |
For common API errors, see Errors.
Known specifics
The list includes all website widgets in the Bitrix24 account, including items with bound: false. To select associated items, keep entries with bound: true in the response array. A bound query parameter is not supported.
Requires the crm scope. Keys in READONLY mode can use this endpoint. Reading does not change item settings.