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-status description: User statuses # 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 /user-status: get: tags: - user-status summary: Get user statuses list. operationId: actionIndex consumes: - application/json produces: - application/json parameters: - name: per-page description: How many items return in one page. in: query type: integer default: 20 - name: page description: The current page. in: query type: integer default: 1 responses: 200: description: Returns list of available user statuses. schema: type: object properties: data: type: array items: $ref: '#/definitions/userStatus' _links: $ref: '#/definitions/_links' _meta: $ref: '#/definitions/_meta' 401: description: Unauthorized. 403: description: Forbidden. 500: description: Internal Server Error. /user-status/set: post: tags: - user-status summary: Change user status. operationId: actionSet consumes: - application/json produces: - application/json parameters: - in: body name: body required: true schema: type: object properties: org_employment_id: type: string format: uuid description: Organization employment ID. status_id: type: string description: An existing status ID or slug (send slug if it presented). The list of statuses can be obtained using the "/user-status/index" method. is_active: type: boolean description: Set status activity. expire_at: type: string format: date description: Required when setting the status if the status has date-limited option enabled (is_expire = true). The expire_at date must be greater than the current date. responses: 200: description: Returns a success result. schema: type: object properties: data: type: object properties: success: type: boolean status: type: integer example: 200 400: description: Bad Request. Returns a message with the error details. 401: description: Unauthorized. 403: description: Forbidden. 404: description: Not found. Returns a message with the error details. 500: description: Internal 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' userStatus: type: object properties: id: type: string format: uuid name: type: string slug: type: string is_custom: type: boolean is_editable: type: boolean is_expire: type: boolean display_in_modal: type: boolean labelColorHEX: type: string _links: type: object properties: self: type: object properties: href: type: string first: type: object properties: href: type: string last: type: object properties: href: type: string _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