{"openapi":"3.0.0","paths":{"/api-v2/auth/companies":{"post":{"operationId":"getCompanies","summary":"Получить список компаний","parameters":[{"name":"limit","required":false,"in":"query","description":"Количество элементов, которые хочется получить. Максимум 1000.","schema":{"default":50,"type":"number"}},{"name":"offset","required":false,"in":"query","description":"Индекс первого элемента страницы","schema":{"default":0,"type":"number"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CredentialsWithNameDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyListDto"}}}},"401":{"description":""},"403":{"description":""},"429":{"description":""}},"tags":["Авторизация"]}},"/api-v2/auth/keys/get":{"post":{"operationId":"AuthKeyController_search","summary":"Получить список ключей","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CredentialsWithCompanyOptionalDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AuthKeyWithDetailsDto"}}}}},"400":{"description":""},"401":{"description":""},"403":{"description":""},"429":{"description":""}},"tags":["Авторизация"]}},"/api-v2/auth/keys":{"post":{"operationId":"AuthKeyController_create","summary":"Создать ключ","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CredentialsWithCompanyDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthKeyDto"}}}},"400":{"description":""},"401":{"description":""},"403":{"description":""},"429":{"description":""}},"tags":["Авторизация"]}},"/api-v2/auth/keys/{key}":{"delete":{"operationId":"AuthKeyController_delete","summary":"Удалить ключ","parameters":[{"name":"key","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""},"429":{"description":""}},"tags":["Авторизация"]}},"/api-v2/users":{"get":{"operationId":"UserController_search","summary":"Получить список","parameters":[{"name":"limit","required":false,"in":"query","description":"Количество элементов, которые хочется получить. Максимум 1000.","schema":{"default":50,"type":"number"}},{"name":"offset","required":false,"in":"query","description":"Индекс первого элемента страницы","schema":{"default":0,"type":"number"}},{"name":"email","required":false,"in":"query","description":"Почта сотрудника","schema":{"type":"string"}},{"name":"projectId","required":false,"in":"query","description":"ID проекта","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserListDto"}}}},"404":{"description":""}},"tags":["Сотрудники"],"security":[{"bearer":[]}]},"post":{"operationId":"UserController_create","summary":"Пригласить в компанию","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateUserDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WithIdDto"}}}}},"tags":["Сотрудники"],"security":[{"bearer":[]}]}},"/api-v2/users/me":{"get":{"operationId":"UserController_getMe","summary":"Получить текущего пользователя","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserDto"}}}},"404":{"description":""}},"tags":["Сотрудники"],"security":[{"bearer":[]}]}},"/api-v2/users/{id}":{"get":{"operationId":"UserController_get","summary":"Получить по ID","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserDto"}}}},"404":{"description":""}},"tags":["Сотрудники"],"security":[{"bearer":[]}]},"put":{"operationId":"UserController_update","summary":"Изменить","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateUserDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WithIdDto"}}}},"404":{"description":""}},"tags":["Сотрудники"],"security":[{"bearer":[]}]},"delete":{"operationId":"UserController_delete","summary":"Удалить из компании","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WithIdDto"}}}},"404":{"description":""}},"tags":["Сотрудники"],"security":[{"bearer":[]}]}},"/api-v2/users/me/custom-status":{"put":{"operationId":"UserController_setCustomStatus","summary":"Изменить свой личный статус","description":"Статус общий для всех компаний аккаунта","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCustomStatusDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WithIdDto"}}}},"404":{"description":""}},"tags":["Сотрудники"],"security":[{"bearer":[]}]},"delete":{"operationId":"UserController_clearCustomStatus","summary":"Очистить свой личный статус","description":"Статус очищается во всех компаниях аккаунта, повторная очистка разрешена","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WithIdDto"}}}},"404":{"description":""}},"tags":["Сотрудники"],"security":[{"bearer":[]}]}},"/api-v2/companies{*companyId}":{"get":{"operationId":"CompanyController_get","summary":"Получить детали","description":"Получить детали текущей компании","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyDto"}}}},"404":{"description":""}},"tags":["Компания"],"security":[{"bearer":[]}]},"put":{"operationId":"CompanyController_update","summary":"Изменить","description":"Изменить детали текущей компании","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCompanyDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WithIdDto"}}}},"404":{"description":""}},"tags":["Компания"],"security":[{"bearer":[]}]}},"/api-v2/upload-file":{"post":{"operationId":"FileController_uploadFile","summary":"Загрузить","description":"Загружает файл на сервер и возвращает его URL. Если вы хотите использовать curl из командной строки, не указывайте явно boundary в Content-Type — curl сам выставит нужный заголовок.","parameters":[],"requestBody":{"required":true,"description":"Файл для загрузки","content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary"}},"$ref":"#/components/schemas/"}}}},"responses":{"200":{"description":"Файл успешно загружен.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileUploadDto"}}}},"400":{"description":""},"404":{"description":""}},"tags":["Файлы"],"security":[{"bearer":[]}]}},"/api-v2/projects":{"get":{"operationId":"ProjectController_search","summary":"Получить список","parameters":[{"name":"includeDeleted","required":false,"in":"query","description":"По умолчанию, если объект был отмечен как удаленный, то он не будет найден. \n  Поставьте true, чтобы удаленные объекты возвращались.","schema":{"type":"boolean"}},{"name":"limit","required":false,"in":"query","description":"Количество элементов, которые хочется получить. Максимум 1000.","schema":{"default":50,"type":"number"}},{"name":"offset","required":false,"in":"query","description":"Индекс первого элемента страницы","schema":{"default":0,"type":"number"}},{"name":"title","required":false,"in":"query","description":"Имя проекта","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectListDto"}}}},"404":{"description":""}},"tags":["Проекты"],"security":[{"bearer":[]}]},"post":{"operationId":"ProjectController_create","summary":"Создать","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateProjectDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WithIdDto"}}}}},"tags":["Проекты"],"security":[{"bearer":[]}]}},"/api-v2/projects/{id}":{"get":{"operationId":"ProjectController_get","summary":"Получить по ID","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectDto"}}}},"404":{"description":""}},"tags":["Проекты"],"security":[{"bearer":[]}]},"put":{"operationId":"ProjectController_update","summary":"Изменить","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateProjectDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WithIdDto"}}}},"404":{"description":""}},"tags":["Проекты"],"security":[{"bearer":[]}]}},"/api-v2/projects/{projectId}/roles":{"get":{"operationId":"ProjectRolesController_search","summary":"Получить список","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","description":"Количество элементов, которые хочется получить. Максимум 1000.","schema":{"default":50,"type":"number"}},{"name":"offset","required":false,"in":"query","description":"Индекс первого элемента страницы","schema":{"default":0,"type":"number"}},{"name":"name","required":false,"in":"query","description":"Имя роли","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectRoleListDto"}}}},"404":{"description":""}},"tags":["Роли проекта"],"security":[{"bearer":[]}]},"post":{"operationId":"ProjectRolesController_create","summary":"Создать","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateProjectRoleDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WithIdDto"}}}}},"tags":["Роли проекта"],"security":[{"bearer":[]}]}},"/api-v2/projects/{projectId}/roles/{id}":{"get":{"operationId":"ProjectRolesController_get","summary":"Получить по ID","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectRoleDto"}}}},"404":{"description":""}},"tags":["Роли проекта"],"security":[{"bearer":[]}]},"put":{"operationId":"ProjectRolesController_update","summary":"Изменить","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateProjectRoleDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WithIdDto"}}}},"404":{"description":""}},"tags":["Роли проекта"],"security":[{"bearer":[]}]},"delete":{"operationId":"ProjectRolesController_delete","summary":"Удалить","parameters":[{"name":"projectId","required":true,"in":"path","schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectRoleDto"}}}},"404":{"description":""}},"tags":["Роли проекта"],"security":[{"bearer":[]}]}},"/api-v2/departments":{"get":{"operationId":"DepartmentController_search","summary":"Получить список","parameters":[{"name":"includeDeleted","required":false,"in":"query","description":"По умолчанию, если объект был отмечен как удаленный, то он не будет найден. \n  Поставьте true, чтобы удаленные объекты возвращались.","schema":{"type":"boolean"}},{"name":"limit","required":false,"in":"query","description":"Количество элементов, которые хочется получить. Максимум 1000.","schema":{"default":50,"type":"number"}},{"name":"offset","required":false,"in":"query","description":"Индекс первого элемента страницы","schema":{"default":0,"type":"number"}},{"name":"title","required":false,"in":"query","description":"Имя отдела","schema":{"type":"string"}},{"name":"parentId","required":false,"in":"query","description":"ID родительского отдела","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DepartmentListDto"}}}},"404":{"description":""}},"tags":["Отделы"],"security":[{"bearer":[]}]},"post":{"operationId":"DepartmentController_create","summary":"Создать","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDepartmentDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WithIdDto"}}}}},"tags":["Отделы"],"security":[{"bearer":[]}]}},"/api-v2/departments/{id}":{"get":{"operationId":"DepartmentController_get","summary":"Получить по ID","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DepartmentDto"}}}},"404":{"description":""}},"tags":["Отделы"],"security":[{"bearer":[]}]},"put":{"operationId":"DepartmentController_update","summary":"Изменить","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateDepartmentDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WithIdDto"}}}},"404":{"description":""}},"tags":["Отделы"],"security":[{"bearer":[]}]}},"/api-v2/boards":{"get":{"operationId":"BoardController_search","summary":"Получить список","parameters":[{"name":"includeDeleted","required":false,"in":"query","description":"По умолчанию, если объект был отмечен как удаленный, то он не будет найден. \n  Поставьте true, чтобы удаленные объекты возвращались.","schema":{"type":"boolean"}},{"name":"limit","required":false,"in":"query","description":"Количество элементов, которые хочется получить. Максимум 1000.","schema":{"default":50,"type":"number"}},{"name":"offset","required":false,"in":"query","description":"Индекс первого элемента страницы","schema":{"default":0,"type":"number"}},{"name":"title","required":false,"in":"query","description":"Имя доски","schema":{"type":"string"}},{"name":"projectId","required":false,"in":"query","description":"ID проекта","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardListDto"}}}},"404":{"description":""}},"tags":["Доски"],"security":[{"bearer":[]}]},"post":{"operationId":"BoardController_create","summary":"Создать","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateBoardDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WithIdDto"}}}}},"tags":["Доски"],"security":[{"bearer":[]}]}},"/api-v2/boards/{id}":{"get":{"operationId":"BoardController_get","summary":"Получить по ID","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardDto"}}}},"404":{"description":""}},"tags":["Доски"],"security":[{"bearer":[]}]},"put":{"operationId":"BoardController_update","summary":"Изменить","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateBoardDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WithIdDto"}}}},"404":{"description":""}},"tags":["Доски"],"security":[{"bearer":[]}]}},"/api-v2/columns":{"get":{"operationId":"ColumnController_search","summary":"Получить список","parameters":[{"name":"includeDeleted","required":false,"in":"query","description":"По умолчанию, если объект был отмечен как удаленный, то он не будет найден. \n  Поставьте true, чтобы удаленные объекты возвращались.","schema":{"type":"boolean"}},{"name":"limit","required":false,"in":"query","description":"Количество элементов, которые хочется получить. Максимум 1000.","schema":{"default":50,"type":"number"}},{"name":"offset","required":false,"in":"query","description":"Индекс первого элемента страницы","schema":{"default":0,"type":"number"}},{"name":"title","required":false,"in":"query","description":"Имя колонки","schema":{"type":"string"}},{"name":"boardId","required":false,"in":"query","description":"ID доски","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ColumnListDto"}}}},"404":{"description":""}},"tags":["Колонки"],"security":[{"bearer":[]}]},"post":{"operationId":"ColumnController_create","summary":"Создать","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateColumnDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WithIdDto"}}}}},"tags":["Колонки"],"security":[{"bearer":[]}]}},"/api-v2/columns/{id}":{"get":{"operationId":"ColumnController_get","summary":"Получить по ID","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ColumnDto"}}}},"404":{"description":""}},"tags":["Колонки"],"security":[{"bearer":[]}]},"put":{"operationId":"ColumnController_update","summary":"Изменить","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateColumnDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WithIdDto"}}}},"404":{"description":""}},"tags":["Колонки"],"security":[{"bearer":[]}]}},"/api-v2/task-list":{"get":{"operationId":"TaskController_search","summary":"Получить список задач","parameters":[{"name":"includeDeleted","required":false,"in":"query","description":"По умолчанию, если объект был отмечен как удаленный, то он не будет найден. \n  Поставьте true, чтобы удаленные объекты возвращались.","schema":{"type":"boolean"}},{"name":"limit","required":false,"in":"query","description":"Количество элементов, которые хочется получить. Максимум 1000.","schema":{"default":50,"type":"number"}},{"name":"offset","required":false,"in":"query","description":"Индекс первого элемента страницы","schema":{"default":0,"type":"number"}},{"name":"title","required":false,"in":"query","description":"Заголовок задачи","schema":{"type":"string"}},{"name":"columnId","required":false,"in":"query","description":"ID колонки","schema":{"type":"string"}},{"name":"assignedTo","required":false,"in":"query","description":"ID исполнителей через запятую","schema":{"type":"string"}},{"name":"stickerId","required":false,"in":"query","description":"ID стикера для фильтрации","example":"4f6f0391-0f94-4d30-9b0e-99430a36d4fb","schema":{"type":"string"}},{"name":"stickerStateId","required":false,"in":"query","description":"ID состояния стикера для фильтрации","example":"62af5306f329","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskListDto"}}}},"404":{"description":""}},"tags":["Задачи"],"security":[{"bearer":[]}]}},"/api-v2/tasks":{"get":{"operationId":"TaskController_searchReversed","summary":"Получить список задач в обратном порядке","deprecated":true,"description":"Используйте /task-list вместо этого","parameters":[{"name":"includeDeleted","required":false,"in":"query","description":"По умолчанию, если объект был отмечен как удаленный, то он не будет найден. \n  Поставьте true, чтобы удаленные объекты возвращались.","schema":{"type":"boolean"}},{"name":"limit","required":false,"in":"query","description":"Количество элементов, которые хочется получить. Максимум 1000.","schema":{"default":50,"type":"number"}},{"name":"offset","required":false,"in":"query","description":"Индекс первого элемента страницы","schema":{"default":0,"type":"number"}},{"name":"title","required":false,"in":"query","description":"Заголовок задачи","schema":{"type":"string"}},{"name":"columnId","required":false,"in":"query","description":"ID колонки","schema":{"type":"string"}},{"name":"assignedTo","required":false,"in":"query","description":"ID исполнителей через запятую","schema":{"type":"string"}},{"name":"stickerId","required":false,"in":"query","description":"ID стикера для фильтрации","example":"4f6f0391-0f94-4d30-9b0e-99430a36d4fb","schema":{"type":"string"}},{"name":"stickerStateId","required":false,"in":"query","description":"ID состояния стикера для фильтрации","example":"62af5306f329","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskListDto"}}}},"404":{"description":""}},"tags":["Задачи"],"security":[{"bearer":[]}]},"post":{"operationId":"TaskController_create","summary":"Создать","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTaskDto"}}}},"responses":{"201":{"description":"Задача успешно создана.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WithIdDto"}}}}},"tags":["Задачи"],"security":[{"bearer":[]}]}},"/api-v2/tasks/{id}":{"get":{"operationId":"TaskController_get","summary":"Получить по ID","parameters":[{"name":"id","required":true,"in":"path","description":"Идентификатор задачи","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskDto"}}}},"404":{"description":""}},"tags":["Задачи"],"security":[{"bearer":[]}]},"put":{"operationId":"TaskController_update","summary":"Изменить","parameters":[{"name":"id","required":true,"in":"path","description":"Идентификатор задачи","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTaskDto"}}}},"responses":{"200":{"description":"Задача успешно обновлена.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WithIdDto"}}}},"404":{"description":""}},"tags":["Задачи"],"security":[{"bearer":[]}]}},"/api-v2/tasks/{id}/log":{"get":{"operationId":"TaskController_getLog","summary":"Получить лог задачи","description":"События от новых к старым. Следующая страница: before — время последнего события текущей страницы. Хранятся события не старше года.","parameters":[{"name":"id","required":true,"in":"path","description":"Идентификатор задачи","schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","description":"Количество событий. Максимум 1000.","schema":{"default":50,"type":"number"}},{"name":"before","required":false,"in":"query","description":"Вернуть события строго старше этого времени. Для следующей страницы передайте время последнего события текущей.","example":1653028146646,"schema":{"type":"number"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskLogListDto"}}}},"404":{"description":""}},"tags":["Задачи"],"security":[{"bearer":[]}]}},"/api-v2/tasks/{id}/chat-subscribers":{"get":{"operationId":"TaskController_getChatSubscribers","summary":"Получить список участников чата задачи","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Массив id участников чата задачи","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"404":{"description":""}},"tags":["Задачи"],"security":[{"bearer":[]}]},"put":{"operationId":"TaskController_updateChatSubscribers","summary":"Изменить список участников чата задачи","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskChatSubscribersDto"}}}},"responses":{"200":{"description":"Список участников успешно обновлен.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WithIdDto"}}}},"404":{"description":""}},"tags":["Задачи"],"security":[{"bearer":[]}]}},"/api-v2/string-stickers":{"get":{"operationId":"StringStickerController_search","summary":"Получить список","parameters":[{"name":"includeDeleted","required":false,"in":"query","description":"По умолчанию, если объект был отмечен как удаленный, то он не будет найден. \n  Поставьте true, чтобы удаленные объекты возвращались.","schema":{"type":"boolean"}},{"name":"limit","required":false,"in":"query","description":"Количество элементов, которые хочется получить. Максимум 1000.","schema":{"default":50,"type":"number"}},{"name":"offset","required":false,"in":"query","description":"Индекс первого элемента страницы","schema":{"default":0,"type":"number"}},{"name":"name","required":false,"in":"query","description":"Имя стикера","schema":{"type":"string"}},{"name":"boardId","required":false,"in":"query","description":"ID доски","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StringStickerWithStatesListDto"}}}},"404":{"description":""}},"tags":["Стикер с набором состояний"],"security":[{"bearer":[]}]},"post":{"operationId":"StringStickerController_create","summary":"Создать","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateStringStickerDto"}}}},"responses":{"201":{"description":"Стикер создан","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WithIdDto"}}}}},"tags":["Стикер с набором состояний"],"security":[{"bearer":[]}]}},"/api-v2/string-stickers/{id}":{"get":{"operationId":"StringStickerController_get","summary":"Получить по ID","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StringStickerWithStatesDto"}}}},"404":{"description":""}},"tags":["Стикер с набором состояний"],"security":[{"bearer":[]}]},"put":{"operationId":"StringStickerController_update","summary":"Изменить","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateStringStickerDto"}}}},"responses":{"200":{"description":"Стикер изменен","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WithIdDto"}}}},"404":{"description":""}},"tags":["Стикер с набором состояний"],"security":[{"bearer":[]}]}},"/api-v2/string-stickers/{stickerId}/states/{stickerStateId}":{"get":{"operationId":"StringStickerStateController_get","summary":"Получить по ID","parameters":[{"name":"stickerId","required":true,"in":"path","schema":{"type":"string"}},{"name":"stickerStateId","required":true,"in":"path","schema":{"type":"string"}},{"name":"includeDeleted","required":false,"in":"query","schema":{"type":"boolean"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StringStickerStateDto"}}}},"404":{"description":""}},"tags":["Состояния стикера с набором состояний"],"security":[{"bearer":[]}]},"put":{"operationId":"StringStickerStateController_update","summary":"Изменить","parameters":[{"name":"stickerId","required":true,"in":"path","schema":{"type":"string"}},{"name":"stickerStateId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateStringStickerStateDto"}}}},"responses":{"200":{"description":"Состояние стикера успешно изменено.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WithStickerStateIdDto"}}}},"404":{"description":""}},"tags":["Состояния стикера с набором состояний"],"security":[{"bearer":[]}]}},"/api-v2/string-stickers/{stickerId}/states":{"post":{"operationId":"StringStickerStateController_create","summary":"Создать","parameters":[{"name":"stickerId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateStringStickerStateDto"}}}},"responses":{"201":{"description":"Состояние стикера успешно создано.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WithStickerStateIdDto"}}}},"404":{"description":""}},"tags":["Состояния стикера с набором состояний"],"security":[{"bearer":[]}]}},"/api-v2/sprint-stickers":{"get":{"operationId":"SprintStickerController_search","summary":"Получить список","parameters":[{"name":"includeDeleted","required":false,"in":"query","description":"По умолчанию, если объект был отмечен как удаленный, то он не будет найден. \n  Поставьте true, чтобы удаленные объекты возвращались.","schema":{"type":"boolean"}},{"name":"limit","required":false,"in":"query","description":"Количество элементов, которые хочется получить. Максимум 1000.","schema":{"default":50,"type":"number"}},{"name":"offset","required":false,"in":"query","description":"Индекс первого элемента страницы","schema":{"default":0,"type":"number"}},{"name":"name","required":false,"in":"query","description":"Имя стикера","schema":{"type":"string"}},{"name":"boardId","required":false,"in":"query","description":"ID доски","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SprintStickerWithStatesListDto"}}}},"404":{"description":""}},"tags":["Стикер спринта"],"security":[{"bearer":[]}]},"post":{"operationId":"SprintStickerController_create","summary":"Создать","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSprintStickerDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WithIdDto"}}}}},"tags":["Стикер спринта"],"security":[{"bearer":[]}]}},"/api-v2/sprint-stickers/{id}":{"get":{"operationId":"SprintStickerController_getSticker","summary":"Получить по ID","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SprintStickerWithStatesDto"}}}},"404":{"description":""}},"tags":["Стикер спринта"],"security":[{"bearer":[]}]},"put":{"operationId":"SprintStickerController_update","summary":"Изменить","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSprintStickerDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WithIdDto"}}}},"404":{"description":""}},"tags":["Стикер спринта"],"security":[{"bearer":[]}]}},"/api-v2/sprint-stickers/{stickerId}/states/{stickerStateId}":{"get":{"operationId":"SprintStickerStateController_get","summary":"Получить по ID","parameters":[{"name":"stickerId","required":true,"in":"path","schema":{"type":"string"}},{"name":"stickerStateId","required":true,"in":"path","schema":{"type":"string"}},{"name":"includeDeleted","required":false,"in":"query","schema":{"type":"boolean"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SprintStickerStateDto"}}}},"404":{"description":""}},"tags":["Состояния стикера спринта"],"security":[{"bearer":[]}]},"put":{"operationId":"SprintStickerStateController_update","summary":"Изменить","parameters":[{"name":"stickerId","required":true,"in":"path","schema":{"type":"string"}},{"name":"stickerStateId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSprintStickerStateDto"}}}},"responses":{"200":{"description":"Состояние стикера успешно изменено.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WithStickerStateIdDto"}}}},"404":{"description":""}},"tags":["Состояния стикера спринта"],"security":[{"bearer":[]}]}},"/api-v2/sprint-stickers/{stickerId}/states":{"post":{"operationId":"SprintStickerStateController_create","summary":"Создать","parameters":[{"name":"stickerId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSprintStickerStateDto"}}}},"responses":{"201":{"description":"Состояние стикера успешно создано.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WithStickerStateIdDto"}}}},"404":{"description":""}},"tags":["Состояния стикера спринта"],"security":[{"bearer":[]}]}},"/api-v2/group-chats":{"get":{"operationId":"GroupChatController_search","summary":"Получить список чатов","parameters":[{"name":"includeDeleted","required":false,"in":"query","description":"По умолчанию, если объект был отмечен как удаленный, то он не будет найден. \n  Поставьте true, чтобы удаленные объекты возвращались.","schema":{"type":"boolean"}},{"name":"limit","required":false,"in":"query","description":"Количество элементов, которые хочется получить. Максимум 1000.","schema":{"default":50,"type":"number"}},{"name":"offset","required":false,"in":"query","description":"Индекс первого элемента страницы","schema":{"default":0,"type":"number"}},{"name":"title","required":false,"in":"query","description":"Имя чата","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupChatListDto"}}}},"404":{"description":""}},"tags":["Групповые чаты"],"security":[{"bearer":[]}]},"post":{"operationId":"GroupChatController_create","summary":"Создать чат","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateGroupChatDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WithIdDto"}}}}},"tags":["Групповые чаты"],"security":[{"bearer":[]}]}},"/api-v2/group-chats/{id}":{"get":{"operationId":"GroupChatController_get","summary":"Получить чат по ID","parameters":[{"name":"id","required":true,"in":"path","description":"Идентификатор чата","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupChatDto"}}}},"404":{"description":""}},"tags":["Групповые чаты"],"security":[{"bearer":[]}]},"put":{"operationId":"GroupChatController_update","summary":"Изменить чат","description":"Меняются только переданные поля. Поле users заменяет состав чата целиком, роли исключённых сотрудников удаляются. Если у пользователя ключа нет прав на изменение, возвращается 400.","parameters":[{"name":"id","required":true,"in":"path","description":"Идентификатор чата","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateGroupChatDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WithIdDto"}}}},"404":{"description":""}},"tags":["Групповые чаты"],"security":[{"bearer":[]}]}},"/api-v2/chats/{chatId}/messages":{"get":{"operationId":"ChatMessageController_search","summary":"Получить историю сообщений","parameters":[{"name":"chatId","required":true,"in":"path","description":"Идентификатор чата","schema":{"type":"string"}},{"name":"includeDeleted","required":false,"in":"query","description":"По умолчанию, если объект был отмечен как удаленный, то он не будет найден. \n  Поставьте true, чтобы удаленные объекты возвращались.","schema":{"type":"boolean"}},{"name":"limit","required":false,"in":"query","description":"Количество элементов, которые хочется получить. Максимум 1000.","schema":{"default":50,"type":"number"}},{"name":"offset","required":false,"in":"query","description":"Индекс первого элемента страницы","schema":{"default":0,"type":"number"}},{"name":"fromUserId","required":false,"in":"query","description":"ID сотрудника от кого сообщение","schema":{"type":"string"}},{"name":"text","required":false,"in":"query","description":"Строка, которую сообщение должно содержать","schema":{"type":"string"}},{"name":"label","required":false,"in":"query","description":"Поиск по быстрой ссылке сообщения","schema":{"type":"string"}},{"name":"since","required":false,"in":"query","description":"Искать среди сообщений, время создания которых позже указанного времени (timestamp)","schema":{"type":"number"}},{"name":"includeSystem","required":false,"in":"query","description":"Включать ли системные сообщения. По умолчанию они не включаются.","schema":{"type":"boolean"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatMessageListDto"}}}},"404":{"description":""}},"tags":["Сообщения чатов"],"security":[{"bearer":[]}]},"post":{"operationId":"ChatMessageController_sendMessage","summary":"Написать в чат","description":"Чтобы упомянуть сотрудника, вставьте в поле text шорткод [!mention:<userId>!], где userId — ID сотрудника из GET /api-v2/users. Например: \"[!mention:18a8bff2-f6b0-425a-9f89-3a003b8eb039!], посмотри задачу\". Шорткод заменится на @Имя со ссылкой на профиль, сотрудник получит уведомление об упоминании, а в чате задачи станет подписчиком. Шорткод работает только в text и только без textHtml: textHtml сохраняется как есть. Шорткод с несуществующим userId остаётся в тексте без изменений.","parameters":[{"name":"chatId","required":true,"in":"path","description":"Идентификатор чата","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateChatMessageDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatIdDto"}}}}},"tags":["Сообщения чатов"],"security":[{"bearer":[]}]}},"/api-v2/chats/{chatId}/typing":{"post":{"operationId":"ChatMessageController_typing","summary":"Показать, что пользователь печатает","parameters":[{"name":"chatId","required":true,"in":"path","description":"Идентификатор чата","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatTypingDto"}}}}},"tags":["Сообщения чатов"],"security":[{"bearer":[]}]}},"/api-v2/chats/{chatId}/messages/{id}":{"get":{"operationId":"ChatMessageController_get","summary":"Получить сообщение по ID","parameters":[{"name":"chatId","required":true,"in":"path","description":"Идентификатор чата","schema":{"type":"string"}},{"name":"id","required":true,"in":"path","description":"Идентификатор сообщения","schema":{"type":"number"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatMessageDto"}}}},"404":{"description":""}},"tags":["Сообщения чатов"],"security":[{"bearer":[]}]},"put":{"operationId":"ChatMessageController_update","summary":"Изменить сообщение","parameters":[{"name":"chatId","required":true,"in":"path","description":"Идентификатор чата","schema":{"type":"string"}},{"name":"id","required":true,"in":"path","description":"Идентификатор сообщения","schema":{"type":"number"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateChatMessageDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatIdDto"}}}},"404":{"description":""}},"tags":["Сообщения чатов"],"security":[{"bearer":[]}]}},"/api-v2/webhooks":{"post":{"operationId":"WebhookController_create","summary":"Создать подписку","description":"Создает подписку на события в компании","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWebhookDto"}}}},"responses":{"201":{"description":"Подписка создана","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WithIdDto"}}}}},"tags":["Подписки на события"],"security":[{"bearer":[]}]},"get":{"operationId":"WebhookController_search","summary":"Получить список подписок","parameters":[{"name":"includeDeleted","required":false,"in":"query","description":"По умолчанию, если объект был отмечен как удаленный, то он не будет найден. \n  Поставьте true, чтобы удаленные объекты возвращались.","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Все подписки","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookDto"}}}}},"tags":["Подписки на события"],"security":[{"bearer":[]}]}},"/api-v2/webhooks/{id}":{"put":{"operationId":"WebhookController_put","summary":"Изменить подписку","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateWebhookDto"}}}},"responses":{"200":{"description":"Подписка обновлена","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WithIdDto"}}}},"404":{"description":""}},"tags":["Подписки на события"],"security":[{"bearer":[]}]}},"/api-v2/crm/contact-persons":{"post":{"operationId":"CrmContactPersonsController_create","summary":"Создать контактное лицо","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateContactPersonDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactPersonEntryDto"}}}}},"tags":["CRM справочники"],"security":[{"bearer":[]}]}},"/api-v2/crm/contacts/by-external-id":{"get":{"operationId":"CrmExternalIdController_findContactByExternalId","summary":"Найти контакт по внешнему ID","description":"Найти контакт CRM по идентификатору внешнего мессенджера","parameters":[{"name":"provider","required":true,"in":"query","description":"Провайдер внешней интеграции","example":"wazzup","schema":{"type":"string"}},{"name":"chatId","required":true,"in":"query","description":"ID чата во внешнем мессенджере","example":"chat-123","schema":{"type":"string"}}],"responses":{"200":{"description":"Контакт найден","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmDirectoryEntryDto"}}}}},"tags":["CRM внешние идентификаторы"],"security":[{"bearer":[]}]}}},"info":{"title":"YouGile REST API v2.0","description":"## Введение\n\nНовая версия REST API от YouGile обладает значительно более широким функционалом по сравнению с первой — существующие запросы получили дополнительные возможности, а также был добавлен ряд новых запросов, которых не было ранее. Вторая версия API несовместима с первой, это нужно учесть тем пользователям, которые хотят перейти с предыдущей версии.\n\nРеализованные на текущий момент запросы можно найти в меню слева, в разделе ENDPOINTS. На данный момент работа над API продолжается. Ниже на этой странице перечислен функционал, который будет добавлен в ближайшее время.\n\nЛюбые пожелания по развитию функциональности API обязательно сообщайте нам — <support@yougile.com>\n\n## Как использовать\n\noperations/AuthKeyController_companiesList\n\n- [Получить](operations/AuthKeyController_companiesList) ID компании, которой хочется управлять с помощью REST API (для этого нужен логин и пароль от аккаунта в YouGile).\n- [Получить](operations/AuthKeyController_create) ключ API (для этого нужен логин и пароль от аккаунта в YouGile и ID компании).\n- Использовать этот ключ для дальнейших запросов к API.\n- Ключ API не имеет ограничений по времени и по количеству запросов с его использованием. Есть только ограничение на их частоту - не более 50 в минуту на компанию.\n- API позволяет управлять ключами: получать список и удалять. У каждого аккаунта может быть не более 30 ключей.\n- Запрос к API – это HTTPS запрос к адресу вида:\n\n  ```http\n  https://yougile.com/api-v2/{resource}\n  ```\n\n  (http метод GET, POST, PUT или DELETE)\n- К каждому запросу нужно добавлять заголовки: `Content-Type: application/json` и `Authorization: Bearer <ключ API>`.\n- Параметры запроса передаются в виде JSON в теле запроса.\n- Если запрос был успешно выполнен, то ответ будет иметь статус `200` или `201` (в случае создания новых объектов), если же запрос был неуспешным, статус будет начинаться с `3`, `4` или `5` в зависимости от типа ошибки. Также будет присутствовать поле `error` с описанием ошибки.\n- API при работе проверяет и использует права аккаунта / владельца ключа. Если сотрудники не могут что-то увидеть или сделать через интерфейс из-за недостаточных прав, то же самое ограничение они будут иметь и через API.\n\n---\n\nПоддержка, консультации, обратная связь — <support@yougile.com>\n\n## Примеры использования для внутреннего пользования\n\n// Получение ключа для компании ООО «Производство»\n\n```bash\ncurl --location 'http://localhost:8001/api-v2/auth/keys' \\\n--header 'Content-Type: application/json' \\\n--header 'Accept: application/json' \\\n--data-raw '{\n  \"login\": \"dev@yougile.com\",\n  \"password\": \"123\" ,\n  \"companyId\": \"44eccf40-a027-4d06-b5c2-18f4c02bb026\"\n}'\n```\n\n// Создание проекта\n\n```bash\ncurl --location 'http://localhost:8001/api-v2/projects' \\\n--header 'Content-Type: application/json' \\\n--header 'Accept: application/json' \\\n--header 'Authorization: Bearer -VRKgqzejQhROjMTmOk3h20Rnj6XKkwBFx5GkK1fA34TvLFmiVdmEPt3-ygeWfiy' \\\n--data '{\n \"title\": \"тест\",\n \"users\": {\"80eed1bd-eda3-4991-ac17-09d28566749d\": \"admin\"}\n}'\n```\n","version":"2.0","contact":{}},"tags":[{"name":"api-v2","description":""}],"servers":[],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","description":"Создать ключ: `Авторизация / Создать ключ`.","type":"http"}},"schemas":{"CredentialsWithNameDto":{"type":"object","properties":{"login":{"type":"string","example":"some@example.com","description":"Логин пользователя"},"password":{"type":"string","example":"topsecret","description":"Пароль пользователя"},"name":{"type":"string","example":"Газпром","description":"Название компании"}},"required":["login","password"]},"PagingMetadata":{"type":"object","properties":{"count":{"type":"number","description":"Количество элементов в результате"},"limit":{"type":"number","description":"Количество элементов на страницу"},"offset":{"type":"number","description":"Индекс первого элемента страницы"},"next":{"type":"boolean","description":"Есть ли элементы после данной страницы"}},"required":["count","limit","offset","next"]},"CompanyListDtoBase":{"type":"object","properties":{"id":{"type":"string","example":"4f6f0391-0f94-4d30-9b0e-99430a36d4fb","description":"ID объекта"},"name":{"type":"string","example":"ОАО Газпром","description":"Название компании"},"isAdmin":{"type":"boolean","description":"Права администратора в компании"}},"required":["id","name","isAdmin"]},"CompanyListDto":{"type":"object","properties":{"paging":{"description":"Дополнительная информация о странице","example":{"limit":100,"offset":201,"next":true},"allOf":[{"$ref":"#/components/schemas/PagingMetadata"}]},"content":{"description":"Список компаний пользователя","example":[],"type":"array","items":{"$ref":"#/components/schemas/CompanyListDtoBase"}}},"required":["paging","content"]},"CredentialsWithCompanyOptionalDto":{"type":"object","properties":{"login":{"type":"string","example":"some@example.com","description":"Логин пользователя"},"password":{"type":"string","example":"topsecret","description":"Пароль пользователя"},"companyId":{"type":"string","example":"9347006b-dc75-4550-97d5-3008ba00d4a0","description":"ID компании. Для получения ID компании можно использовать горячие клавиши в интерфейсе (Ctrl+Alt+Q / Ctrl+Option+Q для Mac) или воспользоваться [методом POST /auth/companies](../operations/getCompanies)"}},"required":["login","password"]},"AuthKeyWithDetailsDto":{"type":"object","properties":{"key":{"type":"string","example":"H6HngIA816fpIhY7tBvWx/it3YbVvEt/33Sk8afA39MCR9a","description":"Ключ авторизации"},"companyId":{"type":"string","example":"858c5d32-dd93-4d2b-9b9c-aa1ec7007c0c","description":"ID компании, к которой относится ключ"},"timestamp":{"type":"number","example":"1560506639447","description":"Время создания"},"deleted":{"type":"boolean","description":"Ключ удален - да/нет"}},"required":["key","companyId","timestamp","deleted"]},"CredentialsWithCompanyDto":{"type":"object","properties":{"login":{"type":"string","example":"some@example.com","description":"Логин пользователя"},"password":{"type":"string","example":"topsecret","description":"Пароль пользователя"},"companyId":{"type":"string","example":"9347006b-dc75-4550-97d5-3008ba00d4a0","description":"ID компании. Для получения ID компании можно использовать горячие клавиши в интерфейсе (Ctrl+Alt+Q / Ctrl+Option+Q для Mac) или воспользоваться [методом POST /auth/companies](../operations/getCompanies)"}},"required":["login","password","companyId"]},"AuthKeyDto":{"type":"object","properties":{"key":{"type":"string","example":"H6HngIA816fpIhY7tBvWx/it3YbVvEt/33Sk8afA39MCR9a","description":"Ключ авторизации"}},"required":["key"]},"UserCustomStatusDto":{"type":"object","properties":{"emoji":{"type":"string","example":"🤧","maxLength":32},"text":{"type":"string","example":"Болею","maxLength":1024}},"required":["emoji","text"]},"UserListDtoBase":{"type":"object","properties":{"id":{"type":"string","example":"4f6f0391-0f94-4d30-9b0e-99430a36d4fb","description":"ID объекта"},"email":{"type":"string","example":"example.user@yandex.ru","description":"Почтовый ящик сотрудника"},"isAdmin":{"type":"boolean","example":false,"description":"Имеет ли пользователь права администратора"},"messengerOnly":{"type":"boolean","example":false,"description":"Есть ли у пользователя доступ только к мессенджеру"},"realName":{"type":"string","example":"Калганов Андрей Алексеевич","description":"ФИО"},"status":{"type":"string","example":"online","description":"Статус online/offline"},"lastActivity":{"type":"number","example":"1656012328","description":"Время последнего действия в системе"},"customStatus":{"$ref":"#/components/schemas/UserCustomStatusDto"},"hasFakeEmail":{"type":"boolean","example":false,"description":"Является ли email пользователя техническим (сгенерированным)"},"apiData":{"type":"object","example":"{}","description":"Данные конфигуратора"}},"required":["id","email","realName","status","lastActivity"]},"UserListDto":{"type":"object","properties":{"paging":{"description":"Дополнительная информация о странице","example":{"limit":100,"offset":201,"next":true},"allOf":[{"$ref":"#/components/schemas/PagingMetadata"}]},"content":{"description":"Список сотрудников","example":[],"type":"array","items":{"$ref":"#/components/schemas/UserListDtoBase"}}},"required":["paging","content"]},"UserDto":{"type":"object","properties":{"id":{"type":"string","example":"4f6f0391-0f94-4d30-9b0e-99430a36d4fb","description":"ID объекта"},"email":{"type":"string","example":"example.user@yandex.ru","description":"Почтовый ящик сотрудника"},"isAdmin":{"type":"boolean","example":false,"description":"Имеет ли пользователь права администратора"},"messengerOnly":{"type":"boolean","example":false,"description":"Есть ли у пользователя доступ только к мессенджеру"},"realName":{"type":"string","example":"Калганов Андрей Алексеевич","description":"ФИО"},"status":{"type":"string","example":"online","description":"Статус online/offline"},"lastActivity":{"type":"number","example":"1656012328","description":"Время последнего действия в системе"},"customStatus":{"$ref":"#/components/schemas/UserCustomStatusDto"},"hasFakeEmail":{"type":"boolean","example":false,"description":"Является ли email пользователя техническим (сгенерированным)"},"apiData":{"type":"object","example":"{}","description":"Данные конфигуратора"}},"required":["id","email","realName","status","lastActivity"]},"CreateUserDto":{"type":"object","properties":{"email":{"type":"string","example":"example.user@yandex.ru","description":"Почтовый ящик сотрудника"},"isAdmin":{"type":"boolean","example":false,"description":"Имеет ли пользователь права администратора"},"messengerOnly":{"type":"boolean","example":false,"description":"Есть ли у пользователя доступ только к мессенджеру"}},"required":["email"]},"WithIdDto":{"type":"object","properties":{"id":{"type":"string","example":"4f6f0391-0f94-4d30-9b0e-99430a36d4fb","description":"ID объекта"}},"required":["id"]},"UpdateUserDto":{"type":"object","properties":{"isAdmin":{"type":"boolean","example":false,"description":"Имеет ли пользователь права администратора"},"messengerOnly":{"type":"boolean","example":false,"description":"Есть ли у пользователя доступ только к мессенджеру"}}},"CompanyDto":{"type":"object","properties":{"deleted":{"type":"boolean","description":"Если true, значит объект удален"},"id":{"type":"string","example":"4f6f0391-0f94-4d30-9b0e-99430a36d4fb","description":"ID объекта"},"title":{"type":"string","example":"ГосУслуги","description":"Название компании"},"timestamp":{"type":"number","example":1623223299149,"description":"Время создания компании"},"apiData":{"type":"object","example":"{}","description":"Данные конфигуратора"}},"required":["id","title","timestamp"]},"UpdateCompanyDto":{"type":"object","properties":{"deleted":{"type":"boolean","description":"Если true, значит объект удален"},"title":{"type":"string","example":"ГосУслуги","description":"Название компании"},"apiData":{"type":"object","example":"{}","description":"Данные конфигуратора"}}},"FileUploadDto":{"type":"object","properties":{"result":{"type":"string","example":"ok","description":"Результат загрузки"},"url":{"type":"string","example":"/user-data/8d046ef2-e069-4ae0-b575-0d932639358e/file.png","description":"URL файла"},"fullUrl":{"type":"string","example":"https://example.com/user-data/8d046ef2-e069-4ae0-b575-0d932639358e/file.png","description":"Полный URL файла"}},"required":["result","url","fullUrl"]},"ProjectListDtoBase":{"type":"object","properties":{"deleted":{"type":"boolean","description":"Если true, значит объект удален"},"id":{"type":"string","example":"4f6f0391-0f94-4d30-9b0e-99430a36d4fb","description":"ID объекта"},"title":{"type":"string","example":"ГосУслуги","description":"Название проекта"},"timestamp":{"type":"number","example":1623223299149,"description":"Время создания проекта"},"users":{"type":"object","example":{"4902b994-b806-4af4-acec-018ea5ea6468":"worker","8aeaeb9d-f94e-4c66-96d3-eb8d96fe7018":"ee88efd5-5cb2-41a0-9ea2-295da25863d4"},"description":"Сотрудники на проекте и их роль. Возможные значения: <br/><div>1) системные роли: worker, admin, observer</div><div>2) ID пользовательской роли</div><div>3) \"-\" для удаления существующего пользователя из проекта</div><div>Нельзя изменять роли пользователей, получивших доступ через отдел</div>"},"departments":{"type":"object","example":{"4902b994-b806-4af4-acec-018ea5ea6468":{"manager":"admin","member":"worker"}},"description":"Отделы на проекте и маппинг ролей. Возможные значения: <br/><div>1) объект с manager и member</div><div>2) \"-\" для удаления привязки отдела</div>"}},"required":["id","title","timestamp"]},"ProjectListDto":{"type":"object","properties":{"paging":{"description":"Дополнительная информация о странице","example":{"limit":100,"offset":201,"next":true},"allOf":[{"$ref":"#/components/schemas/PagingMetadata"}]},"content":{"description":"Список проектов","example":[],"type":"array","items":{"$ref":"#/components/schemas/ProjectListDtoBase"}}},"required":["paging","content"]},"ProjectDto":{"type":"object","properties":{"deleted":{"type":"boolean","description":"Если true, значит объект удален"},"id":{"type":"string","example":"4f6f0391-0f94-4d30-9b0e-99430a36d4fb","description":"ID объекта"},"title":{"type":"string","example":"ГосУслуги","description":"Название проекта"},"timestamp":{"type":"number","example":1623223299149,"description":"Время создания проекта"},"users":{"type":"object","example":{"4902b994-b806-4af4-acec-018ea5ea6468":"worker","8aeaeb9d-f94e-4c66-96d3-eb8d96fe7018":"ee88efd5-5cb2-41a0-9ea2-295da25863d4"},"description":"Сотрудники на проекте и их роль. Возможные значения: <br/><div>1) системные роли: worker, admin, observer</div><div>2) ID пользовательской роли</div><div>3) \"-\" для удаления существующего пользователя из проекта</div><div>Нельзя изменять роли пользователей, получивших доступ через отдел</div>"},"departments":{"type":"object","example":{"4902b994-b806-4af4-acec-018ea5ea6468":{"manager":"admin","member":"worker"}},"description":"Отделы на проекте и маппинг ролей. Возможные значения: <br/><div>1) объект с manager и member</div><div>2) \"-\" для удаления привязки отдела</div>"}},"required":["id","title","timestamp"]},"CreateProjectDto":{"type":"object","properties":{"title":{"type":"string","example":"ГосУслуги","description":"Название проекта"},"users":{"type":"object","example":{"4902b994-b806-4af4-acec-018ea5ea6468":"worker","8aeaeb9d-f94e-4c66-96d3-eb8d96fe7018":"ee88efd5-5cb2-41a0-9ea2-295da25863d4"},"description":"Сотрудники на проекте и их роль. Возможные значения: <br/><div>1) системные роли: worker, admin, observer</div><div>2) ID пользовательской роли</div><div>3) \"-\" для удаления существующего пользователя из проекта</div><div>Нельзя изменять роли пользователей, получивших доступ через отдел</div>"},"departments":{"type":"object","example":{"4902b994-b806-4af4-acec-018ea5ea6468":{"manager":"admin","member":"worker"}},"description":"Отделы на проекте и маппинг ролей. Возможные значения: <br/><div>1) объект с manager и member</div><div>2) \"-\" для удаления привязки отдела</div>"},"idempotencyKey":{"type":"string","description":"Идемпотентный ключ создания проекта. Повторный запрос с тем же ключом вернет уже созданный проект."}},"required":["title"]},"UpdateProjectDto":{"type":"object","properties":{"deleted":{"type":"boolean","description":"Если true, значит объект удален"},"title":{"type":"string","example":"ГосУслуги","description":"Название проекта"},"users":{"type":"object","example":{"4902b994-b806-4af4-acec-018ea5ea6468":"worker","8aeaeb9d-f94e-4c66-96d3-eb8d96fe7018":"ee88efd5-5cb2-41a0-9ea2-295da25863d4"},"description":"Сотрудники на проекте и их роль. Возможные значения: <br/><div>1) системные роли: worker, admin, observer</div><div>2) ID пользовательской роли</div><div>3) \"-\" для удаления существующего пользователя из проекта</div><div>Нельзя изменять роли пользователей, получивших доступ через отдел</div>"},"departments":{"type":"object","example":{"4902b994-b806-4af4-acec-018ea5ea6468":{"manager":"admin","member":"worker"}},"description":"Отделы на проекте и маппинг ролей. Возможные значения: <br/><div>1) объект с manager и member</div><div>2) \"-\" для удаления привязки отдела</div>"}}},"TaskPermissionsDto":{"type":"object","properties":{"show":{"type":"boolean"},"delete":{"type":"boolean"},"editTitle":{"type":"boolean"},"editDescription":{"type":"boolean"},"complete":{"type":"boolean"},"close":{"type":"boolean"},"assignUsers":{"type":"string","default":"no","enum":["no","yes","add-self","set-self","change-from-self"]},"connect":{"type":"boolean"},"editSubtasks":{"type":"string","default":"no","enum":["no","yes","complete"]},"editStickers":{"type":"boolean"},"editPins":{"type":"boolean"},"move":{"type":"string","default":"no","enum":["no","project","yes","board"]},"sendMessages":{"type":"boolean"},"sendFiles":{"type":"boolean"},"editWhoToNotify":{"type":"string","default":"no","enum":["no","yes","self"]}},"required":["show","delete","editTitle","editDescription","complete","close","assignUsers","connect","editSubtasks","editStickers","editPins","move","sendMessages","sendFiles","editWhoToNotify"]},"ColumnPermissionsDto":{"type":"object","properties":{"editTitle":{"type":"boolean"},"delete":{"type":"boolean"},"move":{"type":"string","default":"no","enum":["no","project","yes"]},"addTask":{"type":"boolean"},"allTasks":{"$ref":"#/components/schemas/TaskPermissionsDto"},"withMeTasks":{"$ref":"#/components/schemas/TaskPermissionsDto"},"myTasks":{"$ref":"#/components/schemas/TaskPermissionsDto"},"createdByMeTasks":{"$ref":"#/components/schemas/TaskPermissionsDto"}},"required":["editTitle","delete","move","addTask","allTasks","withMeTasks","myTasks","createdByMeTasks"]},"BoardPermissionsDto":{"type":"object","properties":{"editTitle":{"type":"boolean"},"delete":{"type":"boolean"},"move":{"type":"boolean"},"showStickers":{"type":"boolean"},"editStickers":{"type":"boolean"},"addColumn":{"type":"boolean"},"columns":{"$ref":"#/components/schemas/ColumnPermissionsDto"},"settings":{"type":"boolean"}},"required":["editTitle","delete","move","showStickers","editStickers","addColumn","columns","settings"]},"ProjectPermissionsDto":{"type":"object","properties":{"editTitle":{"type":"boolean"},"delete":{"type":"boolean"},"addBoard":{"type":"boolean"},"boards":{"$ref":"#/components/schemas/BoardPermissionsDto"},"children":{"type":"object","description":"Точечные права для отдельных досок, колонок или задач проекта, ключ — id объекта","additionalProperties":{"type":"object","required":["type","permissions"],"properties":{"type":{"type":"string","enum":["board","column","task"]},"permissions":{"oneOf":[{"$ref":"#/components/schemas/BoardPermissionsDto"},{"$ref":"#/components/schemas/ColumnPermissionsDto"},{"$ref":"#/components/schemas/TaskPermissionsDto"}]}}}}},"required":["editTitle","delete","addBoard","boards"]},"ProjectRoleListDtoBase":{"type":"object","properties":{"id":{"type":"string","example":"4f6f0391-0f94-4d30-9b0e-99430a36d4fb","description":"ID объекта"},"name":{"type":"string","example":"Консультант","description":"Название роли"},"description":{"type":"string","example":"Консультации по общим вопросам","description":"Описание роли"},"permissions":{"description":"Права в проекте","allOf":[{"$ref":"#/components/schemas/ProjectPermissionsDto"}]}},"required":["id","name","permissions"]},"ProjectRoleListDto":{"type":"object","properties":{"paging":{"description":"Дополнительная информация о странице","example":{"limit":100,"offset":201,"next":true},"allOf":[{"$ref":"#/components/schemas/PagingMetadata"}]},"content":{"description":"Список ролей в проекте","example":[],"type":"array","items":{"$ref":"#/components/schemas/ProjectRoleListDtoBase"}}},"required":["paging","content"]},"ProjectRoleDto":{"type":"object","properties":{"id":{"type":"string","example":"4f6f0391-0f94-4d30-9b0e-99430a36d4fb","description":"ID объекта"},"name":{"type":"string","example":"Консультант","description":"Название роли"},"description":{"type":"string","example":"Консультации по общим вопросам","description":"Описание роли"},"permissions":{"description":"Права в проекте","allOf":[{"$ref":"#/components/schemas/ProjectPermissionsDto"}]}},"required":["id","name","permissions"]},"CreateProjectRoleDto":{"type":"object","properties":{"name":{"type":"string","example":"Консультант","description":"Название роли"},"description":{"type":"string","example":"Консультации по общим вопросам","description":"Описание роли"},"permissions":{"description":"Права в проекте","allOf":[{"$ref":"#/components/schemas/ProjectPermissionsDto"}]}},"required":["name","permissions"]},"UpdateProjectRoleDto":{"type":"object","properties":{"name":{"type":"string","example":"Консультант","description":"Название роли"},"description":{"type":"string","example":"Консультации по общим вопросам","description":"Описание роли"},"permissions":{"description":"Права в проекте","allOf":[{"$ref":"#/components/schemas/ProjectPermissionsDto"}]}}},"DepartmentListDtoBase":{"type":"object","properties":{"deleted":{"type":"boolean","description":"Если true, значит объект удален"},"id":{"type":"string","example":"4f6f0391-0f94-4d30-9b0e-99430a36d4fb","description":"ID объекта"},"title":{"type":"string","example":"Отдел разработки","description":"Название отдела"},"parentId":{"type":"string","example":"001623dc-6501-461b-9de6-c1d1d6fc1d16","description":"Id родительского отдела. Оставить пустым или \"-\", если это отдел верхнего уровня"},"users":{"type":"object","example":{"4902b994-b806-4af4-acec-018ea5ea6468":"manager","8aeaeb9d-f94e-4c66-96d3-eb8d96fe7018":"member"},"description":"Сотрудники на отделе и их роль. Возможные значения: <br/><div>1) manager или member</div><div>2) \"-\" или \"\" для удаления существующего пользователя из отдела</div>"}},"required":["id","title"]},"DepartmentListDto":{"type":"object","properties":{"paging":{"description":"Дополнительная информация о странице","example":{"limit":100,"offset":201,"next":true},"allOf":[{"$ref":"#/components/schemas/PagingMetadata"}]},"content":{"description":"Список отделов","example":[],"type":"array","items":{"$ref":"#/components/schemas/DepartmentListDtoBase"}}},"required":["paging","content"]},"DepartmentDto":{"type":"object","properties":{"deleted":{"type":"boolean","description":"Если true, значит объект удален"},"id":{"type":"string","example":"4f6f0391-0f94-4d30-9b0e-99430a36d4fb","description":"ID объекта"},"title":{"type":"string","example":"Отдел разработки","description":"Название отдела"},"parentId":{"type":"string","example":"001623dc-6501-461b-9de6-c1d1d6fc1d16","description":"Id родительского отдела. Оставить пустым или \"-\", если это отдел верхнего уровня"},"users":{"type":"object","example":{"4902b994-b806-4af4-acec-018ea5ea6468":"manager","8aeaeb9d-f94e-4c66-96d3-eb8d96fe7018":"member"},"description":"Сотрудники на отделе и их роль. Возможные значения: <br/><div>1) manager или member</div><div>2) \"-\" или \"\" для удаления существующего пользователя из отдела</div>"}},"required":["id","title"]},"CreateDepartmentDto":{"type":"object","properties":{"title":{"type":"string","example":"Отдел разработки","description":"Название отдела"},"parentId":{"type":"string","example":"001623dc-6501-461b-9de6-c1d1d6fc1d16","description":"Id родительского отдела. Оставить пустым или \"-\", если это отдел верхнего уровня"},"users":{"type":"object","example":{"4902b994-b806-4af4-acec-018ea5ea6468":"manager","8aeaeb9d-f94e-4c66-96d3-eb8d96fe7018":"member"},"description":"Сотрудники на отделе и их роль. Возможные значения: <br/><div>1) manager или member</div><div>2) \"-\" или \"\" для удаления существующего пользователя из отдела</div>"}},"required":["title"]},"UpdateDepartmentDto":{"type":"object","properties":{"deleted":{"type":"boolean","description":"Если true, значит объект удален"},"title":{"type":"string","example":"Отдел разработки","description":"Название отдела"},"parentId":{"type":"string","example":"001623dc-6501-461b-9de6-c1d1d6fc1d16","description":"Id родительского отдела. Оставить пустым или \"-\", если это отдел верхнего уровня"},"users":{"type":"object","example":{"4902b994-b806-4af4-acec-018ea5ea6468":"manager","8aeaeb9d-f94e-4c66-96d3-eb8d96fe7018":"member"},"description":"Сотрудники на отделе и их роль. Возможные значения: <br/><div>1) manager или member</div><div>2) \"-\" или \"\" для удаления существующего пользователя из отдела</div>"}}},"StickersDto":{"type":"object","properties":{"timer":{"type":"boolean","description":"Таймер","example":false},"deadline":{"type":"boolean","description":"Дедлайн","example":true},"stopwatch":{"type":"boolean","description":"Секундомер","example":true},"timeTracking":{"type":"boolean","description":"Таймтрекинг","example":true},"assignee":{"type":"boolean","description":"Исполнитель","example":true},"repeat":{"type":"boolean","description":"Регулярная задача","example":true},"custom":{"type":"object","description":"Пользовательские стикеры доски","example":{"fbc30a9b-42d0-4cf7-80c0-31fb048346f9":true,"645250ca-1ae8-4514-914d-c070351dd905":true}}}},"BoardListDtoBase":{"type":"object","properties":{"deleted":{"type":"boolean","description":"Если true, значит объект удален"},"id":{"type":"string","example":"4f6f0391-0f94-4d30-9b0e-99430a36d4fb","description":"ID объекта"},"title":{"type":"string","example":"Тестирование","description":"Название доски"},"projectId":{"type":"string","example":"001623dc-6501-461b-9de6-c1d1d6fc1d16","description":"ID проекта, в котором находится доска"},"stickers":{"description":"Стикеры доски","allOf":[{"$ref":"#/components/schemas/StickersDto"}]}},"required":["id","title","projectId"]},"BoardListDto":{"type":"object","properties":{"paging":{"description":"Дополнительная информация о странице","example":{"limit":100,"offset":201,"next":true},"allOf":[{"$ref":"#/components/schemas/PagingMetadata"}]},"content":{"description":"Список досок","example":[],"type":"array","items":{"$ref":"#/components/schemas/BoardListDtoBase"}}},"required":["paging","content"]},"BoardDto":{"type":"object","properties":{"deleted":{"type":"boolean","description":"Если true, значит объект удален"},"id":{"type":"string","example":"4f6f0391-0f94-4d30-9b0e-99430a36d4fb","description":"ID объекта"},"title":{"type":"string","example":"Тестирование","description":"Название доски"},"projectId":{"type":"string","example":"001623dc-6501-461b-9de6-c1d1d6fc1d16","description":"ID проекта, в котором находится доска"},"stickers":{"description":"Стикеры доски","allOf":[{"$ref":"#/components/schemas/StickersDto"}]}},"required":["id","title","projectId"]},"CreateBoardDto":{"type":"object","properties":{"title":{"type":"string","example":"Тестирование","description":"Название доски"},"projectId":{"type":"string","example":"001623dc-6501-461b-9de6-c1d1d6fc1d16","description":"ID проекта, в котором находится доска"},"stickers":{"description":"Стикеры доски","allOf":[{"$ref":"#/components/schemas/StickersDto"}]},"idempotencyKey":{"type":"string","description":"Идемпотентный ключ создания доски. Повторный запрос с тем же ключом вернет уже созданную доску."}},"required":["title","projectId"]},"UpdateBoardDto":{"type":"object","properties":{"deleted":{"type":"boolean","description":"Если true, значит объект удален"},"title":{"type":"string","example":"Тестирование","description":"Название доски"},"projectId":{"type":"string","example":"001623dc-6501-461b-9de6-c1d1d6fc1d16","description":"ID проекта, в котором находится доска"},"stickers":{"description":"Стикеры доски","allOf":[{"$ref":"#/components/schemas/StickersDto"}]}}},"ColumnListDtoBase":{"type":"object","properties":{"id":{"type":"string","example":"4f6f0391-0f94-4d30-9b0e-99430a36d4fb","description":"ID объекта"},"deleted":{"type":"boolean","description":"Если true, значит объект удален"},"title":{"type":"string","example":"To do","description":"Название колонки"},"color":{"type":"number","example":2,"minimum":1,"maximum":16,"description":"Цвет колонки. Указывается в виде числа. Примеры цветов представлены ниже <br/><div>1 - #7B869E <div style=\"\n        display: inline-block; \n        width: 10px; \n        height: 10px;\n        background-color: #7B869E\n      \">\n </div>\n</div><div>2 - #FF8C8C <div style=\"\n        display: inline-block; \n        width: 10px; \n        height: 10px;\n        background-color: #FF8C8C\n      \">\n </div>\n</div><div>3 - #E9A24F <div style=\"\n        display: inline-block; \n        width: 10px; \n        height: 10px;\n        background-color: #E9A24F\n      \">\n </div>\n</div><div>4 - #FCE258 <div style=\"\n        display: inline-block; \n        width: 10px; \n        height: 10px;\n        background-color: #FCE258\n      \">\n </div>\n</div><div>5 - #7CAE5E <div style=\"\n        display: inline-block; \n        width: 10px; \n        height: 10px;\n        background-color: #7CAE5E\n      \">\n </div>\n</div><div>6 - #49C5BC <div style=\"\n        display: inline-block; \n        width: 10px; \n        height: 10px;\n        background-color: #49C5BC\n      \">\n </div>\n</div><div>7 - #8CACFF <div style=\"\n        display: inline-block; \n        width: 10px; \n        height: 10px;\n        background-color: #8CACFF\n      \">\n </div>\n</div><div>8 - #CC8CFF <div style=\"\n        display: inline-block; \n        width: 10px; \n        height: 10px;\n        background-color: #CC8CFF\n      \">\n </div>\n</div><div>9 - #667085 <div style=\"\n        display: inline-block; \n        width: 10px; \n        height: 10px;\n        background-color: #667085\n      \">\n </div>\n</div><div>10 - #EB3737 <div style=\"\n        display: inline-block; \n        width: 10px; \n        height: 10px;\n        background-color: #EB3737\n      \">\n </div>\n</div><div>11 - #F2732B <div style=\"\n        display: inline-block; \n        width: 10px; \n        height: 10px;\n        background-color: #F2732B\n      \">\n </div>\n</div><div>12 - #F5CC00 <div style=\"\n        display: inline-block; \n        width: 10px; \n        height: 10px;\n        background-color: #F5CC00\n      \">\n </div>\n</div><div>13 - #5CDC11 <div style=\"\n        display: inline-block; \n        width: 10px; \n        height: 10px;\n        background-color: #5CDC11\n      \">\n </div>\n</div><div>14 - #08A7A9 <div style=\"\n        display: inline-block; \n        width: 10px; \n        height: 10px;\n        background-color: #08A7A9\n      \">\n </div>\n</div><div>15 - #5089F2 <div style=\"\n        display: inline-block; \n        width: 10px; \n        height: 10px;\n        background-color: #5089F2\n      \">\n </div>\n</div><div>16 - #E25EF2 <div style=\"\n        display: inline-block; \n        width: 10px; \n        height: 10px;\n        background-color: #E25EF2\n      \">\n </div>\n</div>"},"boardId":{"type":"string","example":"0d923a9f-3675-43c6-84ce-f3580cf5e760","description":"Id доски, в которой находится колонка"}},"required":["id","title","boardId"]},"ColumnListDto":{"type":"object","properties":{"paging":{"description":"Дополнительная информация о странице","example":{"limit":100,"offset":201,"next":true},"allOf":[{"$ref":"#/components/schemas/PagingMetadata"}]},"content":{"description":"Список колонок","example":[],"type":"array","items":{"$ref":"#/components/schemas/ColumnListDtoBase"}}},"required":["paging","content"]},"ColumnDto":{"type":"object","properties":{"id":{"type":"string","example":"4f6f0391-0f94-4d30-9b0e-99430a36d4fb","description":"ID объекта"},"deleted":{"type":"boolean","description":"Если true, значит объект удален"},"title":{"type":"string","example":"To do","description":"Название колонки"},"color":{"type":"number","example":2,"minimum":1,"maximum":16,"description":"Цвет колонки. Указывается в виде числа. Примеры цветов представлены ниже <br/><div>1 - #7B869E <div style=\"\n        display: inline-block; \n        width: 10px; \n        height: 10px;\n        background-color: #7B869E\n      \">\n </div>\n</div><div>2 - #FF8C8C <div style=\"\n        display: inline-block; \n        width: 10px; \n        height: 10px;\n        background-color: #FF8C8C\n      \">\n </div>\n</div><div>3 - #E9A24F <div style=\"\n        display: inline-block; \n        width: 10px; \n        height: 10px;\n        background-color: #E9A24F\n      \">\n </div>\n</div><div>4 - #FCE258 <div style=\"\n        display: inline-block; \n        width: 10px; \n        height: 10px;\n        background-color: #FCE258\n      \">\n </div>\n</div><div>5 - #7CAE5E <div style=\"\n        display: inline-block; \n        width: 10px; \n        height: 10px;\n        background-color: #7CAE5E\n      \">\n </div>\n</div><div>6 - #49C5BC <div style=\"\n        display: inline-block; \n        width: 10px; \n        height: 10px;\n        background-color: #49C5BC\n      \">\n </div>\n</div><div>7 - #8CACFF <div style=\"\n        display: inline-block; \n        width: 10px; \n        height: 10px;\n        background-color: #8CACFF\n      \">\n </div>\n</div><div>8 - #CC8CFF <div style=\"\n        display: inline-block; \n        width: 10px; \n        height: 10px;\n        background-color: #CC8CFF\n      \">\n </div>\n</div><div>9 - #667085 <div style=\"\n        display: inline-block; \n        width: 10px; \n        height: 10px;\n        background-color: #667085\n      \">\n </div>\n</div><div>10 - #EB3737 <div style=\"\n        display: inline-block; \n        width: 10px; \n        height: 10px;\n        background-color: #EB3737\n      \">\n </div>\n</div><div>11 - #F2732B <div style=\"\n        display: inline-block; \n        width: 10px; \n        height: 10px;\n        background-color: #F2732B\n      \">\n </div>\n</div><div>12 - #F5CC00 <div style=\"\n        display: inline-block; \n        width: 10px; \n        height: 10px;\n        background-color: #F5CC00\n      \">\n </div>\n</div><div>13 - #5CDC11 <div style=\"\n        display: inline-block; \n        width: 10px; \n        height: 10px;\n        background-color: #5CDC11\n      \">\n </div>\n</div><div>14 - #08A7A9 <div style=\"\n        display: inline-block; \n        width: 10px; \n        height: 10px;\n        background-color: #08A7A9\n      \">\n </div>\n</div><div>15 - #5089F2 <div style=\"\n        display: inline-block; \n        width: 10px; \n        height: 10px;\n        background-color: #5089F2\n      \">\n </div>\n</div><div>16 - #E25EF2 <div style=\"\n        display: inline-block; \n        width: 10px; \n        height: 10px;\n        background-color: #E25EF2\n      \">\n </div>\n</div>"},"boardId":{"type":"string","example":"0d923a9f-3675-43c6-84ce-f3580cf5e760","description":"Id доски, в которой находится колонка"}},"required":["id","title","boardId"]},"CreateColumnDto":{"type":"object","properties":{"title":{"type":"string","example":"To do","description":"Название колонки"},"color":{"type":"number","example":2,"minimum":1,"maximum":16,"description":"Цвет колонки. Указывается в виде числа. Примеры цветов представлены ниже <br/><div>1 - #7B869E <div style=\"\n        display: inline-block; \n        width: 10px; \n        height: 10px;\n        background-color: #7B869E\n      \">\n </div>\n</div><div>2 - #FF8C8C <div style=\"\n        display: inline-block; \n        width: 10px; \n        height: 10px;\n        background-color: #FF8C8C\n      \">\n </div>\n</div><div>3 - #E9A24F <div style=\"\n        display: inline-block; \n        width: 10px; \n        height: 10px;\n        background-color: #E9A24F\n      \">\n </div>\n</div><div>4 - #FCE258 <div style=\"\n        display: inline-block; \n        width: 10px; \n        height: 10px;\n        background-color: #FCE258\n      \">\n </div>\n</div><div>5 - #7CAE5E <div style=\"\n        display: inline-block; \n        width: 10px; \n        height: 10px;\n        background-color: #7CAE5E\n      \">\n </div>\n</div><div>6 - #49C5BC <div style=\"\n        display: inline-block; \n        width: 10px; \n        height: 10px;\n        background-color: #49C5BC\n      \">\n </div>\n</div><div>7 - #8CACFF <div style=\"\n        display: inline-block; \n        width: 10px; \n        height: 10px;\n        background-color: #8CACFF\n      \">\n </div>\n</div><div>8 - #CC8CFF <div style=\"\n        display: inline-block; \n        width: 10px; \n        height: 10px;\n        background-color: #CC8CFF\n      \">\n </div>\n</div><div>9 - #667085 <div style=\"\n        display: inline-block; \n        width: 10px; \n        height: 10px;\n        background-color: #667085\n      \">\n </div>\n</div><div>10 - #EB3737 <div style=\"\n        display: inline-block; \n        width: 10px; \n        height: 10px;\n        background-color: #EB3737\n      \">\n </div>\n</div><div>11 - #F2732B <div style=\"\n        display: inline-block; \n        width: 10px; \n        height: 10px;\n        background-color: #F2732B\n      \">\n </div>\n</div><div>12 - #F5CC00 <div style=\"\n        display: inline-block; \n        width: 10px; \n        height: 10px;\n        background-color: #F5CC00\n      \">\n </div>\n</div><div>13 - #5CDC11 <div style=\"\n        display: inline-block; \n        width: 10px; \n        height: 10px;\n        background-color: #5CDC11\n      \">\n </div>\n</div><div>14 - #08A7A9 <div style=\"\n        display: inline-block; \n        width: 10px; \n        height: 10px;\n        background-color: #08A7A9\n      \">\n </div>\n</div><div>15 - #5089F2 <div style=\"\n        display: inline-block; \n        width: 10px; \n        height: 10px;\n        background-color: #5089F2\n      \">\n </div>\n</div><div>16 - #E25EF2 <div style=\"\n        display: inline-block; \n        width: 10px; \n        height: 10px;\n        background-color: #E25EF2\n      \">\n </div>\n</div>"},"boardId":{"type":"string","example":"0d923a9f-3675-43c6-84ce-f3580cf5e760","description":"Id доски, в которой находится колонка"},"idempotencyKey":{"type":"string","description":"Идемпотентный ключ создания колонки. Повторный запрос с тем же ключом вернет уже созданную колонку."}},"required":["title","boardId"]},"UpdateColumnDto":{"type":"object","properties":{"deleted":{"type":"boolean","description":"Если true, значит объект удален"},"title":{"type":"string","example":"To do","description":"Название колонки"},"color":{"type":"number","example":2,"minimum":1,"maximum":16,"description":"Цвет колонки. Указывается в виде числа. Примеры цветов представлены ниже <br/><div>1 - #7B869E <div style=\"\n        display: inline-block; \n        width: 10px; \n        height: 10px;\n        background-color: #7B869E\n      \">\n </div>\n</div><div>2 - #FF8C8C <div style=\"\n        display: inline-block; \n        width: 10px; \n        height: 10px;\n        background-color: #FF8C8C\n      \">\n </div>\n</div><div>3 - #E9A24F <div style=\"\n        display: inline-block; \n        width: 10px; \n        height: 10px;\n        background-color: #E9A24F\n      \">\n </div>\n</div><div>4 - #FCE258 <div style=\"\n        display: inline-block; \n        width: 10px; \n        height: 10px;\n        background-color: #FCE258\n      \">\n </div>\n</div><div>5 - #7CAE5E <div style=\"\n        display: inline-block; \n        width: 10px; \n        height: 10px;\n        background-color: #7CAE5E\n      \">\n </div>\n</div><div>6 - #49C5BC <div style=\"\n        display: inline-block; \n        width: 10px; \n        height: 10px;\n        background-color: #49C5BC\n      \">\n </div>\n</div><div>7 - #8CACFF <div style=\"\n        display: inline-block; \n        width: 10px; \n        height: 10px;\n        background-color: #8CACFF\n      \">\n </div>\n</div><div>8 - #CC8CFF <div style=\"\n        display: inline-block; \n        width: 10px; \n        height: 10px;\n        background-color: #CC8CFF\n      \">\n </div>\n</div><div>9 - #667085 <div style=\"\n        display: inline-block; \n        width: 10px; \n        height: 10px;\n        background-color: #667085\n      \">\n </div>\n</div><div>10 - #EB3737 <div style=\"\n        display: inline-block; \n        width: 10px; \n        height: 10px;\n        background-color: #EB3737\n      \">\n </div>\n</div><div>11 - #F2732B <div style=\"\n        display: inline-block; \n        width: 10px; \n        height: 10px;\n        background-color: #F2732B\n      \">\n </div>\n</div><div>12 - #F5CC00 <div style=\"\n        display: inline-block; \n        width: 10px; \n        height: 10px;\n        background-color: #F5CC00\n      \">\n </div>\n</div><div>13 - #5CDC11 <div style=\"\n        display: inline-block; \n        width: 10px; \n        height: 10px;\n        background-color: #5CDC11\n      \">\n </div>\n</div><div>14 - #08A7A9 <div style=\"\n        display: inline-block; \n        width: 10px; \n        height: 10px;\n        background-color: #08A7A9\n      \">\n </div>\n</div><div>15 - #5089F2 <div style=\"\n        display: inline-block; \n        width: 10px; \n        height: 10px;\n        background-color: #5089F2\n      \">\n </div>\n</div><div>16 - #E25EF2 <div style=\"\n        display: inline-block; \n        width: 10px; \n        height: 10px;\n        background-color: #E25EF2\n      \">\n </div>\n</div>"},"boardId":{"type":"string","example":"0d923a9f-3675-43c6-84ce-f3580cf5e760","description":"Id доски, в которой находится колонка"}}},"Deadline":{"type":"object","properties":{"deadline":{"type":"number","description":"Timestamp дэдлайна","example":1653029146646},"startDate":{"type":"number","description":"Timestamp начала задачи","example":1653028146646},"withTime":{"type":"boolean","description":"Отображать на стикере время, или только дату"},"history":{"description":"История изменений дедлайна","type":"array","items":{"type":"string"}},"blockedPoints":{"description":"Точки, которые блокируют дату дедлайна (Начало или Конец)","type":"array","items":{"type":"string"}},"links":{"description":"Связанные задачи","type":"array","items":{"type":"string"}}},"required":["deadline","blockedPoints","links"]},"TimeTracking":{"type":"object","properties":{"plan":{"type":"number","example":10,"description":"Сколько часов было запланировано на выполнение задачи"},"work":{"type":"number","example":5,"description":"Сколько часов было затрачено на выполнение задачи"}},"required":["plan","work"]},"CheckListItem":{"type":"object","properties":{"title":{"type":"string","description":"Название чеклиста"},"isCompleted":{"type":"boolean","description":"Выполненность чеклиста"}},"required":["title","isCompleted"]},"CheckList":{"type":"object","properties":{"title":{"type":"string","description":"Название списка чеклистов"},"items":{"description":"Массив с чеклистами","allOf":[{"$ref":"#/components/schemas/CheckListItem"}]}},"required":["title","items"]},"Stopwatch":{"type":"object","properties":{"running":{"type":"boolean","description":"Статус секундомера - запущен/остановлен"},"seconds":{"type":"number","description":"Сколько секунд прошло, пока таймер был запущен."},"atMoment":{"type":"number","description":"Момент времени, на который значение seconds было актуально"}},"required":["running","seconds","atMoment"]},"Timer":{"type":"object","properties":{"seconds":{"type":"number","description":"Сколько секунд осталось до конца таймера."},"since":{"type":"number","description":"Timestamp момента времени, от которого отсчитывается значение в поле seconds"},"running":{"type":"boolean","description":"Статус таймера - запущен/остановлен."}},"required":["seconds","since","running"]},"DealReadDto":{"type":"object","properties":{"dealAmount":{"type":"number","description":"Сумма сделки"},"customFields":{"type":"object","description":"Кастомные поля сделки"},"organizationId":{"type":"string","description":"ID организации"},"contactPersonIds":{"description":"ID контактных лиц","type":"array","items":{"type":"string"}}}},"TaskListDtoBase":{"type":"object","properties":{"id":{"type":"string","example":"4f6f0391-0f94-4d30-9b0e-99430a36d4fb","description":"ID объекта"},"deleted":{"type":"boolean","description":"Если true, значит объект удален"},"title":{"type":"string","description":"Название задачи","example":"test task"},"timestamp":{"type":"number","example":1623223299149,"description":"Время создания задачи"},"columnId":{"type":"string","description":"Id колонки родителя","example":"fefbc00f-3870-4f52-807f-225ce2e4c701"},"description":{"type":"string","description":"Описание задачи"},"archived":{"type":"boolean","description":"Задача перенесена в архив - да/нет","example":false},"archivedTimestamp":{"type":"number","description":"Время, когда задача перенесена в архив","example":1653029172130},"completed":{"type":"boolean","description":"Задача выполнена - да/нет","example":false},"completedTimestamp":{"type":"number","description":"Время, когда задача выполнена","example":1653029156641},"subtasks":{"description":"Массив Id подзадач","example":["0fe1e417-2415-4e76-932a-ca07a25d6c64","f0118d9e-2888-48e4-a172-116085da4279"],"type":"array","items":{"type":"string"}},"assigned":{"description":"Массив Id пользователей, на которых назначена задача","example":["80eed1bd-eda3-4991-ac17-09d28566749d"],"type":"array","items":{"type":"string"}},"createdBy":{"type":"string","description":"Id пользователя, который создал задачу","example":"80eed1bd-eda3-4991-ac17-09d28566749d"},"deadline":{"description":"Стикер \"Дэдлайн\". Указывает на крайний срок выполнения задачи. Имеется возможность кроме даты указать время, а так же дату начала задачи.","example":{"deadline":1653029146646,"startDate":1653028146646,"withTime":true},"allOf":[{"$ref":"#/components/schemas/Deadline"}]},"timeTracking":{"description":"Стикер \"Таймтрекинг\". Используется для указания ожидаемого и реального времени на выполнение задачи.","example":{"plan":5,"work":3},"allOf":[{"$ref":"#/components/schemas/TimeTracking"}]},"checklists":{"description":"Чеклисты. К задаче всегда будет присвоен переданный объект. Если необходимо внести изменения, нужно сначала получить чеклисты, затем произвести корректировку, а затем записать в задачу заново.","example":[{"title":"list 1","items":[{"title":"option 1","isCompleted":false},{"title":"option 2","isCompleted":false}]}],"type":"array","items":{"$ref":"#/components/schemas/CheckList"}},"stickers":{"type":"object","description":"Пользовательские стикеры. Передаются в виде объекта ключ-значение,\nгде ключ — ID стикера, значение — ID состояния для стикеров с состоянием или строка со значением для стикеров свободных полей.<br />\nДля открепления стикера от задачи, используйте \"-\" как значение состояния.<br />\nДля прикрепления пустого стикера (без состояния), используйте \"empty\" как значение состояния.<br />\nДля стикеров типа \"свободное текстовое поле\" передавайте произвольную строку, например \"ООО «Производство»\".<br />\nДля стикеров типа \"свободное числовое поле\" передавайте строку, содержащую число, например \"123\" или \"345.123\"; разделитель целой и дробной части — точка \".\"<br />\nСтикер с состояниями, в настройках которого разрешено несколько значений, принимает и возвращает массив ID состояний.","example":{"fbc30a9b-42d0-4cf7-80c0-31fb048346f9":"0baced9640b2","645250ca-1ae8-4514-914d-c070351dd905":"815016901edd","660b9096-a2d0-45df-b09a-b53ba521e86f":"empty","060f5185-e613-4f74-97c1-060667cc3a7e":"ООО «Производство»","46d005ea-c89e-449b-878e-d3cc43204a5a":"345.123","b1f0a0f4-6f8c-4f8d-9a2f-2f43c4c6f0aa":["0baced9640b2","815016901edd"]}},"color":{"type":"string","description":"Цвет карточки задач на доске, доступны цвета: task-primary, task-gray, task-red, task-pink, task-yellow, task-green, task-turquoise, task-blue, task-violet","example":"task-red","enum":["task-primary","task-gray","task-red","task-pink","task-yellow","task-green","task-turquoise","task-blue","task-violet"]},"idTaskCommon":{"type":"string","description":"ID задачи, сквозной через всю компанию","example":"ID-484"},"idTaskProject":{"type":"string","description":"ID задачи, внутри проекта","example":"DEV-484"},"apiData":{"type":"object","example":"{}","description":"Данные конфигуратора"},"type":{"type":"string","description":"Тип сущности","enum":["task","deal"]},"stopwatch":{"example":{"running":true,"time":200,"timestamp":1653029146646},"allOf":[{"$ref":"#/components/schemas/Stopwatch"}]},"timer":{"example":{"running":true,"seconds":600,"timestamp":1653029146646},"allOf":[{"$ref":"#/components/schemas/Timer"}]},"deal":{"$ref":"#/components/schemas/DealReadDto"},"extensionData":{"type":"object","description":"Данные расширений"},"properties":{"type":"object","description":"Программные свойства задачи JSON-объект"}},"required":["id","title","timestamp"]},"TaskListDto":{"type":"object","properties":{"paging":{"description":"Дополнительная информация о странице","example":{"limit":100,"offset":201,"next":true},"allOf":[{"$ref":"#/components/schemas/PagingMetadata"}]},"content":{"description":"Список задач","example":[],"type":"array","items":{"$ref":"#/components/schemas/TaskListDtoBase"}}},"required":["paging","content"]},"TaskDto":{"type":"object","properties":{"id":{"type":"string","example":"4f6f0391-0f94-4d30-9b0e-99430a36d4fb","description":"ID объекта"},"deleted":{"type":"boolean","description":"Если true, значит объект удален"},"title":{"type":"string","description":"Название задачи","example":"test task"},"timestamp":{"type":"number","example":1623223299149,"description":"Время создания задачи"},"columnId":{"type":"string","description":"Id колонки родителя","example":"fefbc00f-3870-4f52-807f-225ce2e4c701"},"description":{"type":"string","description":"Описание задачи"},"archived":{"type":"boolean","description":"Задача перенесена в архив - да/нет","example":false},"archivedTimestamp":{"type":"number","description":"Время, когда задача перенесена в архив","example":1653029172130},"completed":{"type":"boolean","description":"Задача выполнена - да/нет","example":false},"completedTimestamp":{"type":"number","description":"Время, когда задача выполнена","example":1653029156641},"subtasks":{"description":"Массив Id подзадач","example":["0fe1e417-2415-4e76-932a-ca07a25d6c64","f0118d9e-2888-48e4-a172-116085da4279"],"type":"array","items":{"type":"string"}},"assigned":{"description":"Массив Id пользователей, на которых назначена задача","example":["80eed1bd-eda3-4991-ac17-09d28566749d"],"type":"array","items":{"type":"string"}},"createdBy":{"type":"string","description":"Id пользователя, который создал задачу","example":"80eed1bd-eda3-4991-ac17-09d28566749d"},"deadline":{"description":"Стикер \"Дэдлайн\". Указывает на крайний срок выполнения задачи. Имеется возможность кроме даты указать время, а так же дату начала задачи.","example":{"deadline":1653029146646,"startDate":1653028146646,"withTime":true},"allOf":[{"$ref":"#/components/schemas/Deadline"}]},"timeTracking":{"description":"Стикер \"Таймтрекинг\". Используется для указания ожидаемого и реального времени на выполнение задачи.","example":{"plan":5,"work":3},"allOf":[{"$ref":"#/components/schemas/TimeTracking"}]},"checklists":{"description":"Чеклисты. К задаче всегда будет присвоен переданный объект. Если необходимо внести изменения, нужно сначала получить чеклисты, затем произвести корректировку, а затем записать в задачу заново.","example":[{"title":"list 1","items":[{"title":"option 1","isCompleted":false},{"title":"option 2","isCompleted":false}]}],"type":"array","items":{"$ref":"#/components/schemas/CheckList"}},"stickers":{"type":"object","description":"Пользовательские стикеры. Передаются в виде объекта ключ-значение,\nгде ключ — ID стикера, значение — ID состояния для стикеров с состоянием или строка со значением для стикеров свободных полей.<br />\nДля открепления стикера от задачи, используйте \"-\" как значение состояния.<br />\nДля прикрепления пустого стикера (без состояния), используйте \"empty\" как значение состояния.<br />\nДля стикеров типа \"свободное текстовое поле\" передавайте произвольную строку, например \"ООО «Производство»\".<br />\nДля стикеров типа \"свободное числовое поле\" передавайте строку, содержащую число, например \"123\" или \"345.123\"; разделитель целой и дробной части — точка \".\"<br />\nСтикер с состояниями, в настройках которого разрешено несколько значений, принимает и возвращает массив ID состояний.","example":{"fbc30a9b-42d0-4cf7-80c0-31fb048346f9":"0baced9640b2","645250ca-1ae8-4514-914d-c070351dd905":"815016901edd","660b9096-a2d0-45df-b09a-b53ba521e86f":"empty","060f5185-e613-4f74-97c1-060667cc3a7e":"ООО «Производство»","46d005ea-c89e-449b-878e-d3cc43204a5a":"345.123","b1f0a0f4-6f8c-4f8d-9a2f-2f43c4c6f0aa":["0baced9640b2","815016901edd"]}},"color":{"type":"string","description":"Цвет карточки задач на доске, доступны цвета: task-primary, task-gray, task-red, task-pink, task-yellow, task-green, task-turquoise, task-blue, task-violet","example":"task-red","enum":["task-primary","task-gray","task-red","task-pink","task-yellow","task-green","task-turquoise","task-blue","task-violet"]},"idTaskCommon":{"type":"string","description":"ID задачи, сквозной через всю компанию","example":"ID-484"},"idTaskProject":{"type":"string","description":"ID задачи, внутри проекта","example":"DEV-484"},"apiData":{"type":"object","example":"{}","description":"Данные конфигуратора"},"type":{"type":"string","description":"Тип сущности","enum":["task","deal"]},"stopwatch":{"example":{"running":true,"time":200,"timestamp":1653029146646},"allOf":[{"$ref":"#/components/schemas/Stopwatch"}]},"timer":{"example":{"running":true,"seconds":600,"timestamp":1653029146646},"allOf":[{"$ref":"#/components/schemas/Timer"}]},"deal":{"$ref":"#/components/schemas/DealReadDto"},"extensionData":{"type":"object","description":"Данные расширений"},"properties":{"type":"object","description":"Программные свойства задачи JSON-объект"}},"required":["id","title","timestamp"]},"CreateStopwatch":{"type":"object","properties":{"running":{"type":"boolean","description":"Запустить или остановить секундомер"}},"required":["running"]},"CreateTimer":{"type":"object","properties":{"seconds":{"type":"number","example":600,"description":"Установить время таймера в секундах."},"running":{"type":"boolean","description":"Запустить или остановить таймер."}},"required":["seconds","running"]},"DealDataDto":{"type":"object","properties":{"dealAmount":{"type":"number","description":"Сумма сделки (null для удаления)","example":25000000,"nullable":true},"contactPersonIds":{"description":"ID контактных лиц. Передать [] для отвязки всех контактов","nullable":true,"type":"array","items":{"type":"string"}},"organizationId":{"type":"string","description":"ID организации. Передать null для отвязки организации","nullable":true},"customFields":{"type":"object","description":"Кастомные поля CRM (fieldId -> value)"}}},"CreateTaskDto":{"type":"object","properties":{"title":{"type":"string","description":"Название задачи","example":"test task"},"columnId":{"type":"string","description":"Id колонки родителя","example":"fefbc00f-3870-4f52-807f-225ce2e4c701"},"description":{"type":"string","description":"Описание задачи"},"archived":{"type":"boolean","description":"Задача перенесена в архив - да/нет","example":false},"completed":{"type":"boolean","description":"Задача выполнена - да/нет","example":false},"subtasks":{"description":"Массив Id подзадач","example":["0fe1e417-2415-4e76-932a-ca07a25d6c64","f0118d9e-2888-48e4-a172-116085da4279"],"type":"array","items":{"type":"string"}},"assigned":{"description":"Массив Id пользователей, на которых назначена задача","example":["80eed1bd-eda3-4991-ac17-09d28566749d"],"type":"array","items":{"type":"string"}},"deadline":{"description":"Стикер \"Дэдлайн\". Указывает на крайний срок выполнения задачи. Имеется возможность кроме даты указать время, а так же дату начала задачи.","example":{"deadline":1653029146646,"startDate":1653028146646,"withTime":true},"allOf":[{"$ref":"#/components/schemas/Deadline"}]},"timeTracking":{"description":"Стикер \"Таймтрекинг\". Используется для указания ожидаемого и реального времени на выполнение задачи.","example":{"plan":5,"work":3},"allOf":[{"$ref":"#/components/schemas/TimeTracking"}]},"checklists":{"description":"Чеклисты. К задаче всегда будет присвоен переданный объект. Если необходимо внести изменения, нужно сначала получить чеклисты, затем произвести корректировку, а затем записать в задачу заново.","example":[{"title":"list 1","items":[{"title":"option 1","isCompleted":false},{"title":"option 2","isCompleted":false}]}],"type":"array","items":{"$ref":"#/components/schemas/CheckList"}},"stickers":{"type":"object","description":"Пользовательские стикеры. Передаются в виде объекта ключ-значение,\nгде ключ — ID стикера, значение — ID состояния для стикеров с состоянием или строка со значением для стикеров свободных полей.<br />\nДля открепления стикера от задачи, используйте \"-\" как значение состояния.<br />\nДля прикрепления пустого стикера (без состояния), используйте \"empty\" как значение состояния.<br />\nДля стикеров типа \"свободное текстовое поле\" передавайте произвольную строку, например \"ООО «Производство»\".<br />\nДля стикеров типа \"свободное числовое поле\" передавайте строку, содержащую число, например \"123\" или \"345.123\"; разделитель целой и дробной части — точка \".\"<br />\nСтикер с состояниями, в настройках которого разрешено несколько значений, принимает и возвращает массив ID состояний.","example":{"fbc30a9b-42d0-4cf7-80c0-31fb048346f9":"0baced9640b2","645250ca-1ae8-4514-914d-c070351dd905":"815016901edd","660b9096-a2d0-45df-b09a-b53ba521e86f":"empty","060f5185-e613-4f74-97c1-060667cc3a7e":"ООО «Производство»","46d005ea-c89e-449b-878e-d3cc43204a5a":"345.123","b1f0a0f4-6f8c-4f8d-9a2f-2f43c4c6f0aa":["0baced9640b2","815016901edd"]}},"color":{"type":"string","description":"Цвет карточки задач на доске, доступны цвета: task-primary, task-gray, task-red, task-pink, task-yellow, task-green, task-turquoise, task-blue, task-violet","example":"task-red","enum":["task-primary","task-gray","task-red","task-pink","task-yellow","task-green","task-turquoise","task-blue","task-violet"]},"idTaskCommon":{"type":"string","description":"ID задачи, сквозной через всю компанию","example":"ID-484"},"idTaskProject":{"type":"string","description":"ID задачи, внутри проекта","example":"DEV-484"},"apiData":{"type":"object","example":"{}","description":"Данные конфигуратора"},"stopwatch":{"description":"Стикер \"Секундомер\". Позволяет запустить секундомер, а так же ставить его на паузу и запускать заново.","example":{"running":true},"allOf":[{"$ref":"#/components/schemas/CreateStopwatch"}]},"timer":{"description":"Стикер \"Таймер\". Позволяет установить таймер на заданное время, а также возможность ставить его на паузу и запускать заново","example":{"running":true,"seconds":600},"allOf":[{"$ref":"#/components/schemas/CreateTimer"}]},"deal":{"description":"Данные для создания CRM сделки. Если указано, задача будет создана как сделка.","allOf":[{"$ref":"#/components/schemas/DealDataDto"}]},"extensionData":{"type":"object","description":"Данные для работы расширения"},"idempotencyKey":{"type":"string","description":"Идемпотентный ключ создания задачи. Повторный запрос с тем же ключом вернет уже созданную задачу."}},"required":["title"]},"UpdateDeadline":{"type":"object","properties":{"deadline":{"type":"number","description":"Timestamp дэдлайна","example":1653029146646},"startDate":{"type":"number","description":"Timestamp начала задачи","example":1653028146646},"withTime":{"type":"boolean","description":"Отображать на стикере время, или только дату"},"history":{"description":"История изменений дедлайна","type":"array","items":{"type":"string"}},"blockedPoints":{"description":"Точки, которые блокируют дату дедлайна (Начало или Конец)","type":"array","items":{"type":"string"}},"links":{"description":"Связанные задачи","type":"array","items":{"type":"string"}},"deleted":{"type":"boolean","description":"Открепить стикер от задачи (true)"},"empty":{"type":"boolean","description":"Прикрепить стикер дедлайна без значения"}},"required":["blockedPoints","links"]},"UpdateTimeTracking":{"type":"object","properties":{"plan":{"type":"number","description":"Сколько часов было запланировано на выполнение задачи"},"work":{"type":"number","description":"Сколько часов было затрачено на выполнение задачи"},"deleted":{"type":"boolean","description":"Открепить стикер от задачи (true)"}}},"UpdateTimer":{"type":"object","properties":{"seconds":{"type":"number","example":600,"description":"Установить время таймера в секундах."},"running":{"type":"boolean","description":"Запустить или остановить таймер."},"deleted":{"type":"boolean","description":"Открепить стикер от задачи (true)"}}},"UpdateStopwatch":{"type":"object","properties":{"running":{"type":"boolean","description":"Запустить или остановить секундомер"},"deleted":{"type":"boolean","description":"Открепить стикер от задачи (true)"}}},"UpdateTaskDto":{"type":"object","properties":{"deleted":{"type":"boolean","description":"Если true, значит объект удален"},"title":{"type":"string","description":"Название задачи","example":"test task"},"columnId":{"type":"string","description":"Id колонки родителя. Для удаления задачи из колонки использовать \"-\"","example":"fefbc00f-3870-4f52-807f-225ce2e4c701"},"description":{"type":"string","description":"Описание задачи"},"archived":{"type":"boolean","description":"Задача перенесена в архив - да/нет","example":false},"completed":{"type":"boolean","description":"Задача выполнена - да/нет","example":false},"subtasks":{"description":"Массив Id подзадач","example":["0fe1e417-2415-4e76-932a-ca07a25d6c64","f0118d9e-2888-48e4-a172-116085da4279"],"type":"array","items":{"type":"string"}},"assigned":{"description":"Массив Id пользователей, на которых назначена задача","example":["80eed1bd-eda3-4991-ac17-09d28566749d"],"type":"array","items":{"type":"string"}},"deadline":{"description":"Стикер \"Дэдлайн\". Указывает на крайний срок выполнения задачи. Имеется возможность кроме даты указать время, а так же дату начала задачи.","example":{"deadline":1653029146646,"startDate":1653028146646,"withTime":true,"deleted":true},"allOf":[{"$ref":"#/components/schemas/UpdateDeadline"}]},"timeTracking":{"description":"Стикер \"Таймтрекинг\". Используется для указания ожидаемого и реального времени на выполнение задачи.","example":{"plan":5,"work":3,"deleted":true},"allOf":[{"$ref":"#/components/schemas/UpdateTimeTracking"}]},"checklists":{"description":"Чеклисты. К задаче всегда будет присвоен переданный объект. Если необходимо внести изменения, нужно сначала получить чеклисты, затем произвести корректировку, а затем записать в задачу заново.","example":[{"title":"list 1","items":[{"title":"option 1","isCompleted":false},{"title":"option 2","isCompleted":false}]}],"type":"array","items":{"$ref":"#/components/schemas/CheckList"}},"stickers":{"type":"object","description":"Пользовательские стикеры. Передаются в виде объекта ключ-значение,\nгде ключ — ID стикера, значение — ID состояния для стикеров с состоянием или строка со значением для стикеров свободных полей.<br />\nДля открепления стикера от задачи, используйте \"-\" как значение состояния.<br />\nДля прикрепления пустого стикера (без состояния), используйте \"empty\" как значение состояния.<br />\nДля стикеров типа \"свободное текстовое поле\" передавайте произвольную строку, например \"ООО «Производство»\".<br />\nДля стикеров типа \"свободное числовое поле\" передавайте строку, содержащую число, например \"123\" или \"345.123\"; разделитель целой и дробной части — точка \".\"<br />\nСтикер с состояниями, в настройках которого разрешено несколько значений, принимает и возвращает массив ID состояний.","example":{"fbc30a9b-42d0-4cf7-80c0-31fb048346f9":"0baced9640b2","645250ca-1ae8-4514-914d-c070351dd905":"815016901edd","660b9096-a2d0-45df-b09a-b53ba521e86f":"empty","060f5185-e613-4f74-97c1-060667cc3a7e":"ООО «Производство»","46d005ea-c89e-449b-878e-d3cc43204a5a":"345.123","b1f0a0f4-6f8c-4f8d-9a2f-2f43c4c6f0aa":["0baced9640b2","815016901edd"]}},"color":{"type":"string","description":"Цвет карточки задач на доске, доступны цвета: task-primary, task-gray, task-red, task-pink, task-yellow, task-green, task-turquoise, task-blue, task-violet","example":"task-red","enum":["task-primary","task-gray","task-red","task-pink","task-yellow","task-green","task-turquoise","task-blue","task-violet"]},"idTaskCommon":{"type":"string","description":"ID задачи, сквозной через всю компанию","example":"ID-484"},"idTaskProject":{"type":"string","description":"ID задачи, внутри проекта","example":"DEV-484"},"apiData":{"type":"object","example":"{}","description":"Данные конфигуратора"},"timer":{"description":"Стикер \"Таймер\". Позволяет установить таймер на заданное время, а также возможность ставить его на паузу и запускать заново","example":{"running":true,"seconds":600,"deleted":true},"allOf":[{"$ref":"#/components/schemas/UpdateTimer"}]},"stopwatch":{"description":"Стикер \"Секундомер\". Позволяет запустить секундомер, а так же ставить его на паузу и запускать заново.","example":{"running":true,"deleted":true},"allOf":[{"$ref":"#/components/schemas/UpdateStopwatch"}]},"deal":{"description":"Данные CRM сделки. Можно передавать для задач в CRM проектах для обновления суммы и/или кастомных полей.","allOf":[{"$ref":"#/components/schemas/DealDataDto"}]},"extensionData":{"type":"object","description":"Данные для работы расширения"}}},"TaskLogPagingDto":{"type":"object","properties":{"count":{"type":"number","description":"Количество событий в результате"},"limit":{"type":"number","description":"Количество событий на страницу"},"next":{"type":"boolean","description":"Есть ли события старше этой страницы"}},"required":["count","limit","next"]},"TaskLogListDtoBase":{"type":"object","properties":{"timestamp":{"type":"number","example":1653028146646,"description":"Время события"},"type":{"type":"string","description":"Тип события","enum":["add","delete","restore","rename","move","complete","uncomplete","file","done","undone","executor","deadline","string","sprint","timetracking","stopwatch","timer","numeric","text"]},"userId":{"type":"string","example":"18a8bff2-f6b0-425a-9f89-3a003b8eb039","description":"ID пользователя, который совершил действие"},"oldName":{"type":"string","description":"Прежнее название"},"newName":{"type":"string","description":"Новое название"},"from":{"type":"string","description":"Колонка, из которой переместили задачу"},"to":{"type":"string","description":"Колонка, в которую переместили задачу"},"users":{"description":"Исполнители после изменения","type":"array","items":{"type":"string"}},"stateName":{"type":"string","description":"Название состояния стикера при удалении"},"key":{"description":"Для file: время сообщения или description, если файл из описания задачи","oneOf":[{"type":"number"},{"type":"string","enum":["description"]}]},"urls":{"description":"Ссылки на файлы","type":"array","items":{"type":"string"}},"options":{"type":"object","description":"Для deadline — прежний и новый срок. Для стикеров — id стикера и прежнее/новое значение."}},"required":["timestamp","type"]},"TaskLogListDto":{"type":"object","properties":{"paging":{"description":"Страница лога","allOf":[{"$ref":"#/components/schemas/TaskLogPagingDto"}]},"content":{"description":"Лог задачи","example":[],"type":"array","items":{"$ref":"#/components/schemas/TaskLogListDtoBase"}}},"required":["paging","content"]},"TaskChatSubscribersDto":{"type":"object","properties":{"content":{"description":"Подписчики чата задачи","example":["4f6f0391-0f94-4d30-9b0e-99430a36d4fb"],"type":"array","items":{"type":"string"}}}},"StringStickerStateDto":{"type":"object","properties":{"deleted":{"type":"boolean","description":"Если true, значит объект удален"},"id":{"type":"string","example":"87ee83589735","description":"ID состояния стикера"},"name":{"type":"string","example":"Высокий","description":"Имя состояния стикера"},"color":{"type":"string","example":"#2BDBCC","description":"Цвет состояния стикера"}},"required":["id","name"]},"StringStickerWithStatesListDtoBase":{"type":"object","properties":{"id":{"type":"string","example":"4f6f0391-0f94-4d30-9b0e-99430a36d4fb","description":"ID объекта"},"deleted":{"type":"boolean","description":"Если true, значит объект удален"},"name":{"type":"string","example":"Приоритет","description":"Имя стикера"},"icon":{"type":"string","example":"star","description":"Иконка стикера","enum":["","star","heart","check","cloud","filter","alarm","bolt","bookmark","box","bulb","prio","code","ruble","dollar","euro","eye","flag","flame","history","info","key","anchor","message","movie","mnote","pencil","picture","pin","clockwise","clockwiseDot","rectangle","shield","stack","string","timeStop","design","user","plus","gear","sort","calendar"]},"states":{"description":"Состояния стикера.","example":[{"id":"87ee83589735","name":"Высокий","color":"#FF0000"},{"id":"62af5306f329","name":"Низкий","color":"#00FF00"}],"type":"array","items":{"$ref":"#/components/schemas/StringStickerStateDto"}},"limit":{"type":"number","description":"Количество элементов, которые хочется получить. Максимум 1000.","default":50},"offset":{"type":"number","description":"Индекс первого элемента страницы","default":0}},"required":["id","name"]},"StringStickerWithStatesListDto":{"type":"object","properties":{"paging":{"description":"Дополнительная информация о странице","example":{"limit":100,"offset":201,"next":true},"allOf":[{"$ref":"#/components/schemas/PagingMetadata"}]},"content":{"description":"Список текстовых стикеров компании","example":[],"type":"array","items":{"$ref":"#/components/schemas/StringStickerWithStatesListDtoBase"}}},"required":["paging","content"]},"StringStickerWithStatesDto":{"type":"object","properties":{"id":{"type":"string","example":"4f6f0391-0f94-4d30-9b0e-99430a36d4fb","description":"ID объекта"},"deleted":{"type":"boolean","description":"Если true, значит объект удален"},"name":{"type":"string","example":"Приоритет","description":"Имя стикера"},"icon":{"type":"string","example":"star","description":"Иконка стикера","enum":["","star","heart","check","cloud","filter","alarm","bolt","bookmark","box","bulb","prio","code","ruble","dollar","euro","eye","flag","flame","history","info","key","anchor","message","movie","mnote","pencil","picture","pin","clockwise","clockwiseDot","rectangle","shield","stack","string","timeStop","design","user","plus","gear","sort","calendar"]},"states":{"description":"Состояния стикера.","example":[{"id":"87ee83589735","name":"Высокий","color":"#FF0000"},{"id":"62af5306f329","name":"Низкий","color":"#00FF00"}],"type":"array","items":{"$ref":"#/components/schemas/StringStickerStateDto"}},"limit":{"type":"number","description":"Количество элементов, которые хочется получить. Максимум 1000.","default":50},"offset":{"type":"number","description":"Индекс первого элемента страницы","default":0}},"required":["id","name"]},"StringStickerStateNoIdDto":{"type":"object","properties":{"deleted":{"type":"boolean","description":"Если true, значит объект удален"},"name":{"type":"string","example":"Высокий","description":"Имя состояния стикера"},"color":{"type":"string","example":"#2BDBCC","description":"Цвет состояния стикера"}},"required":["name"]},"CreateStringStickerDto":{"type":"object","properties":{"name":{"type":"string","example":"Приоритет","description":"Имя стикера"},"icon":{"type":"string","example":"star","description":"Иконка стикера","enum":["","star","heart","check","cloud","filter","alarm","bolt","bookmark","box","bulb","prio","code","ruble","dollar","euro","eye","flag","flame","history","info","key","anchor","message","movie","mnote","pencil","picture","pin","clockwise","clockwiseDot","rectangle","shield","stack","string","timeStop","design","user","plus","gear","sort","calendar"]},"states":{"description":"Состояния стикера.","example":[{"name":"Высокий","color":"#FF0000"},{"name":"Низкий","color":"#00FF00"}],"type":"array","items":{"$ref":"#/components/schemas/StringStickerStateNoIdDto"}}},"required":["name"]},"UpdateStringStickerDto":{"type":"object","properties":{"deleted":{"type":"boolean","description":"Если true, значит объект удален"},"name":{"type":"string","example":"Приоритет","description":"Имя стикера"},"icon":{"type":"string","example":"star","description":"Иконка стикера","enum":["","star","heart","check","cloud","filter","alarm","bolt","bookmark","box","bulb","prio","code","ruble","dollar","euro","eye","flag","flame","history","info","key","anchor","message","movie","mnote","pencil","picture","pin","clockwise","clockwiseDot","rectangle","shield","stack","string","timeStop","design","user","plus","gear","sort","calendar"]}}},"CreateStringStickerStateDto":{"type":"object","properties":{"name":{"type":"string","example":"Высокий","description":"Имя состояния стикера"},"color":{"type":"string","example":"#2BDBCC","description":"Цвет состояния стикера"}},"required":["name"]},"WithStickerStateIdDto":{"type":"object","properties":{"id":{"type":"string","example":"87ee83589735","description":"ID состояния стикера"}},"required":["id"]},"UpdateStringStickerStateDto":{"type":"object","properties":{"deleted":{"type":"boolean","description":"Если true, значит объект удален"},"name":{"type":"string","example":"Высокий","description":"Имя состояния стикера"},"color":{"type":"string","example":"#2BDBCC","description":"Цвет состояния стикера"}}},"SprintStickerStateDto":{"type":"object","properties":{"deleted":{"type":"boolean","description":"Если true, значит объект удален"},"id":{"type":"string","example":"87ee83589735","description":"ID состояния стикера"},"name":{"type":"string","example":"Sprint 1","description":"Имя состояния стикера"},"begin":{"type":"number","example":"1655989112","description":"Дата начала спринта в секундах от 01.01.1970"},"end":{"type":"number","example":"1656012328","description":"Дата окончания спринта в секундах от 01.01.1970"}},"required":["id","name"]},"SprintStickerWithStatesListDtoBase":{"type":"object","properties":{"id":{"type":"string","example":"4f6f0391-0f94-4d30-9b0e-99430a36d4fb","description":"ID объекта"},"deleted":{"type":"boolean","description":"Если true, значит объект удален"},"name":{"type":"string","example":"Спринты","description":"Имя стикера"},"states":{"description":"Состояния стикера.","example":[{"id":"87ee83589735","name":"Sprint 1","start":1655989112,"end":1656012328},{"id":"62af5306f329","name":"Backlog"}],"type":"array","items":{"$ref":"#/components/schemas/SprintStickerStateDto"}}},"required":["id","name"]},"SprintStickerWithStatesListDto":{"type":"object","properties":{"paging":{"description":"Дополнительная информация о странице","example":{"limit":100,"offset":201,"next":true},"allOf":[{"$ref":"#/components/schemas/PagingMetadata"}]},"content":{"description":"Список спринтовых стикеров компании","example":[],"type":"array","items":{"$ref":"#/components/schemas/SprintStickerWithStatesListDtoBase"}}},"required":["paging","content"]},"SprintStickerWithStatesDto":{"type":"object","properties":{"id":{"type":"string","example":"4f6f0391-0f94-4d30-9b0e-99430a36d4fb","description":"ID объекта"},"deleted":{"type":"boolean","description":"Если true, значит объект удален"},"name":{"type":"string","example":"Спринты","description":"Имя стикера"},"states":{"description":"Состояния стикера.","example":[{"id":"87ee83589735","name":"Sprint 1","start":1655989112,"end":1656012328},{"id":"62af5306f329","name":"Backlog"}],"type":"array","items":{"$ref":"#/components/schemas/SprintStickerStateDto"}}},"required":["id","name"]},"SprintStickerStateNoIdDto":{"type":"object","properties":{"deleted":{"type":"boolean","description":"Если true, значит объект удален"},"name":{"type":"string","example":"Sprint 1","description":"Имя состояния стикера"},"begin":{"type":"number","example":"1655989112","description":"Дата начала спринта в секундах от 01.01.1970"},"end":{"type":"number","example":"1656012328","description":"Дата окончания спринта в секундах от 01.01.1970"}},"required":["name"]},"CreateSprintStickerDto":{"type":"object","properties":{"name":{"type":"string","example":"Спринты","description":"Имя стикера"},"states":{"description":"Состояния стикера.","example":[{"name":"Sprint 1","begin":1655989112,"end":1656012328},{"name":"Backlog"}],"type":"array","items":{"$ref":"#/components/schemas/SprintStickerStateNoIdDto"}}},"required":["name"]},"UpdateSprintStickerDto":{"type":"object","properties":{"deleted":{"type":"boolean","description":"Если true, значит объект удален"},"name":{"type":"string","example":"Спринты","description":"Имя стикера"}}},"CreateSprintStickerStateDto":{"type":"object","properties":{"name":{"type":"string","example":"Sprint 1","description":"Имя состояния стикера"},"begin":{"type":"number","example":"1655989112","description":"Дата начала спринта в секундах от 01.01.1970"},"end":{"type":"number","example":"1656012328","description":"Дата окончания спринта в секундах от 01.01.1970"}},"required":["name"]},"UpdateSprintStickerStateDto":{"type":"object","properties":{"deleted":{"type":"boolean","description":"Если true, значит объект удален"},"name":{"type":"string","example":"Sprint 1","description":"Имя состояния стикера"},"begin":{"type":"number","example":"1655989112","description":"Дата начала спринта в секундах от 01.01.1970"},"end":{"type":"number","example":"1656012328","description":"Дата окончания спринта в секундах от 01.01.1970"}}},"GroupChatListDtoBase":{"type":"object","properties":{"deleted":{"type":"boolean","description":"Если true, значит объект удален"},"id":{"type":"string","example":"4f6f0391-0f94-4d30-9b0e-99430a36d4fb","description":"ID объекта"},"title":{"type":"string","example":"Бухгалтерия","description":"Название чата"},"users":{"type":"object","example":{"4902b994-b806-4af4-acec-018ea5ea6468":{"notified":true},"8aeaeb9d-f94e-4c66-96d3-eb8d96fe7018":{"notified":false}},"description":"Сотрудники в чате. При изменении чата список заменяется целиком: сотрудники, которых в нём нет, исключаются из чата"},"userRoleMap":{"type":"object","example":{"4902b994-b806-4af4-acec-018ea5ea6468":"owner","8aeaeb9d-f94e-4c66-96d3-eb8d96fe7018":"admin"},"description":"Роли сотрудников в чате"},"roleConfigMap":{"type":"object","example":{"admin":{"editProperties":true,"editAdmins":true,"editUsers":true,"sendMessages":true,"removeMessages":true},"user":{"editProperties":false,"editAdmins":false,"editUsers":true,"sendMessages":true,"removeMessages":false}},"description":"Настройки ролей"}},"required":["id","title","users","userRoleMap","roleConfigMap"]},"GroupChatListDto":{"type":"object","properties":{"paging":{"description":"Дополнительная информация о странице","example":{"limit":100,"offset":201,"next":true},"allOf":[{"$ref":"#/components/schemas/PagingMetadata"}]},"content":{"description":"Список чатов","example":[],"type":"array","items":{"$ref":"#/components/schemas/GroupChatListDtoBase"}}},"required":["paging","content"]},"GroupChatDto":{"type":"object","properties":{"deleted":{"type":"boolean","description":"Если true, значит объект удален"},"id":{"type":"string","example":"4f6f0391-0f94-4d30-9b0e-99430a36d4fb","description":"ID объекта"},"title":{"type":"string","example":"Бухгалтерия","description":"Название чата"},"users":{"type":"object","example":{"4902b994-b806-4af4-acec-018ea5ea6468":{"notified":true},"8aeaeb9d-f94e-4c66-96d3-eb8d96fe7018":{"notified":false}},"description":"Сотрудники в чате. При изменении чата список заменяется целиком: сотрудники, которых в нём нет, исключаются из чата"},"userRoleMap":{"type":"object","example":{"4902b994-b806-4af4-acec-018ea5ea6468":"owner","8aeaeb9d-f94e-4c66-96d3-eb8d96fe7018":"admin"},"description":"Роли сотрудников в чате"},"roleConfigMap":{"type":"object","example":{"admin":{"editProperties":true,"editAdmins":true,"editUsers":true,"sendMessages":true,"removeMessages":true},"user":{"editProperties":false,"editAdmins":false,"editUsers":true,"sendMessages":true,"removeMessages":false}},"description":"Настройки ролей"}},"required":["id","title","users","userRoleMap","roleConfigMap"]},"CreateGroupChatDto":{"type":"object","properties":{"title":{"type":"string","example":"Бухгалтерия","description":"Название чата"},"users":{"type":"object","example":{"4902b994-b806-4af4-acec-018ea5ea6468":{"notified":true},"8aeaeb9d-f94e-4c66-96d3-eb8d96fe7018":{"notified":false}},"description":"Сотрудники в чате. При изменении чата список заменяется целиком: сотрудники, которых в нём нет, исключаются из чата"},"userRoleMap":{"type":"object","example":{"4902b994-b806-4af4-acec-018ea5ea6468":"owner","8aeaeb9d-f94e-4c66-96d3-eb8d96fe7018":"admin"},"description":"Роли сотрудников в чате"},"roleConfigMap":{"type":"object","example":{"admin":{"editProperties":true,"editAdmins":true,"editUsers":true,"sendMessages":true,"removeMessages":true},"user":{"editProperties":false,"editAdmins":false,"editUsers":true,"sendMessages":true,"removeMessages":false}},"description":"Настройки ролей"}},"required":["title","users","userRoleMap","roleConfigMap"]},"UpdateGroupChatDto":{"type":"object","properties":{"deleted":{"type":"boolean","description":"Если true, значит объект удален"},"title":{"type":"string","example":"Бухгалтерия","description":"Название чата"},"users":{"type":"object","example":{"4902b994-b806-4af4-acec-018ea5ea6468":{"notified":true},"8aeaeb9d-f94e-4c66-96d3-eb8d96fe7018":{"notified":false}},"description":"Сотрудники в чате. При изменении чата список заменяется целиком: сотрудники, которых в нём нет, исключаются из чата"},"userRoleMap":{"type":"object","example":{"4902b994-b806-4af4-acec-018ea5ea6468":"owner","8aeaeb9d-f94e-4c66-96d3-eb8d96fe7018":"admin"},"description":"Роли сотрудников в чате"},"roleConfigMap":{"type":"object","example":{"admin":{"editProperties":true,"editAdmins":true,"editUsers":true,"sendMessages":true,"removeMessages":true},"user":{"editProperties":false,"editAdmins":false,"editUsers":true,"sendMessages":true,"removeMessages":false}},"description":"Настройки ролей"}}},"ChatMessageListDtoBase":{"type":"object","properties":{"deleted":{"type":"boolean","description":"Если true, значит объект удален"},"id":{"type":"number","example":1653028146646,"description":"ID сообщения, также является временем создания"},"fromUserId":{"type":"string","example":"18a8bff2-f6b0-425a-9f89-3a003b8eb039","description":"ID автора сообщения"},"text":{"type":"string","example":"Привет!","description":"Текст сообщения"},"textHtml":{"type":"string","example":"<p>Привет!</p>","description":"Текст сообщения в формате HTML"},"label":{"type":"string","example":"Упоминание","description":"Быстрая ссылка"},"editTimestamp":{"type":"number","example":1653035058291,"description":"Время последнего редактирования"},"reactions":{"type":"object","example":{"18a8bff2-f6b0-425a-9f89-3a003b8eb039":[{"smiley":"👍","timestamp":1653035059810}]},"description":"Реакции на сообщение"}},"required":["id","fromUserId","text","textHtml","label","editTimestamp","reactions"]},"ChatMessageListDto":{"type":"object","properties":{"paging":{"description":"Дополнительная информация о странице","example":{"limit":100,"offset":201,"next":true},"allOf":[{"$ref":"#/components/schemas/PagingMetadata"}]},"content":{"description":"История сообщений","example":[],"type":"array","items":{"$ref":"#/components/schemas/ChatMessageListDtoBase"}}},"required":["paging","content"]},"CreateChatMessageDto":{"type":"object","properties":{"text":{"type":"string","example":"Привет!","description":"Текст сообщения"},"textHtml":{"type":"string","example":"<p>Привет!</p>","description":"Текст сообщения в формате HTML"},"label":{"type":"string","example":"Упоминание","description":"Быстрая ссылка"}},"required":["text","textHtml","label"]},"ChatIdDto":{"type":"object","properties":{"id":{"type":"number","example":1653028146646,"description":"ID сообщения, также является временем создания"}},"required":["id"]},"ChatTypingDto":{"type":"object","properties":{"chatId":{"type":"string","example":"18a8bff2-f6b0-425a-9f89-3a003b8eb039","description":"Идентификатор чата"},"typedAt":{"type":"number","example":1776422000000,"description":"Время последнего typing ping"}},"required":["chatId","typedAt"]},"ChatMessageDto":{"type":"object","properties":{"deleted":{"type":"boolean","description":"Если true, значит объект удален"},"id":{"type":"number","example":1653028146646,"description":"ID сообщения, также является временем создания"},"fromUserId":{"type":"string","example":"18a8bff2-f6b0-425a-9f89-3a003b8eb039","description":"ID автора сообщения"},"text":{"type":"string","example":"Привет!","description":"Текст сообщения"},"textHtml":{"type":"string","example":"<p>Привет!</p>","description":"Текст сообщения в формате HTML"},"label":{"type":"string","example":"Упоминание","description":"Быстрая ссылка"},"editTimestamp":{"type":"number","example":1653035058291,"description":"Время последнего редактирования"},"reactions":{"type":"object","example":{"18a8bff2-f6b0-425a-9f89-3a003b8eb039":[{"smiley":"👍","timestamp":1653035059810}]},"description":"Реакции на сообщение"}},"required":["id","fromUserId","text","textHtml","label","editTimestamp","reactions"]},"UpdateChatMessageDto":{"type":"object","properties":{"deleted":{"type":"boolean","description":"Если true, значит объект удален"},"label":{"type":"string","example":"Упоминание","description":"Быстрая ссылка"},"react":{"type":"string","description":"Список реакций админа","default":["👍"],"enum":["👍","👎","👏","🙂","😀","😕","🎉","❤","🚀","✔"]}}},"WebhookFilters":{"type":"object","properties":{"name":{"example":"location","description":"Название фильтра. Возможные значения: location, title, chat_message","type":"array","items":{"type":"location"}},"value":{"example":["858c5d32-dd93-4d2b-9b9c-aa1ec7007c0c"],"description":"Значение фильтра. Для location - UUID или массив UUID, для title - regexp, для chat_message - regexp","type":"array","items":{"type":"string"}}},"required":["name","value"]},"CreateWebhookDto":{"type":"object","properties":{"url":{"type":"string","example":"https://webhook.site/947c0ee4-fd8c-416c-9e1c-2b3cd5d78a8d"},"event":{"type":"string","example":"task-created","description":"Событие подписки. Подписаться можно только на события в компании. Подписаться на личные чаты\nне получится, потому что они не относятся к событиям в компании. Формат: `<тип_объекта>-<событие>`. Для\nобъектов `project,board,column,task,sticker,department,group_chat,chat_message`, возможные события: `created,deleted,restored,moved,renamed,updated`. Для объектов `user`,\nвозможные события: `added`, `removed`. Может использоваться javascript regexp как значение.\nНапример, `task-*` - подписка на все события по задачам, или `.*` - подписка на все события."},"filters":{"example":[{"name":"location","value":["858c5d32-dd93-4d2b-9b9c-aa1ec7007c0c","432c5d32-dd93-4d2b-9b9c-aa1ec7007c0c"]},{"name":"title","value":"^!"},{"name":"chat_message","value":"^/bot "}],"description":"Дополнительные фильтры для вебхука","type":"array","items":{"$ref":"#/components/schemas/WebhookFilters"}}},"required":["url","event","filters"]},"WebhookDto":{"type":"object","properties":{"id":{"type":"string","example":"4f6f0391-0f94-4d30-9b0e-99430a36d4fb","description":"ID объекта"},"deleted":{"type":"boolean","description":"Если true, значит объект удален"},"url":{"type":"string","example":"https://webhook.site/947c0ee4-fd8c-416c-9e1c-2b3cd5d78a8d"},"event":{"type":"string","example":"task-created","description":"Событие подписки. Подписаться можно только на события в компании. Подписаться на личные чаты\nне получится, потому что они не относятся к событиям в компании. Формат: `<тип_объекта>-<событие>`. Для\nобъектов `project,board,column,task,sticker,department,group_chat,chat_message`, возможные события: `created,deleted,restored,moved,renamed,updated`. Для объектов `user`,\nвозможные события: `added`, `removed`. Может использоваться javascript regexp как значение.\nНапример, `task-*` - подписка на все события по задачам, или `.*` - подписка на все события."},"disabled":{"type":"boolean","example":true,"default":false,"description":"Если true, то вызываться не будет"},"lastSuccess":{"type":"number","example":1655989112,"description":"Время последнего успешного вызова"},"failuresSinceLastSuccess":{"type":"number","example":1655989112,"description":"Количество неуспешных вызовов. Сбрасывается до 0 при любом успешном вызове"},"filters":{"example":[{"name":"location","value":["858c5d32-dd93-4d2b-9b9c-aa1ec7007c0c","432c5d32-dd93-4d2b-9b9c-aa1ec7007c0c"]},{"name":"title","value":"^!"},{"name":"chat_message","value":"^/bot "}],"description":"Дополнительные фильтры для вебхука","type":"array","items":{"$ref":"#/components/schemas/WebhookFilters"}}},"required":["id","url","event","failuresSinceLastSuccess","filters"]},"UpdateWebhookDto":{"type":"object","properties":{"deleted":{"type":"boolean","description":"Если true, значит объект удален"},"url":{"type":"string","example":"https://webhook.site/947c0ee4-fd8c-416c-9e1c-2b3cd5d78a8d"},"event":{"type":"string","example":"task-created","description":"Событие подписки. Подписаться можно только на события в компании. Подписаться на личные чаты\nне получится, потому что они не относятся к событиям в компании. Формат: `<тип_объекта>-<событие>`. Для\nобъектов `project,board,column,task,sticker,department,group_chat,chat_message`, возможные события: `created,deleted,restored,moved,renamed,updated`. Для объектов `user`,\nвозможные события: `added`, `removed`. Может использоваться javascript regexp как значение.\nНапример, `task-*` - подписка на все события по задачам, или `.*` - подписка на все события."},"disabled":{"type":"boolean","example":true,"default":false,"description":"Если true, то вызываться не будет"},"filters":{"example":[{"name":"location","value":["858c5d32-dd93-4d2b-9b9c-aa1ec7007c0c","432c5d32-dd93-4d2b-9b9c-aa1ec7007c0c"]},{"name":"title","value":"^!"},{"name":"chat_message","value":"^/bot "}],"description":"Дополнительные фильтры для вебхука","type":"array","items":{"$ref":"#/components/schemas/WebhookFilters"}}}},"CreateContactPersonDto":{"type":"object","properties":{"projectId":{"type":"string","description":"ID CRM проекта, где создаётся контакт"},"title":{"type":"string","description":"Имя/название контактного лица"},"fields":{"type":"object","description":"Поля контактного лица","properties":{"position":{"type":"string","description":"Должность"},"phone":{"type":"string","description":"Основной телефон"},"additionalPhone":{"type":"string","description":"Дополнительный телефон"},"email":{"type":"string","description":"Электронная почта"},"address":{"type":"string","description":"Адрес"}}},"customFields":{"type":"object","description":"Значения пользовательских полей проекта (id поля → значение)"}},"required":["projectId","title"]},"ContactPersonEntryDto":{"type":"object","properties":{"id":{"type":"string","description":"ID контактного лица","example":"5a7b1492-1f85-4e41-ab1f-00541b47e1ac"},"title":{"type":"string","description":"Имя/название контактного лица","example":"Иванов Иван Иванович"},"deleted":{"type":"boolean","description":"Статус удаления записи","example":false},"timestamp":{"type":"number","description":"Время создания контакта","example":1623223299149},"createdBy":{"type":"string","description":"ID пользователя, создавшего запись","example":"80eed1bd-eda3-4991-ac17-09d28566749d"},"fields":{"type":"object","description":"Поля контактного лица","example":{"position":"Генеральный директор","phone":"+7 (495) 123-45-67","additionalPhone":"+7 (495) 123-45-68","email":"ivanov@romashka.ru","address":"г. Москва, ул. Тверская, д. 1"},"properties":{"position":{"type":"string","description":"Должность"},"phone":{"type":"string","description":"Основной телефон"},"additionalPhone":{"type":"string","description":"Дополнительный телефон"},"email":{"type":"string","description":"Электронная почта"},"address":{"type":"string","description":"Адрес"}}}},"required":["id","title"]},"CrmDirectoryEntryDto":{"type":"object","properties":{"id":{"type":"string","description":"ID сущности"},"title":{"type":"string","description":"Название"},"deleted":{"type":"boolean","description":"Статус удаления записи"},"timestamp":{"type":"number","description":"Время создания"},"createdBy":{"type":"string","description":"ID пользователя, создавшего запись"},"fields":{"type":"object","description":"Дополнительные поля"}},"required":["id","title"]}}}}