For AI agents: markdown of this page — /docs-content-en/apps/list.md documentation index — /llms.txt
List applications
GET /v1/apps
Returns the Bitrix24 account applications registered by the current API key, with pagination.
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
page (query) |
number | No | 1 | Page number, from 1. A value below 1 or non-numeric is replaced with 1 |
limit (query) |
number | No | 50 | Page size. Maximum 200. A value of 0, negative, or non-numeric is replaced with 50 |
Examples
curl — personal key
curl "https://vibecode.bitrix24.com/v1/apps?page=1&limit=50" \
-H "X-Api-Key: YOUR_API_KEY"
curl — OAuth application
curl "https://vibecode.bitrix24.com/v1/apps?page=1&limit=50" \
-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/apps?page=1&limit=50', {
headers: { 'X-Api-Key': 'YOUR_API_KEY' },
})
const { data, total } = await res.json()
console.log(`Applications: ${total}`, data)
JavaScript — OAuth application
const res = await fetch('https://vibecode.bitrix24.com/v1/apps?page=1&limit=50', {
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
},
})
const { data, total } = await res.json()
Response fields
| Field | Type | Description |
|---|---|---|
success |
boolean | Always true on success |
data |
array | Array of applications |
data[].id |
string | Application identifier |
data[].title |
string | Name |
data[].description |
string | null | Description |
data[].scopes |
string[] | Bitrix24 scopes assigned to the application key |
data[].handlerUrl |
string | Handler address on the platform side. Details — Applications |
data[].appUrl |
string | null | Application address on Black Hole. Before publishing — null |
data[].redirectUris |
string[] | Allowed OAuth return addresses |
data[].bitrixClientId |
string | null | OAuth client identifier in the Bitrix24 account |
data[].prefix |
string | Application key prefix |
data[].suffix |
string | Last characters of the application key |
data[].authorId |
string | Application author identifier |
data[].portalId |
string | Bitrix24 portal identifier |
data[].createdAt |
string | Creation date, ISO 8601 |
data[].updatedAt |
string | Modification date, ISO 8601 |
data[].placements |
string[] | Bound placements. Before publishing — empty array |
data[].catalogStatus |
string | Catalog status: PRIVATE / PUBLISHED / UNPUBLISHED. The reliable publication signal |
data[].publishedAt |
string | null | Publication date, ISO 8601. null if the application was never published |
total |
number | Total number of Bitrix24 account applications available to the key |
page |
number | Current page |
limit |
number | Applied page size |
Response example
{
"success": true,
"data": [
{
"id": "11a2b3c4-d5e6-47f8-9012-3a4b5c6d7e8f",
"title": "Contact center connector",
"description": null,
"scopes": ["crm", "imopenlines", "imconnector", "placement"],
"handlerUrl": "https://vibecode.bitrix24.com/v1/bitrix-handler",
"appUrl": null,
"redirectUris": [
"https://vibecode.bitrix24.com/oauth/complete",
"http://localhost"
],
"bitrixClientId": "local.6b2c3d4e5f6a70.33334444",
"prefix": "vibe_app_local_6b2",
"suffix": "4444",
"authorId": "b2c3d4e5-f6a7-8901-bcde-f23456789012",
"portalId": "8b1f0e2a-3c4d-5e6f-7a8b-9c0d1e2f3a4b",
"createdAt": "2026-06-04T08:52:57.583Z",
"updatedAt": "2026-06-04T08:52:57.583Z",
"placements": [],
"catalogStatus": "PRIVATE",
"publishedAt": null
},
{
"id": "22b3c4d5-e6f7-48a9-0123-4b5c6d7e8f90",
"title": "Sales dashboard",
"description": null,
"scopes": ["crm", "user", "placement"],
"handlerUrl": "https://vibecode.bitrix24.com/v1/bitrix-handler",
"appUrl": "https://app-abc12345.vibecode.bitrix24.com",
"redirectUris": [
"https://vibecode.bitrix24.com/oauth/complete",
"http://localhost"
],
"bitrixClientId": "local.5a1b2c3d4e5f60.11112222",
"prefix": "vibe_app_local_5a1",
"suffix": "2222",
"authorId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"portalId": "8b1f0e2a-3c4d-5e6f-7a8b-9c0d1e2f3a4b",
"createdAt": "2026-05-13T11:31:53.810Z",
"updatedAt": "2026-05-13T11:35:12.204Z",
"placements": ["CRM_DEAL_DETAIL_TAB"],
"catalogStatus": "PUBLISHED",
"publishedAt": "2026-05-13T11:35:12.204Z"
}
],
"total": 2,
"page": 1,
"limit": 50
}
Error response example
401 — the X-Api-Key header was not passed:
{
"success": false,
"error": {
"code": "MISSING_API_KEY",
"message": "API key required. Pass via X-Api-Key header."
}
}
Errors
| HTTP | Code | Description |
|---|---|---|
| 401 | MISSING_API_KEY |
The X-Api-Key header was not passed |
| 401 | INVALID_API_KEY |
Invalid API key |
Full list of common API errors — Errors.
Known specifics
- The system companion bot application and deleted applications are not included in the list.
- By default the response contains no more than 50 applications — this is a boundary, not an error. Compare
totalwith the length ofdatato determine whether applications remain beyond the page, and request the next one viapageif needed.