swagger: '2.0' info: description: | HRBox integration app API x-hrbox-client-id: {clientId} x-hrbox-client-secret: {secretKey} {clientId} - client id {secretKey} - secret key version: 2.0.0 title: HRbox Integration API contact: email: yuriy@hrbox.io # host: api.hrbox.io # basePath: /api/v1 tags: - name: user-group description: User groups - name: user description: Users # schemes: # - http paths: /user-group: get: tags: - user-group summary: Get user groups operationId: userGroupIndex consumes: - application/json produces: - application/json parameters: - name: per-page in: query description: How many items return in one page type: integer default: 20 - name: page in: query description: Current page type: integer default: 1 responses: 200: description: Returns array of user group and pagination related data schema: type: object properties: _meta: $ref: '#/definitions/meta' data: type: array items: $ref: '#/definitions/userGroup' 401: description: Unathorized request 403: description: Forbidden request 500: description: Server Error post: tags: - user-group summary: Create user group operationId: userGroupCreate consumes: - application/json produces: - application/json parameters: - in: body name: body required: true schema: type: object properties: name: type: string description: type: string is_visible: type: boolean user_group_type_id: type: integer $ref: '#/definitions/userGroupTypeId' thumb_file_id: type: string format: uuid conditions: items: $ref: '#/definitions/userGroupCondition' responses: 200: description: Returns userGroup data schema: type: object $ref: '#/definitions/userGroup' 401: description: Unathorized request 403: description: Forbidden request 500: description: Server Error /user-group/{$id}: get: tags: - user-group summary: View user group operationId: userGroupView consumes: - application/json produces: - application/json parameters: - name: id in: path description: ID required: true type: string responses: 200: description: Returns userGroup data schema: type: object $ref: '#/definitions/userGroup' 401: description: Unathorized request 403: description: Forbidden request 404: description: Not Found 500: description: Server Error post: tags: - user-group summary: Edit user group operationId: userGroupUpdate consumes: - application/json produces: - application/json parameters: - name: id in: path description: ID required: true type: string - in: body name: body required: true schema: type: object properties: name: type: string description: type: string is_visible: type: boolean user_group_type_id: type: integer $ref: '#/definitions/userGroupTypeId' thumb_file_id: type: string format: uuid conditions: items: $ref: '#/definitions/userGroupCondition' responses: 200: description: Returns userGroup data schema: type: object $ref: '#/definitions/userGroup' 401: description: Unathorized request 403: description: Forbidden request 404: description: Not Found 500: description: Server Error delete: tags: - user-group summary: Delete user group operationId: userGroupDelete consumes: - application/json produces: - application/json parameters: - name: id in: path description: ID required: true type: string responses: 200: description: Deleted 401: description: Unathorized request 403: description: Forbidden request 404: description: Not Found 500: description: Server Error /user-group/{$id}/users: get: tags: - user-group summary: Get the list of users in user group operationId: userGroupUsersIndex consumes: - application/json produces: - application/json parameters: - name: id in: path description: ID required: true type: string - name: per-page in: query description: How many items return in one page type: integer default: 20 - name: page in: query description: Current page type: integer default: 1 responses: 200: description: Returns array of user group and pagination related data schema: type: object properties: _meta: $ref: '#/definitions/meta' data: type: array items: $ref: '#/definitions/user' 401: description: Unathorized request 403: description: Forbidden request 500: description: Server Error post: tags: - user-group summary: Updates list of users in user group operationId: userGroupUsersUpdate consumes: - application/json produces: - application/json parameters: - name: id in: path description: ID required: true type: string - in: body name: body required: true schema: type: array items: type: string format: uuid description: List org_employment_id responses: 200: description: Success response server schema: type: object properties: success: type: boolean count: type: integer errors: type: array items: type: object 401: description: Unathorized request 403: description: Forbidden request 500: description: Server Error /user-group/{$id}/users/add: post: tags: - user-group summary: Add users in user group operationId: userGroupUsersAdd consumes: - application/json produces: - application/json parameters: - name: id in: path description: ID required: true type: string - in: body name: body required: true schema: type: array items: type: string format: uuid description: List org_employment_id responses: 200: description: Success response server schema: type: object properties: success: type: boolean count: type: integer errors: type: array items: type: object 401: description: Unathorized request 403: description: Forbidden request 500: description: Server Error /user-group/{$id}/users/remove: post: tags: - user-group summary: Removes users operationId: userGroupUsersRemove consumes: - application/json produces: - application/json parameters: - name: id in: path description: ID required: true type: string - in: body name: body required: true schema: type: array items: type: string format: uuid description: List org_employment_id responses: 200: description: Success response server schema: type: object properties: success: type: boolean count: type: integer errors: type: array items: type: object 401: description: Unathorized request 403: description: Forbidden request 500: description: Server Error definitions: user: type: object properties: id: type: string format: uuid first_name: type: string last_name: type: string middle_name: type: string birthday_date: type: string format: date reg_status_id: type: integer country_id: type: string is_external: type: boolean city_id: type: string spec_id: type: string format: uuid company: type: string gender_id: type: integer photo_file_id: type: string format: uuid created_at: type: string format: date-time updated_at: type: string format: date-time created_user_id: type: string format: uuid updated_user_id: type: string format: uuid userGroup: type: object properties: id: type: string format: uuid name: type: string description: type: string is_visible: type: boolean user_group_type_id: type: integer $ref: '#/definitions/userGroupTypeId' conditions: type: array items: $ref: '#/definitions/userGroupCondition' thumb_file_id: type: string format: uuid created_at: type: string format: date-time updated_at: type: string format: date-time created_user_id: type: string format: uuid updated_user_id: type: string format: uuid userGroupTypeId: type: integer enum: [1, 2, 3, 4, 5] description: > * `1` - Системные\system * `2` - Видимые админам\visible for admin * `3` - Группы обучения\LMS group * `4` - Видимые всем\visible for all * `5` - Динамическая\dynamic userGroupCondition: type: object properties: attr: type: string $ref: '#/definitions/userGroupConditionAttr' operator: type: string $ref: '#/definitions/userGroupConditionOperator' value: type: string userGroupConditionAttr: type: string enum: - 'employment.department_id' - 'employment.position' - 'employment.is_main' - 'employment.seniority' - 'employment.chief.user_id' - 'city_id' - 'region.id' - 'companyName' - 'spec_id' - 'age' - 'role' - 'gender_id' - 'reg_status_id' - 'cabinet' - 'is_boss' - 'is_external' - 'status' userGroupConditionOperator: type: string enum: - '>' - '>=' - '=' - '<=' - '<' - '!=' - 'in' - 'not_in' - 'JC' - 'JNC' meta: type: object properties: totalCount: type: integer default: 0 description: Total items count in database pageCount: type: integer default: 1 description: How much pages there are with current perPage value currentPage: type: integer default: 1 description: Current page number perPage: type: integer default: 10 description: How much items per page # Added by API Auto Mocking Plugin # host: api.hrbox.io # basePath: /api/v1 schemes: - https # Added by API Auto Mocking Plugin host: virtserver.swaggerhub.com basePath: /hrbox.io/Integration/2.0.0