# Barong
RESTful API for barong OAuth server
#Version: 2.4.0
# Security
BearerToken  
| jwt | undefined | 
|---|
| Description | Bearer Token authentication | 
| Name | Authorization | 
| In | header | 
# /admin/levels
#GET
#Description:
Returns array of permissions as paginated collection
#Responses
| Code | Description | 
|---|
| 200 | Returns array of permissions as paginated collection | 
| 401 | Invalid bearer token | 
#Security
| Security Schema | Scopes | 
|---|
| BearerToken |  | 
# /admin/profiles
#PUT
#Description:
Update a profile for user
#Parameters
| Name | Located in | Description | Required | Schema | 
|---|
| uid | formData |  | Yes | string | 
| first_name | formData |  | No | string | 
| last_name | formData |  | No | string | 
| dob | formData |  | No | date | 
| address | formData |  | No | string | 
| postcode | formData |  | No | string | 
| city | formData |  | No | string | 
| country | formData |  | No | string | 
| state | formData |  | No | string | 
| metadata | formData | Any additional key: value pairs in json string format | No | string | 
#Responses
| Code | Description | 
|---|
| 200 | Update a profile for user | 
| 400 | Required params are empty | 
| 401 | Invalid bearer token | 
| 422 | Validation errors | 
#Security
| Security Schema | Scopes | 
|---|
| BearerToken |  | 
#GET
#Description:
Return all profiles
#Parameters
| Name | Located in | Description | Required | Schema | 
|---|
| page | query | Page number (defaults to 1). | No | integer | 
| limit | query | Number of users per page (defaults to 100, maximum is 100). | No | integer | 
#Responses
| Code | Description | 
|---|
| 200 | Return all profiles | 
| 401 | Invalid bearer token | 
#Security
| Security Schema | Scopes | 
|---|
| BearerToken |  | 
# /admin/restrictions
#DELETE
#Description:
Delete restriction
#Parameters
| Name | Located in | Description | Required | Schema | 
|---|
| id | query | Restriction id | Yes | integer | 
#Responses
| Code | Description | 
|---|
| 204 | Delete restriction | 
| 401 | Invalid bearer token | 
#Security
| Security Schema | Scopes | 
|---|
| BearerToken |  | 
#PUT
#Description:
Update restriction
#Parameters
| Name | Located in | Description | Required | Schema | 
|---|
| id | formData | Restriction id | Yes | integer | 
| scope | formData |  | No | string | 
| value | formData |  | No | string | 
| state | formData |  | No | string | 
#Responses
| Code | Description | 
|---|
| 200 | Update restriction | 
| 401 | Invalid bearer token | 
#Security
| Security Schema | Scopes | 
|---|
| BearerToken |  | 
#POST
#Description:
Create restriction
#Parameters
| Name | Located in | Description | Required | Schema | 
|---|
| scope | formData |  | Yes | string | 
| value | formData |  | Yes | string | 
| state | formData |  | No | string | 
#Responses
| Code | Description | 
|---|
| 201 | Create restriction | 
| 401 | Invalid bearer token | 
#Security
| Security Schema | Scopes | 
|---|
| BearerToken |  | 
#GET
#Description:
Returns array of restrictions as a paginated collection
#Parameters
| Name | Located in | Description | Required | Schema | 
|---|
| scope | query |  | No | string | 
| range | query |  | No | string | 
| page | query | Page number (defaults to 1). | No | integer | 
| limit | query | Number of users per page (defaults to 100, maximum is 100). | No | integer | 
#Responses
| Code | Description | 
|---|
| 200 | Returns array of restrictions as a paginated collection | 
| 401 | Invalid bearer token | 
#Security
| Security Schema | Scopes | 
|---|
| BearerToken |  | 
# /admin/metrics
#GET
#Description:
Returns main statistic in the given time period
#Parameters
| Name | Located in | Description | Required | Schema | 
|---|
| created_from | query |  | No | string | 
| created_to | query |  | No | string | 
#Responses
| Code | Description | 
|---|
| 200 | Returns main statistic in the given time period | 
| 401 | Invalid bearer token | 
#Security
| Security Schema | Scopes | 
|---|
| BearerToken |  | 
# /admin/activities/admin
#GET
#Description:
Returns array of activities as paginated collection
#Parameters
| Name | Located in | Description | Required | Schema | 
|---|
| topic | query |  | No | string | 
| action | query |  | No | string | 
| uid | query |  | No | string | 
| email | query |  | No | string | 
| from | query | An integer represents the seconds elapsed since Unix epoch.If set, only records FROM the time will be retrieved. | No | integer | 
| to | query | An integer represents the seconds elapsed since Unix epoch.If set, only records BEFORE the time will be retrieved. | No | integer | 
| page | query | Page number (defaults to 1). | No | integer | 
| limit | query | Number of users per page (defaults to 100, maximum is 100). | No | integer | 
| target_uid | query |  | No | string | 
| range | query |  | No | string | 
#Responses
| Code | Description | 
|---|
| 200 | Returns array of activities as paginated collection | 
| 401 | Invalid bearer token | 
#Security
| Security Schema | Scopes | 
|---|
| BearerToken |  | 
# /admin/activities
#GET
#Description:
Returns array of activities as paginated collection
#Parameters
| Name | Located in | Description | Required | Schema | 
|---|
| topic | query |  | No | string | 
| action | query |  | No | string | 
| uid | query |  | No | string | 
| email | query |  | No | string | 
| from | query | An integer represents the seconds elapsed since Unix epoch.If set, only records FROM the time will be retrieved. | No | integer | 
| to | query | An integer represents the seconds elapsed since Unix epoch.If set, only records BEFORE the time will be retrieved. | No | integer | 
| page | query | Page number (defaults to 1). | No | integer | 
| limit | query | Number of users per page (defaults to 100, maximum is 100). | No | integer | 
#Responses
| Code | Description | 
|---|
| 200 | Returns array of activities as paginated collection | 
| 401 | Invalid bearer token | 
#Security
| Security Schema | Scopes | 
|---|
| BearerToken |  | 
# /admin/permissions
#PUT
#Description:
Update Permission
#Parameters
| Name | Located in | Description | Required | Schema | 
|---|
| id | formData | Permission id | Yes | integer | 
| role | formData | permission field - role | No | string | 
| verb | formData | permission field - request verb | No | string | 
| path | formData | permission field - request path | No | string | 
| action | formData |  | No | string | 
| topic | formData |  | No | string | 
#Responses
| Code | Description | 
|---|
| 200 | Update Permission | 
| 401 | Invalid bearer token | 
#Security
| Security Schema | Scopes | 
|---|
| BearerToken |  | 
#DELETE
#Description:
Deletes permission
#Parameters
| Name | Located in | Description | Required | Schema | 
|---|
| id | query | permission id | Yes | integer | 
#Responses
| Code | Description | 
|---|
| 204 | Deletes permission | 
| 401 | Invalid bearer token | 
#Security
| Security Schema | Scopes | 
|---|
| BearerToken |  | 
#POST
#Description:
Create permission
#Parameters
| Name | Located in | Description | Required | Schema | 
|---|
| role | formData |  | Yes | string | 
| verb | formData |  | Yes | string | 
| path | formData |  | Yes | string | 
| action | formData |  | Yes | string | 
| topic | formData |  | No | string | 
#Responses
| Code | Description | 
|---|
| 201 | Create permission | 
| 401 | Invalid bearer token | 
#Security
| Security Schema | Scopes | 
|---|
| BearerToken |  | 
#GET
#Description:
Returns array of permissions as paginated collection
#Parameters
| Name | Located in | Description | Required | Schema | 
|---|
| page | query | Page number (defaults to 1). | No | integer | 
| limit | query | Number of users per page (defaults to 100, maximum is 100). | No | integer | 
#Responses
| Code | Description | 
|---|
| 200 | Returns array of permissions as paginated collection | 
| 401 | Invalid bearer token | 
#Security
| Security Schema | Scopes | 
|---|
| BearerToken |  | 
# /admin/users/data_storage
#DELETE
#Description:
Deletes user's data storage record
#Parameters
| Name | Located in | Description | Required | Schema | 
|---|
| uid | query | user uniq id | Yes | string | 
| title | query | data storage uniq title | Yes | string | 
#Responses
| Code | Description | 
|---|
| 204 | Deletes user's data storage record | 
| 401 | Invalid bearer token | 
#Security
| Security Schema | Scopes | 
|---|
| BearerToken |  | 
# /admin/users/{uid	}
#GET
#Description:
Returns user info
#Parameters
| Name | Located in | Description | Required | Schema | 
|---|
| uid | path | user uniq id | Yes | string | 
#Responses
| Code | Description | 
|---|
| 200 | Returns user info | 
| 401 | Invalid bearer token | 
#Security
| Security Schema | Scopes | 
|---|
| BearerToken |  | 
# /admin/users/labels
#DELETE
#Description:
Deletes label for user
#Parameters
| Name | Located in | Description | Required | Schema | 
|---|
| uid | query | user uniq id | Yes | string | 
| key | query | label key. [a-z0-9_-]+ should be used. Min - 3, max - 255 characters. | Yes | string | 
| scope | query | label key. [a-z0-9_-]+ should be used. Min - 3, max - 255 characters. | Yes | string | 
#Responses
| Code | Description | 
|---|
| 204 | Deletes label for user | 
| 401 | Invalid bearer token | 
#Security
| Security Schema | Scopes | 
|---|
| BearerToken |  | 
#PUT
#Description:
Update user label scope
#Parameters
| Name | Located in | Description | Required | Schema | 
|---|
| uid | formData | user uniq id | Yes | string | 
| key | formData | Label key. | Yes | string | 
| scope | formData | label key. [a-z0-9_-]+ should be used. Min - 3, max - 255 characters. | Yes | string | 
| description | formData | label description. [A-Za-z0-9_-] should be used. max - 255 characters. | No | string | 
| value | formData | Label value. | Yes | string | 
#Responses
| Code | Description | 
|---|
| 200 | Update user label scope | 
| 400 | Required params are empty | 
| 401 | Invalid bearer token | 
| 404 | Record is not found | 
| 422 | Validation errors | 
#Security
| Security Schema | Scopes | 
|---|
| BearerToken |  | 
#POST
#Description:
Adds label for user
#Parameters
| Name | Located in | Description | Required | Schema | 
|---|
| uid | formData | user uniq id | Yes | string | 
| key | formData | label key. [a-z0-9_-]+ should be used. Min - 3, max - 255 characters. | Yes | string | 
| value | formData | label value. [A-Za-z0-9_-] should be used. Min - 3, max - 255 characters. | Yes | string | 
| description | formData | label description. [A-Za-z0-9_-] should be used. max - 255 characters. | No | string | 
| scope | formData | Label scope: 'public' or 'private'. Default is public | No | string | 
#Responses
| Code | Description | 
|---|
| 201 | Adds label for user | 
| 401 | Invalid bearer token | 
#Security
| Security Schema | Scopes | 
|---|
| BearerToken |  | 
#GET
#Description:
Returns array of users as paginated collection
#Parameters
| Name | Located in | Description | Required | Schema | 
|---|
| key | query | Label key | Yes | string | 
| value | query | Label value | Yes | string | 
| page | query | Page number (defaults to 1). | No | integer | 
| limit | query | Number of users per page (defaults to 100, maximum is 100). | No | integer | 
#Responses
| Code | Description | 
|---|
| 200 | Returns array of users as paginated collection | 
| 401 | Invalid bearer token | 
#Security
| Security Schema | Scopes | 
|---|
| BearerToken |  | 
# /admin/users/labels/update
#POST
#Description:
Update user label value
#Parameters
| Name | Located in | Description | Required | Schema | 
|---|
| uid | formData | user uniq id | Yes | string | 
| key | formData | Label key. | Yes | string | 
| scope | formData | label key. [a-z0-9_-]+ should be used. Min - 3, max - 255 characters. | Yes | string | 
| value | formData | Label value. | Yes | string | 
| description | formData | label description. [A-Za-z0-9_-] should be used. max - 255 characters. | No | string | 
| replace | formData | When true label will be created if not exist | No | Boolean | 
#Responses
| Code | Description | 
|---|
| 201 | Update user label value | 
| 400 | Required params are empty | 
| 401 | Invalid bearer token | 
| 404 | Record is not found | 
| 422 | Validation errors | 
#Security
| Security Schema | Scopes | 
|---|
| BearerToken |  | 
# /admin/users/labels/list
#GET
#Description:
Returns existing labels keys and values
#Responses
| Code | Description | 
|---|
| 200 | Returns existing labels keys and values | 
| 401 | Invalid bearer token | 
#Security
| Security Schema | Scopes | 
|---|
| BearerToken |  | 
# /admin/users/documents/pending
#GET
#Description:
Returns array of users with pending or replaced documents as paginated collection
#Parameters
| Name | Located in | Description | Required | Schema | 
|---|
| extended | query | When true endpoint returns full information about users | No | Boolean | 
| uid | query |  | No | string | 
| email | query |  | No | string | 
| role | query |  | No | string | 
| first_name | query |  | No | string | 
| last_name | query |  | No | string | 
| country | query |  | No | string | 
| level | query |  | No | integer | 
| state | query |  | No | string | 
| range | query |  | No | string | 
| from | query | An integer represents the seconds elapsed since Unix epoch.If set, only records FROM the time will be retrieved. | No | integer | 
| to | query | An integer represents the seconds elapsed since Unix epoch.If set, only records BEFORE the time will be retrieved. | No | integer | 
| page | query | Page number (defaults to 1). | No | integer | 
| limit | query | Number of users per page (defaults to 100, maximum is 100). | No | integer | 
#Responses
| Code | Description | 
|---|
| 200 | Returns array of users with pending or replaced documents as paginated collection | 
| 401 | Invalid bearer token | 
#Security
| Security Schema | Scopes | 
|---|
| BearerToken |  | 
# /admin/users
#PUT
#Description:
Update user attributes
#Parameters
| Name | Located in | Description | Required | Schema | 
|---|
| uid | formData | user uniq id | Yes | string | 
| state | formData | user state | No | string | 
| otp | formData | user 2fa status | No | Boolean | 
#Responses
| Code | Description | 
|---|
| 200 | Update user attributes | 
| 401 | Invalid bearer token | 
#Security
| Security Schema | Scopes | 
|---|
| BearerToken |  | 
#GET
#Description:
Returns array of users as paginated collection
#Parameters
| Name | Located in | Description | Required | Schema | 
|---|
| extended | query | When true endpoint returns full information about users | No | Boolean | 
| uid | query |  | No | string | 
| email | query |  | No | string | 
| role | query |  | No | string | 
| first_name | query |  | No | string | 
| last_name | query |  | No | string | 
| country | query |  | No | string | 
| level | query |  | No | integer | 
| state | query |  | No | string | 
| range | query |  | No | string | 
| from | query | An integer represents the seconds elapsed since Unix epoch.If set, only records FROM the time will be retrieved. | No | integer | 
| to | query | An integer represents the seconds elapsed since Unix epoch.If set, only records BEFORE the time will be retrieved. | No | integer | 
| page | query | Page number (defaults to 1). | No | integer | 
| limit | query | Number of users per page (defaults to 100, maximum is 100). | No | integer | 
#Responses
| Code | Description | 
|---|
| 200 | Returns array of users as paginated collection | 
| 401 | Invalid bearer token | 
#Security
| Security Schema | Scopes | 
|---|
| BearerToken |  | 
# /admin/users/role
#POST
#Description:
Update user role
#Parameters
| Name | Located in | Description | Required | Schema | 
|---|
| uid | formData | user uniq id | Yes | string | 
| role | formData | user role | Yes | string | 
#Responses
| Code | Description | 
|---|
| 201 | Update user role | 
| 401 | Invalid bearer token | 
#Security
| Security Schema | Scopes | 
|---|
| BearerToken |  | 
# /admin/users/update
#POST
#Description:
Update user attributes
#Parameters
| Name | Located in | Description | Required | Schema | 
|---|
| uid | formData | user uniq id | Yes | string | 
| state | formData | user state | No | string | 
| otp | formData | user 2fa status | No | Boolean | 
#Responses
| Code | Description | 
|---|
| 201 | Update user attributes | 
| 401 | Invalid bearer token | 
#Security
| Security Schema | Scopes | 
|---|
| BearerToken |  | 
# /identity/users/password/confirm_code
#POST
#Description:
Sets new account password
#Parameters
| Name | Located in | Description | Required | Schema | 
|---|
| reset_password_token | formData | Token from email | Yes | string | 
| password | formData | User password | Yes | string | 
| confirm_password | formData | User password | Yes | string | 
| lang | formData | Language in iso-2 format | No | string | 
#Responses
| Code | Description | 
|---|
| 201 | Resets password | 
| 400 | Required params are empty | 
| 404 | Record is not found | 
| 422 | Validation errors | 
# /identity/users/password/generate_code
#POST
#Description:
Send password reset instructions
#Parameters
| Name | Located in | Description | Required | Schema | 
|---|
| email | formData | Account email | Yes | string | 
| lang | formData | Language in iso-2 format | No | string | 
| captcha_response | formData | Response from captcha widget | No | string | 
#Responses
| Code | Description | 
|---|
| 201 | Generated password reset code | 
| 400 | Required params are missing | 
| 404 | User doesn't exist | 
| 422 | Validation errors | 
# /identity/users/email/confirm_code
#POST
#Description:
Confirms an account
#Parameters
| Name | Located in | Description | Required | Schema | 
|---|
| token | formData | Token from email | Yes | string | 
| lang | formData | Language in iso-2 format | No | string | 
#Responses
| Code | Description | 
|---|
| 201 | Confirms an account | 
| 400 | Required params are missing | 
| 422 | Validation errors | 
# /identity/users/email/generate_code
#POST
#Description:
Send confirmations instructions
#Parameters
| Name | Located in | Description | Required | Schema | 
|---|
| email | formData | Account email | Yes | string | 
| lang | formData | Client env language | No | string | 
| captcha_response | formData | Response from captcha widget | No | string | 
#Responses
| Code | Description | 
|---|
| 201 | Generated verification code | 
| 400 | Required params are missing | 
| 422 | Validation errors | 
# /identity/users/register_geetest
#GET
#Description:
Register Geetest captcha
#Responses
| Code | Description | 
|---|
| 200 | Register Geetest captcha | 
# /identity/users
#POST
#Description:
Creates new user
#Parameters
| Name | Located in | Description | Required | Schema | 
|---|
| email | formData | User Email | Yes | string | 
| password | formData | User Password | Yes | string | 
| refid | formData | Referral uid | No | string | 
| lang | formData | Client env language | No | string | 
| captcha_response | formData | Response from captcha widget | No | string | 
| data | formData | Any additional key: value pairs in json string format | No | string | 
#Responses
| Code | Description | 
|---|
| 201 | Creates new user | 
| 400 | Required params are missing | 
| 422 | Validation errors | 
# /identity/sessions
#DELETE
#Description:
Destroy current session
#Responses
| Code | Description | 
|---|
| 204 | Destroy current session | 
| 400 | Required params are empty | 
| 404 | Record is not found | 
#POST
#Description:
Start a new session
#Parameters
| Name | Located in | Description | Required | Schema | 
|---|
| email | formData |  | Yes | string | 
| password | formData |  | Yes | string | 
| captcha_response | formData | Response from captcha widget | No | string | 
| otp_code | formData | Code from Google Authenticator | No | string | 
#Responses
| Code | Description | 
|---|
| 201 | Start a new session | 
| 400 | Required params are empty | 
| 404 | Record is not found | 
# /identity/configs
#GET
#Description:
Get barong configurations
#Responses
| Code | Description | 
|---|
| 200 | Get barong configurations | 
# /identity/version
#GET
#Description:
Get barong version
#Responses
| Code | Description | 
|---|
| 200 | Get barong version | 
# /identity/time
#GET
#Description:
Get server current unix timestamp.
#Responses
| Code | Description | 
|---|
| 200 | Get server current unix timestamp. | 
# /identity/ping
#GET
#Description:
Test connectivity
#Responses
| Code | Description | 
|---|
| 200 | Test connectivity | 
# /identity/password/validate
#POST
#Description:
Password strength testing
#Parameters
| Name | Located in | Description | Required | Schema | 
|---|
| password | formData | User password | Yes | string | 
#Responses
| Code | Description | 
|---|
| 201 | Password strength testing | 
# /resource/data_storage
#POST
#Description:
Create data storage
#Parameters
| Name | Located in | Description | Required | Schema | 
|---|
| title | formData |  | Yes | string | 
| data | formData |  | Yes | string | 
#Responses
| Code | Description | 
|---|
| 201 | Create data storage | 
| 401 | Invalid bearer token | 
| 422 | Validation errors | 
#Security
| Security Schema | Scopes | 
|---|
| BearerToken |  | 
# /resource/api_keys
#GET
#Description:
List all api keys for current account.
#Parameters
| Name | Located in | Description | Required | Schema | 
|---|
| page | query | Page number (defaults to 1). | No | integer | 
| limit | query | Number of users per page (defaults to 100, maximum is 100). | No | integer | 
#Responses
| Code | Description | 
|---|
| 200 | List all api keys for current account. | 
| 400 | Require 2FA and totp code | 
| 401 | Invalid bearer token | 
#Security
| Security Schema | Scopes | 
|---|
| BearerToken |  | 
#POST
#Description:
Create an api key
#Parameters
| Name | Located in | Description | Required | Schema | 
|---|
| algorithm | formData |  | Yes | string | 
| kid | formData |  | No | string | 
| scope | formData | comma separated scopes | No | string | 
| totp_code | formData | Code from Google Authenticator | Yes | string | 
#Responses
| Code | Description | 
|---|
| 201 | Create an api key | 
| 400 | Required params are empty | 
| 401 | Invalid bearer token | 
| 422 | Validation errors | 
#Security
| Security Schema | Scopes | 
|---|
| BearerToken |  | 
# /resource/api_keys/{kid	}
#DELETE
#Description:
Delete an api key
#Parameters
| Name | Located in | Description | Required | Schema | 
|---|
| kid | path |  | Yes | string | 
| totp_code | query | Code from Google Authenticator | Yes | string | 
#Responses
| Code | Description | 
|---|
| 204 | Succefully deleted | 
| 400 | Required params are empty | 
| 401 | Invalid bearer token | 
| 404 | Record is not found | 
#Security
| Security Schema | Scopes | 
|---|
| BearerToken |  | 
#PATCH
#Description:
Updates an api key
#Parameters
| Name | Located in | Description | Required | Schema | 
|---|
| kid | path |  | Yes | string | 
| scope | formData | comma separated scopes | No | string | 
| state | formData | State of API Key. "active" state means key is active and can be used for auth | No | string | 
| totp_code | formData | Code from Google Authenticator | Yes | string | 
#Responses
| Code | Description | 
|---|
| 200 | Updates an api key | 
| 400 | Required params are empty | 
| 401 | Invalid bearer token | 
| 404 | Record is not found | 
| 422 | Validation errors | 
#Security
| Security Schema | Scopes | 
|---|
| BearerToken |  | 
# /resource/otp/verify
#POST
#Description:
Verify 2FA code
#Parameters
| Name | Located in | Description | Required | Schema | 
|---|
| code | formData | Code from Google Authenticator | Yes | string | 
#Responses
| Code | Description | 
|---|
| 201 | Verify 2FA code | 
| 400 | 2FA has not been enabled for this account or code is missing | 
| 401 | Invalid bearer token | 
| 422 | Validation errors | 
#Security
| Security Schema | Scopes | 
|---|
| BearerToken |  | 
# /resource/otp/disable
#POST
#Description:
Disable 2FA
#Parameters
| Name | Located in | Description | Required | Schema | 
|---|
| code | formData | Code from Google Authenticator | Yes | string | 
#Responses
| Code | Description | 
|---|
| 201 | Disable 2FA | 
| 400 | 2FA has not been enabled for this account or code is missing | 
| 401 | Invalid bearer token | 
| 422 | Validation errors | 
#Security
| Security Schema | Scopes | 
|---|
| BearerToken |  | 
# /resource/otp/enable
#POST
#Description:
Enable 2FA
#Parameters
| Name | Located in | Description | Required | Schema | 
|---|
| code | formData | Code from Google Authenticator | Yes | string | 
#Responses
| Code | Description | 
|---|
| 201 | Enable 2FA | 
| 400 | 2FA has been enabled for this account or code is missing | 
| 401 | Invalid bearer token | 
| 422 | Validation errors | 
#Security
| Security Schema | Scopes | 
|---|
| BearerToken |  | 
# /resource/otp/generate_qrcode
#POST
#Description:
Generate qr code for 2FA
#Responses
| Code | Description | 
|---|
| 201 | Generate qr code for 2FA | 
| 400 | 2FA has been enabled for this account | 
| 401 | Invalid bearer token | 
#Security
| Security Schema | Scopes | 
|---|
| BearerToken |  | 
# /resource/phones/verify
#POST
#Description:
Verify a phone
#Parameters
| Name | Located in | Description | Required | Schema | 
|---|
| phone_number | formData | Phone number with country code | Yes | string | 
| verification_code | formData | Verification code from sms | Yes | string | 
#Responses
| Code | Description | 
|---|
| 201 | Verify a phone | 
| 400 | Required params are empty | 
| 401 | Invalid bearer token | 
| 404 | Record is not found | 
#Security
| Security Schema | Scopes | 
|---|
| BearerToken |  | 
# /resource/phones/send_code
#POST
#Description:
Resend activation code
#Parameters
| Name | Located in | Description | Required | Schema | 
|---|
| phone_number | formData | Phone number with country code | Yes | string | 
| channel | formData | The verification method to use | No | string | 
#Responses
| Code | Description | 
|---|
| 201 | Resend activation code | 
| 400 | Required params are empty | 
| 401 | Invalid bearer token | 
| 404 | Record is not found | 
| 422 | Validation errors | 
#Security
| Security Schema | Scopes | 
|---|
| BearerToken |  | 
# /resource/phones
#POST
#Description:
Add new phone
#Parameters
| Name | Located in | Description | Required | Schema | 
|---|
| phone_number | formData | Phone number with country code | Yes | string | 
| channel | formData | The verification method to use | No | string | 
#Responses
| Code | Description | 
|---|
| 201 | Add new phone | 
| 400 | Required params are empty | 
| 401 | Invalid bearer token | 
| 404 | Record is not found | 
| 422 | Validation errors | 
#Security
| Security Schema | Scopes | 
|---|
| BearerToken |  | 
#GET
#Description:
Returns list of user's phones
#Responses
| Code | Description | 
|---|
| 200 | Returns list of user's phones | 
| 401 | Invalid bearer token | 
#Security
| Security Schema | Scopes | 
|---|
| BearerToken |  | 
# /resource/documents
#POST
#Description:
Upload a new document for current user
#Parameters
| Name | Located in | Description | Required | Schema | 
|---|
| doc_type | formData | Document type | Yes | string | 
| doc_number | formData | Document number | Yes | string | 
| upload | formData | Array of Rack::Multipart::UploadedFile | Yes | string | 
| doc_expire | formData | Document expiration date | No | date | 
| metadata | formData | Any additional key: value pairs in json string format | No | string | 
#Responses
| Code | Description | 
|---|
| 201 | Document is uploaded | 
| 400 | Required params are empty | 
| 401 | Invalid bearer token | 
| 422 | Validation errors | 
#Security
| Security Schema | Scopes | 
|---|
| BearerToken |  | 
#GET
#Description:
Return current user documents list
#Responses
| Code | Description | 
|---|
| 200 | Return current user documents list | 
| 401 | Invalid bearer token | 
#Security
| Security Schema | Scopes | 
|---|
| BearerToken |  | 
# /resource/profiles
#PUT
#Description:
Update a profile for current_user
#Parameters
| Name | Located in | Description | Required | Schema | 
|---|
| first_name | formData |  | No | string | 
| last_name | formData |  | No | string | 
| dob | formData |  | No | date | 
| address | formData |  | No | string | 
| postcode | formData |  | No | string | 
| city | formData |  | No | string | 
| country | formData |  | No | string | 
| metadata | formData | Any additional key: value pairs in json string format | No | string | 
| confirm | formData | Profile confirmation | No | Boolean | 
#Responses
| Code | Description | 
|---|
| 200 | Update a profile for current_user | 
| 401 | Invalid bearer token | 
| 422 | Validation errors | 
#Security
| Security Schema | Scopes | 
|---|
| BearerToken |  | 
#POST
#Description:
Create a profile for current_user
#Parameters
| Name | Located in | Description | Required | Schema | 
|---|
| first_name | formData |  | No | string | 
| last_name | formData |  | No | string | 
| dob | formData |  | No | date | 
| address | formData |  | No | string | 
| postcode | formData |  | No | string | 
| city | formData |  | No | string | 
| country | formData |  | No | string | 
| metadata | formData | Any additional key: value pairs in json string format | No | string | 
| confirm | formData | Profile confirmation | No | Boolean | 
#Responses
| Code | Description | 
|---|
| 201 | Create a profile for current_user | 
| 400 | Required params are empty | 
| 401 | Invalid bearer token | 
| 409 | Profile already exists | 
| 422 | Validation errors | 
#Security
| Security Schema | Scopes | 
|---|
| BearerToken |  | 
# /resource/profiles/me
#GET
#Description:
Return profiles of current resource owner
#Responses
| Code | Description | 
|---|
| 200 | Return profiles of current resource owner | 
| 401 | Invalid bearer token | 
| 404 | User has no profile | 
#Security
| Security Schema | Scopes | 
|---|
| BearerToken |  | 
# /resource/labels/{key	}
#DELETE
#Description:
Delete a label  with 'public' scope.
#Parameters
| Name | Located in | Description | Required | Schema | 
|---|
| key | path | Label key. | Yes | string | 
#Responses
| Code | Description | 
|---|
| 204 | Succefully deleted | 
| 400 | Required params are empty | 
| 401 | Invalid bearer token | 
| 404 | Record is not found | 
#Security
| Security Schema | Scopes | 
|---|
| BearerToken |  | 
#PATCH
#Description:
Update a label with 'public' scope.
#Parameters
| Name | Located in | Description | Required | Schema | 
|---|
| key | path | Label key. | Yes | string | 
| value | formData | Label value. | Yes | string | 
#Responses
| Code | Description | 
|---|
| 200 | Update a label with 'public' scope. | 
| 400 | Required params are empty | 
| 401 | Invalid bearer token | 
| 404 | Record is not found | 
| 422 | Validation errors | 
#Security
| Security Schema | Scopes | 
|---|
| BearerToken |  | 
#GET
#Description:
Return a label by key.
#Parameters
| Name | Located in | Description | Required | Schema | 
|---|
| key | path | Label key. | Yes | string | 
#Responses
| Code | Description | 
|---|
| 200 | Return a label by key. | 
| 400 | Required params are empty | 
| 401 | Invalid bearer token | 
| 404 | Record is not found | 
#Security
| Security Schema | Scopes | 
|---|
| BearerToken |  | 
# /resource/labels
#POST
#Description:
Create a label with 'public' scope.
#Parameters
| Name | Located in | Description | Required | Schema | 
|---|
| key | formData | Label key. | Yes | string | 
| value | formData | Label value. | Yes | string | 
#Responses
| Code | Description | 
|---|
| 201 | Create a label with 'public' scope. | 
| 400 | Required params are empty | 
| 401 | Invalid bearer token | 
| 422 | Validation errors | 
#Security
| Security Schema | Scopes | 
|---|
| BearerToken |  | 
#GET
#Description:
List all labels for current user.
#Responses
| Code | Description | 
|---|
| 200 | List all labels for current user. | 
| 401 | Invalid bearer token | 
#Security
| Security Schema | Scopes | 
|---|
| BearerToken |  | 
# /resource/users/password
#PUT
#Description:
Sets new account password
#Parameters
| Name | Located in | Description | Required | Schema | 
|---|
| old_password | formData | Previous account password | Yes | string | 
| new_password | formData | User password | Yes | string | 
| confirm_password | formData | User password | Yes | string | 
| lang | formData | Language in iso-2 format | No | string | 
#Responses
| Code | Description | 
|---|
| 201 | Changes password | 
| 400 | Required params are empty | 
| 404 | Record is not found | 
| 422 | Validation errors | 
# /resource/users/activity/{topic	}
#GET
#Description:
Returns user activity
#Parameters
| Name | Located in | Description | Required | Schema | 
|---|
| topic | path | Topic of user activity. Allowed: [all, password, session, otp] | Yes | string | 
| page | query | Page number (defaults to 1). | No | integer | 
| limit | query | Number of users per page (defaults to 100, maximum is 100). | No | integer | 
#Responses
| Code | Description | 
|---|
| 200 | Returns user activity | 
# /resource/users/me
#DELETE
#Description:
Returns current user
#Parameters
| Name | Located in | Description | Required | Schema | 
|---|
| password | query | Account password | Yes | string | 
| otp_code | query | Code from Google Authenticator | No | string | 
#Responses
| Code | Description | 
|---|
| 204 | Returns current user | 
#GET
#Description:
Returns current user
#Responses
| Code | Description | 
|---|
| 200 | Returns current user | 
# Models
#Level
| Name | Type | Description | Required | 
|---|
| id | integer | Level identifier, level number | No | 
| key | string | Label key. [A-Za-z0-9_-] should be used. Min - 3, max - 255 characters. | No | 
| value | string | Label value. [A-Za-z0-9_-] should be used. Min - 3, max - 255 characters. | No | 
#Label
| Name | Type | Description | Required | 
|---|
| key | string | Label key. [a-z0-9_-]+ should be used. Min - 3, max - 255 characters. | No | 
| value | string | Label value. [A-Za-z0-9_-] should be used. Min - 3, max - 255 characters. | No | 
| scope | string | Label scope: 'public' or 'private' | No | 
| created_at | string |  | No | 
| updated_at | string |  | No | 
#APIKey
| Name | Type | Description | Required | 
|---|
| kid | string | jwt public key | No | 
| algorithm | string | cryptographic hash function type | No | 
| scope | string | serialized array of scopes | No | 
| state | string | active/non-active state of key | No | 
| secret | string |  | No | 
| created_at | string |  | No | 
| updated_at | string |  | No | 
#Profile
| Name | Type | Description | Required | 
|---|
| first_name | string |  | No | 
| last_name | string |  | No | 
| dob | date | Birthday date | No | 
| address | string |  | No | 
| postcode | string |  | No | 
| city | string |  | No | 
| country | string |  | No | 
| state | string |  | No | 
| metadata | object | Profile additional fields | No | 
#User
| Name | Type | Description | Required | 
|---|
| email | string |  | No | 
| uid | string |  | No | 
| role | string |  | No | 
| level | integer |  | No | 
| otp | boolean | is 2FA enabled for account | No | 
| state | string |  | No | 
| referral_uid | string | UID of referrer | No | 
| data | string | additional phone and profile info | No | 
#UserWithProfile
| Name | Type | Description | Required | 
|---|
| email | string |  | No | 
| uid | string |  | No | 
| role | string |  | No | 
| level | integer |  | No | 
| otp | boolean | is 2FA enabled for account | No | 
| state | string |  | No | 
| data | string | additional phone and profile info | No | 
| profiles | Profile |  | No | 
| referral_uid | string | UID of referrer | No | 
| created_at | string |  | No | 
| updated_at | string |  | No | 
#UserWithKYC
| Name | Type | Description | Required | 
|---|
| email | string |  | No | 
| uid | string |  | No | 
| role | string |  | No | 
| level | integer |  | No | 
| otp | boolean |  | No | 
| state | string |  | No | 
| data | string | additional phone and profile info | No | 
| profiles | Profile |  | No | 
| labels | AdminLabelView |  | No | 
| phones | Phone |  | No | 
| documents | Document |  | No | 
| data_storages | DataStorage |  | No | 
| referral_uid | string | UID of referrer | No | 
| created_at | string |  | No | 
| updated_at | string |  | No | 
#AdminLabelView
| Name | Type | Description | Required | 
|---|
| key | string | Label key. [a-z0-9_-]+ should be used. Min - 3, max - 255 characters. | No | 
| value | string | Label value. [A-Za-z0-9_-] should be used. Min - 3, max - 255 characters. | No | 
| scope | string | Label scope: 'public' or 'private' | No | 
| description | string | Label desc: json string with any additional information | No | 
| created_at | string |  | No | 
| updated_at | string |  | No | 
#Phone
| Name | Type | Description | Required | 
|---|
| country | string |  | No | 
| number | string |  | No | 
| validated_at | s (g) |  | No | 
#Document
| Name | Type | Description | Required | 
|---|
| upload | string | file url | No | 
| doc_type | string | document type: passport, driver license | No | 
| doc_number | string | document number: AB123123 type | No | 
| doc_expire | string | expire date of uploaded documents | No | 
| metadata | string | any additional stored data | No | 
| created_at | string |  | No | 
| updated_at | string |  | No | 
#DataStorage
| Name | Type | Description | Required | 
|---|
| title | string | any additional data title | No | 
| data | string | any additional data json key:value pairs | No | 
| created_at | string |  | No | 
| updated_at | string |  | No | 
#UserWithFullInfo
| Name | Type | Description | Required | 
|---|
| email | string |  | No | 
| uid | string |  | No | 
| role | string |  | No | 
| level | integer |  | No | 
| otp | boolean |  | No | 
| state | string |  | No | 
| referral_uid | string | UID of referrer | No | 
| csrf_token | string | csrf protection token | No | 
| data | string | additional phone and profile info | No | 
| created_at | string |  | No | 
| updated_at | string |  | No | 
| labels | Label |  | No | 
| phones | Phone |  | No | 
| profiles | Profile |  | No | 
| data_storages | DataStorage |  | No | 
#Activity
| Name | Type | Description | Required | 
|---|
| user_ip | string |  | No | 
| user_agent | string |  | No | 
| topic | string |  | No | 
| action | string |  | No | 
| result | string |  | No | 
| data | string |  | No | 
| created_at | string |  | No |