3318 lines
101 KiB
YAML
3318 lines
101 KiB
YAML
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: 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
|
|
|
|
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
|
|
|
|
/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.
|
|
|
|
/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: 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
|
|
|
|
/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: <b>userId</b> - User ID from which the feedback will be created.<br><b>type</b> - Entity type (department, user).<br><b>id</b> - Entity id.<br><b>score</b> - Feedback score from 1 to 5.<br><b>text</b> - Feedback text.<br><b>isAnonymous</b> - 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
|
|
required: false
|
|
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
|
|
required: 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 request.
|
|
403:
|
|
description: Unauthorized request.
|
|
404:
|
|
description: Not found. Returns a message with the error details.
|
|
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 request.
|
|
403:
|
|
description: Unauthorized request.
|
|
404:
|
|
description: Feedback 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 request.
|
|
403:
|
|
description: Unauthorized request.
|
|
404:
|
|
description: Feedback 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 request.
|
|
403:
|
|
description: Unauthorized request.
|
|
404:
|
|
description: Feedback not found.
|
|
500:
|
|
description: Server Error.
|
|
|
|
components:
|
|
schemas:
|
|
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'
|
|
|
|
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:
|
|
endpoint:
|
|
type: string
|
|
default: https://demo.hrbox.io/api/v2
|
|
tenantId:
|
|
type: integer
|
|
format: int64
|
|
default: 101
|
|
tenantName:
|
|
type: string
|
|
default: Demo Company
|
|
domain:
|
|
type: string
|
|
default: demo.hrbox.io
|
|
brandColor:
|
|
type: string
|
|
default: #FF0000
|
|
logoUrl:
|
|
type: string
|
|
default: https://demo.hrbox.io/logo.png
|
|
logoSqUrl:
|
|
type: string
|
|
default: https://demo.hrbox.io/logo-sq.png
|
|
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'
|
|
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'
|
|
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"
|
|
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'
|
|
|
|
calendarEvent:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
parent_id:
|
|
type: string
|
|
format: uuid
|
|
title:
|
|
type: string
|
|
description:
|
|
type: string
|
|
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
|
|
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'
|
|
|
|
tag:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
format: uuid
|
|
name:
|
|
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
|
|
|
|
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"
|
|
|
|
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'
|
|
|
|
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 |