{"openapi":"3.1.0","info":{"title":"altCRM API","version":"1.0.0","description":"Публичный REST API altCRM. Авторизация — ключом организации в заголовке `Authorization: Bearer alt_…`. Ключи выпускаются в CRM: Организация → API.","contact":{"name":"altCRM","url":"https://altcrm.ru"}},"servers":[{"url":"https://api.altcrm.ru/v1","description":"Основной адрес"}],"security":[{"apiKey":[]}],"tags":[{"name":"Служебные","description":"Проверка ключа и справочники"},{"name":"Лиды","description":"Карточки клиентов"},{"name":"Задачи","description":"Задачи организации"}],"components":{"securitySchemes":{"apiKey":{"type":"http","scheme":"bearer","description":"Ключ организации. Альтернатива для клиентов с занятым Authorization — заголовок `X-Api-Key`."}},"schemas":{"Lead":{"type":"object","properties":{"id":{"type":"integer","example":1042},"workspace_id":{"type":"integer","nullable":true},"name":{"type":"string","description":"ФИО, если заполнено, иначе имя из Telegram","example":"Иванов Иван"},"display_name":{"type":"string","description":"Имя в Telegram"},"username":{"type":"string","example":"ivanov"},"telegram_user_id":{"type":"integer","nullable":true},"stage":{"type":"object","nullable":true,"properties":{"id":{"type":"string","example":"12:new","description":"Полный идентификатор стадии"},"key":{"type":"string","example":"new","description":"Короткая форма, как хранится в лиде"},"name":{"type":"string","example":"Новый"},"group":{"type":"string","description":"Воронка, к которой относится стадия"},"outcome":{"type":"string","enum":["in_progress","won","lost"]}}},"tags":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"color":{"type":"string"}}}},"owner":{"type":"object","nullable":true,"properties":{"id":{"type":"integer"},"name":{"type":"string"},"username":{"type":"string","nullable":true}}},"note":{"type":"string"},"due_date":{"type":"string","nullable":true,"example":"2026-08-20"},"fields":{"type":"object","additionalProperties":{"type":"string"},"description":"Кастомные поля по машинному имени. Список имён — GET /v1/fields","example":{"phone":"+79990000000","inn":"7701234567"}},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"stage_changed_at":{"type":"string","format":"date-time","nullable":true}}},"Task":{"type":"object","properties":{"id":{"type":"integer"},"title":{"type":"string"},"description":{"type":"string"},"status":{"type":"string","example":"todo"},"priority":{"type":"string","example":"high"},"assignee_ids":{"type":"array","items":{"type":"integer"}},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}},"Stage":{"type":"object","properties":{"id":{"type":"string","example":"12:new"},"key":{"type":"string","example":"new"},"name":{"type":"string"},"color":{"type":"string"},"group":{"type":"string"},"sort":{"type":"integer"},"outcome":{"type":"string","enum":["in_progress","won","lost"]},"workspace_id":{"type":"integer"}}},"Tag":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"color":{"type":"string"},"workspace_id":{"type":"integer"}}},"Field":{"type":"object","properties":{"key":{"type":"string","description":"Машинное имя — им адресуют поле в lead.fields"},"label":{"type":"string"},"type":{"type":"string","enum":["text","number","date","select","multiselect"]},"options":{"type":"array","items":{"type":"string"}},"system_key":{"type":"string","description":"Непусто — поле заведено платформой"},"workspace_id":{"type":"integer"}}},"Error":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}},"paths":{"/me":{"get":{"tags":["Служебные"],"summary":"Проверить ключ","description":"Организация, воркспейс и права ключа. С этого запроса стоит начинать интеграцию.","responses":{"200":{"description":"Описание ключа"},"400":{"description":"Запрос не принят: неизвестная стадия, поле или воркспейс","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}}},"401":{"description":"Ключ не предъявлен или недействителен","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}}},"403":{"description":"Не хватает прав ключа либо API нет в тарифе организации","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}}},"429":{"description":"Превышен лимит запросов","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}}}}}},"/workspaces":{"get":{"tags":["Служебные"],"summary":"Воркспейсы организации","description":"Требует права `stages.read`. Читать воронки и стадии.","responses":{"200":{"description":"Список воркспейсов"},"400":{"description":"Запрос не принят: неизвестная стадия, поле или воркспейс","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}}},"401":{"description":"Ключ не предъявлен или недействителен","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}}},"403":{"description":"Не хватает прав ключа либо API нет в тарифе организации","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}}},"429":{"description":"Превышен лимит запросов","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}}}}}},"/stages":{"get":{"tags":["Служебные"],"summary":"Стадии воронок","parameters":[{"name":"workspace_id","in":"query","required":false,"schema":{"type":"integer"},"description":"Воркспейс. Обязателен, если в организации их несколько, а ключ выдан на всю организацию. Ключ, сужённый до воркспейса, чужой не примет."}],"responses":{"200":{"description":"Список стадий","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Stage"}}}}},"400":{"description":"Запрос не принят: неизвестная стадия, поле или воркспейс","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}}},"401":{"description":"Ключ не предъявлен или недействителен","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}}},"403":{"description":"Не хватает прав ключа либо API нет в тарифе организации","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}}},"429":{"description":"Превышен лимит запросов","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}}}}}},"/tags":{"get":{"tags":["Служебные"],"summary":"Метки","parameters":[{"name":"workspace_id","in":"query","required":false,"schema":{"type":"integer"},"description":"Воркспейс. Обязателен, если в организации их несколько, а ключ выдан на всю организацию. Ключ, сужённый до воркспейса, чужой не примет."}],"responses":{"200":{"description":"Список меток","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Tag"}}}}},"400":{"description":"Запрос не принят: неизвестная стадия, поле или воркспейс","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}}},"401":{"description":"Ключ не предъявлен или недействителен","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}}},"403":{"description":"Не хватает прав ключа либо API нет в тарифе организации","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}}},"429":{"description":"Превышен лимит запросов","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}}}}}},"/fields":{"get":{"tags":["Служебные"],"summary":"Кастомные поля лида","description":"Машинные имена полей, которыми заполняют `lead.fields`.","parameters":[{"name":"workspace_id","in":"query","required":false,"schema":{"type":"integer"},"description":"Воркспейс. Обязателен, если в организации их несколько, а ключ выдан на всю организацию. Ключ, сужённый до воркспейса, чужой не примет."}],"responses":{"200":{"description":"Описание полей","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Field"}}}}},"400":{"description":"Запрос не принят: неизвестная стадия, поле или воркспейс","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}}},"401":{"description":"Ключ не предъявлен или недействителен","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}}},"403":{"description":"Не хватает прав ключа либо API нет в тарифе организации","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}}},"429":{"description":"Превышен лимит запросов","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}}}}}},"/users":{"get":{"tags":["Служебные"],"summary":"Сотрудники организации","description":"Их id ставят владельцем лида и исполнителем задачи.","responses":{"200":{"description":"Список сотрудников"},"400":{"description":"Запрос не принят: неизвестная стадия, поле или воркспейс","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}}},"401":{"description":"Ключ не предъявлен или недействителен","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}}},"403":{"description":"Не хватает прав ключа либо API нет в тарифе организации","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}}},"429":{"description":"Превышен лимит запросов","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}}}}}},"/leads":{"get":{"tags":["Лиды"],"summary":"Список лидов","description":"Постраничный список. Для инкрементальной выгрузки используйте `updated_since`: он отдаёт всё, что изменилось с указанного момента.","parameters":[{"name":"workspace_id","in":"query","required":false,"schema":{"type":"integer"},"description":"Воркспейс. Обязателен, если в организации их несколько, а ключ выдан на всю организацию. Ключ, сужённый до воркспейса, чужой не примет."},{"name":"stage","in":"query","schema":{"type":"string"},"description":"Имя стадии, короткий ключ или полный id"},{"name":"group","in":"query","schema":{"type":"string"},"description":"Воронка"},{"name":"tag_id","in":"query","schema":{"type":"integer"}},{"name":"owner_id","in":"query","schema":{"type":"integer"}},{"name":"query","in":"query","schema":{"type":"string"},"description":"Поиск по имени, нику и ФИО"},{"name":"updated_since","in":"query","schema":{"type":"string","format":"date-time"},"description":"ISO-8601, например 2026-08-01T00:00:00Z"},{"name":"limit","in":"query","schema":{"type":"integer","default":50,"maximum":200}},{"name":"offset","in":"query","schema":{"type":"integer","default":0}}],"responses":{"200":{"description":"Страница лидов","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","description":"Сколько всего подходит под фильтр"},"limit":{"type":"integer"},"offset":{"type":"integer"},"items":{"type":"array","items":{"$ref":"#/components/schemas/Lead"}}}}}}},"400":{"description":"Запрос не принят: неизвестная стадия, поле или воркспейс","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}}},"401":{"description":"Ключ не предъявлен или недействителен","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}}},"403":{"description":"Не хватает прав ключа либо API нет в тарифе организации","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}}},"429":{"description":"Превышен лимит запросов","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}}}}},"post":{"tags":["Лиды"],"summary":"Создать лида","description":"Достаточно имени ИЛИ ника. Без указания стадии лид попадает в первую стадию воронки. Событие `lead.created` уходит подписанным вебхукам.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"workspace_id":{"type":"integer"},"stage":{"type":"string","description":"Имя, короткий ключ или полный id стадии"},"name":{"type":"string"},"username":{"type":"string","description":"Ник в Telegram, без @"},"telegram_user_id":{"type":"integer"},"note":{"type":"string"},"tag_ids":{"type":"array","items":{"type":"integer"}},"owner_id":{"type":"integer"},"fields":{"type":"object","additionalProperties":{"type":"string"}}}},"example":{"name":"Иванов Иван","username":"ivanov","stage":"Новый","fields":{"phone":"+79990000000"}}}}},"responses":{"201":{"description":"Созданный лид","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Lead"}}}},"400":{"description":"Запрос не принят: неизвестная стадия, поле или воркспейс","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}}},"401":{"description":"Ключ не предъявлен или недействителен","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}}},"403":{"description":"Не хватает прав ключа либо API нет в тарифе организации","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}}},"429":{"description":"Превышен лимит запросов","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}}}}}},"/leads/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"get":{"tags":["Лиды"],"summary":"Один лид","responses":{"200":{"description":"Лид","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Lead"}}}},"400":{"description":"Запрос не принят: неизвестная стадия, поле или воркспейс","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}}},"401":{"description":"Ключ не предъявлен или недействителен","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}}},"403":{"description":"Не хватает прав ключа либо API нет в тарифе организации","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}}},"404":{"description":"Лида нет либо он вне области ключа","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}}},"429":{"description":"Превышен лимит запросов","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}}}}},"patch":{"tags":["Лиды"],"summary":"Изменить лида","description":"Меняются только переданные поля. Смена стадии проходит через те же автоматизации, что и перенос руками, и порождает отдельное событие `lead.stage_changed`.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"username":{"type":"string"},"note":{"type":"string"},"due_date":{"type":"string","example":"2026-08-20"},"stage":{"type":"string"},"tag_ids":{"type":"array","items":{"type":"integer"}},"owner_id":{"type":"integer","nullable":true},"fields":{"type":"object","additionalProperties":{"type":"string"}}}},"example":{"stage":"В работе","owner_id":5}}}},"responses":{"200":{"description":"Лид после правки","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Lead"}}}},"400":{"description":"Запрос не принят: неизвестная стадия, поле или воркспейс","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}}},"401":{"description":"Ключ не предъявлен или недействителен","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}}},"403":{"description":"Не хватает прав ключа либо API нет в тарифе организации","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}}},"404":{"description":"Лида нет либо он вне области ключа","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}}},"429":{"description":"Превышен лимит запросов","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}}}}},"delete":{"tags":["Лиды"],"summary":"Удалить лида","description":"Необратимо. В журнале действий остаётся запись с именем ключа.","responses":{"200":{"description":"Удалён"},"400":{"description":"Запрос не принят: неизвестная стадия, поле или воркспейс","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}}},"401":{"description":"Ключ не предъявлен или недействителен","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}}},"403":{"description":"Не хватает прав ключа либо API нет в тарифе организации","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}}},"404":{"description":"Лида нет","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}}},"429":{"description":"Превышен лимит запросов","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}}}}}},"/tasks":{"get":{"tags":["Задачи"],"summary":"Список задач","parameters":[{"name":"status","in":"query","schema":{"type":"string"},"example":"todo"},{"name":"limit","in":"query","schema":{"type":"integer","default":50,"maximum":200}},{"name":"offset","in":"query","schema":{"type":"integer","default":0}}],"responses":{"200":{"description":"Страница задач","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer","description":"Сколько всего подходит под фильтр"},"limit":{"type":"integer"},"offset":{"type":"integer"},"items":{"type":"array","items":{"$ref":"#/components/schemas/Task"}}}}}}},"400":{"description":"Запрос не принят: неизвестная стадия, поле или воркспейс","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}}},"401":{"description":"Ключ не предъявлен или недействителен","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}}},"403":{"description":"Не хватает прав ключа либо API нет в тарифе организации","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}}},"429":{"description":"Превышен лимит запросов","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}}}}},"post":{"tags":["Задачи"],"summary":"Создать задачу","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["title"],"properties":{"title":{"type":"string"},"description":{"type":"string"},"priority":{"type":"string"},"assignee_ids":{"type":"array","items":{"type":"integer"}}}},"example":{"title":"Перезвонить Иванову","priority":"high"}}}},"responses":{"201":{"description":"Созданная задача","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Task"}}}},"400":{"description":"Запрос не принят: неизвестная стадия, поле или воркспейс","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}}},"401":{"description":"Ключ не предъявлен или недействителен","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}}},"403":{"description":"Не хватает прав ключа либо API нет в тарифе организации","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}}},"429":{"description":"Превышен лимит запросов","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}}}}}},"/tasks/{id}":{"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"patch":{"tags":["Задачи"],"summary":"Изменить задачу","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"title":{"type":"string"},"description":{"type":"string"},"status":{"type":"string"},"priority":{"type":"string"}}},"example":{"status":"done"}}}},"responses":{"200":{"description":"Задача после правки","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Task"}}}},"400":{"description":"Запрос не принят: неизвестная стадия, поле или воркспейс","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}}},"401":{"description":"Ключ не предъявлен или недействителен","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}}},"403":{"description":"Не хватает прав ключа либо API нет в тарифе организации","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}}},"404":{"description":"Задачи нет","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}}},"429":{"description":"Превышен лимит запросов","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}}}}}},"/webhook-events":{"get":{"tags":["Служебные"],"summary":"Какие бывают события вебхуков","responses":{"200":{"description":"Список событий","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"400":{"description":"Запрос не принят: неизвестная стадия, поле или воркспейс","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}}},"401":{"description":"Ключ не предъявлен или недействителен","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}}},"403":{"description":"Не хватает прав ключа либо API нет в тарифе организации","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}}},"429":{"description":"Превышен лимит запросов","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":403},"message":{"type":"string","example":"missing_scope:leads.write","description":"Машинный код причины. Полный список — в разделе «Ошибки» документации"}}}}}}}}}},"x-scopes":{"leads.read":"Читать лидов","leads.write":"Создавать и менять лидов","stages.read":"Читать воронки и стадии","tags.read":"Читать метки","tasks.read":"Читать задачи","tasks.write":"Создавать и менять задачи","users.read":"Читать сотрудников","webhooks.manage":"Управлять вебхуками"},"x-webhook-events":["lead.created","lead.updated","lead.stage_changed","lead.deleted","task.created","task.completed"]}