openapi: 3.0.1 info: version: 2.0.0 title: HRBox Mobile API description: | HRBox mobile app API Since HRBOX is multi-tenant application you need to find out domain and endpoint to start working with this API (Option 1) QR-code will contain this info - hrbox://bind/?url={url} where {url} will be url to /mobile/bind method. You should make POST request to this URL sending "device" param in body just like described in /mobile/bind method. In the response you will find endpoint (Option 2) Manual bind - user will provide you with {domain} {email} and {password} and you should send this info to https://{domain}/api/v2/mobile/manual-bind like described in /mobile/manual-bind method. In the response you will find endpoint Once you will get endpoint and tenantId, use it in every request you make, using endpoint as base path, and passing tenantId as header "x-hrbox-tenant-id: {tenantId}" To authorize you session, make call to {endpoint}/mobile/auth sending "x-hrbox-tenant-id: {tenantId}" header, and sending body that described in /mobile/auth method To sign your requests with session id, pass following headers with each request: x-hrbox-tenant-id: {tenantId} x-hrbox-device-id: {deviceId} x-hrbox-session-id: {sessionId} x-hrbox-session-code: {sessionSecret} x-hrbox-embed: true {tenantId} - you will get this form /mobile/auth or /mobile/bind methods {sessionId} - you will get this form /mobile/auth method {sessionSecret} - you will get this form /mobile/auth method the last one (x-hrbox-embed) is for opening web pages in WebView to remove website footer and header contact: email: yuriy@hrbox.io tags: - name: mobile description: Binding device and authorizing - name: account description: Methods for getting current user data (assignments, notifications etc.) - name: department description: Methods for browsing and searching through Org Structure - name: user description: Methods for getting user and employment information - name: employment description: Methods for user employment - name: article description: Methods News, Categories and Articles - name: postcard description: Methods for working with postcards - name: dashboard description: Methods for getting dashboards and widgets data - name: user-status description: Methods for getting user statuses data - name: comment description: Methods for working with comments - name: category description: Methods for working with categories. Требуется право доступа show-content-categories "Видеть категории". - name: wallet description: Methods for working with user wallet. - name: shop description: Methods for working with corporate shop. Требуется право доступа shop-usage "Магазин". - name: workflow description: Methods for working with workflow. - name: kedo description: Методы для работы с КЭДО. paths: /mobile/bind/{id}/{token}: post: tags: - mobile summary: Bind device by token. This URL will be taken by parsing QR code operationId: mobileBind parameters: - name: id in: path description: ID schema: type: string required: true - name: token in: path description: ID schema: type: string required: true requestBody: description: Device info required: true content: application/json: schema: type: object properties: device: $ref: '#/components/schemas/device' responses: 200: description: successful operation content: application/json: schema: type: object properties: accountSecret: $ref: '#/components/schemas/accountSecret' tenantInfo: $ref: '#/components/schemas/tenantInfo' 400: description: Invalid input 403: description: Invalid id or token /mobile/request-two-factor: post: tags: - mobile summary: Запросить код двухфакторной аутентификации. Код будет выслан если она включена. operationId: mobileRequestTwoFactor requestBody: description: Email Password and Device info. Also Code if 2FAuth enabled. required: true content: application/json: schema: type: object properties: email: type: string format: email password: type: string format: password responses: 200: description: Если Двухфакторная аутентификация включена и код был выслан то в ответе будет codeRequired = true иначе codeRequired=false content: application/json: schema: type: object properties: codeRequired: type: boolean tenantInfo: $ref: '#/components/schemas/tenantInfo' delayTime: type: number 400: description: Invalid input 403: description: Invalid Email or Password 500: description: Server Error /mobile/manual-bind: post: tags: - mobile summary: Bind device by user's email and password operationId: mobileManualBind requestBody: description: Email Password and Device info. Also Code if 2FAuth enabled. required: true content: application/json: schema: type: object properties: email: type: string format: email password: type: string format: password code: type: string format: password description: two-factor authorization code device: $ref: '#/components/schemas/device' responses: 200: description: successful operation content: application/json: schema: type: object properties: accountSecret: $ref: '#/components/schemas/accountSecret' tenantInfo: $ref: '#/components/schemas/tenantInfo' 400: description: Invalid input 403: description: Invalid Email or Password 500: description: Server Error /mobile/auth: post: tags: - mobile summary: Authorize user by accountSecret that you got from /mobile/bind or /mobile/manual-bind operationId: mobileAuth requestBody: description: secret, userId and deviceId required: true content: application/json: schema: type: object properties: secret: type: string format: email userId: type: string deviceId: type: string responses: 200: description: successful authorization content: application/json: schema: type: object properties: sessionId: type: string sessionSecret: type: string tenantInfo: $ref: '#/components/schemas/tenantInfo' 400: description: Invalid input 401: description: Authorization failed, secret is invalid 404: description: Device not found 500: description: Server Error /mobile/save-push-token: post: tags: - mobile summary: Save Firebase push token to server operationId: mobileSavePushToken requestBody: description: token - the token that you get from Firebase Cloud Messaging. Provider should be "firebase", not other providers supported for now. deviceId - same device id that you used in bind or auth required: true content: application/json: schema: type: object properties: token: type: string provider: type: string default: firebase deviceId: type: string responses: 200: description: push token successfully saved content: application/json: schema: type: object properties: success: type: boolean default: true 400: description: Invalid input 401: description: Unauthorized request 403: description: Unauthorized request 500: description: Server Error /mobile/unbind: post: tags: - mobile summary: Unbind device by deviceId operationId: mobileUnbind parameters: - name: deviceId in: query description: ID schema: type: string required: true responses: 200: description: successful operation content: application/json: schema: type: object properties: tenantInfo: $ref: '#/components/schemas/tenantInfo' 400: description: Invalid input 403: description: Invalid Email or Password 500: description: Server Error /mobile/tenant-info: get: tags: - mobile summary: Get tenant info. operationId: tenantInfo responses: 200: description: Tenant info data. content: application/json: schema: $ref: '#/components/schemas/tenantInfo' 401: description: Unauthorized request. 403: description: Unauthorized request. 500: description: Server Error. /user/profile: get: tags: - user summary: Get User's profile info operationId: userProfile parameters: - name: id in: query description: User ID schema: type: string required: true responses: 200: description: User profile data content: application/json: schema: $ref: '#/components/schemas/userProfile' 400: description: Invalid input (malformed id) 401: description: Unauthorized request 403: description: Unauthorized request 404: description: User not found 500: description: Server Error /user/items: get: tags: - user summary: User items. operationId: /user/items/actionItems parameters: - name: q in: query schema: type: string responses: 200: description: User items. content: application/json: schema: properties: data: type: array items: type: object properties: id: type: string format: uuid name: type: string faceUrl: type: string 400: description: Bad Request. 401: description: Unauthorized request. 403: description: Unauthorized request. 404: description: Calendar event not found. 500: description: Server Error. /employment/index: get: tags: - employment summary: Get User's employments info responses: 200: description: User employments data content: application/json: schema: type: object properties: data: $ref: '#/components/schemas/fullEmployment' _links: $ref: '#/components/schemas/_links' _meta: $ref: '#/components/schemas/_meta' 401: description: Unauthorized request 403: description: Unauthorized request 404: description: User not found 500: description: Server Error /employment/set-main: post: tags: - employment summary: Set main employment operationId: /calendar-event-request requestBody: required: true content: application/json: schema: type: object properties: employment_id: type: string format: uuid description: User employment ID responses: 200: description: User employments data content: application/json: schema: type: object properties: success: description: Result status. type: boolean example: true message: description: Message displayed to user (localized). type: string default: null example: { "type": "success", "text": "Запись установлена основной!" } errors: description: Array of validation errors. type: array default: null data: type: object default: null 401: description: Unauthorized request 403: description: Unauthorized request 404: description: User not found 500: description: Server Error /org-employment/index: get: tags: - org-employment summary: Org employments parameters: - name: id in: query description: Unique identifier of the OrgEmployment (UUID) required: false schema: type: string format: uuid - name: is_removed in: query description: Deleted org employments required: false schema: type: boolean responses: 200: description: Get list of requested org employments content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/orgEmployment' _links: $ref: '#/components/schemas/_links' _meta: $ref: '#/components/schemas/_meta' 401: description: Unauthorized request 403: description: Unauthorized request 500: description: Server Error /org-employment/view: get: tags: - org-employment summary: View org employment parameters: - name: id in: query description: Unique identifier of the OrgEmployment (UUID) required: false schema: type: string format: uuid responses: 200: description: Get single org employment content: application/json: schema: #/components/schemas/orgEmployment 401: description: Unauthorized request 403: description: Unauthorized request 500: description: Server Error /org-employment-file/index: get: tags: - org-employment summary: Org employment files parameters: - name: id in: query description: Unique identifier of the document (UUID) required: false schema: type: string format: uuid - name: name in: query description: Search string of attached file name schema: type: string maxLength: 64 - name: created_at in: query description: Creation date (ISO 8601 format) required: false schema: type: string format: date-time - name: updated_at in: query description: Last update date (ISO 8601 format) required: false schema: type: string format: date-time - name: ready_at in: query description: Ready date (ISO 8601 format) required: false schema: type: string format: date-time - name: custom_id in: query description: Custom identifier (string, up to 64 characters) required: false schema: type: string maxLength: 64 - name: organization_id in: query description: Organization identifier (string, up to 64 characters) required: false schema: type: string maxLength: 64 - name: org_employment_id in: query description: Employment record number (string, up to 64 characters) required: false schema: type: string maxLength: 64 - name: file_id in: query description: File identifier (UUID) required: false schema: type: string format: uuid - name: org_employment_file_type_id in: query description: > Document type enum: see documentation required: false schema: $ref: '#/components/schemas/orgEmploymentFileType' - name: org_employment_file_status_id in: query description: > Document status enum: see documentation required: false schema: $ref: '#/components/schemas/orgEmploymentFileStatus' - name: date_from in: query description: Start date of the range (ISO 8601 format) required: false schema: type: string format: date - name: date_to in: query description: End date of the range (ISO 8601 format) required: false schema: type: string format: date responses: 200: description: Get list of requested org employment files content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/orgEmploymentFile' _links: $ref: '#/components/schemas/_links' _meta: $ref: '#/components/schemas/_meta' 401: description: Unauthorized request 403: description: Unauthorized request 500: description: Server Error /org-employment-file/request: post: tags: - org-employment summary: Request Org employment file requestBody: required: true content: application/json: schema: type: object properties: org_employment_id: type: string format: uuid description: User`s org employment ID org_employment_file_type_id: $ref: '#/components/schemas/orgEmploymentFileType' date_from: description: Дата с (например для расчетной ведомости, за период с) type: string format: 'date' example: 2025-04-23 date_to: description: Дата по (например для расчетной ведомости, за период по) type: string format: 'date' example: 2025-04-27 responses: 200: description: Create request for Org employment file content: application/json: schema: allOf: - $ref: '#/components/schemas/httpJsonResponse' - type: object properties: data: $ref: '#/components/schemas/orgEmploymentFile' 401: description: Unauthorized request 403: description: Unauthorized request 404: description: File not found 500: description: Server Error /user-group/items: get: tags: - userGroup summary: User group items. operationId: /user-group/items/actionItems parameters: - name: q in: query description: Query string schema: type: string example: Some text - name: only_with_calendar_events in: query description: Only used in calendar event example: 0 schema: type: integer enum: - 0 - 1 responses: 200: description: User group items. content: application/json: schema: properties: data: type: array items: type: object properties: id: type: string format: uuid name: type: string faceUrl: type: string 400: description: Bad Request. 401: description: Unauthorized request. 403: description: Unauthorized request. 404: description: Calendar event not found. 500: description: Server Error. /meeting-place/items: get: tags: - meetingPlace summary: Meting place items. operationId: actionMeetingPlace parameters: - name: q in: query description: Query string schema: type: string example: Some text responses: 200: description: Meting place items. content: application/json: schema: properties: data: type: array items: type: object properties: id: type: string format: uuid name: type: string 400: description: Bad Request. 401: description: Unauthorized request. 403: description: Unauthorized request. 404: description: Calendar event not found. 500: description: Server Error. /account/status-text: post: tags: - account summary: Set user's status text operationId: accountStatusText requestBody: description: User's status text required: true content: application/json: schema: type: object properties: activeTypes: type: string responses: 200: description: status text saved content: application/json: schema: type: object properties: activeTypes: type: string 400: description: Invalid input 401: description: Unauthorized request 403: description: Unauthorized request 500: description: Server Error /account/status-active-types: post: tags: - account summary: Set user's active statuses operationId: accountStatusActiveTypes requestBody: description: User's active statuses required: true content: application/json: schema: type: object properties: activeTypes: type: array items: type: string responses: 200: description: user's active statuses saved content: application/json: schema: type: object properties: statusTypes: type: array items: type: string 400: description: Invalid input 401: description: Unauthorized request 403: description: Unauthorized request 500: description: Server Error /notifications/pushes: get: tags: - notifications summary: Push notifications index. Infinite scroll done by paginating with {page} parameter operationId: notificationPushes parameters: - name: per-page in: query description: How many items return in one page (default 10). schema: type: string - name: page in: query description: Current page. schema: type: string responses: 200: description: Returns array of push notifications and pagination related data content: application/json: schema: type: object properties: _meta: $ref: '#/components/schemas/_meta' data: type: array items: $ref: '#/components/schemas/notification' 401: description: Unauthorized request 403: description: Unauthorized request 500: description: Server Error /notifications/mark-seen: post: tags: - notifications summary: Mark notification as seen operationId: notificationMarkSeen parameters: - in: query name: notificationId description: notificationId schema: type: string required: true responses: 200: description: Notification marked as seen content: application/json: schema: type: object properties: badge: type: number description: unseen notification count date: type: string format: date 400: description: Invalid input 401: description: Unauthorized request 403: description: Unauthorized request 500: description: Server Error /notifications/mark-seen-all: post: tags: - notifications summary: Mark all notifications as seen operationId: notificationMarkSeenAll responses: 200: description: All marked as seen content: application/json: schema: type: object properties: badge: type: number description: unseen notification count date: type: string format: date 400: description: Invalid input 401: description: Unauthorized request 403: description: Unauthorized request 500: description: Server Error /department/tree-node: get: tags: - department summary: Get departments inner structure operationId: departmentTreeNode parameters: - name: id in: query description: Parent department ID schema: type: string responses: 200: description: Department children (Departments and Users) type="user" - means user node, type="department" - means department node. [isBoss], [position] are "user" only properties. [employmentsCount], [empty] - are "department" only properties. content: application/json: schema: type: object properties: id: type: string format: uuid name: type: string default: "Department name" path: type: string default: "Department hierarchy path" items: type: array items: $ref: '#/components/schemas/structureItem' 400: description: Invalid input (malformed id) 401: description: Unauthorized request 403: description: Unauthorized request 404: description: Department not found 500: description: Server Error /department/search: get: tags: - department summary: Search Org Structure for matching users and departments operationId: departmentSearch parameters: - name: q in: query description: Query string schema: type: string responses: 200: description: Search results (Departments and Users) type="user" - means user node, type="department" - means department node. [isBoss], [position] are "user" only properties. [employmentsCount], [empty] - are "department" only properties. content: application/json: schema: type: object properties: q: type: string example: "Search query string" items: type: array items: $ref: '#/components/schemas/structureItem' 400: description: Invalid input 401: description: Unauthorized request 403: description: Unauthorized request 500: description: Server Error /postcard/user-view: get: tags: - postcard summary: Details about postcard sent to user operationId: postcardUserView parameters: - name: id in: query description: UserPostcard item ID schema: type: string required: true responses: 200: description: Postcard details content: application/json: schema: $ref: '#/components/schemas/userPostcard' 400: description: Invalid input (malformed id) 401: description: Unauthorized request 403: description: Unauthorized request 404: description: Postcard not found 500: description: Server Error /article/news: get: tags: - article summary: News index. Infinite scroll done by paginating with {page} parameter operationId: articleNews parameters: - name: tag_id in: query description: Tags ID to filter news schema: type: array items: type: string format: uuid example: b726280a-2be6-4e62-ab24-1736389c6474 - name: per-page in: query description: How many items return in one page (default 10). schema: type: string - name: page in: query description: Current page schema: type: string responses: 200: description: Returns array of news and pagination related data content: application/json: schema: type: object properties: _meta: $ref: '#/components/schemas/_meta' data: type: array items: $ref: '#/components/schemas/article' 401: description: Unauthorized request 403: description: Unauthorized request 500: description: Server Error /article/category: get: tags: - article summary: Browse or search catalog categories. Displays catalog items which can be category or article operationId: articleCategory parameters: - name: id in: query description: ID of category schema: type: string - name: q in: query description: Search query string schema: type: string responses: 200: description: Contents of category or search results (categories and articles). entity="category" - means category node, entity="article" - means article node. Category id can be used in /article/category method to browse its content content: application/json: schema: type: object properties: category: type: object description: Current category properties: id: type: string format: uuid title: type: string default: "Current category name" q: type: string default: "Search query string" items: type: array items: $ref: '#/components/schemas/catalogItem' 400: description: Invalid input 401: description: Unauthorized request 403: description: Unauthorized request 500: description: Server Error /api/v2/workflow/catalog: get: tags: - workflow summary: Каталог процессов description: | Возвращает список категорий, процессов и связанных данных. security: - SessionAuth: [ ] parameters: - name: q in: query required: false schema: type: string example: Журнал - name: id in: query required: false schema: type: string example: ffc0a17d-3d7a-4b4c-80ea-14093130973a responses: '200': description: Успешный ответ content: application/json: schema: type: object properties: categories: type: array items: $ref: '#/components/schemas/WorkflowCategory' category: type: object properties: id: type: string example: ffc0a17d-3d7a-4b4c-80ea-14093130973a name: type: string example: 2313 title: type: string example: 2313 description: type: string example: "" content_style_id: type: integer example: 1 tags: type: array items: type: string breadcrumbs: type: array items: type: object properties: label: type: string example: 2313 id: type: string example: ffc0a17d-3d7a-4b4c-80ea-14093130973a hash_id: type: string example: eeb76a8070 slug: type: string example: 2313 q: type: string example: Журнал workflows: type: array items: type: object properties: id: type: string example: 2bce2ae5-581b-417b-a8b0-95beb4beaa9c name: type: string example: Журнал отсутствий description: type: string example: "" imageUrl: type: string example: https://denis.hrbox.io/file/resize/300x300/346339f5-f03c-44de-8a90-d1eb8da39c0a.png url: type: string example: https://denis.hrbox.io/workflow/ticket/create?wfId=2bce2ae5-581b-417b-a8b0-95beb4beaa9c status_id: type: integer example: 1 tags: type: array items: type: string userGroupsVisible: type: array items: type: object properties: id: type: string example: 591dd0ac-bfef-4687-b42f-d3fc353f461e name: type: string example: Сотрудники description: type: string example: "" iconUrl: type: string example: https://denis.hrbox.io/img/fa-users.jpg conditionsReadable: type: string example: (Статус регистрации из списка [Активный, Приглашенный])... feedbackTotal: type: object properties: count: type: integer example: 1 score: type: integer example: 2 brief: type: string example: "" /api/v2/workflow/start/{processId}: get: tags: - workflow summary: | Получение информации о форме подачи заявки. security: - SessionAuth: [ ] parameters: - name: processId in: path required: true schema: type: string example: 9557cc57-bd21-4297-8007-ee25812afb07 responses: '200': description: Успешный ответ content: application/json: schema: type: object properties: id: type: string example: bf047c9c-df0c-448c-8984-c292318b9cd4 name: type: string example: Заявка на обучение brief: type: string example: "" description: type: object properties: time: type: integer example: 1720625446725 blocks: type: array items: type: object properties: id: type: string example: XIP-pciYFP data: type: object properties: text: type: string example: "Нажимая на кнопку «Подать заявку», вы даёте разрешение на обработку персональных данных." type: type: string example: paragraph version: type: string example: 2.29.0 imageUrl: type: string example: https://denis.hrbox.io/file/resize/300x300/346339f5-f03c-44de-8a90-d1eb8da39c0a.png isChiefRequired: type: boolean example: false isAllowCategoryChange: type: boolean example: false categories: type: object additionalProperties: type: string fields: type: array items: $ref: '#/components/schemas/WorkflowField' post: tags: - workflow summary: | Создание заявки процесса. security: - SessionAuth: [ ] parameters: - name: processId in: path required: true schema: type: string example: bf047c9c-df0c-448c-8984-c292318b9cd4 requestBody: required: true content: application/json: schema: type: object properties: categoryId: type: string example: 3fa418df-edc3-4a95-8850-ffebece59f04 fieldValues: type: object additionalProperties: type: string responses: '201': description: Заявка успешно создана content: application/json: schema: type: object properties: id: type: string example: bf047c9c-df0c-448c-8984-c292318b9cd4 message: type: string example: "Заявка успешно создана" /api/v2/workflow-ticket/: get: tags: - workflow summary: Получение списка заявок security: - SessionAuth: [ ] - ApiKeyAuth: [ ] description: | Возвращает список заявок по указанным фильтрам. Данный метод поддерживает два типа авторизации: сессии и API-ключи. **1. Авторизация с использованием сессии:** Для выполнения запросов с использованием сессии необходимо передавать следующие заголовки: - `x-hrbox-session-id: {sessionId}` - `x-hrbox-session-code: {sessionSecret}` Получить их можно через метод /mobile/auth **2. Авторизация с использованием API-ключа:** Все запросы должны быть авторизованы с помощью API-ключа, передачей следующих заголовков: - `Content-Type: application/json` - `X-Hrbox-Client-Id: {идентификатор ключа}` - `X-Hrbox-Client-Secret: {секретный ключ}` parameters: - name: wf_workflow_id in: query required: false schema: type: string description: ID процесса (workflow), по которому фильтруются заявки. example: "2e05753d-459e-4a92-8265-aef15356872c" - name: wf_ticket_stage_id in: query required: false schema: type: string description: ID стадии (stage), по которой фильтруются заявки. example: "3fc2b631-6fa7-4bf7-8651-3faacb4c71a5" - name: wf_status_id in: query required: false schema: type: integer description: Статус заявки (например, 1 - "В процессе"). example: 1 - name: per-page in: query required: false schema: type: integer default: 10 description: Количество записей на странице. example: 5 - name: page in: query required: false schema: type: integer default: 1 description: Номер страницы для пагинации. example: 2 responses: '200': description: Успешный ответ content: application/json: schema: type: object properties: data: type: array description: Список заявок. items: type: object properties: id: type: string description: Уникальный идентификатор заявки. example: "111e8a0c-bcf2-4fe4-8cd3-e8138670f277" wf_workflow_id: type: string description: ID процесса. example: "2e05753d-459e-4a92-8265-aef15356872c" wf_ticket_stage_id: type: string description: ID текущей стадии заявки. example: "b2b73536-f76a-4b7a-9413-7553a688af25" wf_status_id: type: integer description: Статус заявки. example: 1 user_id: type: string description: ID пользователя, создавшего заявку. example: "998bb3a1-92f3-4d01-b6ae-6c9d44d987d0" created_at: type: string format: date-time description: Дата и время создания заявки. example: "2023-09-16 08:00:28" updated_at: type: string format: date-time description: Дата и время последнего обновления заявки. example: "2023-09-16 08:00:29" solved_at: type: string format: date-time nullable: true description: Дата и время решения заявки (если применимо). example: null url: type: string description: Ссылка на детальную информацию о заявке. example: "https://example.hrbox.io/workflow/ticket/view?id=111e8a0c-bcf2-4fe4-8cd3-e8138670f277" wfStatus: type: string description: Человеко-читаемый статус заявки. example: "В процессе" wfWorkflow: type: object description: Информация о связанном процессе. properties: id: type: string description: ID процесса. example: "2e05753d-459e-4a92-8265-aef15356872c" name: type: string description: Название процесса. example: "Отпуск 1C" is_hidden: type: boolean description: Признак скрытого процесса. example: false user: type: object description: Информация о пользователе, создавшем заявку. properties: id: type: string description: ID пользователя. example: "998bb3a1-92f3-4d01-b6ae-6c9d44d987d0" name: type: string description: Имя пользователя. example: "Piu Cro" faceUrl: type: string description: URL изображения профиля пользователя. example: "https://example.hrbox.io/file/resize/300x300/346339f5-f03c-44de-8a90-d1eb8da39c0a.png" _links: type: object description: Навигационные ссылки для пагинации. properties: self: type: string description: Текущая страница. example: "https://example.hrbox.io/api/v2/workflow-ticket?..." first: type: string description: Первая страница. example: "https://example.hrbox.io/api/v2/workflow-ticket?..." last: type: string description: Последняя страница. example: "https://example.hrbox.io/api/v2/workflow-ticket?..." _meta: type: object description: Метаданные пагинации. properties: totalCount: type: integer description: Общее количество записей. example: 16 pageCount: type: integer description: Общее количество страниц. example: 4 currentPage: type: integer description: Текущая страница. example: 2 perPage: type: integer description: Количество записей на странице. example: 5 /api/v2/workflow-ticket/view: get: tags: - workflow summary: Получение детальной информации по заявке security: - SessionAuth: [ ] - ApiKeyAuth: [ ] description: | Возвращает список заявок по указанным фильтрам. Данный метод поддерживает два типа авторизации: сессии и API-ключи. **1. Авторизация с использованием сессии:** Для выполнения запросов с использованием сессии необходимо передавать следующие заголовки: - `x-hrbox-session-id: {sessionId}` - `x-hrbox-session-code: {sessionSecret}` Получить их можно через метод /mobile/auth **2. Авторизация с использованием API-ключа:** Все запросы должны быть авторизованы с помощью API-ключа, передачей следующих заголовков: - `Content-Type: application/json` - `X-Hrbox-Client-Id: {идентификатор ключа}` - `X-Hrbox-Client-Secret: {секретный ключ}` parameters: - name: id in: query required: true schema: type: string description: Уникальный идентификатор заявки. example: "0b6a186a-95b8-4c89-8e69-6b49f12d1474" responses: '200': description: Успешный ответ content: application/json: schema: type: object properties: id: type: string description: Уникальный идентификатор заявки. example: "0b6a186a-95b8-4c89-8e69-6b49f12d1474" wf_workflow_id: type: string description: ID процесса, к которому относится заявка. example: "2e05753d-459e-4a92-8265-aef15356872c" wf_ticket_stage_id: type: string description: Текущая стадия заявки. example: "76be1943-6b4d-41f5-9807-02e9797454d5" wf_category_id: type: string description: ID категории, если указана. nullable: true example: null wf_status_id: type: integer description: Текущий статус заявки. example: 1 user_id: type: string description: ID пользователя, создавшего заявку. example: "36da46a6-e575-41f9-9972-a7a497e0326c" created_at: type: string format: date-time description: Дата и время создания заявки. example: "2023-10-25 18:23:07" updated_at: type: string format: date-time description: Дата и время последнего обновления заявки. example: "2023-10-25 18:23:07" wfStatus: type: string description: Человеко-читаемый статус заявки. example: "В процессе" wfWorkflow: type: object description: Информация о процессе. properties: id: type: string description: ID процесса. example: "2e05753d-459e-4a92-8265-aef15356872c" name: type: string description: Название процесса. example: "Отпуск 1C" brief: type: string description: Краткое описание процесса. example: "Подача заявки на отпуск" is_hidden: type: boolean description: Признак того, что процесс скрыт. example: false wfTicketStages: type: array description: Список стадий заявки. items: type: object properties: id: type: string description: ID стадии. example: "d8d47802-4ada-4a3b-bc73-d103a1385fa8" name: type: string description: Название стадии. example: "Подача заявки" fields: type: array description: Поля, связанные с текущей стадией. items: type: object properties: id: type: string description: ID поля. example: "vacation_type_id" name: type: string description: Название поля. example: "Тип отпуска" type: type: string description: Тип поля. example: "select" values: type: array description: Возможные значения для выбора. items: type: string example: [ "Ежегодный оплачиваемый", "Другой" ] required: type: boolean description: Признак обязательного заполнения. example: true defaultValue: type: string description: Значение по умолчанию. nullable: true example: null responsible: type: array description: Ответственные за стадию пользователи. items: type: object properties: id: type: string description: ID пользователя. example: "36da46a6-e575-41f9-9972-a7a497e0326c" name: type: string description: Имя пользователя. example: "Винокуров Сергей Борисович" faceUrl: type: string description: Ссылка на аватар пользователя. example: "https://example.hrbox.io/file/resize/300x300/346339f5-f03c-44de-8a90-d1eb8da39c0a.png" /dashboard: get: tags: - dashboard summary: Get dashboards and widgets by specifying needed widgets through get parameter. Personal user feed widgets starts with "my" prefix. Global company feed widgets starts with "upd" prefix operationId: dashboard parameters: - name: widgets in: query description: Names of required widgets separated with comma. example: myLms,mySurvey,myAchievements,myTeam,myFavorites,myPostcards schema: type: string enum: - myLms - mySurvey - myAchievements - myTeam - myFavorites - myPostcards - updNews - updVoting - updIdeas - updAchievements - updBirthday - updNewbies - updBooks - name: info in: query description: > Names of required info separated with comma. * `profileBrief` - Current user brief info * `notificationsBadge` - Current notification bell badge value example: profileBrief,notificationsBadge schema: type: string enum: - profileBrief - notificationsBadge responses: 200: description: Returns all the dashboard data about requested widgets. In response object only requested info/widgets keys will be presented. If widget is not available for current user, this widget will not exists in response of will be null. content: application/json: schema: type: object properties: profileBrief: $ref: '#/components/schemas/profileBrief' notificationsBadge: description: Current notification bell badge value type: integer default: 0 widgets: type: object properties: myLms: # description: User feed - Assigned test and courses $ref: '#/components/schemas/dashboardWidget' mySurvey: # description: User feed - Assigned surveys $ref: '#/components/schemas/dashboardWidget' myAchievements: # description: User feed - Assigned achievements $ref: '#/components/schemas/dashboardWidget' myTeam: # description: User feed - Teammates of current user $ref: '#/components/schemas/dashboardWidget' myFavorites: # description: User feed - Favorites (in development, not used) $ref: '#/components/schemas/dashboardWidget' myPostcards: # description: User feed - Received postcards $ref: '#/components/schemas/dashboardWidget' updNews: # description: Company feed - New news $ref: '#/components/schemas/dashboardWidget' updVoting: # description: Company feed - New contests $ref: '#/components/schemas/dashboardWidget' updIdeas: # description: Company feed - New ideas $ref: '#/components/schemas/dashboardWidget' updAchievements: # description: Company feed - New achievements achieved by users $ref: '#/components/schemas/dashboardWidget' updBirthday: # description: Company feed - Users that have birthday today $ref: '#/components/schemas/dashboardWidget' updNewbies: # description: Company feed - Recently employed employees $ref: '#/components/schemas/dashboardWidget' updBooks: # description: Company feed - New books in library $ref: '#/components/schemas/dashboardWidget' 400: description: Invalid input 401: description: Unauthorized request 403: description: Unauthorized request 500: description: Server Error /feedback/add: post: tags: - feedback operationId: actionAdd summary: Creates a feedback about a department or user. requestBody: description: userId - User ID from which the feedback will be created.
type - Entity type (department, user).
id - Entity id.
score - Feedback score from 1 to 5.
text - Feedback text.
isAnonymous - Anonymous feedback. required: true content: application/json: schema: type: object properties: userId: description: User ID from which the feedback will be created. type: string example: cd1a4391-9fa7-4ae3-80c1-f9b46ad1838d type: description: Entity type. type: string enum: - department - user example: department # required: true id: description: Entity id. type: string example: cd1a4391-9fa7-4ae3-80c1-f9b46ad1838d # required: true score: description: Feedback score. type: number minimum: 1 maximum: 5 example: 5 # required: true text: description: Feedback text. type: string example: Example text. # required: true isAnonymous: description: Anonymous feedback. type: boolean example: true default: false responses: 200: description: Returns the success status and data of the generated feedback. content: application/json: schema: type: object properties: success: type: boolean feedback: $ref: '#/components/schemas/feedback' 400: description: Bad Request. Returns a message with the error details. 401: description: Unauthorized request. 403: description: Unauthorized request. 404: description: Not found. Returns a message with the error details. 500: description: Server Error. /feedback/view: get: tags: - feedback summary: Details about feedback. operationId: /feedback/view parameters: - name: id in: query description: Feedback item ID. schema: type: string required: true responses: 200: description: Feedback details. content: application/json: schema: $ref: '#/components/schemas/feedback' 400: description: Bad Request. 401: description: Unauthorized request. 403: description: Unauthorized request. 404: description: Feedback not found. 500: description: Server Error. /calendar-event/view: get: tags: - calendarEvent summary: Details about calendar event. operationId: /calendar-event/view parameters: - name: id in: query description: Calendar event item ID. schema: type: string - name: parent_id in: query description: Calendar event parent item ID. schema: type: string - name: rec_date in: query description: Calendar event recurring date. schema: type: string responses: 200: description: Calendar event details. content: application/json: schema: properties: calendarEvent: $ref: '#/components/schemas/calendarEvent' calendarEventUser: $ref: '#/components/schemas/calendarEventUser' calendarEventBid: $ref: '#/components/schemas/calendarEventBid' hasCalendarEventBid: type: boolean canCreateCalendarEventBid: type: boolean 400: description: Bad Request. 401: description: Unauthorized request. 403: description: Unauthorized request. 404: description: Calendar event not found. 500: description: Server Error. /calendar-event: get: tags: - calendarEvent summary: Calendar event index. operationId: /calendar-event/index parameters: - name: title in: query schema: type: string - name: title_exact in: query schema: type: string - name: start_date_time in: query description: Default current month schema: type: string example: '2023-01-01 10:00:00' - name: end_date_time in: query description: Default current month +3 month schema: type: string example: '2023-04-01 10:00:00' - name: calendar_event_type_id in: query description: 1 - CORPORATE, 2 - TRAINING, 3 - MEET, 4 - PUBLIC_HOLIDAY, 5 - EVENT, 6 - WEBINAR schema: type: integer example: 1 - name: entity_id in: query description: Communication with entities, for example, is used in meeting places. 1030 - MeetingPlace schema: type: integer - name: calendar_event_entity_item_id in: query schema: type: string - name: user_id in: query schema: type: string - name: visible_to in: query description: Visible to user group schema: type: string example: '9f7063d1-959e-4c32-b186-313576375739,3a7539cb-d85e-4455-af41-fc505d1ce6dd' responses: 200: description: Calendar event index. content: application/json: schema: properties: data: type: array items: $ref: '#/components/schemas/calendarEvent' 400: description: Bad Request. 401: description: Unauthorized request. 403: description: Unauthorized request. 404: description: Calendar event not found. 500: description: Server Error. /calendar-event/items: get: tags: - calendarEvent summary: Calendar event items. operationId: actionItems parameters: - name: q in: query schema: type: string - name: calendar_event_type_id in: query description: 1 - CORPORATE, 2 - TRAINING, 3 - MEET, 4 - PUBLIC_HOLIDAY, 5 - EVENT, 6 - WEBINAR schema: type: integer example: 1 - name: entity_id in: query description: Communication with entities, for example, is used in meeting places. 1030 - MeetingPlace schema: type: integer example: 1030 - name: calendar_event_entity_item_id in: query schema: type: string example: 9f7063d1-959e-4c32-b186-313576375739 - name: user_id in: query schema: type: string example: 9f7063d1-959e-4c32-b186-313576375739 - name: visible_to in: query description: Visible to user group schema: type: string example: 9f7063d1-959e-4c32-b186-313576375739,3a7539cb-d85e-4455-af41-fc505d1ce6dd responses: 200: description: Calendar event items. content: application/json: schema: properties: data: type: array items: type: object properties: id: type: string format: uuid title: type: string 400: description: Bad Request. 401: description: Unauthorized request. 403: description: Unauthorized request. 404: description: Calendar event not found. 500: description: Server Error. /calendar-event/my: get: tags: - calendarEvent summary: Calendar event my. operationId: actionMy parameters: - name: title in: query schema: type: string - name: title_exact in: query schema: type: string - name: start_date_time in: query description: Default current month schema: type: string example: '2023-01-01 10:00:00' - name: end_date_time in: query description: Default current month +3 month schema: type: string example: '2023-04-01 10:00:00' - name: calendar_event_type_id in: query description: 1 - CORPORATE, 2 - TRAINING, 3 - MEET, 4 - PUBLIC_HOLIDAY, 5 - EVENT, 6 - WEBINAR schema: type: integer example: 1 - name: entity_id in: query example: 1030 description: Communication with entities, for example, is used in meeting places. 1030 - MeetingPlace schema: type: integer - name: calendar_event_entity_item_id in: query schema: type: string - name: user_id in: query schema: type: string example: 9f7063d1-959e-4c32-b186-313576375739 - name: visible_to in: query description: Visible to user group schema: type: string example: '9f7063d1-959e-4c32-b186-313576375739,3a7539cb-d85e-4455-af41-fc505d1ce6dd' responses: 200: description: Calendar event index. content: application/json: schema: properties: data: type: array items: $ref: '#/components/schemas/calendarEvent' 400: description: Bad Request. 401: description: Unauthorized request. 403: description: Unauthorized request. 404: description: Calendar event not found. 500: description: Server Error. /calendar-event-request: post: tags: - calendarEventRequest summary: Calendar event request create. operationId: /calendar-event-request requestBody: required: true content: application/json: schema: type: object properties: calendar_event_id: type: string format: uuid description: Calendar event ID calendar_event_parent_id: type: string format: uuid description: Calendar event parent ID calendar_event_rec_date: type: string format: date description: Calendar event recurring date responses: 200: description: Returns the calendar event request content: application/json: schema: type: object properties: success: type: boolean message: type: string errors: type: array items: type: string data: $ref: '#/components/schemas/calendarEventBid' 400: description: Bad Request. Returns a message with the error details. 401: description: Unauthorized request. 403: description: Unauthorized request. 404: description: Not found. Returns a message with the error details. 500: description: Server Error. /calendar-event-request/cancel: post: tags: - calendarEventRequest summary: Calendar event request cancel. operationId: actionCreate requestBody: required: true content: application/json: schema: type: object properties: id: type: string format: uuid description: Calendar event request ID responses: 200: description: Returns the calendar event request content: application/json: schema: type: object properties: success: type: boolean message: type: string errors: type: array items: type: string 400: description: Bad Request. Returns a message with the error details. 401: description: Unauthorized. 403: description: Unauthorized. 404: description: Not found. Returns a message with the error details. 500: description: Server Error. /calendar-event-type: get: tags: - calendarEventType summary: Calendar event type index. operationId: /calendar-event-type parameters: - name: name in: query description: Название типа события (like). schema: type: string example: Тренинг - name: is_used in: query description: Тип события выбран в каком-либо событии schema: type: boolean example: true - name: type_id in: query description: 1 - CORPORATE, 2 - TRAINING, 3 - MEET, 4 - PUBLIC_HOLIDAY, 5 - EVENT (All custom types), 6 - WEBINAR schema: type: integer example: 1 responses: 200: description: Calendar event type index. content: application/json: schema: properties: data: type: array items: type: object properties: id: type: string format: uuid name: type: string example: "Корпоративное мероприятие" background_color: type: string example: "#F1D46E" text_color: type: string example: "#000000" _links: $ref: '#/components/schemas/_links' _meta: $ref: '#/components/schemas/_meta' 400: description: Bad Request. 401: description: Unauthorized request. 403: description: Unauthorized request. 404: description: Calendar event type not found. 500: description: Server Error. /calendar/view: get: tags: - calendar summary: Details about calendar event. operationId: /calendar/view parameters: - name: id in: query description: Calendar event item ID. schema: type: string - name: parent_id in: query description: Calendar event parent item ID. schema: type: string - name: rec_date in: query description: Calendar event recurring date. schema: type: string responses: 200: description: Calendar event details. content: application/json: schema: properties: data: items: allOf: - $ref: '#/components/schemas/calendarEvent' - type: object properties: calendar_event_type_id: type: string format: uuid calendar_event_type: $ref: '#/components/schemas/calendarEventType' calendarEventUser: $ref: '#/components/schemas/calendarEventUser' calendarEventBid: $ref: '#/components/schemas/calendarEventBid' hasCalendarEventBid: type: boolean canCreateCalendarEventBid: type: boolean 400: description: Bad Request. 401: description: Unauthorized request. 403: description: Unauthorized request. 404: description: Calendar event not found. 500: description: Server Error. /calendar: get: tags: - calendar summary: Calendar event index. operationId: /calendar/index parameters: - name: title in: query schema: type: string - name: title_exact in: query schema: type: string - name: start_date_time in: query description: Default current month schema: type: string example: '2023-01-01 10:00:00' - name: end_date_time in: query description: Default current month +3 month schema: type: string example: '2023-04-01 10:00:00' - name: calendar_event_type_id in: query description: ID типа события из `/calendar-event-type` schema: type: string format: uuid example: '9f7063d1-959e-4c32-b186-313576375739' - name: entity_id in: query description: Communication with entities, for example, is used in meeting places. 1030 - MeetingPlace schema: type: integer - name: calendar_event_entity_item_id in: query schema: type: string - name: user_id in: query schema: type: string - name: visible_to in: query description: Visible to user group schema: type: string example: '9f7063d1-959e-4c32-b186-313576375739,3a7539cb-d85e-4455-af41-fc505d1ce6dd' responses: 200: description: Calendar event index. content: application/json: schema: properties: data: type: array items: allOf: - $ref: '#/components/schemas/calendarEvent' - type: object properties: calendar_event_type_id: type: string format: uuid calendar_event_type: $ref: '#/components/schemas/calendarEventType' 400: description: Bad Request. 401: description: Unauthorized request. 403: description: Unauthorized request. 404: description: Calendar event not found. 500: description: Server Error. /calendar/items: get: tags: - calendar summary: Calendar event items. operationId: /calendar/items parameters: - name: q in: query schema: type: string - name: calendar_event_type_id in: query description: ID типа события из `/calendar-event-type` schema: type: string format: uuid example: '9f7063d1-959e-4c32-b186-313576375739' - name: entity_id in: query description: Communication with entities, for example, is used in meeting places. 1030 - MeetingPlace schema: type: integer example: 1030 - name: calendar_event_entity_item_id in: query schema: type: string example: 9f7063d1-959e-4c32-b186-313576375739 - name: user_id in: query schema: type: string example: 9f7063d1-959e-4c32-b186-313576375739 - name: visible_to in: query description: Visible to user group schema: type: string example: 9f7063d1-959e-4c32-b186-313576375739,3a7539cb-d85e-4455-af41-fc505d1ce6dd responses: 200: description: Calendar event items. content: application/json: schema: properties: data: type: array items: type: object properties: id: type: string format: uuid title: type: string 400: description: Bad Request. 401: description: Unauthorized request. 403: description: Unauthorized request. 404: description: Calendar event not found. 500: description: Server Error. /calendar/my: get: tags: - calendar summary: Calendar event my. operationId: /calendar/my parameters: - name: title in: query schema: type: string - name: title_exact in: query schema: type: string - name: start_date_time in: query description: Default current month schema: type: string example: '2023-01-01 10:00:00' - name: end_date_time in: query description: Default current month +3 month schema: type: string example: '2023-04-01 10:00:00' - name: calendar_event_type_id in: query description: ID типа события из `/calendar-event-type` schema: type: string format: uuid example: '9f7063d1-959e-4c32-b186-313576375739' - name: entity_id in: query example: 1030 description: Communication with entities, for example, is used in meeting places. 1030 - MeetingPlace schema: type: integer - name: calendar_event_entity_item_id in: query schema: type: string - name: user_id in: query schema: type: string example: 9f7063d1-959e-4c32-b186-313576375739 - name: visible_to in: query description: Visible to user group schema: type: string example: '9f7063d1-959e-4c32-b186-313576375739,3a7539cb-d85e-4455-af41-fc505d1ce6dd' responses: 200: description: Calendar event index. content: application/json: schema: properties: data: type: array items: allOf: - $ref: '#/components/schemas/calendarEvent' - type: object properties: calendar_event_type_id: type: string format: uuid calendar_event_type: $ref: '#/components/schemas/calendarEventType' 400: description: Bad Request. 401: description: Unauthorized request. 403: description: Unauthorized request. 404: description: Calendar event not found. 500: description: Server Error. /moderation: get: tags: - moderation summary: Moderation index. operationId: /moderation/index parameters: - name: id in: query description: Moderation ID. schema: type: string required: false example: edee4e11-dab5-4aac-93ac-43c379aab6b2 responses: 200: description: Moderation object. content: application/json: schema: $ref: '#/components/schemas/moderation' 400: description: Bad Request. 401: description: Unauthorized. 403: description: Unauthorized. 404: description: Not found. 500: description: Server Error. /moderation/accept: post: tags: - moderation summary: Accept moderation. operationId: actionAccept requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/arrayOfIds' responses: 200: description: Text content: application/json: schema: type: object properties: success: type: boolean message: type: string 400: description: Bad Request. 401: description: Unauthorized. 403: description: Unauthorized. 404: description: Not found. 500: description: Server Error. /moderation/reject: post: tags: - moderation summary: Reject moderation. operationId: actionReject requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/arrayOfIds' responses: 200: description: Text content: application/json: schema: type: object properties: success: type: boolean message: type: string 400: description: Bad Request. 401: description: Unauthorized. 403: description: Unauthorized. 404: description: Not found. 500: description: Server Error. /idea/statuses: get: tags: - idea summary: Idea statuses list. operationId: /idea/statuses responses: 200: description: Idea statuses object. content: application/json: schema: $ref: '#/components/schemas/ideaStatuses' 401: description: Unauthorized. 403: description: Unauthorized. 500: description: Server Error. /idea/purposes: get: tags: - idea summary: Idea purposes list. operationId: /idea/purposes responses: 200: description: Idea purpose object. content: application/json: schema: $ref: '#/components/schemas/ideaPurposes' 401: description: Unauthorized. 403: description: Unauthorized. 500: description: Server Error. /idea/index: get: tags: - idea summary: Idea index. operationId: /idea/index parameters: - name: created_at in: query description: Дата создания идеи. schema: type: string example: 2023-01-01|2023-01-01 - name: created_user_id in: query description: Идентификатор пользователя. Можно передать несколько идентификаторов разделенные запятой. schema: type: string example: edee4e11-dab5-4aac-93ac-43c379aab6b2 - name: idea_status_id in: query description: Статус идеи. Можно передать несколько идентификаторов разделенные запятой. schema: type: string example: 1 - name: idea_purpose_id in: query description: Направление идеи. Можно передать несколько идентификаторов разделенные запятой. schema: type: string example: edee4e11-dab5-4aac-93ac-43c379aab6b2 - name: performer_id in: query description: Исполнитель идеи. Можно передать несколько идентификаторов разделенные запятой. schema: type: string example: edee4e11-dab5-4aac-93ac-43c379aab6b2 responses: 200: description: Idea objects. content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/ideaIndex' _links: $ref: '#/components/schemas/_links' _meta: $ref: '#/components/schemas/_meta' 400: description: Bad Request. 401: description: Unauthorized. 403: description: Unauthorized. 404: description: Not found. 500: description: Server Error. /idea/view: get: tags: - idea summary: Idea view. operationId: /idea/view parameters: - name: id in: query description: Idea ID. schema: type: string required: true example: edee4e11-dab5-4aac-93ac-43c379aab6b2 responses: 200: description: Idea detailed object. content: application/json: schema: $ref: '#/components/schemas/ideaView' 400: description: Bad Request. 401: description: Unauthorized. 403: description: Unauthorized. 404: description: Feedback not found. 500: description: Server Error. /idea/edit: post: tags: - idea summary: Idea edit. operationId: /idea/edit parameters: - name: id in: query description: Idea ID. schema: type: string required: false example: edee4e11-dab5-4aac-93ac-43c379aab6b2 requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ideaEdit' responses: 200: description: Idea object. content: application/json: schema: $ref: '#/components/schemas/ideaIndex' 400: description: Bad Request. 401: description: Unauthorized. 403: description: Unauthorized. 404: description: Feedback not found. 500: description: Server Error. /idea/vote: post: tags: - idea summary: Vote for idea. operationId: /idea/vote parameters: - name: id in: query description: Idea ID. schema: type: string required: true example: edee4e11-dab5-4aac-93ac-43c379aab6b2 responses: 200: description: Text content: application/json: schema: type: object properties: success: description: Success status. type: boolean example: true status: description: Voting status. type: boolean example: true message: type: string example: You voted for the idea! 400: description: Bad Request. 401: description: Unauthorized. 403: description: Unauthorized. 404: description: Feedback not found. 500: description: Server Error. /idea/participate: post: tags: - idea summary: Participate an idea. operationId: /idea/participate parameters: - name: id in: query description: Idea ID. schema: type: string required: true example: edee4e11-dab5-4aac-93ac-43c379aab6b2 responses: 200: description: Text content: application/json: schema: type: object properties: success: description: Success status. type: boolean example: true status: description: Participation status. type: boolean example: true message: type: string example: You are participating in the idea! 400: description: Bad Request. 401: description: Unauthorized. 403: description: Unauthorized. 404: description: Feedback not found. 500: description: Server Error. /file/index: get: tags: - file summary: index user files. operationId: /file/index parameters: - name: file_type in: query example: image schema: type: string enum: - image - video - document - archive - other - encrypted - name: search in: query description: Query string schema: type: string example: Some text - name: per-page in: query description: How many items return in one page (default 20). schema: type: string - name: page in: query description: Current page. schema: type: string - name: sort description: Sorting fields and directions (example, -created_at, +name) in: query schema: type: string enum: - name - ext - file_type - mime_type - created_at responses: 200: description: File objects. content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/fileIndex' _links: $ref: '#/components/schemas/_links' _meta: $ref: '#/components/schemas/_meta' 400: description: Bad Request. 401: description: Unauthorized. 403: description: Unauthorized. 404: description: Unauthorized. 500: description: Server Error. /file/count: get: tags: - file summary: count user files. operationId: /file/count parameters: - name: search in: query description: Query string schema: type: string example: Some text responses: 200: description: File objects. content: application/json: schema: type: object properties: image: type: integer default: 320 video: type: integer default: 10 document: type: integer default: 10 archive: type: integer default: 0 other: type: integer default: 0 encrypted: type: integer default: 0 400: description: Bad Request. 401: description: Unauthorized. 403: description: Unauthorized. 404: description: Unauthorized. 500: description: Server Error. /user-status/index: get: tags: - user-status summary: User status index. operationId: /user-status/index parameters: - name: name in: query description: Название статуса (like). schema: type: string example: В отпуске - name: slug in: query description: Уникальный именуемый идентификатор статуса (equals). schema: type: string example: vacation - name: is_custom in: query description: Статус создан администратором. schema: type: boolean example: 1 - name: is_editable in: query description: Возможность редактирования статуса. schema: type: boolean example: 1 - name: is_expire in: query description: Статус со сроком действия. schema: type: boolean example: 1 - name: display_in_modal in: query description: Запрашивать статус в модальном окне запроса статуса. schema: type: boolean example: 1 responses: 200: description: Returns pagination and array of user status objects. content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/userStatus' _meta: $ref: '#/components/schemas/_meta' 400: description: Bad Request. 401: description: Unauthorized. 500: description: Server Error. /user-status/view: get: tags: - user-status summary: User status view. operationId: /user-status/view parameters: - name: id in: query description: User status ID. schema: type: string required: true example: b726280a-2be6-4e62-ab24-1736389c6474 responses: 200: description: User status detailed object. content: application/json: schema: $ref: '#/components/schemas/userStatus' 400: description: Bad Request. 401: description: Unauthorized. 404: description: Not found. 500: description: Server Error. /user-status/set: post: tags: - user-status summary: Set user statuses. operationId: /user-status/set requestBody: required: true content: application/json: schema: type: array items: $ref: '#/components/schemas/userStatusSetRequestBody' responses: 200: description: Result as boolean value. content: application/json: schema: type: boolean 400: description: Bad Request. 401: description: Unauthorized. 500: description: Server Error. /comment/statuses: get: tags: - comment summary: Comment statuses list. Role permissions are not required. operationId: /comment/statuses responses: 200: description: Comment statuses object. content: application/json: schema: $ref: '#/components/schemas/commentStatuses' 401: description: Unauthorized. 403: description: Unauthorized. 500: description: Server Error. /comment/index: get: tags: - comment summary: Comment index. Access allowed with "Moderate comments" (content-moderate-comments) role permission. operationId: /comment/index parameters: - name: created_at in: query description: Comment creation date range. schema: type: string example: 2023-01-01|2023-01-01 - name: entity_id in: query description: Entity ID. You can pass multiple identifiers separated by commas. schema: type: string example: 1 - name: reference_id in: query description: Reference ID. You can pass multiple identifiers separated by commas. schema: type: string format: uuid example: edee4e11-dab5-4aac-93ac-43c379aab6b2 - name: user_id in: query description: User ID. You can pass multiple identifiers separated by commas. schema: type: string format: uuid example: edee4e11-dab5-4aac-93ac-43c379aab6b2 - name: status_id in: query description: Comment status ID. You can pass multiple identifiers separated by commas. schema: type: string example: 1 responses: 200: description: Returns pagination and array of comment objects. content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/commentIndex' _links: $ref: '#/components/schemas/_links' _meta: $ref: '#/components/schemas/_meta' 400: description: Bad Request. 401: description: Unauthorized. 500: description: Server Error. /comment/view: get: tags: - comment summary: View comment data. Returns comments data only in the "Published" status (STATUS_APPROVED). Access allowed with "See comments" (show-content-comments) role permission. operationId: /comment/view parameters: - name: id in: query description: Comment ID. schema: type: string format: uuid required: true example: b726280a-2be6-4e62-ab24-1736389c6474 responses: 200: description: Comment object. content: application/json: schema: $ref: '#/components/schemas/commentView' 400: description: Bad Request. 401: description: Unauthorized. 404: description: Not found. 500: description: Server Error. /comment/get: get: tags: - comment summary: Retrieving a list of top-level comments with replies in the "Published" status (STATUS_APPROVED) and sorted by creation date without pagination. Access allowed with "See comments" (show-content-comments) role permission. operationId: /comment/get parameters: - name: entity_id in: query description: Entity ID. schema: type: string example: 1 - name: reference_id in: query description: Reference ID. schema: type: string format: uuid example: edee4e11-dab5-4aac-93ac-43c379aab6b2 responses: 200: description: Comment object. content: application/json: schema: $ref: '#/components/schemas/commentGet' 400: description: Bad Request. 401: description: Unauthorized. 404: description: Not found. 500: description: Server Error. /comment/add: post: tags: - comment summary: Add a new comment. Access allowed with "Leave comments" (content-comments-post) role permission. operationId: /comment/add requestBody: required: true content: application/json: schema: type: array items: $ref: '#/components/schemas/commentAddRequestBody' responses: 200: description: Text content: application/json: schema: $ref: '#/components/schemas/commentAddResponse' 400: description: Bad Request. 401: description: Unauthorized. 500: description: Server Error. /comment/delete: delete: tags: - comment summary: Comment safe delete (changes comment status to STATUS DELETED). Access is allowed for comment author or users with "Moderate comments" role permission (content-moderate-comments). operationId: /comment/delete parameters: - name: id in: query description: Comment ID. schema: type: string format: uuid required: true example: b726280a-2be6-4e62-ab24-1736389c6474 responses: 200: description: Result as boolean value. content: application/json: schema: type: boolean 400: description: Bad Request. 401: description: Unauthorized. 403: description: Forbidden. 404: description: Not found. 500: description: Server Error. /category/thumb-style: get: tags: - category summary: Список вариантов отображения превью категории. operationId: /category/thumb-style responses: 200: description: Список категорий. content: application/json: schema: $ref: '#/components/schemas/typeIdInteger' 401: description: Unauthorized. 403: description: Forbidden. 500: description: Internal Server Error. /category/content-style: get: tags: - category summary: Список вариантов отображения содержимого категории. operationId: /category/content-style responses: 200: description: Список категорий. content: application/json: schema: $ref: '#/components/schemas/typeIdInteger' 401: description: Unauthorized. 403: description: Forbidden. 500: description: Internal Server Error. /category/root: get: tags: - category summary: Список корневых категорий. operationId: /category/root responses: 200: description: Список категорий. content: application/json: schema: $ref: '#/components/schemas/categoryRoot' 401: description: Unauthorized. 403: description: Forbidden. 500: description: Internal Server Error. /category/index: get: tags: - category summary: Список категорий. operationId: /category/index parameters: - name: root_id in: query description: Category root ID. required: true schema: type: string responses: 200: description: Returns pagination and array of objects. content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/category' _links: $ref: '#/components/schemas/_links' _meta: $ref: '#/components/schemas/_meta' 400: description: Bad Request. 401: description: Unauthorized. 403: description: Forbidden. Возвращается если tenantInfo.modules.shop.isModuleEnabled равен false. 500: description: Internal Server Error. /wallet/info: get: tags: - wallet summary: Данные кошелька пользователя. Требуется право доступа wallet "Кошелек". operationId: /wallet/info responses: 200: description: Список категорий. content: application/json: schema: $ref: '#/components/schemas/wallet' 401: description: Unauthorized. 403: description: Forbidden. 500: description: Internal Server Error. /wallet-transaction/index: get: tags: - wallet summary: Получение списка транзакций кошельков parameters: - name: created_at in: query schema: type: string description: Дата или диапазон дат транзакции. - name: wallet_transaction_type in: query schema: $ref: '#/components/schemas/walletTransactionType' description: Тип транзакции - name: wallet_operation_type in: query schema: $ref: '#/components/schemas/walletOperationType' description: Тип операции кошелька - name: sender_wallet_id in: query schema: oneOf: - type: string format: uuid - type: array items: type: string format: uuid description: UUID кошелька отправителя (один или несколько) - name: recipient_wallet_id in: query schema: oneOf: - type: string format: uuid - type: array items: type: string format: uuid description: UUID кошелька получателя (один или несколько) - name: sender_user_id in: query schema: oneOf: - type: string format: uuid - type: array items: type: string format: uuid description: UUID пользователя-отправителя (один или несколько) - name: recipient_user_id in: query schema: oneOf: - type: string format: uuid - type: array items: type: string format: uuid description: UUID пользователя-получателя (один или несколько) - name: entity_id in: query schema: type: number description: ID связанной сущности - name: reference_id in: query schema: type: string format: uuid description: Внешний идентификатор транзакции - name: sender_user_list_key in: query schema: type: string format: uuid description: Ключ списка пользователей отправителей - name: recipient_user_list_key in: query schema: type: string format: uuid description: Ключ списка пользователей получателей responses: 200: description: Список транзакций кошельков content: application/json: schema: allOf: - $ref: '#/components/schemas/dataProviderResponse' - type: object properties: data: type: array items: $ref: '#/components/schemas/walletTransaction' 401: description: Unauthorized. 403: description: Forbidden. 422: description: Data validation failed. 500: description: Internal Server Error. /wallet-transaction/gift: post: summary: Отправка подарка пользователю tags: - wallet requestBody: required: true content: application/json: schema: type: object required: - user_id - amount - comment properties: user_id: type: string format: uuid description: UUID пользователя, которому отправляется подарок example: 'c0a80101-0000-4000-a000-000000000001' amount: type: integer minimum: 1 description: Сумма подарка example: 50 comment: type: string maxLength: 400 description: Комментарий к транзакции example: 'Поздравляю с достижением!' responses: 200: description: Результат отправки подарка content: application/json: schema: allOf: - $ref: '#/components/schemas/httpJsonResponse' 401: description: Unauthorized. 403: description: Forbidden. 422: description: Data validation failed. 500: description: Internal Server Error. /shop/product/sort-type: get: tags: - shop summary: Список типов сортировки товара на странице витрины магазина. operationId: /shop/product/sort-type responses: 200: description: Список типов сортировки товара. content: application/json: schema: $ref: '#/components/schemas/shopProductSortType' 401: description: Unauthorized. 403: description: Forbidden. Возвращается если tenantInfo.modules.shop.isModuleEnabled равен false. 500: description: Internal Server Error. /shop/product/index: get: tags: - shop summary: Список товаров. operationId: /shop/product/index parameters: - name: sort in: query description: Тип сортировки товара. schema: type: string - name: title in: query description: Название товара. schema: type: string - name: category_id in: query description: Идентификатор категории. schema: type: string format: uuid example: 76080562-3a5e-4826-8799-7638b775bcd0 responses: 200: description: Returns pagination and array of objects. content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/shopProductIndex' _links: $ref: '#/components/schemas/_links' _meta: $ref: '#/components/schemas/_meta' 400: description: Bad Request. 401: description: Unauthorized. 403: description: Forbidden. Возвращается если tenantInfo.modules.shop.isModuleEnabled равен false. 500: description: Internal Server Error. /shop/product/view: get: tags: - shop summary: Детали товара. Нужно обязательно передать id либо option_id товара. operationId: /shop/product/view parameters: - name: id in: query description: Product ID. required: true schema: type: string format: uuid example: 76080562-3a5e-4826-8799-7638b775bcd0 - name: option_id in: query description: Product option ID. required: true schema: type: string format: uuid example: e25ea810-bbc2-4b1e-84ca-8ed56d4594ec responses: 200: description: Product object. content: application/json: schema: $ref: '#/components/schemas/shopProductView' 400: description: Bad Request. 401: description: Unauthorized. 403: description: Forbidden. Возвращается если tenantInfo.modules.shop.isModuleEnabled равен false. 404: description: Not found. 500: description: Internal Server Error. /shop/order/statuses: get: tags: - shop summary: Получение списка статусов заказа. operationId: /shop/order/statuses responses: 200: description: Список статусов заказа. content: application/json: schema: $ref: '#/components/schemas/status' 401: description: Unauthorized. 403: description: Forbidden. Возвращается если tenantInfo.modules.shop.isModuleEnabled равен false. 500: description: Internal Server Error. /shop/order/delivery-addresses: get: tags: - shop summary: Получение списка адресов для доставки заказа. operationId: /shop/order/delivery-addresses responses: 200: description: Список адресов для доставки заказа. content: application/json: schema: $ref: '#/components/schemas/shopOrderDeliveryAddresses' 401: description: Unauthorized. 403: description: Forbidden. Возвращается если tenantInfo.modules.shop.isModuleEnabled равен false. 500: description: Internal Server Error. /shop/order/index: get: tags: - shop summary: Список заказов. operationId: /shop/order/index parameters: - name: num in: query description: Order number. schema: type: string example: 1 - name: created_at in: query description: Creation date range. schema: type: string example: 2024-01-01|2024-01-01 - name: order_status_id in: query description: Order status ID. schema: type: string example: 1 responses: 200: description: Returns pagination and array of objects. content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/shopOrderIndex' _links: $ref: '#/components/schemas/_links' _meta: $ref: '#/components/schemas/_meta' 400: description: Bad Request. 401: description: Unauthorized. 403: description: Forbidden. Возвращается если tenantInfo.modules.shop.isModuleEnabled равен false. 500: description: Internal Server Error. /shop/order/view: get: tags: - shop summary: Данные заказа. operationId: /shop/order/view parameters: - name: id in: query description: Order ID. required: true schema: type: string format: uuid example: 0310635d-2c72-4219-9038-bf2ac8f14206 responses: 200: description: Order object. content: application/json: schema: $ref: '#/components/schemas/shopOrderView' 400: description: Bad Request. 401: description: Unauthorized. 403: description: Forbidden. Возвращается если tenantInfo.modules.shop.isModuleEnabled равен false. 404: description: Not found. 500: description: Internal Server Error. /shop/order/checkout: post: tags: - shop summary: Создание заказа. operationId: /shop/order/checkout requestBody: required: true content: application/json: schema: type: array items: $ref: '#/components/schemas/shopOrderCheckoutRequestBody' responses: 200: description: Text content: application/json: schema: $ref: '#/components/schemas/shopOrderCheckoutResponse' 400: description: Bad Request. 401: description: Unauthorized. 500: description: Server Error. /shop/order/position-remove: post: tags: - shop summary: Удаление позиции заказа. operationId: /shop/order/position-remove requestBody: required: true content: application/json: schema: type: array items: $ref: '#/components/schemas/shopOrderPositionRemoveRequestBody' responses: 200: description: Return success result. content: application/json: schema: $ref: '#/components/schemas/shopOrderPositionRemoveResponse' 400: description: Bad Request. 401: description: Unauthorized. 404: description: Not found. 500: description: Server Error. /shop/order/position-restore: post: tags: - shop summary: Восстановить удаленную позицию заказа. operationId: /shop/order/position-restore requestBody: required: true content: application/json: schema: type: array items: $ref: '#/components/schemas/shopOrderPositionRestoreRequestBody' responses: 200: description: Return success result. content: application/json: schema: $ref: '#/components/schemas/shopOrderPositionRestoreResponse' 400: description: Bad Request. 401: description: Unauthorized. 404: description: Not found. 500: description: Server Error. /shop/order/position-change-comment: post: tags: - shop summary: Изменить комментарий к позиции заказа. operationId: /shop/order/position-change-comment requestBody: required: true content: application/json: schema: type: array items: $ref: '#/components/schemas/shopOrderPositionChangeCommentRequestBody' responses: 200: description: Return success result. content: application/json: schema: $ref: '#/components/schemas/shopOrderPositionChangeCommentResponse' 400: description: Bad Request. 401: description: Unauthorized. 404: description: Not found. 500: description: Server Error. /shop/order/cancel: post: tags: - shop summary: Отменить заказ. operationId: /shop/order/cancel requestBody: required: true content: application/json: schema: type: array items: $ref: '#/components/schemas/shopOrderCancelRequestBody' responses: 200: description: Return success result. content: application/json: schema: $ref: '#/components/schemas/shopOrderCancelResponse' 400: description: Bad Request. 401: description: Unauthorized. 404: description: Not found. 500: description: Server Error. /duty/index: get: tags: - Duty summary: Список доступных услуг operationId: /duty/index parameters: - name: id in: query description: Идентификатор (UUID), либо их массив через запятую required: false schema: oneOf: - type: string format: uuid - type: array items: type: string format: uuid - name: not_id in: query description: Идентификатор (UUID), либо их массив через запятую required: false schema: oneOf: - type: string format: uuid - type: array items: type: string format: uuid - name: user_id in: query description: Идентификатор пользователя (UUID) required: false schema: type: string format: uuid - name: name in: query description: Поиск по имени услуги schema: type: string maxLength: 64 responses: 200: description: Список доступных услуг content: application/json: schema: allOf: - $ref: '#/components/schemas/dataProviderResponse' - type: object properties: data: $ref: '#/components/schemas/dutyItem' 400: description: Bad Request. 401: description: Unauthorized. 404: description: Not found. 500: description: Server Error. /user-duty/index: get: tags: - Duty summary: Список услуг, привязанных к пользователю operationId: /user-duty/index parameters: - name: id in: query description: Идентификатор (UUID), либо их массив через запятую required: false schema: oneOf: - type: string format: uuid - type: array items: type: string format: uuid - name: not_id in: query description: Идентификатор (UUID), либо их массив через запятую required: false schema: oneOf: - type: string format: uuid - type: array items: type: string format: uuid - name: name in: query description: Поиск по имени услуги schema: type: string maxLength: 64 responses: 200: description: Список доступных услуг content: application/json: schema: allOf: - $ref: '#/components/schemas/dataProviderResponse' - type: object properties: data: $ref: '#/components/schemas/dutyItem' 400: description: Bad Request. 401: description: Unauthorized. 404: description: Not found. 500: description: Server Error. /user-duty/add: post: tags: - Duty summary: Привязка услуг к пользователю operationId: /user-duty/index requestBody: required: true content: application/json: schema: type: object properties: id: description: Идентификатор (UUID), либо их массив oneOf: - type: string format: uuid - type: array items: type: string format: uuid required: - id responses: 200: description: Ответ сервера content: application/json: schema: $ref: '#/components/schemas/httpJsonResponse' 400: description: Bad Request. 401: description: Unauthorized. 422: description: Data validation failed. 500: description: Server Error. /user-duty/delete: post: tags: - Duty summary: Удаление привязанных услуг у пользователя operationId: /user-duty/delete requestBody: required: true content: application/json: schema: type: object properties: id: description: Идентификатор (UUID), либо их массив oneOf: - type: string format: uuid - type: array items: type: string format: uuid required: - id responses: 200: description: Ответ сервера content: application/json: schema: $ref: '#/components/schemas/httpJsonResponse' 400: description: Bad Request. 401: description: Unauthorized. 422: description: Data validation failed. 500: description: Server Error. /newbies/index: get: tags: - MdWidgets summary: Список новичков operationId: /newbies/index parameters: - $ref: '#/components/parameters/boardDepartmentId' - $ref: '#/components/parameters/userListKey' - $ref: '#/components/parameters/boardWithFavorites' - $ref: '#/components/parameters/boardDateTypeParam' - $ref: '#/components/parameters/boardDateDayParam' - $ref: '#/components/parameters/boardDateWeekParam' - $ref: '#/components/parameters/boardDateMonthParam' - $ref: '#/components/parameters/boardDateYearParam' responses: 200: description: MdWidget Items. content: application/json: schema: type: object properties: success: description: Result status. type: boolean example: true message: description: Message displayed to user (localized). type: string default: null example: '' errors: description: Array of validation errors. type: array default: null data: type: array items: type: object allOf: - $ref: '#/components/schemas/mdWidgetUserItem' - type: object properties: itemDate: description: Date Birthday type: string format: date example: 18 july _links: $ref: '#/components/schemas/_links' _meta: $ref: '#/components/schemas/_meta' _periodUrls: $ref: '#/components/schemas/_periodUrls' periodUrls: $ref: '#/components/schemas/_periodUrls' currentPeriod: $ref: '#/components/schemas/currentPeriod' 400: description: Bad Request. 401: description: Unauthorized request. 403: description: Unauthorized request. 500: description: Server Error. /birthday/index: get: tags: - MdWidgets summary: Список дней рождений operationId: /birthday/index parameters: - $ref: '#/components/parameters/boardDepartmentId' - $ref: '#/components/parameters/userListKey' - $ref: '#/components/parameters/boardWithFavorites' - $ref: '#/components/parameters/boardDateTypeParam' - $ref: '#/components/parameters/boardDateDayParam' - $ref: '#/components/parameters/boardDateWeekParam' - $ref: '#/components/parameters/boardDateMonthParam' - $ref: '#/components/parameters/boardDateYearParam' responses: 200: description: MdWidget Items. content: application/json: schema: type: object properties: success: description: Result status. type: boolean example: true message: description: Message displayed to user (localized). type: string default: null example: '' errors: description: Array of validation errors. type: array default: null data: type: array items: type: object allOf: - $ref: '#/components/schemas/mdWidgetUserItem' - type: object properties: itemDate: description: Employment date type: string format: date example: 1 july _links: $ref: '#/components/schemas/_links' _meta: $ref: '#/components/schemas/_meta' _periodUrls: $ref: '#/components/schemas/_periodUrls' periodUrls: $ref: '#/components/schemas/_periodUrls' currentPeriod: $ref: '#/components/schemas/currentPeriod' 400: description: Bad Request. 401: description: Unauthorized request. 403: description: Unauthorized request. 500: description: Server Error. /experienced/index: get: tags: - MdWidgets summary: Список годовщин по стажу в компании operationId: /experienced/index parameters: - $ref: '#/components/parameters/boardDepartmentId' - $ref: '#/components/parameters/userListKey' - $ref: '#/components/parameters/boardWithFavorites' - $ref: '#/components/parameters/boardDateTypeParam' - $ref: '#/components/parameters/boardDateDayParam' - $ref: '#/components/parameters/boardDateWeekParam' - $ref: '#/components/parameters/boardDateMonthParam' - $ref: '#/components/parameters/boardDateYearParam' responses: 200: description: MdWidget Items. content: application/json: schema: properties: success: description: Result status. type: boolean example: true message: description: Message displayed to user (localized). type: string default: null example: '' errors: description: Array of validation errors. type: array default: null data: type: array items: type: object allOf: - $ref: '#/components/schemas/mdWidgetUserItem' - type: object properties: itemDate: description: Work anniversary date type: string format: date example: 18 july data: type: object properties: date: description: Work anniversary date type: string format: date example: 18 july experience: description: Number of years of experience type: string format: date example: 18 july experienceFormat: description: Number of years of experience formatted type: string format: date example: 2 year _links: $ref: '#/components/schemas/_links' _meta: $ref: '#/components/schemas/_meta' _periodUrls: $ref: '#/components/schemas/_periodUrls' periodUrls: $ref: '#/components/schemas/_periodUrls' currentPeriod: $ref: '#/components/schemas/currentPeriod' 400: description: Bad Request. 401: description: Unauthorized request. 403: description: Unauthorized request. 500: description: Server Error. /timezone/index: get: tags: - timezone summary: Timezone index. operationId: /timezone/index parameters: - name: id in: query description: Идентификатор schema: type: string example: Africa - name: name in: query description: Название schema: type: string example: Москва responses: 200: description: Timezone objects. content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/timezone' _links: $ref: '#/components/schemas/_links' _meta: $ref: '#/components/schemas/_meta' 400: description: Bad Request. 401: description: Unauthorized. 403: description: Unauthorized. 404: description: Not found. 500: description: Server Error. /tag/index: get: tags: - tag summary: Список тегов description: | Возвращает список тегов по указанным фильтрам. Если передан один из параметров (root_id, category_id, use_category_recursion) то будут выбраны только те теги которые используются в элементах текущего каталога с проверкой прав на просмотр этих элементов для пользователя. Данный функционал работает с каталогами страниц, обучений и процессов. operationId: /tag/index parameters: - name: id in: query description: Можно передать несколько id, разделенных запятыми. schema: type: string format: uuid example: "0b6a186a-95b8-4c89-8e69-6b49f12d1474" - name: name in: query description: Название schema: type: string example: Tag 1 - name: entity_id in: query schema: type: number enum: - 50 - 100 - 300 - 375 - 500 - 550 description: > Entity ID - Идентификатор сущности. Можно передать несколько идентификаторов, разделенных запятыми. * `50` - Category (Категории) * `100` - Article (Новости/Страницы) * `300` - LmsContent (Обучения) * `375` - Book (Книги) * `500` - WfWorkflow (Процессы) * `550` - Training (Тренинги) - name: root_id in: query description: > Category Root ID - Тип каталога * `1` - Каталог страниц * `2` - Каталог обучения * `4` - Каталог процессов schema: type: number enum: - 1 - 2 - 3 - name: category_id in: query description: Идентификатор категории каталога, с которой начать выбор тегов schema: type: string format: uuid example: "0b6a186a-95b8-4c89-8e69-6b49f12d1474" - name: use_category_recursion in: query description: Если true - то теги будут выбраны для всех вложенных категорий, начиная с указанного Category_id, в ином случае будут показаны теги только для Category_id schema: type: boolean format: true - name: sort description: Сортировка тегов in: query schema: type: string enum: - name - name: per-page in: query description: Сколько элементов возвращается на одной странице (по умолчанию 50). schema: type: string - name: page in: query description: Текущая страница schema: type: string responses: 200: description: Timezone objects. content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/tag' _links: $ref: '#/components/schemas/_links' _meta: $ref: '#/components/schemas/_meta' 400: description: Bad Request. 401: description: Unauthorized. 403: description: Unauthorized. 404: description: Not found. 500: description: Server Error. /tag/items: get: tags: - tag summary: Список тегов description: | Возвращает список тегов по указанным фильтрам. Если передан один из параметров (root_id, category_id, use_category_recursion) то будут выбраны только те теги которые используются в элементах текущего каталога с проверкой прав на просмотр этих элементов для пользователя. Данный функционал работает с каталогами страниц, обучений и процессов. operationId: /tag/items parameters: - name: id in: query description: Можно передать несколько id, разделенных запятыми. schema: type: string format: uuid example: "0b6a186a-95b8-4c89-8e69-6b49f12d1474" - name: name in: query description: Название schema: type: string example: Tag 1 - name: entity_id in: query schema: type: number enum: - 50 - 100 - 300 - 375 - 500 - 550 description: > Entity ID - Идентификатор сущности. Можно передать несколько идентификаторов, разделенных запятыми. * `50` - Category (Категории) * `100` - Article (Новости/Страницы) * `300` - LmsContent (Обучения) * `375` - Book (Книги) * `500` - WfWorkflow (Процессы) * `550` - Training (Тренинги) - name: root_id in: query description: > Category Root ID - Тип каталога * `1` - Каталог страниц * `2` - Каталог обучения * `4` - Каталог процессов schema: type: number enum: - 1 - 2 - 3 - name: category_id in: query description: Идентификатор категории каталога, с которой начать выбор тегов schema: type: string format: uuid example: "0b6a186a-95b8-4c89-8e69-6b49f12d1474" - name: use_category_recursion in: query description: Если true - то теги будут выбраны для всех вложенных категорий, начиная с указанного Category_id, в ином случае будут показаны теги только для Category_id schema: type: boolean format: true - name: sort description: Сортировка тегов in: query schema: type: string enum: - name - name: per-page in: query description: Сколько элементов возвращается на одной странице (по умолчанию 50). schema: type: string - name: page in: query description: Текущая страница schema: type: string responses: 200: description: Timezone objects. content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/tag' 400: description: Bad Request. 401: description: Unauthorized. 403: description: Unauthorized. 404: description: Not found. 500: description: Server Error. /survey/index: get: tags: - survey summary: Доступные опросы operationId: /survey/index parameters: - name: sort description: Сортировка опросов in: query schema: type: string enum: - name - name: name in: query description: Название schema: type: string - name: type_id in: query description: > Тип опроса, можно перечислять через запятую * `1` - Обычный * `2` - ICSI * `360` - ICSI * `6` - Обратная связь schema: type: number enum: - 1 - 2 - 360 - 6 - name: survey_status_id in: query description: > Статус опроса, можно перечислять через запятую * `1` - Завершен * `2` - Запущен schema: type: number enum: - 1 - 2 responses: 200: content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/survey' _links: $ref: '#/components/schemas/_links' _meta: $ref: '#/components/schemas/_meta' 400: description: Bad Request. 401: description: Unauthorized. 403: description: Unauthorized. 404: description: Not found. 500: description: Server Error. /survey-assignment/index: get: tags: - survey summary: Назначенные опросы operationId: /survey-assignment/index parameters: - name: sort description: Сортировка назначений in: query schema: type: string enum: - survey.name - survey.available_date - surveyTarget - created_at - finished_at - started_at - name: survey_name in: query description: Название опроса schema: type: string - name: type_id in: query description: > Тип назначения * `1` - Вручную * `2` - Самоназначение schema: type: number enum: - 1 - 3 - name: survey_type_id in: query description: > Тип опроса, можно перечислять через запятую * `1` - Обычный * `2` - ICSI * `360` - ICSI * `6` - Обратная связь schema: type: string enum: - 1 - 2 - 360 - 6 - name: survey_assignment_status_id in: query description: > Статус прохождения опроса, можно перечислять через запятую * `1` - Завершен * `2` - Не пройден" * `3` - В процессе" schema: type: number enum: - 1 - 2 - 3 - name: survey_target_user_id in: query description: "Id пользователя на которого запущен опрос" schema: type: string format: uuid - name: allow in: query description: "Доступные для прохождения назначенные опросы" schema: type: boolean format: integer - name: is_finished in: query description: "Завершенные прохождения" schema: type: boolean format: integer responses: 200: content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/surveyAssignment' _links: $ref: '#/components/schemas/_links' _meta: $ref: '#/components/schemas/_meta' 400: description: Bad Request. 401: description: Unauthorized. 403: description: Unauthorized. 404: description: Not found. 500: description: Server Error. /survey-assignment/set-anonymous: post: tags: - survey summary: Смена анонимности в назначенном опросе. Можно менять если в survey.is_choice_anonymous = true operationId: /survey-assignment/set-anonymous parameters: - name: id in: query description: id назначения schema: type: string format: uuid requestBody: required: true content: application/json: schema: type: boolean responses: 200: content: application/json: schema: type: object properties: success: description: Result status. type: boolean example: true message: type: object default: null properties: type: string text: string errors: description: Array of validation errors. type: array default: null data: type: object 400: description: Bad Request. 401: description: Unauthorized. 403: description: Forbidden. 404: description: Not found. 500: description: Server Error. /survey-report/360: get: tags: - survey summary: Список отчетов 360 operationId: /survey-report/360 responses: 200: content: application/json: schema: type: object properties: data: type: array items: type: object properties: id: type: string format: uuid cabinetReport360Url: type: string description: "Ссылка для просмотра отчета" survey: type: object properties: id: type: string format: uuid name: type: string default: "Main survey" description: "Название" available_date: type: string format: date_time description: "Дата доступа" deadline_at: type: string format: date_time description: "Дата дедлайна" _links: $ref: '#/components/schemas/_links' _meta: $ref: '#/components/schemas/_meta' 400: description: Bad Request. 401: description: Unauthorized. 403: description: Unauthorized. 404: description: Not found. 500: description: Server Error. /instruction/index: get: tags: - Instruction summary: Ссылки на инструкции parameters: - name: langId description: "Id языка локализации. При отсутствии параметра будет использоваться langId пользователя" in: query schema: type: string responses: 200: description: "Ключи иструкций со ссылками" content: application/json: schema: type: object properties: data: type: array items: type: object properties: key: type: string description: "Ключ иструкции" value: type: string format: link description: "Ссылка на инструкцию" _links: $ref: '#/components/schemas/_links' _meta: $ref: '#/components/schemas/_meta' 400: description: Bad Request. 401: description: Unauthorized request. 403: description: Unauthorized request. /instruction/view/{key}: get: tags: - Instruction summary: Ссылка на иструкцию по ключу parameters: - name: key description: "Ключ ссылки на инструкцию. В большинстве случаев соответствует пути в web-версии, напр /core/user/view -> CoreUserView" in: path schema: type: string responses: 200: description: Ключи иструкции со ссылкой content: application/json: schema: type: object properties: key: type: string description: "Ключ иструкции" value: type: string format: link description: "Ссылка на инструкцию" 400: description: Bad Request. 401: description: Unauthorized request. 403: description: Unauthorized request. /goal/my: get: tags: - goal summary: Список целей пользователя parameters: - $ref: '#/components/parameters/title' - $ref: '#/components/parameters/goalIntervalTypeId' - $ref: '#/components/parameters/goalStatusId' - $ref: '#/components/parameters/goalDate' - $ref: '#/components/parameters/goalMonth' - $ref: '#/components/parameters/goalQuarter' - $ref: '#/components/parameters/goalYear' - $ref: '#/components/parameters/noRemoved' - $ref: '#/components/parameters/noDraft' - $ref: '#/components/parameters/goalParentId' responses: $ref: '#/components/responses/GoalActionResponse' /goal/supervise: get: tags: - goal summary: Курируемые цели пользователя parameters: - $ref: '#/components/parameters/title' - $ref: '#/components/parameters/goalStatusId' - $ref: '#/components/parameters/goalIntervalTypeId' - $ref: '#/components/parameters/goalDate' - $ref: '#/components/parameters/goalMonth' - $ref: '#/components/parameters/goalQuarter' - $ref: '#/components/parameters/goalYear' - $ref: '#/components/parameters/goalYear' - $ref: '#/components/parameters/noRemoved' - $ref: '#/components/parameters/noDraft' - $ref: '#/components/parameters/goalParentId' responses: $ref: '#/components/responses/GoalActionResponse' /goal/archive: get: tags: - goal summary: Архив целей пользователя parameters: - $ref: '#/components/parameters/title' - $ref: '#/components/parameters/goalStatusId' - $ref: '#/components/parameters/goalDate' - $ref: '#/components/parameters/goalMonth' - $ref: '#/components/parameters/goalQuarter' - $ref: '#/components/parameters/goalYear' - $ref: '#/components/parameters/noRemoved' - $ref: '#/components/parameters/noDraft' - $ref: '#/components/parameters/goalParentId' - $ref: '#/components/parameters/goalIntervalTypeId' responses: $ref: '#/components/responses/GoalActionResponse' /goal/view: get: tags: - goal summary: Просмотр цели parameters: - name: id in: query schema: type: string responses: 200: description: Список целей content: application/json: schema: type: object properties: data: type: object allOf: - $ref: '#/components/schemas/GoalItem' - type: object properties: content: type: string goalLog: type: object _links: $ref: '#/components/schemas/_links' _meta: $ref: '#/components/schemas/_meta' 400: description: Bad Request. 401: description: Unauthorized. 403: description: Unauthorized. 404: description: Not found. 500: description: Server Error. /goal/edit: post: tags: - goal summary: Создание/редактирование цели operationId: /goal/edit parameters: - name: id in: query description: Goal ID. schema: type: string required: false example: edee4e11-dab5-4aac-93ac-43c379aab6b2 requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/GoalItem' responses: 200: description: Goal object. content: application/json: schema: $ref: '#/components/schemas/GoalItem' 400: description: Bad Request. 401: description: Unauthorized. 403: description: Unauthorized. 404: description: Feedback not found. 500: description: Server Error. /goal/submit: post: tags: - goal summary: Отправить цели на согласование operationId: /goal/submit description: Можно передавать массив целей, обязательным полем является только id. Остальные поля, если указаны, будут использованы для обновления целей перед отправкой на согласование. requestBody: required: true content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/GoalItem' responses: $ref: '#/components/responses/GoalActionResponse' /goal/approve: post: tags: - goal summary: Одобрить цели description: Можно передавать массив целей, обязательным полем является только id. Остальные поля, если указаны, будут использованы для обновления целей перед одобрением цели куратором. operationId: /goal/approve requestBody: required: true content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/GoalItem' responses: $ref: '#/components/responses/GoalActionResponse' /goal/reject: post: tags: - goal summary: Отклонить цели description: Можно передавать массив целей, обязательным полем является только id. Остальные поля, если указаны, будут использованы для обновления целей перед отклонением цели. operationId: /goal/reject requestBody: required: true content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/GoalItem' responses: $ref: '#/components/responses/GoalActionResponse' /goal/finish: post: tags: - goal summary: Завершить цели description: Можно передавать массив целей, обязательным полем является только id. Остальные поля, если указаны, будут использованы для обновления целей перед завершением. operationId: /goal/finish requestBody: required: true content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/GoalItem' responses: $ref: '#/components/responses/GoalActionResponse' /goal/remove: post: tags: - goal summary: Удалить цели operationId: /goal/remove requestBody: required: true content: application/json: schema: type: object properties: id: type: array items: type: string format: uuid responses: $ref: '#/components/responses/GoalActionResponse' /goal/bind: post: tags: - goal summary: Привязать цели operationId: /goal/bind parameters: - name: id in: query description: ID родительской цели schema: type: string required: false example: edee4e11-dab5-4aac-93ac-43c379aab6b2 requestBody: required: true content: application/json: schema: type: object properties: id: type: array items: type: string format: uuid description: Цели которые необходимо привязать responses: $ref: '#/components/responses/GoalActionResponse' /goal/unbind: post: tags: - goal summary: Отвязать цели description: Необходимо передавать id дочерних целей operationId: /goal/unbind requestBody: required: true content: application/json: schema: type: object properties: id: type: array items: type: string format: uuid responses: $ref: '#/components/responses/GoalActionResponse' /goal-report/users: post: tags: - goalReport summary: Отчет по сотрудникам operationId: goalReportUsers requestBody: content: application/json: schema: type: object properties: department_id: description: ID отделов (может быть несколько) type: array items: type: string goal_interval_type_id: $ref: '#/components/parameters/goalIntervalTypeId' period_goal_date: type: array items: type: string format: date minItems: 2 maxItems: 2 description: Массив из двух дат, начала и конца периода searchInAllSubDepartments: type: integer enum: [ 0, 1 ] description: Поиск по всем вложенным отделам user_id: type: array items: type: string format: uuid description: Сотрудник, можно список через запятую type: type: string enum: [ result, rating ] description: Переод отчета period: type: string enum: [ month, quarter, half_year, year ] description: Переод отчета responses: 200: description: Успешный ответ с отчётом по сотрудникам content: application/json: schema: type: object properties: params: type: object description: Параметры отчета properties: years: type: array items: type: integer description: Список лет, по которым строится отчет period: type: string description: Периодичность отчета (например, "month") periods: type: object description: Сопоставление номера периода с названием (локализованным) additionalProperties: type: string data: type: array description: Список сотрудников с отчетными данными items: type: object properties: user: type: object description: Информация о сотруднике properties: id: type: string format: uuid description: Идентификатор сотрудника name: type: string description: Полное имя сотрудника faceUrl: type: string years: type: object description: Данные по годам additionalProperties: type: object properties: periods: type: object description: Отчетные данные по периодам внутри года additionalProperties: type: object properties: scaled: type: string scaledString: type: string count: type: integer description: Количество целей _meta: $ref: '#/components/schemas/_meta' 422: description: Bad Request 403: description: Unauthorized 500: description: Server Error /goal-report/tree: get: tags: - goalReport summary: Отчет по целям "Дерево целей" operationId: goalReportTree parameters: - $ref: '#/components/parameters/goalStatusId' - $ref: '#/components/parameters/goalIntervalTypeId' - $ref: '#/components/parameters/goalYear' - $ref: '#/components/parameters/goalMonth' - $ref: '#/components/parameters/goalQuarter' - $ref: '#/components/parameters/title' - name: user_id in: query schema: type: string example: 9f7063d1-959e-4c32-b186-313576375739 description: ID сотрудников "Чья цель", можно перечислять через запятую - name: supervisor_id in: query schema: type: string example: 9f7063d1-959e-4c32-b186-313576375739 description: ID сотрудников "Куратор", можно перечислять через запятую responses: 200: description: Описание content: application/json: schema: $ref: '#/components/responses/GoalActionResponse' 422: description: Bad Request 403: description: Unauthorized 500: description: Server Error /enum/document-type: get: tags: - kedo summary: Тип документа operationId: /enum/document-type responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/typeIdString' 401: description: Unauthorized 403: description: Unauthorized 500: description: Server Error /enum/sign-request-slot-type: get: tags: - kedo summary: Тип слота operationId: /enum/sign-request-slot-type responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/typeIdInteger' 401: description: Unauthorized 403: description: Unauthorized 500: description: Server Error /enum/sign-request-status: get: tags: - kedo summary: Статус запроса на подпись документа operationId: /enum/sign-request-status responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/status' 401: description: Unauthorized 403: description: Unauthorized 500: description: Server Error /document/index: get: tags: - kedo summary: Список запросов на подпись документа для текущего пользователя operationId: /document/index parameters: - name: id in: query description: Идентификатор запроса на подпись. Можно передать несколько идентификаторов разделенные запятой. schema: type: string format: uuid example: edee4e11-dab5-4aac-93ac-43c379aab6b2 - name: created_at in: query description: Дата создания schema: type: string example: 2025-01-01|2025-01-01 - name: deadline_at in: query description: Дата дедлайна запроса на подпись schema: type: string example: 2025-01-01|2025-01-01 - name: cancelled_at in: query description: Дата отмены запроса на подпись schema: type: string example: 2025-01-01|2025-01-01 - name: sign_request_status_id in: query description: Статус запроса на подпись. Можно передать несколько идентификаторов разделенные запятой. schema: type: string example: '1' - name: org_employment_file_type_id in: query description: Тип документа. Можно передать несколько идентификаторов разделенные запятой. schema: type: string example: example responses: 200: description: OK content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/kedoDocumentIndex' _links: $ref: '#/components/schemas/_links' _meta: $ref: '#/components/schemas/_meta' 400: description: Bad Request 401: description: Unauthorized 403: description: Unauthorized 500: description: Server Error /document/view: get: tags: - kedo summary: Запрос на подпись документа operationId: /document/view parameters: - name: id in: query description: Идентификатор запроса на подпись schema: type: string required: true example: edee4e11-dab5-4aac-93ac-43c379aab6b2 responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/kedoDocumentView' 400: description: Bad Request 401: description: Unauthorized 403: description: Unauthorized 404: description: Not found 500: description: Server Error /sign-request/create: post: tags: - kedo summary: Создание запроса на подпись документа operationId: /sign-request/create requestBody: required: true content: application/json: schema: type: array items: $ref: '#/components/schemas/kedoSignRequestCreateRequestBody' responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/kedoSignRequestCreateResponse' 401: description: Unauthorized 500: description: Server Error /sign-request/cancel: post: tags: - kedo summary: Отмена запроса на подпись документа operationId: /sign-request/cancel requestBody: required: true content: application/json: schema: type: array items: $ref: '#/components/schemas/kedoSignRequestCancelRequestBody' responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/kedoSignRequestCancelResponse' 401: description: Unauthorized 403: description: Forbidden 404: description: Not found 500: description: Server Error /instance/index: get: tags: - kedo summary: Список экземпляров на подпись документа operationId: /instance/index parameters: - name: kedo_document_id in: query description: Идентификатор запроса на подпись required: true schema: type: string format: uuid example: edee4e11-dab5-4aac-93ac-43c379aab6b2 responses: 200: description: OK content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/kedoInstanceIndex' _links: $ref: '#/components/schemas/_links' _meta: $ref: '#/components/schemas/_meta' 400: description: Bad Request 401: description: Unauthorized 403: description: Forbidden 500: description: Server Error /instance/view: get: tags: - kedo summary: Просмотр экземпляра на подпись документа operationId: /instance/view parameters: - name: id in: query description: Идентификатор экземпляра required: true schema: type: string format: uuid example: edee4e11-dab5-4aac-93ac-43c379aab6b2 responses: 200: description: OK content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/kedoInstanceView' 400: description: Bad Request 401: description: Unauthorized 403: description: Forbidden 404: description: Not found 500: description: Server Error /instance/sign: post: tags: - kedo summary: Подписание документа operationId: /instance/sign requestBody: required: true content: application/json: schema: type: array items: $ref: '#/components/schemas/kedoInstanceSignRequestBody' responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/kedoInstanceSignResponse' 401: description: Unauthorized 403: description: Forbidden 404: description: Not found 500: description: Server Error /instance/reject: post: tags: - kedo summary: Отклонить подписание документа operationId: /instance/reject requestBody: required: true content: application/json: schema: type: array items: $ref: '#/components/schemas/kedoInstanceRejectRequestBody' responses: 200: description: OK content: application/json: schema: $ref: '#/components/schemas/kedoInstanceRejectResponse' 401: description: Unauthorized 403: description: Forbidden 404: description: Not found 500: description: Server Error /instance/download-sign: get: tags: - kedo summary: Скачать подпись *.p7s operationId: /instance/download-sign parameters: - name: id in: query description: Идентификатор экземпляра required: true schema: type: string format: uuid example: edee4e11-dab5-4aac-93ac-43c379aab6b2 responses: 200: description: OK content: application/pkcs7-signature: schema: type: string format: binary 400: description: Bad Request 401: description: Unauthorized 403: description: Forbidden 404: description: Not found 500: description: Server Error /instance/stamp: get: tags: - kedo summary: Скачать штамп подписи operationId: /instance/stamp parameters: - name: id in: query description: Идентификатор экземпляра required: true schema: type: string format: uuid example: edee4e11-dab5-4aac-93ac-43c379aab6b2 responses: 200: description: OK content: image/png: schema: type: string format: binary 400: description: Bad Request 401: description: Unauthorized 404: description: Not found 500: description: Server Error components: securitySchemes: SessionAuth: type: apiKey in: header name: x-hrbox-session-id description: "Авторизация с использованием сессии. Требуемые заголовки: x-hrbox-tenant-id, x-hrbox-device-id, x-hrbox-session-id, x-hrbox-session-code, x-hrbox-embed." ApiKeyAuth: type: apiKey in: header name: X-Hrbox-Client-Id description: "Авторизация с использованием API-ключа. Требуемые заголовки: Content-Type, X-Hrbox-Client-Id, X-Hrbox-Client-Secret." schemas: httpJsonResponse: type: object properties: success: description: Result status. type: boolean example: true data: type: object description: Response data errors: type: array items: type: string description: Array of validation errors message: description: Message displayed to user (localized). type: array nullable: true example: '' dataProviderResponse: type: object properties: data: type: object description: Response data _links: $ref: '#/components/schemas/_links' _meta: $ref: '#/components/schemas/_meta' _meta: type: object properties: totalCount: description: Total rows count in database. type: integer example: 1 pageCount: description: How much pages there are with current perPage value. type: integer example: 1 currentPage: description: Current page number. type: integer default: 1 perPage: description: Rows per page. type: integer default: 10 _links: type: object properties: self: description: Link to current page. Always available, even if there is no data. type: object properties: href: type: string first: description: Link to first page. Available when data is available. type: object properties: href: type: string last: description: Link to last page. Available when data is available. type: object properties: href: type: string next: description: Link to next page. Available when there is more than one page of data. type: object properties: href: type: string _periodUrls: type: object properties: currentDate: description: Link to current period. type: object properties: href: type: string nextDate: description: Link to next period. type: object properties: href: type: string prevDate: description: Link to prev period. type: object properties: href: type: string currentPeriod: type: string description: Выбранный период дат в текстовом формате, с учётом локализации example: "07.04.25 - 13.04.25" WorkflowCategory: type: object properties: id: type: string example: 5a0c5bb0-200a-4310-a273-ff7f6dc82491 name: type: string example: Тест brief: type: string nullable: true example: null imageUrl: type: string example: http://hr.lh/img/noarticle.png Workflow: type: object properties: id: type: string example: e0a0c30f-2da0-450b-9522-5a4d81f222f0 name: type: string example: Новый процесс brief: type: string example: "" imageUrl: type: string example: http://hr.lh/img/nophoto.png feedbackTotalScore: type: number example: 0 feedbackTotalCount: type: number example: 0 WorkflowField: type: object properties: id: type: string example: f1e2972e-4655-4f93-bb54-733df3ddbc83 type: type: string example: text name: type: string example: Текст required: type: boolean example: true values: type: array items: type: string nullable: true defaultValue: type: string nullable: true example: null arrayOfIds: type: object properties: id: description: Array of IDs. type: array items: type: string example: - '53f2d03c-303a-4a3c-b57f-f7fb62fee538' - '42862a16-affa-4ba5-86c5-61376f46d695' typeIdInteger: description: Types with integer ID type: array items: description: Types list type: object properties: id: description: Type ID type: integer example: 1 name: description: Type name (localized) type: string example: Type name typeIdString: description: Types with string ID type: array items: description: Types list type: object properties: id: description: Type ID type: string example: example name: description: Type name (localized) type: string example: Type name status: description: Status type: array items: description: Statuses list type: object properties: id: description: Status ID type: integer example: 1 name: description: Status name (localized) type: string example: Status name userInfo: description: User info type: object properties: id: description: User ID type: string format: uuid example: a91fe4d9-b486-4e94-9114-18589aad7c7e name: description: User's full name type: string example: FirstName LastName iconUrl: description: User profile face image URL type: string example: https://hrenot.hrbox.io/file/user-face/e2668a74-d171-4d47-b68f-9eb7e7d4e120/300.jpg fileObject: type: object properties: id: description: File ID type: string format: uuid example: 96cf98ed-2762-4f6b-9a5b-3eca76c56477 url: description: File URL type: string example: https://hrenot.hrbox.io/file/open/96cf98ed-2762-4f6b-9a5b-3eca76c56477.jpg file_ype: description: File type type: string enum: - image - video - document - archive - other - encrypted example: image ext: description: File extension type: string example: jpg name: description: File name type: string example: image.jpg file: description: Attached file $ref: '#/components/schemas/fileObject' files: description: Attached files type: array items: $ref: '#/components/schemas/fileObject' responseObject: type: object properties: success: description: Result status type: boolean example: true message: description: Message displayed to user (localized) type: string default: null example: Example text errors: description: Array of validation errors type: array default: null data: description: Model data type: object default: null accountSecret: type: object properties: userId: type: string format: uuid secret: type: string format: uuid tenantId: type: integer format: int64 default: 101 xml: name: accountSecret tenantInfo: type: object properties: tenantId: type: integer format: int64 example: 2 tenantName: type: string example: HRBOX demo supportEmail: type: string example: help@hrbox.io domain: type: string example: demo.hrbox.io endpoint: type: string example: https://demo.hrbox.io/api/v2 authAdditional: description: Дополнительная авторизация (пин/биометрия) для мобильного приложения type: boolean example: true primaryColor: type: string example: "#08D8D2" brandColor: type: string example: "#FF0000" logoUrl: type: string example: https://demo.hrbox.io/file/resize/600x0/f2a84060-d386-4c5f-9290-e3af1ede6334.png logoSqUrl: type: string example: https://demo.hrbox.io/file/resize/60x60/f9b0986b-5bd6-4923-8242-a810a20e7918.png style: type: object properties: colorPrimary: description: Основной цвет type: string example: "#08D8D2" colorBrand: description: Цвет шапки type: string example: "#FFFFFF" colorBrand2: description: Цвет меню type: string example: "#08D8D2" colorAccent: description: Акцент type: string example: "#FFDD5C" colorBrandText: description: Цвет текста шапки type: string example: "#151B30" colorBrand2Text: description: Цвет текста меню type: string example: "#FFFFFF" colorAccentText: description: Текст на акценте type: string example: "#FFFFFF" logoOnLoginId: type: string example: logoId: type: string example: f2a84060-d386-4c5f-9290-e3af1ede6334.png logoSquareId: type: string example: f9b0986b-5bd6-4923-8242-a810a20e7918.png imagePlaceholderId: type: string example: 61e7ef28-f8ba-4c23-bc7c-80a0a792c10e.png language: type: string example: ru timezone: type: string example: Europe/Moscow modules: type: object properties: currency: $ref: '#/components/schemas/tenantInfoModuleCurrency' userStatus: $ref: '#/components/schemas/tenantInfoModuleUserStatus' idea: $ref: '#/components/schemas/tenantInfoModuleIdea' shop: $ref: '#/components/schemas/tenantInfoModuleShop' xml: name: tenantInfo userProfile: type: object properties: id: type: string format: uuid name: type: string default: "Chintan Rana" first_name: type: string default: "Chintan" last_name: type: string default: "Rana" middle_name: type: string default: null faceUrl: type: string default: "https://pentest.hrbox.io/file/user-face/46f838be-1b51-43ea-988e-fce2f73f6302/300.jpg" iconUrl: type: string default: "https://pentest.hrbox.io/file/user-face/46f838be-1b51-43ea-988e-fce2f73f6302/60.jpg" reg_status_id: type: integer default: 3 gender_id: type: integer default: 1 country_id: type: string default: "ru" timezone_id: type: string default: "Europe/Moscow" city_id: type: string default: "BBDAEADC-FCCA-ABCB-AEFE-FBDCEAFAAEDB" isBoss: type: boolean default: false is_external: type: boolean default: false birthdayDate: type: string default: "29 of May" cityName: type: string default: "Moscow" region: type: string default: "Arizona" office: type: string default: "106a" description: Office number employment: $ref: '#/components/schemas/employment' employments: type: array items: $ref: '#/components/schemas/employment' emails: type: array items: $ref: '#/components/schemas/contact' phones: type: array items: $ref: '#/components/schemas/contact' messengers: type: array items: $ref: '#/components/schemas/contact' achievements: type: array items: $ref: '#/components/schemas/achievement' userDuties: type: array items: $ref: '#/components/schemas/userDuty' userGroupsVisible: type: array items: $ref: '#/components/schemas/userGroup' structureItem: type: object properties: type: type: string enum: - department - user id: type: string format: uuid name: type: string default: "Name of department or user" isOrganization: type: boolean description: Shows is it an organization or department. isBoss: type: boolean default: false description: For user only iconUrl: type: string default: "https://pentest.hrbox.io/file/resize/60x0/299c6542-c541-4296-a528-90f08d835b8b.png" description: User's face image url position: type: string description: User's employment position employmentsCount: type: integer default: 0 description: Amount of employees in department empty: type: boolean default: false description: If department is empty catalogItem: type: object properties: entity: type: string description: Tells whether its category or article enum: - category - article id: type: string format: uuid title: type: string url: type: string description: type: string thumbUrl: type: string description: Thumbnail image url status_id: type: integer description: 1 - Active, 2 - Disabled, 3 - Deleted default: 1 enum: - 1 - 2 - 3 thumb_style_id: type: integer description: Type of thumb 1 - image + picture, 2 - text only, 3 - image only (square image) default: 1 enum: - 1 - 2 - 3 tags: type: array items: $ref: '#/components/schemas/tag' calendarEventType: type: object properties: id: type: string example: "ebe2bc69-b451-4006-8020-cc145eafe60c" name: type: string example: "Тренинг" background_color: type: string example: "#A4D4DE" text_color: type: string example: "#000000" calendarEvent: type: object properties: id: type: string format: uuid parent_id: type: string format: uuid title: type: string description: type: string content: type: object image_id: type: string format: uuid url: type: string entity_id: type: integer reference_id: type: string format: uuid start_date_time: type: string format: 'date-time' end_date_time: type: string format: 'date-time' day_duration: type: integer is_all_day: type: boolean is_recurring: type: boolean freq: type: integer interval: type: integer by_month: type: integer by_monthday: type: array items: type: integer by_day: type: array items: type: integer visible_to: type: array items: type: string format: uuid quantity_place: type: integer quantity_available_place: type: integer calendar_event_user_count: type: integer created_user_id: type: string format: uuid updated_user_id: type: string format: uuid created_at: type: string format: 'date-time' updated_at: type: string format: 'date-time' calendar_event_type_id: type: integer create_bid_deadline_at: type: string format: 'date-time' start_date: type: string format: date end_date: type: string format: date start_time: type: string end_time: type: string start_date_time_localized: type: string end_date_time_localized: type: string created_at_localized: type: string create_bid_deadline_at_localized: type: string rec_date: type: string format: date rec_date_formatted: type: string send_notification_start: type: boolean send_notification_before_start_minutes: type: array items: type: integer duration_seconds: type: integer duration_seconds_formatted: type: string duration_seconds_formatted_data: type: object properties: hours: type: integer minutes: type: integer rrule_string: type: string type_name: type: string is_started: type: boolean is_ended: type: boolean is_ended_text: type: string is_virtual_recurring: type: boolean is_deadline_create_bid: type: boolean url_view: type: string calendarEventUser: type: object properties: id: type: string format: uuid calendar_event_id: type: string format: uuid calendar_event_parent_id: type: string format: uuid user_id: type: string format: uuid status_id: type: integer is_visited: type: boolean where_from_type_id: type: integer calendar_event_rec_date: type: string format: date status_name: type: string is_visited_text: type: string where_from_type_name: type: string calendarEventBid: type: object properties: id: type: string format: uuid calendar_event_id: type: string format: uuid calendar_event_parent_id: type: string format: uuid calendar_event_bid_status_id: type: integer calendar_event_rec_date: type: string format: date user_id: type: string format: uuid status_name: type: string user_name: type: string article: type: object properties: id: type: string format: uuid title: type: string url: type: string imageUrl: type: string description: type: string thumb_style_id: type: integer description: Type of thumb 1 - image + picture, 2 - text only, 3 - image only (square image) default: 1 enum: - 1 - 2 - 3 post_type_id: type: integer description: Post type 2 - only url (redirect to another page), 3 - page with actual content default: 2 enum: - 2 - 3 created_at: type: string format: datetime publish_at: type: string format: datetime description: Date and time from when article available to view by users updated_at: type: string format: datetime status_id: type: integer description: 1 - active, 2 - disabled, 3 - deleted default: 1 enum: - 1 - 2 - 3 likesCount: type: integer viewsCount: type: integer commentsCount: type: integer tags: type: array items: $ref: '#/components/schemas/tag' entityId: description: Entity ID. type: number example: 1 tag: type: object properties: id: type: string format: uuid name: type: string timezone: type: object properties: id: type: string name: type: string contact: type: object properties: value: type: string default: "dev@hrbox.io" description: Email of phone number type: type: string default: "corporate" enum: - corporate - personal readonly: type: boolean default: true notification: type: object properties: id: type: string format: uuid subject: type: string text: type: string params: type: object properties: url: type: string default: "Url that should be opened if user taps on Notification, and there are no any other logic exists for this type of notification" description: Property os optional. Url that should be opened if user taps on Notification, and there are no any other logic exists for this type of notification imageUrl: type: string default: "Property os optional" description: Property is optional notificationTypeId: type: string enum: - user-postcard - two-factor - etc. description: Serverside identifier of notification type. Sme logic can depend on it created_at: type: string format: datetime seen_at: type: string format: datetime description: if not null - notification was viewed by user userPostcard: type: object properties: id: type: string format: uuid user_id: type: string format: uuid postcard_id: type: string format: uuid text: type: string status_id: type: integer description: 1 - active, 2 - disabled, 3 - deleted enum: - 1 - 2 - 3 settings: type: object properties: hide_signature: type: boolean description: Is this postcard anonymous status_view_id: type: integer description: 1 - visible to everyone, 2 - visible only to recipient enum: - 1 - 2 created_at: type: string format: date senderId: type: string format: uuid? senderName: type: string default: "Alex" senderIconUrl: type: string description: Sender user's face icon imageUrl: description: Postcard's image type: string is_seen: type: boolean description: Did user seen this postcard? userGroup: type: object properties: id: type: string format: uuid name: type: string default: Managers description: type: string default: "All the managers" iconUrl: type: string default: "https://pentest.hrbox.io/file/resize/60x0/299c6542-c541-4296-a528-90f08d835b8b.png" thumbUrl: type: string default: "https://pentest.hrbox.io/file/resize/400x0/299c6542-c541-4296-a528-90f08d835b8b.png" userDuty: type: object properties: id: type: string format: uuid duty_id: type: string default: uuid duty: type: object properties: name: type: string achievement: type: object properties: id: type: string format: uuid title: type: string default: Best sales of Year description: type: string default: One who sold most this year imageUrl: type: string default: "https://pentest.hrbox.io/file/resize/400x0/299c6542-c541-4296-a528-90f08d835b8b.png" iconUrl: type: string default: "https://pentest.hrbox.io/file/resize/60x0/299c6542-c541-4296-a528-90f08d835b8b.png" employment: type: object properties: id: type: string format: uuid experience: type: string default: 1 year 2 months position: type: string default: Chief Salesman department: $ref: '#/components/schemas/departmentLabel' chiefUser: $ref: '#/components/schemas/userLabel' fullEmployment: type: object allOf: - $ref: '#/components/schemas/employment' - type: object properties: is_main: description: Is main employment type: boolean example: true employment_date: type: string format: date fired_date: type: string format: date status_id: type: integer description: 1 - active, 2 - disabled, 3 - deleted example: 1 created_at: type: string format: date departmentLabel: type: object properties: id: type: string format: uuid name: type: string default: Marketing departmentPath: type: string default: "Company / Sales / Marketing" userLabel: type: object properties: id: type: string format: uuid name: type: string default: Alex faceUrl: type: string default: "https://pentest.hrbox.io/file/user-face/46f838be-1b51-43ea-988e-fce2f73f6302/300.jpg" iconUrl: type: string default: "https://pentest.hrbox.io/file/user-face/46f838be-1b51-43ea-988e-fce2f73f6302/60.jpg" device: type: object properties: id: type: string format: uuid name: type: string default: Alex's iPhone model: type: string default: iPhone os: type: string default: iOS osVersion: type: string default: 14.0.1 xml: name: device profileBrief: type: object properties: userId: type: string format: uuid name: type: string position: type: string experience: type: string departmentName: type: string photoUrl: type: string faceUrl: type: string iconUrl: type: string statusText: type: string statusTypes: type: array items: $ref: '#/components/schemas/profileStatusType' xml: name: profileBrief profileStatusType: type: object properties: id: type: string label: type: string enabled: type: boolean xml: name: item dashboardWidget: type: object properties: ref: type: string label: type: string url: type: string totalCount: type: integer format: int64 items: type: array items: $ref: '#/components/schemas/dashboardWidgetItem' xml: name: widgetId dashboardWidgetItem: type: object properties: id: type: string format: uuid itemTitle: type: string itemUrl: type: string itemImageUrl: type: string itemDate: type: string format: datetime itemTip: type: string itemEntityId: type: integer format: int64 actorId: type: string format: uuid actorName: type: string actorIconUrl: type: string actionTitle: type: string actionStyle: type: string description: define color enum: - info - success - warning - danger xml: name: item feedback: type: object properties: id: description: Feedback model ID. type: string format: uuid user_id: description: User model ID. type: string format: uuid default: null department_id: description: Department model ID. type: string format: uuid default: null score: description: Feedback score. type: integer example: 5 text: description: Feedback text. type: string example: Example text. is_anonymous: description: Anonymous feedback. type: boolean example: false default: false user_name: description: The user name to which the feedback was left. type: string default: "" department_name: description: The department name to which the feedback was left. type: string default: "" created_user_name: description: The name of the user who left the feedback if it was not anonymous. type: string moderation: type: object properties: id: description: Moderation ID. type: string format: uuid example: edee4e11-dab5-4aac-93ac-43c379aab6b2 requested_user_id: description: Requested user ID. type: string format: uuid example: 08d50be6-81ca-436f-9aef-c1a5a74bad36 moderated_user_id: description: Moderator user ID. type: string format: uuid default: null example: 1c95f8ec-d971-4554-8b77-d5ab1dd8d650 status_id: description: > Moderation status: * `0` - Wait for moderation (NOT_MODERATED) * `1` - Moderation accepted (ACCEPT) * `2` - Moderation rejected (REJECT) type: integer enum: - 0 - 1 - 2 example: 1 reference_id: description: Reference model ID. type: string format: uuid example: 660519c7-c8a7-4421-a1e2-4eed4074a868 entity_id: description: > Entity ID: * `20` - User * `118` - Postcard * `140` - Comment * `360` - Idea * `152` - Voting nominee type: integer enum: - 20 - 118 - 140 - 360 - 152 example: 20 type_id: description: > Moderation types: * `USER_AVATAR` - Change user profile photo. Fields - photo_file_id, settings. * `USER_POSTCARD` - Send postcard. Fields - text, user_id, postcard_id. * `COMMENT` - Add comment. Fields - message, content_json. * `IDEA` - Idea suggestion. Fields - idea_purpose_id, department_id, title, description, files. * `VOTING_NOMINEE` - Image participating in the voting. Fields - file_id, nomination_id, title, description. # Временно отключено на портале # * `USER_CABINET` - Change city, cabinet. Fields - city, cabinet. type: string enum: - USER_AVATAR # - USER_CABINET - USER_POSTCARD - COMMENT - IDEA - VOTING_NOMINEE changes: description: One of moderation types. Values of fields that has been changed. type: object oneOf: # USER_AVATAR - properties: photo_file_id: description: Field "photo_file_id" in User model. File model ID. type: string format: uuid example: 37a57294-489b-4a1b-ac5c-a390de5e388d settings: description: Field "settings" in User model. type: object properties: face_coordinates: description: Face coordinates on the user profile image. type: object properties: h: description: Cut height in percent. type: integer example: 86 w: description: Cut width in percent. type: integer example: 57 x: description: X-axis offset in percent. type: integer example: 42 y: description: Y-axis offset in percent. type: integer example: 10 # USER_CABINET # - properties: # cabinet: # description: User cabinet field. # type: string # example: 1a # USER_POSTCARD - properties: text: description: Postcard text. type: string example: Example text. user_id: description: User model ID. type: string format: uuid example: 8768c19d-dae7-43f0-8b51-a86705f33a1b postcard_id: description: Postcard model ID. type: string format: uuid example: e101d3be-ca63-49e0-9c94-a32fefc20c92 # COMMENT - properties: message: description: Field "message" in Comment model. type: string example: Comment text. content_json: description: Field "content_json" in Comment model. Array of File models data. type: array items: type: object properties: id: description: File model ID. type: string format: uuid example: bf052a5e-eb70-4eb9-b3f1-9ea50d751b0e ext: description: File extension. type: string example: jpg fid: description: File model ID with extension. type: string format: uuid example: bf052a5e-eb70-4eb9-b3f1-9ea50d751b0e.jpg meta: description: File meta information. type: object properties: width: description: Image width. type: integer example: 1920 height: description: Image height. type: integer example: 1080 name: description: File name. type: string example: 2023-01-01 01.01.01.jpg size: description: File size in bytes. type: integer example: 109531 fileType: description: File type. type: string enum: - image - video - document - archive - other - encrypted example: image isCommon: description: File is common. type: boolean example: false isPublic: description: File is public. type: boolean example: false mimeType: description: File MIME-Type. type: string example: image/jpeg loadingState: description: File loading state. type: string example: uploaded # IDEA - properties: idea_purpose_id: description: Field "idea_purpose_id" in Idea model. type: string format: uuid example: 941a3ba1-3a5c-46b4-a83f-3a9f700925f6 department_id: description: Department model ID. type: string format: uuid example: e0f5593a-e0c2-44b8-a46e-1b464165f63f title: description: Field "title" in Idea model. type: string example: Idea title example. description: description: Field "description" in Idea model. type: string example: Idea description example. files: description: Field "files" in Idea model. Array of File models data. type: array items: type: object properties: id: description: File model ID. type: string format: uuid example: bf052a5e-eb70-4eb9-b3f1-9ea50d751b0e ext: description: File extension. type: string example: jpg fid: description: File model ID with extension. type: string format: uuid example: bf052a5e-eb70-4eb9-b3f1-9ea50d751b0e.jpg meta: description: File meta information. type: object properties: width: description: Image width. type: integer example: 1920 height: description: Image height. type: integer example: 1080 name: description: File name. type: string example: 2023-01-01 01.01.01.jpg size: description: File size in bytes. type: integer example: 109531 fileType: description: File type. type: string enum: - image - video - document - archive - other - encrypted example: image isCommon: description: File is common. type: boolean example: false isPublic: description: File is public. type: boolean example: false mimeType: description: File MIME-Type. type: string example: image/jpeg loadingState: description: File loading state. type: string example: uploaded # VOTING_NOMINEE - properties: file_id: description: File model ID. type: string format: uuid example: 1daf3810-9f65-4855-a352-3e5da566c69e nomination_id: description: VotingNomination model ID. type: string format: uuid default: null example: 0023648a-bf4b-4ab6-8376-4e91357e626a title: description: Field "title" in VotingNominee model. type: string example: Photo title example. description: description: Field "description" in VotingNominee model. type: string example: Photo description example. created_at: description: Moderation creation date. type: string format: date updated_at: description: Moderation update date. type: string format: date statusName: description: Status name. type: string typeName: description: Type name. type: string formatChanges: description: Model fields that can be changed. Data formatted for use in view files. type: object oneOf: # USER_AVATAR - properties: current_photo_url: description: User profile photo. type: object properties: type: description: Field value type. type: string enum: - string - img - files - html example: img label: description: Field label. type: string example: Profile photo value: description: Field value. type: string example: https://demo.hrbox.io/file/open/faf61bb0-af79-4422-9ebd-da2e92924ce3.jpg url: type: string default: null current_face_url: description: User face on profile photo. type: object properties: type: description: Field value type. type: string enum: - string - img - files - html example: img label: description: Field label. type: string example: Face on profile photo value: description: Field value. type: string example: https://demo.hrbox.io/file/open/f3217a4b-02fd-400e-82c3-47cc7f36cf5f.jpg url: type: string default: null photo_file_id: description: User new profile photo. type: object properties: type: description: Field value type. type: string enum: - string - img - files - html example: img label: description: Field label. type: string example: New profile photo value: description: Field value. type: string example: https://demo.hrbox.io/file/open/37a57294-489b-4a1b-ac5c-a390de5e388d.jpg url: type: string default: null new_face_url: description: New user-selected face in profile photo. Returns null because it is under development. type: object properties: type: description: Field value type. type: string enum: - string - img - files - html example: img label: description: Field label. type: string example: Selected face on photo value: description: Field value. type: string default: null example: https://demo.hrbox.io/file/open/faf61bb0-af79-4422-9ebd-da2e92924ce3.jpg url: type: string default: null settings: description: Face coordinates on the user profile image. type: object properties: type: description: Field value type. type: string enum: - string - img - files - html example: string label: description: Field label. type: string example: Settings value: description: Field value. type: object properties: face_coordinates: description: Face coordinates on the user profile image. type: object properties: h: description: Cut height in percent. type: integer example: 86 w: description: Cut width in percent. type: integer example: 57 x: description: X-axis offset in percent. type: integer example: 42 y: description: Y-axis offset in percent. type: integer example: 10 # USER_CABINET # - properties: # city_id: # description: Field "City". # type: object # properties: # type: # description: Field value type. # type: string # enum: # - string # - img # - files # - html # example: string # label: # description: Field label. # type: string # example: City # value: # description: Field value. # type: string # default: null # url: # type: string # cabinet: # description: Field "Cabinet". # type: object # properties: # type: # description: Field value type. # type: string # enum: # - string # - img # - files # - html # example: string # label: # description: Field label. # type: string # example: Cabinet # value: # description: Field value. # type: string # default: null # example: 1a # url: # type: string # USER_POSTCARD - properties: text: description: Postcard text. type: object properties: type: description: Field value type. type: string enum: - string - img - files - html example: string label: description: Field label. type: string example: Postcard text value: description: Field value. type: string default: null example: Example text. url: type: string user_id: description: User name. type: object properties: type: description: Field value type. type: string enum: - string - img - files - html example: string label: description: Field label. type: string example: User value: description: Field value. type: string example: FirstName LastName url: type: string postcard_id: description: Postcard image. type: object properties: type: description: Field value type. type: string enum: - string - img - files - html example: img label: description: Field label. type: string example: Postcard value: description: Field value. type: string example: https://demo.hrbox.io/file/open/d6f5be76-58fa-4b61-a248-74e10b2b5ed0.jpg url: type: string # COMMENT - properties: subject: description: Comment subject. type: object properties: type: description: Field value type. type: string enum: - string - img - files - html example: string label: description: Field label. type: string example: Subject value: description: Field value. type: string example: News title url: type: string example: https://demo.hrbox.io/read/3379b1ac54/news-title message: description: Comment message. type: object properties: type: description: Field value type. type: string enum: - string - img - files - html example: string label: description: Field label. type: string example: Comment value: description: Field value. type: string example: Comment text. url: type: string content_json: description: Comment attached files. type: object properties: type: description: Field value type. type: string enum: - string - img - files - html example: files label: description: Field label. type: string example: Files value: description: Field value. type: object properties: item: type: object properties: id: description: File model ID. type: string format: uuid example: 3f8d3db4-49da-4880-bfdb-e682f9d4876d url: description: File open URL. type: string example: https://demo.hrbox.io/file/open/3f8d3db4-49da-4880-bfdb-e682f9d4876d.jpg file_type: description: File type. type: string enum: - image - video - document - archive - other - encrypted example: image ext: description: File extension. type: string example: jpg name: description: File name. type: string example: 2023-01-01 01.01.01.jpg url: type: string # IDEA - properties: idea_purpose_id: description: Idea purpose. type: object properties: type: description: Field value type. type: string enum: - string - img - files - html example: string label: description: Field label. type: string example: Purpose value: description: Field value. type: string default: null example: Example purpose url: type: string department_id: description: Department. type: object properties: type: description: Field value type. type: string enum: - string - img - files - html example: string label: description: Field label. type: string example: Department value: description: Field value. type: string default: null example: Example department name url: type: string title: description: Idea title. type: object properties: type: description: Field value type. type: string enum: - string - img - files - html example: string label: description: Field label. type: string example: Title value: description: Field value. type: string example: Example idea title url: type: string description: description: Idea description. type: object properties: type: description: Field value type. type: string enum: - string - img - files - html example: string label: description: Field label. type: string example: Description value: description: Field value. type: string example: Example idea description url: type: string files: description: Idea attached files. type: object properties: type: description: Field value type. type: string enum: - string - img - files - html example: files label: description: Field label. type: string example: Files value: description: Field value. type: object properties: item: type: object properties: id: description: File model ID. type: string format: uuid example: a91fe4d9-b486-4e94-9114-18589aad7c7e url: description: File open URL. type: string example: https://demo.hrbox.io/file/open/a91fe4d9-b486-4e94-9114-18589aad7c7e.jpg file_type: description: File type. type: string enum: - image - video - document - archive - other - encrypted example: image ext: description: File extension. type: string example: jpg name: description: File name. type: string example: 2023-01-01 01.01.01.jpg url: type: string # VOTING_NOMINEE - properties: file_id: description: URL to file. type: object properties: type: description: Field value type. type: string enum: - string - img - files - html example: img label: description: Field label. type: string example: Image value: description: Field value. type: string example: https://demo.hrbox.io/file/resize/0x300/d56554a9-a97d-47d8-bb16-5647166a66de.jpg url: type: string nomination_id: description: Voting nomination. type: object properties: type: description: Field value type. type: string enum: - string - img - files - html example: string label: description: Field label. type: string example: Nomination value: description: Field value. type: string example: Example nomination name url: type: string title: description: Idea title. type: object properties: type: description: Field value type. type: string enum: - string - img - files - html example: string label: description: Field label. type: string example: Title value: description: Field value. type: string example: Example photo title url: type: string description: description: Idea description. type: object properties: type: description: Field value type. type: string enum: - string - img - files - html example: string label: description: Field label. type: string example: Description value: description: Field value. type: string example: Example photo description url: type: string referenceAttributes: description: Reference model attributes. type: object requestedUser: description: Requested user. type: object properties: id: description: Requested user ID. type: string format: uuid iconUrl: description: Requested user ID. type: string name: description: Requested user name. type: string moderatedUser: description: Moderated user. type: object properties: id: description: Moderated user ID. type: string format: uuid iconUrl: description: Moderated user ID. type: string name: description: Moderated user name. type: string tenantInfoModuleIdea: description: Настройки модуля идей. type: object properties: isModuleEnabled: description: Включить сбор идей и запросов. type: boolean example: true isIdeaVotingEnabled: description: Включить голосование за идею. type: boolean example: true isIdeaUnvoteEnabled: description: Разрешить отменять голос за идею. type: boolean example: true isIdeaParticipateEnabled: description: Разрешить присоединяться к реализации идеи. type: boolean example: true isCancelParticipatingEnabled: description: Разрешить отменять предложение о помощи в реализации идеи. type: boolean example: true isIdeaCommentsEnabled: description: Разрешить комментировать идеи. type: boolean example: true tenantInfoModuleShop: description: Настройки модуля корпоративного магазина. type: object properties: isModuleEnabled: description: Модуль корпоративного магазина вкл/выкл. type: boolean example: true default: false isZeroCountProductsVisible: description: Отображать на витрине товары с нулевым количеством. type: boolean example: true default: false isAllowCustomDeliveryAddress: description: Разрешить пользователям указывать собственный адрес доставки. type: boolean example: true default: false ideaStatuses: description: > Список статусов идеи: * `1` - Модерация (STATUS_MODERATION). * `2` - Отклонена модератором (STATUS_REJECTED_MODERATOR). * `3` - Голосование (STATUS_VOTING). * `4` - Отклонена исполнителем (STATUS_REJECTED_MANAGER). * `5` - Отложена (STATUS_POSTPONED). * `6` - В работе (STATUS_REALIZATION). * `7` - Реализована (STATUS_IMPLEMENTED). type: array items: properties: id: description: Идентификатор статуса. type: integer example: 1 name: description: Имя статуса. type: string example: Модерация ideaPurposes: description: Список направлений идеи. type: array items: properties: id: description: Идентификатор направления. type: string format: uuid example: a91fe4d9-b486-4e94-9114-18589aad7c7e name: description: Имя направления. type: string example: Направление ideaIndex: type: object properties: id: description: Идентификатор идеи. type: string format: uuid example: a91fe4d9-b486-4e94-9114-18589aad7c7e created_at: description: Дата создания идеи. type: string format: 'date-time' example: 2023-09-21 18:25:52 updated_at: description: Дата изменения идеи. type: string format: 'date-time' example: 2023-09-21 18:31:56 title: description: Заголовок идеи. type: string example: Idea example title description: description: Описание идеи. type: string example: Idea example description isEditable: # Тут описать когда доступно description: Доступность редактирования идеи для текущего пользователя. type: boolean example: true status: $ref: '#/components/schemas/status' createdUser: $ref: '#/components/schemas/userInfo' performerUser: description: Пользователь исполняющий идею. type: object properties: id: description: Идентификатор пользователя. type: string format: uuid example: a91fe4d9-b486-4e94-9114-18589aad7c7e iconUrl: description: Ссылка на изображение лица профиля пользователя. type: string example: https://hrenot.hrbox.io/file/user-face/e2668a74-d171-4d47-b68f-9eb7e7d4e120/300.jpg name: description: Имя пользователя. type: string example: Иван Иванов purpose: description: Направление идеи. type: object properties: id: description: Идентификатор направления идеи. type: string format: uuid example: a91fe4d9-b486-4e94-9114-18589aad7c7e name: description: Название направления идеи. type: string example: Направление 1 department: description: Подразделение в которое подана идея. type: object properties: id: description: Идентификатор подразделения. type: string format: uuid example: a91fe4d9-b486-4e94-9114-18589aad7c7e name: description: Название подразделения. type: string example: Подразделение 1 viewsCount: description: Количество пользователей просмотревших идею. type: integer example: 1 countVoted: description: Количество пользователей проголосовавших за идею. type: integer example: 1 countParticipate: description: Количество пользователей предложивших помощь в реализации идеи. type: integer example: 1 isAllowVoting: description: Возможность проголосовать за идею для текущего пользователя. type: boolean example: true isAllowParticipate: description: Возможность предложить помощь в реализации идеи для текущего пользователя. type: boolean example: true isCurrentUserVoted: description: Текущий пользователь проголосовал за идею. type: boolean example: false isCurrentUserParticipate: description: Текущий пользователь предложил помощь в реализации идеи. type: boolean example: false entityId: description: Entity ID. type: number example: 1 ideaView: type: object properties: id: description: Идентификатор идеи. type: string format: uuid example: a91fe4d9-b486-4e94-9114-18589aad7c7e created_at: description: Дата создания идеи. type: string format: 'date-time' example: 2023-09-21 18:25:52 updated_at: description: Дата изменения идеи. type: string format: 'date-time' example: 2023-09-21 18:31:56 title: description: Заголовок идеи. type: string example: Idea example title description: description: Описание идеи. type: string example: Idea example description isEditable: # Тут описать когда доступно description: Доступность редактирования идеи для текущего пользователя. type: boolean example: true status: $ref: '#/components/schemas/status' createdUser: $ref: '#/components/schemas/userInfo' performerUser: description: Пользователь исполняющий идею. type: object properties: id: description: Идентификатор пользователя. type: string format: uuid example: a91fe4d9-b486-4e94-9114-18589aad7c7e iconUrl: description: Ссылка на изображение лица профиля пользователя. type: string example: https://hrenot.hrbox.io/file/user-face/e2668a74-d171-4d47-b68f-9eb7e7d4e120/300.jpg name: description: Имя пользователя. type: string example: Иван Иванов purpose: description: Направление идеи. type: object properties: id: description: Идентификатор направления идеи. type: string format: uuid example: a91fe4d9-b486-4e94-9114-18589aad7c7e name: description: Название направления идеи. type: string example: Направление 1 department: description: Подразделение в которое подана идея. type: object properties: id: description: Идентификатор подразделения. type: string format: uuid example: a91fe4d9-b486-4e94-9114-18589aad7c7e name: description: Название подразделения. type: string example: Подразделение 1 viewsCount: description: Количество пользователей просмотревших идею. type: integer example: 1 countVoted: description: Количество пользователей проголосовавших за идею. type: integer example: 1 countParticipate: description: Количество пользователей предложивших помощь в реализации идеи. type: integer example: 1 usersVoted: description: Список пользователей проголосовавших за идею. type: array items: properties: id: description: Идентификатор пользователя. type: string format: uuid example: a91fe4d9-b486-4e94-9114-18589aad7c7e iconUrl: description: Ссылка на изображение лица профиля пользователя. type: string example: https://hrenot.hrbox.io/file/user-face/e2668a74-d171-4d47-b68f-9eb7e7d4e120/300.jpg name: description: Имя пользователя. type: string example: Иван Иванов usersParticipate: description: Список пользователей предложивших помощь в реализации идеи. type: array items: properties: id: description: Идентификатор пользователя. type: string format: uuid example: a91fe4d9-b486-4e94-9114-18589aad7c7e iconUrl: description: Ссылка на изображение лица профиля пользователя. type: string example: https://hrenot.hrbox.io/file/user-face/e2668a74-d171-4d47-b68f-9eb7e7d4e120/300.jpg name: description: Имя пользователя. type: string example: Иван Иванов isAllowVoting: description: Возможность проголосовать за идею для текущего пользователя. type: boolean example: true isAllowParticipate: description: Возможность предложить помощь в реализации идеи для текущего пользователя. type: boolean example: true isCurrentUserVoted: description: Текущий пользователь проголосовал за идею. type: boolean example: false isCurrentUserParticipate: description: Текущий пользователь предложил помощь в реализации идеи. type: boolean example: false files: $ref: '#/components/schemas/files' ideaStatusLog: description: Лог смены статуса идеи. type: object properties: statusLabel: description: Заголовок статуса идеи (локализовано). type: string example: Идея отклонена! comment: description: Комментарий к изменению статуса идеи. type: string example: Текст комментария createdUser: description: Пользователь изменивший статус идеи. type: object properties: id: description: Идентификатор пользователя. type: string format: uuid example: a91fe4d9-b486-4e94-9114-18589aad7c7e iconUrl: description: Ссылка на изображение лица профиля пользователя. type: string example: https://hrenot.hrbox.io/file/user-face/e2668a74-d171-4d47-b68f-9eb7e7d4e120/300.jpg name: description: Имя пользователя. type: string example: Иван Иванов entityId: description: Идентификатор сущности. type: number example: 360 ideaEdit: type: object properties: title: description: Заголовок идеи. type: string example: Idea example title description: description: Описание идеи. type: string example: Idea example description department_id: description: Идентификатор подразделения. type: string format: uuid example: a91fe4d9-b486-4e94-9114-18589aad7c7e idea_purpose_id: description: Идентификатор направления идеи. type: string format: uuid example: bf052a5e-eb70-4eb9-b3f1-9ea50d751b0e files: description: Идентификаторы файлов. type: array items: type: string example: - '53f2d03c-303a-4a3c-b57f-f7fb62fee538' - '42862a16-affa-4ba5-86c5-61376f46d695' tenantInfoModuleCurrency: description: Настройки модуля корпоративной валюты. type: object properties: isModuleEnabled: description: Модуль корпоративной валюты вкл/выкл. type: boolean example: true default: false currencyName: description: Название корпоративной валюты. type: string example: HRенотики currencyCode: description: Буквенный код валюты. type: string example: HRE isWalletBalanceVisibleInUserProfile: description: Отображать баланс кошелька в профиле пользователя. type: boolean example: true default: false isAllowToUseCurrencyInAchievements: description: Корпоративная валюта в достижениях. type: boolean example: false default: false tenantInfoModuleUserStatus: description: Настройки модуля статусов пользователей. type: object properties: isUserStatusEnabled: description: Модуль статусов пользователей вкл/выкл. type: boolean example: true default: true checkUserStatus: description: Спрашивать статус пользователя. type: boolean example: true default: false modalHeaderText: description: Текст заголовка модального окна. type: string default: Где вы сегодня работаете? modalBodyText: description: Текст описания в модальном окне. type: string default: Друзья, в текущей ситуации нам особенно важно знать, что с вами все в порядке. Поэтому просим вас каждое утро обновлять свой статус, чтобы мы понимали, где вы работаете. userStatus: type: object properties: id: description: Идентификатор статуса. type: string format: uuid example: b726280a-2be6-4e62-ab24-1736389c6474 name: description: Название статуса. type: string example: В отпуске slug: description: Уникальный именуемый идентификатор статуса. type: string example: vacation is_custom: description: Статус создан администратором. type: boolean example: false is_editable: description: Возможность редактирования статуса. type: boolean example: false is_expire: description: Статус со сроком действия. type: boolean example: false display_in_modal: description: Запрашивать статус в модальном окне запроса статуса. type: boolean example: false labelColorHEX: description: Цвет статуса в HEX кодировке. type: string example: '#D90000' userStatusSetRequestBody: type: object properties: id: description: Идентификатор статуса. type: string format: uuid example: b726280a-2be6-4e62-ab24-1736389c6474 is_enabled: description: Состояние статуса. type: boolean example: true expire_at: description: Срок действия статуса. Обязателен для установки статусов у которых включен срок действия. type: string format: date commentStatuses: description: > Comment statuses list: * `1` - Moderation (STATUS_NEW). * `2` - Published (STATUS_APPROVED). * `3` - Rejected by moderator (STATUS_REJECTED). * `4` - Deleted (STATUS_DELETED). type: array items: $ref: '#/components/schemas/status' commentIndex: type: object properties: id: description: Comment ID. type: string format: uuid example: a91fe4d9-b486-4e94-9114-18589aad7c7e parent_id: description: Parent comment ID. type: string format: uuid example: a91fe4d9-b486-4e94-9114-18589aad7c7e reply_id: description: Reply to comment ID. type: string format: uuid example: a91fe4d9-b486-4e94-9114-18589aad7c7e entity_id: description: Entity ID. type: number example: 1 reference_id: description: Reference ID. type: string format: uuid example: a91fe4d9-b486-4e94-9114-18589aad7c7e created_at: description: Comment creation date. type: string format: 'date-time' example: 2023-01-01 00:00:00 updated_at: description: Comment edit date. type: string format: 'date-time' example: 2023-01-01 00:00:00 message: description: Comment text. type: string example: Test files: $ref: '#/components/schemas/files' status: $ref: '#/components/schemas/status' createdUser: $ref: '#/components/schemas/userInfo' referenceName: description: Reference title or name. type: string example: Test reference referenceUrl: description: Reference URL. type: string example: https://hrenot.hrbox.io/content/idea/view?id=4405d4aa-82ed-44d4-a2b4-5e2ab4f611f1 commentView: type: object properties: id: description: Comment ID. type: string format: uuid example: a91fe4d9-b486-4e94-9114-18589aad7c7e parent_id: description: Parent comment ID. type: string format: uuid example: a91fe4d9-b486-4e94-9114-18589aad7c7e default: null reply_id: description: Reply to comment ID. type: string format: uuid default: null entity_id: description: Entity ID. type: number example: 1 reference_id: description: Reference ID. type: string format: uuid example: a91fe4d9-b486-4e94-9114-18589aad7c7e created_at: description: Comment creation date. type: string format: 'date-time' example: 2023-01-01 00:00:00 updated_at: description: Comment edit date. type: string format: 'date-time' example: 2023-01-01 00:00:00 message: description: Comment text. type: string example: Test files: $ref: '#/components/schemas/files' status: $ref: '#/components/schemas/status' createdUser: $ref: '#/components/schemas/userInfo' commentGet: type: object properties: entity_id: description: Requested entity ID. type: number example: 1 reference_id: description: Requested reference ID. type: string format: uuid example: edee4e11-dab5-4aac-93ac-43c379aab6b2 data: type: array items: properties: id: description: Comment ID. type: string format: uuid example: a91fe4d9-b486-4e94-9114-18589aad7c7e parent_id: description: Parent comment ID. type: string format: uuid default: null reply_id: description: Reply to comment ID. type: string format: uuid default: null entity_id: description: Entity ID. type: number example: 1 reference_id: description: Reference ID. type: string format: uuid example: edee4e11-dab5-4aac-93ac-43c379aab6b2 created_at: description: Comment creation date. type: string format: 'date-time' example: 2023-01-01 00:00:00 updated_at: description: Comment edit date. type: string format: 'date-time' example: 2023-01-01 00:00:00 message: description: Comment text. type: string example: Test replies: type: array items: $ref: '#/components/schemas/commentView' files: $ref: '#/components/schemas/files' status: $ref: '#/components/schemas/status' createdUser: $ref: '#/components/schemas/userInfo' commentAddRequestBody: type: object properties: entity_id: description: Entity ID. # required: true type: number example: 1 reference_id: description: Reference ID. # required: true type: string format: uuid example: edee4e11-dab5-4aac-93ac-43c379aab6b2 reply_id: description: Reply to comment ID. type: string format: uuid default: null message: description: Comment text. # required: true type: string example: Test maxLength: 2000 files: description: Array of file IDs. type: array items: type: string example: - '53f2d03c-303a-4a3c-b57f-f7fb62fee538' - '42862a16-affa-4ba5-86c5-61376f46d695' commentAddResponse: type: object properties: success: description: Result status. type: boolean example: true message: description: Message displayed to user (localized). type: string default: null example: Comment added! errors: description: Array of validation errors. type: array default: null data: type: object properties: isApprovable: description: If moderation is required, the value will be true. type: boolean example: false comment: $ref: '#/components/schemas/commentView' fileIndex: type: object properties: id: description: File model ID. type: string format: uuid example: e456bfb3-31dc-4c94-81ca-17dc49043a2b name: description: File name. type: string example: 2023-12-05 15-08-10.png url: description: File open URL. type: string example: https://demo.hrbox.io/file/open/e456bfb3-31dc-4c94-81ca-17dc49043a2b.jpg ext: description: File extension. type: string example: png meta: description: File meta information. type: object default: null example: { "width": 1920, "height": 1080 } properties: width: description: Image width. type: integer example: 1920 height: description: Image height. type: integer example: 1080 file_type: description: File type. type: string enum: - image - video - document - archive - other - encrypted example: image is_public: description: File is public. type: boolean example: false mime_type: description: File MIME-Type. type: string example: image/png size: description: File size. type: integer example: 7894 shortSize: description: File format size. type: string example: 7,894 КБ categoryRoot: type: array items: description: Categories list. type: object properties: id: description: Category ID. type: integer example: 1 name: description: Category name (localized). type: string example: Category 1 category: type: object properties: id: description: Category ID. type: string format: uuid example: 76080562-3a5e-4826-8799-7638b775bcd0 title: description: Category title. type: string example: Category 1 description: description: Category description. type: string example: Description text status_id: description: Category status ID. type: number example: 1 root_id: description: Category root ID. type: number example: 1 hash_id: description: Category hash ID. type: string example: 6c91d43fd9 thumb_style_id: description: Category thumb style ID. type: number example: 1 content_style_id: description: Category content style ID. type: number example: 1 iconUrl: description: Category icon URL. type: string example: http://hr.lh/img/nophoto.png thumbUrl: description: Category thumb URL. type: string example: http://hr.lh/img/nophoto.png imageUrl: description: Category image URL. type: string example: http://hr.lh/img/noarticle.png wallet: type: object properties: id: description: Wallet ID. type: string format: uuid example: 485781ba-95a1-4c5c-9210-7a895ac7dc0e status_id: description: Wallet status ID. type: number example: 1 user_id: description: User ID. type: string format: uuid example: 070ca51a-2363-419e-bfe0-48fce85acfa5 balance: description: Wallet balance. type: number example: 1 shopProductSortType: type: array items: description: Sort types. type: object properties: id: description: Sort type ID. type: string example: id name: description: Sort type name (localized). type: string example: Type name shopProductImages: description: Дополнительное изображение товара. type: object properties: id: description: FIle ID. type: string format: uuid example: df7784cc-4d19-4c6c-8c7a-403751fec1b8 url: description: FIle open URL. type: string example: http://hr.lh/file/open/df7784cc-4d19-4c6c-8c7a-403751fec1b8.jpg shopProductOption: description: Shop product option. type: object properties: id: description: Option ID. type: string format: uuid example: e25ea810-bbc2-4b1e-84ca-8ed56d4594ec sort_index: description: Option sort index. type: number example: 0 name: description: Option name. type: string example: Type name count: description: Products count. type: number example: 1 entityId: description: Entity ID. type: number example: 1 shopProduct: type: object properties: id: description: Product ID. type: string format: uuid example: 76080562-3a5e-4826-8799-7638b775bcd0 title: description: Product title. type: string example: Product 1 description: description: Product description. type: string example: Description text price: description: Product price. type: number example: 1 totalCount: description: Сумма количества товара во всех опциях товара. type: number example: 1 preview: description: Product preview image. type: string example: http://hr.lh/file/resize/1200x1200/158712e1-78ed-4583-b5f1-6a0a083824a6.jpg images: description: Дополнительные изображения товара. type: array items: $ref: '#/components/schemas/shopProductImages' options: description: Shop product options. type: array items: $ref: '#/components/schemas/shopProductOption' entityId: description: Entity ID. type: number example: 1 shopProductIndex: $ref: '#/components/schemas/shopProduct' shopProductView: type: object properties: id: description: Product ID. type: string format: uuid example: 76080562-3a5e-4826-8799-7638b775bcd0 title: description: Product title. type: string example: Product 1 description: description: Product description. type: string example: Description text price: description: Product price. type: number example: 1 totalCount: description: Сумма количества товара во всех опциях товара. type: number example: 1 shopProductOption: $ref: '#/components/schemas/shopProductOption' preview: description: Product preview image. type: string example: http://hr.lh/file/resize/1200x1200/158712e1-78ed-4583-b5f1-6a0a083824a6.jpg images: description: Дополнительные изображения товара. type: array items: $ref: '#/components/schemas/shopProductImages' options: description: Shop product options. type: array items: $ref: '#/components/schemas/shopProductOption' entityId: description: Entity ID. type: number example: 1 shopOrderDeliveryAddresses: type: object properties: addresses: description: Array of delivery address strings. type: array items: type: string example: - 'Address 1' - 'Address 2' shopOrder: type: object properties: id: description: Order ID. type: string format: uuid example: 0310635d-2c72-4219-9038-bf2ac8f14206 created_at: description: Creation date. type: string format: 'date-time' example: 2024-01-01 00:00:00 created_user_id: description: User ID. type: string format: uuid num: description: Order number. type: number example: 1 order_status_id: description: Order status ID. See /shop/order/statuses list. type: number example: 1 delivery_address: description: Delivery address. type: string example: Address 1 default: null countCartPositions: description: Count of cart positions. type: number example: 1 countCartTotal: description: Total count of cart items. type: number example: 2 sumCart: description: Total cart sum. type: number example: 200 shopCart: type: array items: type: object properties: id: description: Cart item ID. type: string format: uuid example: 195e1707-3f5d-4780-8dc1-b1023e1f974f status_id: type: integer description: 1 - active, 2 - disabled, 3 - deleted enum: - 1 - 2 - 3 shop_item_id: description: Product ID. type: string format: uuid example: 11412fa5-031d-49c8-b7c9-2b5683e54bb8 shop_product_option_id: description: Product option ID. type: string format: uuid example: dadbf34e-6c16-4bb8-a19a-4932df2ec116 price: description: Product cost at the time of order creation. type: number example: 100 count: description: Count of product units. type: number example: 2 comment: description: Comment text. type: string example: Example text shopProductIcon: description: Product icon. type: string example: http://hr.lh/file/resize/64x64/158712e1-78ed-4583-b5f1-6a0a083824a6.jpg shopProductTitle: description: Product title. type: string example: Example text shopProductOptionName: description: Product option name. type: string example: Example text entityId: description: Entity ID. type: number example: 1 shopOrderIndex: $ref: '#/components/schemas/shopOrder' shopOrderView: $ref: '#/components/schemas/shopOrder' survey: type: object description: "Опрос" properties: id: type: string format: uuid name: type: string default: "Main survey" description: "Название" type_id: type: integer description: "Тип опроса" oneOf: - title: DEFAULT const: 1 description: "Обычный" - title: ICSI const: 2 description: "ICSI" - title: SURVEY_360 const: 360 description: "360" - title: FEEDBACK const: 6 description: "Обратная связь" type_name: type: string default: "Обычный" description: "Тип опроса" is_available: type: boolean description: "Доступен всем" is_available_by_date: type: boolean description: "Доступность по дате" is_choice_anonymous: type: boolean description: "Возможность выбора анонимности" available_date: type: string format: date_time description: "Дата доступа" deadline_at: type: string format: date_time description: "Дата дедлайна" canStart: type: boolean description: "Возможность начать прохождение" urlStart: type: string description: "Ссылка на прохождение опроса" result_params: type: object properties: allow_repeat: type: boolean description: "Возможность перепройти опрос" show_results: type: boolean description: "Возможность смотреть результат" surveyAssignment: type: object description: "Назначение на опрос" properties: id: type: string format: uuid is_anonymous: type: boolean description: "Анонимное прохождение" started_at: type: string format: date_time description: "Дата начала" finished_at: type: string format: date_time description: "Дата завершения" created_at: type: string format: date_time description: "Дата назначения" survey360MatrixPositionName: type: string description: "В какой роли прохождение опроса" survey360_matrix_position_id: type: string format: uuid description: "Id роли прохождения" surveyAssignmentStatusName: type: string description: "Название статуса" survey_assignment_status_id: type: integer description: Статус прохождения опроса oneOf: - title: STATUS_COMPLETED const: 1 description: "Завершен" - title: STATUS_NOT_STARTED const: 2 description: "Не пройден" - title: STATUS_IN_PROGRESS const: 3 description: "В процессе" type_id: type: number description: "Тип назначения" oneOf: - title: NORMAL_ASSIGN const: 1 description: "Вручную" - title: SELF_ASSIGN const: 3 description: "Самоназначение" survey_id: type: string format: uuid description: "Id опроса" survey_target_id: type: string format: uuid description: "Id таргета" canStart: type: boolean description: "Возможность начать или продолжить прохождение" urlStart: type: string description: "Ссылка на прохождение опроса" cabinetReportChoicesUrl: type: string description: "Ссылка на просмотр результата, если значение null, то нет доступа для просмотра" surveyTarget: type: object properties: id: type: string format: uuid entity_id: type: integer description: "Id сущности" item_id: type: integer description: "Id записи сущности" targetName: type: string description: "Название, заголовок записи сущности" target: oneOf: - $ref: '#/components/schemas/userProfile' mdWidgetUserItem: type: object properties: id: description: User ID type: string format: uuid example: 195e1707-3f5d-4780-8dc1-b1023e1f974f itemTitle: description: User name type: string itemUrl: description: User profile URL type: string example: https://hrenot.hrnox.io/core/user/view?id=5bc40c54-da74-4d5b-ac24-123374dc1a5a itemImageUrl: description: User avatar URL type: string example: https://hrenot.hrnox.io/file/user-face/5bc40c54-da74-4d5b-ac24-123374dc1a5a/300.jpg itemEntityId: description: Entity ID type: number example: 1 itemTip: description: User position type: string example: CEO itemDate: description: Date board item type: string format: date example: 19 july data: type: object properties: position: description: User position type: string example: CEO departmentName: description: User department name type: string example: 'New Department' isFavorite: description: Находится ли пользователь в избранном type: boolean shopOrderCheckoutRequestBody: type: object properties: selectedAddress: description: Адрес доставки. Требуется если tenantInfo.modules.shop.isAllowCustomDeliveryAddress равен true и не указан customAddress. type: string example: Address 1 customAddress: description: Адрес доставки. Требуется если tenantInfo.modules.shop.isAllowCustomDeliveryAddress равен true и не указан selectedAddress. type: string default: null message: description: Комментарий к заказу. type: string maxLength: 512 example: Example text shopCartId: description: Массив shop_cart_id type: array items: type: string format: uuid shopCartAll: description: Добавить все товары которые есть в корзине type: boolean default: false cart: description: Корзина товаров. type: array items: type: object properties: id: description: Product option ID. type: string format: uuid example: e25ea810-bbc2-4b1e-84ca-8ed56d4594ec cartCount: description: Количество единиц текущей позиции товара. type: number example: 2 shopOrderCheckoutResponse: type: object properties: success: description: Result status. type: boolean example: false message: description: Message displayed to user (localized). type: string default: null example: Example text errors: description: Array of validation errors. type: array default: null data: type: object properties: notFoundProducts: description: Список идентификаторов товаров которые не были найдены. Возвращается в случае если товар не найден. type: array items: type: string example: - 'e25ea810-bbc2-4b1e-84ca-8ed56d4594ec' - 'ddbbec20-ec4d-42c5-8b11-1bb2d08e6465' unavailableProducts: description: Список идентификаторов товаров которых нет в наличии. Возвращается в случае если в корзине присутствуют товары которых больше нет в наличии. type: array items: type: string example: - 'e25ea810-bbc2-4b1e-84ca-8ed56d4594ec' - 'ddbbec20-ec4d-42c5-8b11-1bb2d08e6465' products: description: Возвращается в случае если в корзине присутствуют товары которых в наличии меньше чем указано в заказе. type: array items: type: object properties: id: description: Product option ID. type: string format: uuid example: e25ea810-bbc2-4b1e-84ca-8ed56d4594ec count: description: Количество товара в наличии. type: number example: 1 balance: description: Текущий баланс кошелька пользователя. Возвращается в случае успешного совершения заказа. type: number example: 100 shopOrder: description: Данные заказа. Возвращается в случае успешного совершения заказа. type: object properties: id: description: Order ID. type: string format: uuid example: 0310635d-2c72-4219-9038-bf2ac8f14206 created_at: description: Creation date. type: string format: 'date-time' example: 2024-01-01 00:00:00 num: description: Order number. type: number example: 1 delivery_address: description: Delivery address. type: string example: Address 1 default: null shopOrderPositionRemoveRequestBody: type: object properties: id: description: Cart item ID. type: string format: uuid example: 195e1707-3f5d-4780-8dc1-b1023e1f974f comment: description: Comment text. type: string example: Example text apiDefaultResponse: type: object properties: success: description: Result status. type: boolean example: true message: description: Message displayed to user (localized). type: string default: null errors: description: Array of validation errors. type: array default: null data: type: object default: null shopOrderPositionRemoveResponse: $ref: '#/components/schemas/apiDefaultResponse' shopOrderPositionRestoreRequestBody: type: object properties: id: description: Cart item ID. type: string format: uuid example: 195e1707-3f5d-4780-8dc1-b1023e1f974f shopOrderPositionRestoreResponse: $ref: '#/components/schemas/apiDefaultResponse' shopOrderPositionChangeCommentRequestBody: type: object properties: id: description: Cart item ID. type: string format: uuid example: 195e1707-3f5d-4780-8dc1-b1023e1f974f comment: description: Comment text. type: string example: Example text shopOrderPositionChangeCommentResponse: $ref: '#/components/schemas/apiDefaultResponse' shopOrderCancelRequestBody: type: object properties: id: description: Order ID. type: string format: uuid example: 195e1707-3f5d-4780-8dc1-b1023e1f974f message: description: Comment text. type: string example: Example text shopOrderCancelResponse: $ref: '#/components/schemas/apiDefaultResponse' orgEmployment: type: object properties: id: type: string format: uuid example: "db43fc69-35f7-4c66-8a63-633b5e9abe33" organization_id: type: string example: "default" org_department_id: type: string format: uuid example: "0212e611-5b19-43f9-8389-7f6a4b87462d" chief_id: type: - string - null example: null chief_organization_id: type: string example: "default" position: type: string example: "Водитель" employment_date: type: string format: date example: "2019-09-25" fired_date: type: - string - null format: date example: null changed_at: type: string format: date-time example: "2025-04-22 05:20:57" org_num: type: string example: "db43fc69-35f7-4c66-8a63-633b5e9abe33" is_removed: type: boolean example: false first_name: type: string example: "Иван" last_name: type: string example: "Петрович" middle_name: type: string example: "F" birthday_date: type: string format: date example: "2004-04-04" gender: type: string enum: - male - female example: "male" photo: type: - string - null example: null emails: type: array items: type: string format: email example: [ ] phones: type: array items: type: string example: [ ] other_contacts: type: array items: type: string example: [ ] user_custom_fields: type: array items: type: object example: [ ] custom: type: array items: type: object example: [ ] cabinet: type: string example: "230" city: type: string example: "Караганда" country_id: type: - string - null example: null timezone_id: type: - string - null example: null statuses: type: array items: type: string example: [ ] login: type: - string - null example: null auth_email: type: - string - null format: email example: null expert_user_id: type: - string - null example: null orgDepartment: $ref: "#/components/schemas/orgDepartment" orgDepartment: type: object properties: id: type: string format: uuid example: "0212e611-5b19-43f9-8389-7f6a4b87462d" organization_id: type: string example: "default" name: type: string example: "HRBox org" parent_id: type: - string - null example: null chief_id: type: - string - null example: null chief_organization_id: type: - string - null example: null changed_at: type: string format: date-time example: "2025-04-28 19:13:28" org_num: type: string example: "2345" is_removed: type: boolean example: false department_id: type: string format: uuid example: "5270b5ce-8320-4d83-a096-8a72f8c24307" is_ignored: type: boolean example: false is_synced: type: boolean example: false orgEmploymentFile: type: object properties: id: description: ID записи type: string format: uuid example: 195e1707-3f5d-4780-8dc1-b1023e1f974f org_employment_id: description: ID конкретного сотрудника type: string format: uuid example: 195e1707-3f5d-4780-8dc1-b1023e1f974f org_employment_file_status_id: $ref: '#/components/schemas/orgEmploymentFileStatus' org_employment_file_type_id: $ref: '#/components/schemas/orgEmploymentFileType' custom_id: description: ID кастомной обработки type: string maxLength: 127 date_from: description: Дата с (например для расчетной ведомости, за период с) type: string format: 'date' example: 2025-04-23 date_to: description: Дата по (например для расчетной ведомости, за период по) type: string format: 'date' example: 2025-04-27 created_at: type: string description: Дата последнего изменения format: 'date-time' example: 2025-04-25 16:15:03 updated_at: type: string description: Дата создания format: 'date-time' example: 2025-04-25 16:15:03 ready_at: type: string format: 'date-time' example: 2025-04-25 16:15:03 organization_id: type: string description: ID организации format: uuid example: 195e1707-3f5d-4780-8dc1-b1023e1f974f user_id: type: string description: ID пользователя format: uuid example: 195e1707-3f5d-4780-8dc1-b1023e1f974f file: description: Файл кадрового документа anyOf: - $ref: '#/components/schemas/fileIndex' - type: 'null' orgEmploymentFileType: type: string description: > Тип документа: * `payslip` - Расчетный лист (PAYSLIP). * `ndfl2` - 2НДФЛ (NDFL2). * `custom` - Кастомный тип (CUSTOM). enum: - payslip - ndfl2 - custom orgEmploymentFileStatus: type: integer description: > Состояние документа: * `1` - Запрошен (REQUESTED). * `2` - В обработке (PENDING). * `3` - Готов (READY). enum: - 1 - 2 - 3 # КЭДО --> kedoDocument: type: object properties: id: description: Идентификатор запроса на подпись type: string format: uuid example: a91fe4d9-b486-4e94-9114-18589aad7c7e created_at: description: Дата создания type: string format: 'date-time' example: 2025-01-01 00:00:00 sign_request_status_id: description: Статус запроса на подпись type: integer example: 1 deadline_at: description: Дедлайн подписания type: string format: 'date-time' example: 2025-01-01 00:00:00 cancelled_at: description: Дата отмены запроса на подпись type: string format: 'date-time' example: 2025-01-01 00:00:00 comment: description: Комментарий type: string example: Текст комментария org_employment_file_type_id: description: Тип документа type: string example: example file: $ref: '#/components/schemas/file' user: $ref: '#/components/schemas/userInfo' isCurrentUserSigned: description: Текущий пользователь подписал документ type: boolean example: true kedoDocumentIndex: $ref: '#/components/schemas/kedoDocument' kedoDocumentView: $ref: '#/components/schemas/kedoDocument' kedoSignRequestCreateRequestBody: type: object properties: file_id: description: Идентификатор файла required: true type: string format: uuid document_type_id: description: Тип документа required: true type: number example: 1 deadline_at: description: Дата дедлайна подписания документа type: string format: 'date-time' example: 2025-01-01 00:00:00 comment: description: Комментарий type: string format: 'date-time' example: Example text request_users: description: Подписанты required: true type: array items: type: object properties: users: description: Идентификаторы слотов из /enum/sign-request-slot-type type: array items: type: integer example: - 1 - 2 - 3 key: description: Идентификаторы user_list_key виджета выбора структуры type: array items: type: string example: - 'a83fc7ec-db7c-49b3-b0db-4ad4cba2c69b' - '5db5ee50-75f9-44f3-bc46-ccfa566563eb' - 'd968f01a-0151-4685-8104-c496e4e8946b' kedoSignRequestCreateResponse: $ref: '#/components/schemas/responseObject' properties: data: $ref: '#/components/schemas/kedoDocument' kedoSignRequestCancelRequestBody: type: object properties: id: description: Идентификатор запроса на подпись required: true type: string format: uuid kedoSignRequestCancelResponse: $ref: '#/components/schemas/responseObject' kedoInstanceIndex: type: object properties: id: description: Идентификатор экземпляра type: string format: uuid example: 073f11ed-3329-4c95-9966-f25b15846ea2 kedo_document_id: description: Идентификатор запроса на подпись type: string format: uuid example: a91fe4d9-b486-4e94-9114-18589aad7c7e mainSignerUser: $ref: '#/components/schemas/userInfo' signersCount: description: Количество подписантов type: string format: integer example: 5 signedCount: description: Количество подписавших type: string format: integer example: 2 kedoInstanceView: type: object properties: id: description: Идентификатор экземпляра type: string format: uuid example: 073f11ed-3329-4c95-9966-f25b15846ea2 kedo_document_id: description: Идентификатор запроса на подпись type: string format: uuid example: a91fe4d9-b486-4e94-9114-18589aad7c7e signersCount: description: Количество подписантов type: string format: integer example: 5 signedCount: description: Количество подписавших type: string format: integer example: 2 isSigned: description: Документ подписан type: boolean example: true signers: description: Список подписантов экземпляра type: array items: type: object properties: user: $ref: '#/components/schemas/userInfo' signed_at: description: Дата подписания type: string format: 'date-time' example: 2025-01-01 00:00:00 rejected_at: description: Дата отклонения подписания type: string format: 'date-time' example: 2025-01-01 00:00:00 kedoDocument: $ref: '#/components/schemas/kedoDocument' kedoInstanceSignRequestBody: type: object properties: id: description: Идентификатор экземпляра required: true type: string format: uuid example: 073f11ed-3329-4c95-9966-f25b15846ea2 kedoInstanceSignResponse: $ref: '#/components/schemas/responseObject' kedoInstanceRejectRequestBody: type: object properties: id: description: Идентификатор экземпляра required: true type: string format: uuid example: 073f11ed-3329-4c95-9966-f25b15846ea2 kedoInstanceRejectResponse: $ref: '#/components/schemas/responseObject' # КЭДО <-- GoalItem: type: object properties: id: type: string format: uuid created_at: type: string format: date-time title: type: string description: Заголовок цели weight: type: number description: "Вес" goal_interval_type_id: $ref: '#/components/parameters/goalIntervalTypeId' goal_status_id: $ref: '#/components/parameters/goalStatusId' goal_result_type_id: type: number description: > Тип результата: * `1` - Да/нет * `2` - Процент * `3` - Число" goal_date: $ref: '#/components/parameters/goalDate' result_scaled: type: number format: double description: Процент результата от целевого значения result_max: type: number description: Целевое число result_units: type: string description: Единицы измерения sort_index: type: number description: Сортировка parent_id: type: string format: uuid description: Цель, в которую вложена user_id: type: string format: uuid description: Чья цель supervisor_id: type: string format: uuid description: Куратор participants: type: array items: type: string description: Участники result: type: number description: Результат цели rating: type: string description: Рейтинг цели dutyItem: type: object properties: id: type: string format: uuid example: "073f11ed-3329-4c95-9966-f25b15846ea2" name: type: string example: "Услуга 1" status_id: type: integer example: 1 created_at: type: string format: date-time example: "2025-07-11 07:57:19" created_user_id: type: string format: uuid example: "c73f48dd-ae57-496e-b973-20d048651f70" walletTransactionType: type: integer description: > Тип транзакции: * `1` - Начисление * `2` - Списание enum: [1, 2] example: 1 walletOperationType: type: integer description: > Тип операции кошелька: * `1` - Начисление валюты * `2` - Списание валюты * `3` - Перевод валюты * `4` - Назначено достижение * `5` - Покупка в магазине * `6` - Автоматическое начисление валюты * `7` - Подарок (автоматическое начисление) * `8` - Подарок (процент от баланса) enum: [1, 2, 3, 4, 5, 6, 7, 8] example: 3 walletTransaction: type: object properties: id: type: string format: uuid example: 'd290f1ee-6c54-4b01-90e6-d701748f0851' created_at: type: string format: date-time example: '2025-07-21 14:35:00' wallet_transaction_type: $ref: '#/components/schemas/walletTransactionType' wallet_operation_type: $ref: '#/components/schemas/walletOperationType' administrator_id: type: string format: uuid example: 'c1a22f77-932e-4c7a-98b3-7c65b8b2a3e0' sender_wallet_id: type: string format: uuid example: 'a115e5b4-b56a-4ef0-a96b-4d18b9f3e293' recipient_wallet_id: type: string format: uuid example: 'b265e53c-e8e6-4aa1-8576-b1dc5b2c1fd3' amount: type: number format: int example: 150 entity_id: type: number example: 42 reference_id: type: string format: uuid example: 'deadbeef-0000-0000-0000-deadbeef0000' comment: type: string nullable: true example: 'Покупка в магазине' parameters: boardDateTypeParam: in: query name: type description: 1 - За день, 2 - За неделю, 3 - За месяц. required: true schema: type: integer enum: [ 1, 2, 3 ] example: 2 boardDateDayParam: name: day in: query description: Число месяца (обязателен для списка за день) schema: type: integer example: 15 boardDateWeekParam: name: week in: query description: Номер недели в году (обязателен для спика за неделю) schema: type: integer example: 27 boardDateMonthParam: name: month in: query description: Месяц (обязателен для списка по дням и месяцам) schema: type: integer example: 7 boardDateYearParam: name: year in: query description: Год (обязателен всегда) required: true schema: type: integer example: 2024 boardDepartmentId: name: department_id in: query description: UUID подразделения, либо их список, разделённый запятой required: false boardWithFavorites: name: with_favorites in: query description: Возвращать результат вместе с избранными пользователями required: false example: 1 userListKey: name: user_list_key in: query description: UUID списка пользователей schema: type: string title: name: title in: query schema: type: string description: Поиск по названию goalIntervalTypeId: name: goal_interval_type_id in: query schema: type: number description: > Тип интервала дедлайна * `1` - На день * `2` - На неделю * `3` - На месяц * `4` - На квартал * `5` - На полугодие * `6` - На год goalStatusId: name: goal_status_id in: query schema: type: number description: > Статус цели, можно перечислять через запятую * `1` - Черновик * `2` - Согласование * `3` - В процессе * `4` - Согласование результата * `5` - Завершена * `6` - Согласование удаления * `7` - Удалена goalDate: name: goal_date in: query schema: type: string description: Дата завершения цели goalMonth: name: goal_month in: query schema: type: string description: Месяц завершения цели goalQuarter: name: goal_quarter in: query schema: type: integer enum: [ 1, 2, 3, 4 ] description: Квартал завершения цели goalYear: name: goal_year in: query schema: type: integer description: Год завершения цели goalParentId: name: parent_id in: query schema: type: string description: Родительский элемент noRemoved: name: no_removed in: query schema: type: string description: Без удаленных noDraft: name: no_draft in: query schema: type: string description: Без черновиков responses: GoalIndexResponse: 200: description: Список целей content: application/json: schema: type: object properties: data: type: array items: type: array items: $ref: '#/components/schemas/GoalItem' _links: $ref: '#/components/schemas/_links' _meta: $ref: '#/components/schemas/_meta' 400: description: Bad Request. 403: description: Unauthorized. 404: description: Not found. 500: description: Server Error. GoalActionResponse: description: Goal object type: object properties: success: type: boolean deleted: type: array items: $ref: '#/components/schemas/GoalItem' description: Цели которые были удалены updated: type: array items: $ref: '#/components/schemas/GoalItem' description: Цели которые были обновлены skipped: type: array items: $ref: '#/components/schemas/GoalItem' description: Цели которые не были обработаны security: - SessionAuth: [ ] - ApiKeyAuth: [ ]