Partner Connect API

Connect with Vibe

Integrate your application with Bitrix24 through Vibe Platform. Get a scoped API key for any user's portal in just a few steps.

How it works

Standard OAuth-style flow — redirect, consent, exchange.

1

Redirect to authorization

Send the user to the Vibe authorization endpoint with your client credentials and requested scopes.

/v1/connect/authorize?client_id=YOUR_CLIENT_ID&redirect_uri=https://yourapp.com/callback&scopes=crm,task&state=RANDOM_STATE
2

User selects portal and approves

The user sees a consent screen, chooses which Bitrix24 portal to connect, and approves the requested scopes.

3

Receive authorization code

After approval, the user is redirected to your redirect_uri with code and state query parameters.

https://yourapp.com/callback?code=AUTH_CODE&state=RANDOM_STATE
4

Exchange code for API key

Your server makes a POST request to exchange the code for a long-lived API key.

Your AppVibe Consent PageUser approvesCode → redirect_uriAPI Key

Quick start

Exchange the authorization code for an API key using your server-side code.

Token Exchange Request
curl -X POST https://vibecode.bitrix24.tech/v1/connect/token \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d client_id=YOUR_CLIENT_ID \
  -d client_secret=YOUR_SECRET \
  -d code=RECEIVED_CODE \
  -d redirect_uri=YOUR_REDIRECT_URI
Response
{
  "success": true,
  "api_key": "vibe_api_...",
  "portal": {
    "domain": "example.bitrix24.ru",
    "name": "My Company"
  },
  "scopes": ["crm", "task"],
  "user": {
    "name": "John",
    "email": "john@example.com"
  }
}

Using the API key

Pass the returned api_key in every request to the Vibe proxy:

X-Api-Key: vibe_api_...

Available scopes

Request only the scopes your application needs. Users can deselect individual scopes on the consent screen.

ScopeDescription
crmCRM — deals, leads, contacts, companies, pipelines
taskTasks — task creation, updates, comments, workgroups
imMessaging — chat, notifications, open lines
callTelephony — call logs, VoIP, telephony settings
diskDisk — files, folders, storage management
userUsers — full user profiles, settings, departments
user_basicUsers (basic) — read-only access to basic user info
calendarCalendar — events, meetings, time slots
catalogCatalog — product catalog, properties, sections
saleE-commerce — orders, shipments, payments, baskets
bizprocBusiness processes — workflow automation
listsLists — universal list management
departmentDepartments — organizational structure
timemanTime tracking — work time, reports, shifts
landingSites — landing pages, websites builder
sonet_groupSocial network — workgroups, projects, activity feed
logActivity log — portal activity stream

Error codes

All errors are returned as JSON with success: false and an error.code field.

CodeHTTPDescription
INVALID_CLIENT400The client_id does not exist or the client_secret is incorrect.
INVALID_REDIRECT_URI400The redirect_uri does not match any registered URI for this client.
INVALID_SCOPE400One or more requested scopes are not valid or not permitted for this client.
INVALID_CODE400The authorization code is invalid, expired (10 min TTL), or already used.
PARTNER_DISABLED403The partner account has been suspended. Contact Vibe support.
KEY_LIMIT_REACHED429The user has reached the maximum number of API keys for this portal.
Error response shape
{
  "success": false,
  "error": {
    "code": "INVALID_CODE",
    "message": "Authorization code is invalid or has expired"
  }
}

Become a Partner

To get your client_id and client_secret, contact the Vibe Platform team.

Tell us about your application, use case, and required scopes. We review all partner applications.

partners@vibecode.ru