#Создать сделку

POST /v1/deals

Создаёт новую сделку в CRM.

#Поля запроса (body)

Параметр Тип Описание
title string Название сделки
amount number Сумма
currency string Валюта. Список: GET /v1/currencies
stageId string Стадия воронки. Стандартные: NEW, PREPARATION, PREPAYMENT_INVOICE, EXECUTING, FINAL_INVOICE, WON, LOSE. Портал может иметь свои — список: GET /v1/statuses?filter[entityId]=DEAL_STAGE
categoryId number ID воронки (0 = основная). Список: GET /v1/deal-categories
companyId number ID компании. Поиск: GET /v1/companies
contactId number ID основного контакта. Поиск: GET /v1/contacts
assignedById number ID ответственного. Список сотрудников: GET /v1/users
sourceId string Источник. Список: GET /v1/statuses?filter[entityId]=SOURCE
sourceDescription string Описание источника
comments string Комментарий
opened boolean Доступна для всех
closedAt datetime Дата закрытия
probability number Вероятность успеха (%)
observers number[] Массив ID наблюдателей. Список сотрудников: GET /v1/users

Полный список полей: GET /v1/deals/fields. Пользовательские поля (ufCrm_*) также принимаются.

#Примеры

#curl — личный ключ

Terminal
curl -X POST https://vibecode.bitrix24.tech/v1/deals \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Поставка оборудования",
    "amount": 50000,
    "currency": "RUB",
    "stageId": "NEW",
    "categoryId": 0,
    "assignedById": 1
  }'

#curl — OAuth-приложение

Terminal
curl -X POST https://vibecode.bitrix24.tech/v1/deals \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Поставка оборудования",
    "amount": 50000,
    "currency": "RUB",
    "stageId": "NEW",
    "categoryId": 0,
    "assignedById": 1
  }'

#JavaScript — личный ключ

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/deals', {
  method: 'POST',
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    title: 'Поставка оборудования',
    amount: 50000,
    currency: 'RUB',
    stageId: 'NEW',
    categoryId: 0,
    assignedById: 1,
  }),
})

const { success, data } = await res.json()
console.log('Deal ID:', data.id)

#JavaScript — OAuth-приложение

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/deals', {
  method: 'POST',
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    title: 'Поставка оборудования',
    amount: 50000,
    currency: 'RUB',
    stageId: 'NEW',
    categoryId: 0,
    assignedById: 1,
  }),
})

const { success, data } = await res.json()

#Поля ответа

Поле Тип Описание
id number ID созданной сделки
title string Название
amount number Сумма
currency string Валюта
stageId string Стадия
categoryId number ID воронки
assignedById number Ответственный
createdBy number Создатель
createdAt datetime Дата создания
updatedAt datetime Дата изменения
entityTypeId number Тип сущности (2 = сделки)

Ответ содержит все поля сделки, включая пользовательские (ufCrm_*). Выше показаны основные.

#Пример ответа

JSON
{
  "success": true,
  "data": {
    "id": 7689,
    "title": "Поставка оборудования",
    "amount": 50000,
    "currency": "RUB",
    "stageId": "NEW",
    "categoryId": 0,
    "assignedById": 1,
    "createdBy": 1,
    "createdAt": "2026-04-14T08:43:59.000Z",
    "updatedAt": "2026-04-14T08:43:59.000Z",
    "companyId": 0,
    "contactId": 0,
    "opened": true,
    "closed": "N",
    "typeId": "SALE",
    "observers": [],
    "contactIds": [],
    "entityTypeId": 2
  }
}

#Пример ответа при ошибке

403 — нет скоупа:

JSON
{
  "success": false,
  "error": {
    "code": "SCOPE_DENIED",
    "message": "This endpoint requires 'crm' scope"
  }
}

#Ошибки

HTTP Код Описание
403 SCOPE_DENIED API-ключ не имеет скоупа crm
401 TOKEN_MISSING API-ключ не имеет настроенных токенов
400 INVALID_REQUEST Невалидные поля

Полный список общих ошибок API — Ошибки.

#Смотрите также