Перейти к содержимому

REST endpoint

REST endpoint для создания заявки на досрочное расторжение договора

Назначение

Endpoint предназначен для создания заявки на досрочное расторжение договора из личного кабинета клиента.

Метод

POST /api/v1/contracts/{contractId}/termination-requests

Авторизация

Требуется.

API Gateway должен получать customerId из авторизационного контекста пользователя. Передавать customerId в теле запроса запрещено.

Path parameters

ПараметрТипОбязательностьОписаниеПример
contractIdstring UUIDДаИдентификатор договора9f4d7b1a-7e8a-4c5e-91b1-1d73f9e25c01

Headers

HeaderТипОбязательностьОписаниеПример
AuthorizationstringДаJWT-токен пользователяBearer eyJ...
Idempotency-Keystring UUIDДаКлюч идемпотентности запроса6a7c8e9a-0a4d-4a72-8c3e-61dbf9023311
X-Correlation-Idstring UUIDНетИдентификатор трассировки3e4b5a27-8888-4e9a-9111-926b97e2d123

Request body

{
  "reasonCode": "CLIENT_INITIATIVE",
  "desiredTerminationDate": "2026-05-15",
  "bankDetails": {
    "bik": "044525225",
    "accountNumber": "40817810099910004312",
    "recipientName": "Иванов Иван Иванович"
  },
  "comment": "Прошу расторгнуть договор по личной инициативе.",
  "documentIds": [
    "4dc4ef79-863e-4b36-8bc4-e5a27fd73291"
  ]
}

Request body parameters

ПараметрТипОбязательностьОписаниеОграничения
reasonCodestring enumДаКод причины расторженияЗначение из справочника причин
desiredTerminationDatestring dateДаЖелаемая дата расторженияФормат YYYY-MM-DD, не раньше текущей даты
bankDetailsobjectДаБанковские реквизиты для возвратаОбъект обязателен
bankDetails.bikstringДаБИК банкаРовно 9 цифр
bankDetails.accountNumberstringДаНомер счетаРовно 20 цифр
bankDetails.recipientNamestringДаПолучательОт 1 до 255 символов
commentstringНетКомментарий клиентаДо 1000 символов
documentIdsarray[string UUID]НетИдентификаторы загруженных документовДо 10 элементов

Response 201 Created

{
  "requestId": "b65b7759-9f02-4d71-a75e-4bb8e98c7d03",
  "requestNumber": "TR-2026-000001",
  "status": "SUBMITTED",
  "createdAt": "2026-04-25T10:15:30Z",
  "message": "Заявка на расторжение договора принята в работу. Номер заявки: TR-2026-000001."
}

Response parameters

ПараметрТипОбязательностьОписание
requestIdstring UUIDДаИдентификатор заявки
requestNumberstringДаНомер заявки для отображения клиенту
statusstring enumДаСтатус заявки
createdAtstring datetimeДаДата и время создания заявки
messagestringДаСообщение для пользователя

Error response

{
  "errorCode": "ACTIVE_REQUEST_ALREADY_EXISTS",
  "message": "По договору уже создана активная заявка на расторжение.",
  "correlationId": "3e4b5a27-8888-4e9a-9111-926b97e2d123",
  "details": [
    {
      "field": "contractId",
      "reason": "Active termination request already exists for this contract"
    }
  ]
}

HTTP statuses

HTTP statusКогда возвращается
201 CreatedЗаявка успешно создана
200 OKПовторный идемпотентный запрос, возвращена ранее созданная заявка
400 Bad RequestОшибка формата запроса или валидации
401 UnauthorizedПользователь не авторизован
403 ForbiddenДоговор не принадлежит пользователю
404 Not FoundДоговор не найден
409 ConflictПо договору уже есть активная заявка
422 Unprocessable EntityБизнес-валидация не пройдена
500 Internal Server ErrorВнутренняя ошибка
503 Service UnavailableBackend-сервис недоступен