[{"data":1,"prerenderedAt":7},["ShallowReactive",2],{"docs-applications\u002Fconnectors\u002Faccess-request":3,"docs-tabs-applications\u002Fconnectors\u002Faccess-request":6},{"content":4,"lastmod":5},"## Request access to a connector\n\n`POST \u002Fv1\u002Fapplications\u002F:id\u002Fconnectors\u002F:slug\u002Faccess-request`\n\nSends the Bitrix24 account administrator a request to grant the application access to a company connector, and returns the connector with its current access state. No request body is required.\n\n## Parameters\n\n| Parameter | Type | Required | Description |\n|----------|-----|:-----:|----------|\n| `id` (path) | string | yes | Application card ID. Get it from: [`GET \u002Fv1\u002Fapplications`](\u002Fdocs\u002Fapplications\u002Flist) |\n| `slug` (path) | string | yes | Connector code. Get it from: [`GET \u002Fv1\u002Fapplications\u002F:id\u002Fconnectors`](\u002Fdocs\u002Fapplications\u002Fconnectors\u002Flist) |\n\n## Examples\n\n### curl — personal key\n\n```bash\ncurl -X POST https:\u002F\u002Fvibecode.bitrix24.com\u002Fv1\u002Fapplications\u002FAPPLICATION_ID\u002Fconnectors\u002Forders\u002Faccess-request \\\n  -H \"X-Api-Key: YOUR_API_KEY\"\n```\n\n### curl — OAuth application\n\n```bash\ncurl -X POST https:\u002F\u002Fvibecode.bitrix24.com\u002Fv1\u002Fapplications\u002FAPPLICATION_ID\u002Fconnectors\u002Forders\u002Faccess-request \\\n  -H \"X-Api-Key: YOUR_APP_KEY\" \\\n  -H \"Authorization: Bearer USER_SESSION_TOKEN\"\n```\n\n### JavaScript — personal key\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.com\u002Fv1\u002Fapplications\u002FAPPLICATION_ID\u002Fconnectors\u002Forders\u002Faccess-request', {\n  method: 'POST',\n  headers: {\n    'X-Api-Key': 'YOUR_API_KEY',\n  },\n})\n\nconst { success, data } = await res.json()\nconsole.log('State:', data.appState)\n```\n\n### JavaScript — OAuth application\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.com\u002Fv1\u002Fapplications\u002FAPPLICATION_ID\u002Fconnectors\u002Forders\u002Faccess-request', {\n  method: 'POST',\n  headers: {\n    'X-Api-Key': 'YOUR_APP_KEY',\n    'Authorization': 'Bearer USER_SESSION_TOKEN',\n  },\n})\n\nconst { success, data } = await res.json()\nconsole.log('State:', data.appState)\n```\n\n## Response fields\n\n| Field | Type | Description |\n|------|-----|----------|\n| `success` | boolean | Always `true` on success |\n| `data.slug` | string | Connector code |\n| `data.title` | string | Connector title |\n| `data.iconUrl` | string \u002F null | Icon URL; `null` for a connector from the company catalog |\n| `data.appState` | string | Application access state after the request: `DISABLED_ON_PORTAL`, `NOT_CONNECTED`, `CONNECTION_BROKEN`, `NO_GRANT`, `GRANT_PENDING`, `GRANT_DENIED`, `GRANT_REVOKED`, `EXPOSURE_WIDENED` or `AVAILABLE` |\n| `data.readTools` | array | Connector read tools: `name`, `title`, `description`, `inputSchema` — as in the [connector list](\u002Fdocs\u002Fapplications\u002Fconnectors\u002Flist) |\n| `data.exposure.linkAccess` | string | The application's current link access: `OFF`, `VIBECODE_AUTH`, `PUBLIC` |\n| `data.exposure.externalApiEnabled` | boolean | Whether the application's external API is enabled |\n\n## Response example\n\n```json\n{\n  \"success\": true,\n  \"data\": {\n    \"slug\": \"orders\",\n    \"title\": \"Orders\",\n    \"iconUrl\": \"https:\u002F\u002Fvibecode.bitrix24.com\u002Fapi\u002Fconnectors\u002Forders\u002Ficon\",\n    \"appState\": \"GRANT_PENDING\",\n    \"readTools\": [],\n    \"exposure\": {\n      \"linkAccess\": \"OFF\",\n      \"externalApiEnabled\": false\n    }\n  }\n}\n```\n\n## Error response example\n\n404 — the connector is unavailable or does not support connecting a company:\n\n```json\n{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"CONNECTOR_NOT_FOUND\",\n    \"message\": \"CONNECTOR_NOT_FOUND\"\n  }\n}\n```\n\n## Errors\n\n| HTTP | Code | Description |\n|------|-----|----------|\n| 404 | `CONNECTOR_NOT_FOUND` | The connector is unavailable or does not support connecting a company |\n| 404 | `APPLICATION_NOT_FOUND` | The application does not exist, is unavailable, is on a different server than the key, or connectors for applications are disabled for the portal |\n| 413 | `FST_ERR_CTP_BODY_TOO_LARGE` | The request body is larger than 1 KiB |\n| 403 | `WRITE_BLOCKED_READONLY_KEY` | The key is in `READONLY` mode |\n| 403 | `EXTERNAL_COLLABORATOR_KEY_SERVER_MISMATCH` | The external collaborator's key and the application are not bound to the same server |\n| 403 | `EXTERNAL_COLLABORATOR_NOT_A_MEMBER` | The external developer's membership was revoked or has expired |\n| 403 | `PORTAL_COLLABORATOR_NOT_A_MEMBER` | The user is no longer a member of the server's development team |\n| 401 | `INVALID_API_KEY` | Invalid key |\n| 401 | `MISSING_API_KEY` | `X-Api-Key` was not passed |\n\nFull list of common API errors — [Errors](\u002Fdocs\u002Ferrors).\n\n## Known specifics\n\n- **Repeated request.** While a request is pending or access is active, a repeated call does not create a new request and does not notify the administrator again. A denied or revoked request can be submitted again.\n- **A request does not grant access.** Access appears only after the administrator approves it. Before approving, the administrator connects the company to the connector, and until it is connected, `appState` after the request may remain `NOT_CONNECTED`.\n\n## See also\n\n- [Application connectors](\u002Fdocs\u002Fapplications\u002Fconnectors)\n- [List application connectors](\u002Fdocs\u002Fapplications\u002Fconnectors\u002Flist)\n- [Application secrets](\u002Fdocs\u002Fapplications\u002Fapp-secrets)\n","2026-11-13",{},1794739459636]