Files
Dalan/docs/api/barong_user_api_v2.md
2026-08-13 19:56:46 +03:30

1318 lines
36 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Barong
RESTful API for barong OAuth server
## Version: 2.7.0
### /api/v2/barong/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 |
##### Responses
| Code | Description |
| ---- | ----------- |
| 201 | Resets password |
| 400 | Required params are empty |
| 404 | Record is not found |
| 422 | Validation errors |
### /api/v2/barong/identity/users/password/generate_code
#### POST
##### Description
Send password reset instructions
##### Parameters
| Name | Located in | Description | Required | Schema |
| ---- | ---------- | ----------- | -------- | ---- |
| email | formData | Account email | Yes | 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 |
### /api/v2/barong/identity/users/email/confirm_code
#### POST
##### Description
Confirms an account
##### Parameters
| Name | Located in | Description | Required | Schema |
| ---- | ---------- | ----------- | -------- | ---- |
| token | formData | Token from email | Yes | string |
##### Responses
| Code | Description | Schema |
| ---- | ----------- | ------ |
| 201 | Confirms an account | [API_V2_Entities_UserWithFullInfo](#api_v2_entities_userwithfullinfo) |
| 400 | Required params are missing | |
| 422 | Validation errors | |
### /api/v2/barong/identity/users/email/generate_code
#### POST
##### Description
Send confirmations instructions
##### Parameters
| Name | Located in | Description | Required | Schema |
| ---- | ---------- | ----------- | -------- | ---- |
| email | formData | Account email | Yes | 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 |
### /api/v2/barong/identity/users/register_geetest
#### GET
##### Description
Register Geetest captcha
##### Responses
| Code | Description |
| ---- | ----------- |
| 200 | Register Geetest captcha |
### /api/v2/barong/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 |
| 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 | Schema |
| ---- | ----------- | ------ |
| 201 | Creates new user | [API_V2_Entities_UserWithFullInfo](#api_v2_entities_userwithfullinfo) |
| 400 | Required params are missing | |
| 422 | Validation errors | |
### /api/v2/barong/identity/users/access
#### POST
##### Description
Creates new whitelist restriction
##### Parameters
| Name | Located in | Description | Required | Schema |
| ---- | ---------- | ----------- | -------- | ---- |
| whitelink_token | formData | | Yes | string |
##### Responses
| Code | Description |
| ---- | ----------- |
| 200 | Whitelist restriction was created |
| 400 | Required params are missing |
| 422 | Validation errors |
### /api/v2/barong/identity/sessions
#### DELETE
##### Description
Destroy current session
##### Responses
| Code | Description |
| ---- | ----------- |
| 204 | Session was destroyed |
| 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 | Schema |
| ---- | ----------- | ------ |
| 201 | Start a new session | [API_V2_Entities_UserWithFullInfo](#api_v2_entities_userwithfullinfo) |
| 400 | Required params are empty | |
| 404 | Record is not found | |
### /api/v2/barong/identity/configs
#### GET
##### Description
Get barong configurations
##### Responses
| Code | Description |
| ---- | ----------- |
| 200 | Get barong configurations |
### /api/v2/barong/identity/version
#### GET
##### Description
Get barong version
##### Responses
| Code | Description |
| ---- | ----------- |
| 200 | Get barong version |
### /api/v2/barong/identity/time
#### GET
##### Description
Get server current unix timestamp.
##### Responses
| Code | Description |
| ---- | ----------- |
| 200 | Get server current unix timestamp. |
### /api/v2/barong/identity/ping
#### GET
##### Description
Test connectivity
##### Responses
| Code | Description |
| ---- | ----------- |
| 200 | Test connectivity |
### /api/v2/barong/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 |
### /api/v2/barong/resource/swagger_doc/{name}
#### GET
##### Description
Swagger compatible API description for specific API
##### Parameters
| Name | Located in | Description | Required | Schema |
| ---- | ---------- | ----------- | -------- | ---- |
| name | path | Resource name of mounted API | Yes | string |
| locale | query | Locale of API documentation | No | string |
##### Responses
| Code | Description |
| ---- | ----------- |
| 200 | Swagger compatible API description for specific API |
### /api/v2/barong/resource/swagger_doc
#### GET
##### Description
Swagger compatible API description
##### Responses
| Code | Description |
| ---- | ----------- |
| 200 | Swagger compatible API description |
### /api/v2/barong/resource/service_accounts/api_keys/{kid}
#### PUT
##### Description
Updates an api key
##### Parameters
| Name | Located in | Description | Required | Schema |
| ---- | ---------- | ----------- | -------- | ---- |
| service_account_uid | formData | | Yes | string |
| kid | path | Service account kid | 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 | Schema |
| ---- | ----------- | ------ |
| 200 | Updates an api key | [API_V2_Entities_APIKey](#api_v2_entities_apikey) |
| 400 | Required params are empty | |
| 401 | Invalid bearer token | |
| 404 | Record is not found | |
| 422 | Validation errors | |
#### DELETE
##### Description
Delete an api key for specific service account
##### Parameters
| Name | Located in | Description | Required | Schema |
| ---- | ---------- | ----------- | -------- | ---- |
| service_account_uid | query | | Yes | string |
| kid | path | Service account kid | 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 |
### /api/v2/barong/resource/service_accounts/api_keys
#### POST
##### Description
Create api key for specific service account.
##### Parameters
| Name | Located in | Description | Required | Schema |
| ---- | ---------- | ----------- | -------- | ---- |
| service_account_uid | formData | | Yes | string |
| algorithm | formData | Service account algorithm | Yes | string |
| scope | formData | Comma separated scopes | No | string |
| totp_code | formData | Code from Google Authenticator | Yes | string |
##### Responses
| Code | Description | Schema |
| ---- | ----------- | ------ |
| 201 | Create api key for specific service account. | [API_V2_Entities_APIKey](#api_v2_entities_apikey) |
| 400 | Require 2FA and totp code | |
| 401 | Invalid bearer token | |
#### GET
##### Description
List all api keys for specific service account.
##### Parameters
| Name | Located in | Description | Required | Schema |
| ---- | ---------- | ----------- | -------- | ---- |
| ordering | query | If set, returned values will be sorted in specific order, defaults to 'asc'. | No | string |
| order_by | query | Name of the field, which result will be ordered by. | 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 |
| service_account_uid | query | | Yes | string |
##### Responses
| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | List all api keys for specific service account. | [API_V2_Entities_APIKey](#api_v2_entities_apikey) |
| 400 | Require 2FA and totp code | |
| 401 | Invalid bearer token | |
### /api/v2/barong/resource/service_accounts
#### GET
##### Description
List all service accounts for current user.
##### Responses
| Code | Description |
| ---- | ----------- |
| 200 | List all service accounts for current user. |
| 400 | Require 2FA and totp code |
| 401 | Invalid bearer token |
##### Security
| Security Schema | Scopes |
| --- | --- |
| BearerToken | |
### /api/v2/barong/resource/data_storage
#### POST
##### Description
Create data storage
##### Parameters
| Name | Located in | Description | Required | Schema |
| ---- | ---------- | ----------- | -------- | ---- |
| title | formData | Storage title | Yes | string |
| data | formData | Storage data | Yes | string |
##### Responses
| Code | Description |
| ---- | ----------- |
| 201 | Data Storage was created |
| 401 | Invalid bearer token |
| 422 | Validation errors |
### /api/v2/barong/resource/api_keys
#### GET
##### Description
List all api keys for current account.
##### Parameters
| Name | Located in | Description | Required | Schema |
| ---- | ---------- | ----------- | -------- | ---- |
| ordering | query | If set, returned values will be sorted in specific order, defaults to 'asc'. | No | string |
| order_by | query | Name of the field, which result will be ordered by. | 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 | Schema |
| ---- | ----------- | ------ |
| 200 | List all api keys for current account. | [API_V2_Entities_APIKey](#api_v2_entities_apikey) |
| 400 | Require 2FA and totp code | |
| 401 | Invalid bearer token | |
#### POST
##### Description
Create an api key
##### Parameters
| Name | Located in | Description | Required | Schema |
| ---- | ---------- | ----------- | -------- | ---- |
| algorithm | formData | API key algorithm | Yes | string |
| scope | formData | Comma separated scopes | No | string |
| totp_code | formData | Code from Google Authenticator | Yes | string |
##### Responses
| Code | Description | Schema |
| ---- | ----------- | ------ |
| 201 | Create an api key | [API_V2_Entities_APIKey](#api_v2_entities_apikey) |
| 400 | Required params are empty | |
| 401 | Invalid bearer token | |
| 422 | Validation errors | |
### /api/v2/barong/resource/api_keys/{kid}
#### DELETE
##### Description
Delete an api key
##### Parameters
| Name | Located in | Description | Required | Schema |
| ---- | ---------- | ----------- | -------- | ---- |
| kid | path | API key kid | 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 |
#### PATCH
##### Description
Updates an api key
##### Parameters
| Name | Located in | Description | Required | Schema |
| ---- | ---------- | ----------- | -------- | ---- |
| kid | path | API key kid | 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 | Schema |
| ---- | ----------- | ------ |
| 200 | Updates an api key | [API_V2_Entities_APIKey](#api_v2_entities_apikey) |
| 400 | Required params are empty | |
| 401 | Invalid bearer token | |
| 404 | Record is not found | |
| 422 | Validation errors | |
### /api/v2/barong/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 |
| ---- | ----------- |
| 200 | 2FA was verified |
| 400 | 2FA has not been enabled for this account or code is missing |
| 401 | Invalid bearer token |
| 422 | Validation errors |
### /api/v2/barong/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 |
| ---- | ----------- |
| 200 | 2FA was disabled |
| 400 | 2FA has not been enabled for this account or code is missing |
| 401 | Invalid bearer token |
| 422 | Validation errors |
### /api/v2/barong/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 |
| ---- | ----------- |
| 200 | 2FA was enabled |
| 400 | 2FA has been enabled for this account or code is missing |
| 401 | Invalid bearer token |
| 422 | Validation errors |
### /api/v2/barong/resource/otp/generate_qrcode
#### POST
##### Description
Generate qr code for 2FA
##### Responses
| Code | Description |
| ---- | ----------- |
| 200 | QR code was generated |
| 400 | 2FA has been enabled for this account |
| 401 | Invalid bearer token |
### /api/v2/barong/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 | Schema |
| ---- | ----------- | ------ |
| 201 | Verify a phone | [API_V2_Entities_UserWithFullInfo](#api_v2_entities_userwithfullinfo) |
| 400 | Required params are empty | |
| 401 | Invalid bearer token | |
| 404 | Record is not found | |
### /api/v2/barong/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 |
| ---- | ----------- |
| 200 | Activation code was resend |
| 400 | Required params are empty |
| 401 | Invalid bearer token |
| 404 | Record is not found |
| 422 | Validation errors |
### /api/v2/barong/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 |
| ---- | ----------- |
| 200 | New phone was added |
| 400 | Required params are empty |
| 401 | Invalid bearer token |
| 404 | Record is not found |
| 422 | Validation errors |
#### GET
##### Description
Returns list of user's phones
##### Responses
| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | Returns list of user's phones | [API_V2_Entities_Phone](#api_v2_entities_phone) |
| 401 | Invalid bearer token | |
### /api/v2/barong/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 |
| doc_category | formData | Category of the submitted document - front/back/selfie etc. | No | string |
| identificator | formData | Identificator for documents to be supplied together | No | string |
| 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 |
#### GET
##### Description
Return current user documents list
##### Responses
| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | Return current user documents list | [API_V2_Entities_Document](#api_v2_entities_document) |
| 401 | Invalid bearer token | |
### /api/v2/barong/resource/profiles
#### PUT
##### Description
Update a profile for current_user
##### Parameters
| Name | Located in | Description | Required | Schema |
| ---- | ---------- | ----------- | -------- | ---- |
| first_name | formData | First Name | No | string |
| last_name | formData | Last Name | No | string |
| dob | formData | Date of Birth | No | date |
| address | formData | Address | No | string |
| postcode | formData | Postcode | No | string |
| city | formData | City | No | string |
| country | formData | Country | No | string |
| metadata | formData | Any additional key: value pairs in json string format | No | string |
| confirm | formData | Profile confirmation | No | boolean |
##### Responses
| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | Update a profile for current_user | [API_V2_Entities_Profile](#api_v2_entities_profile) |
| 401 | Invalid bearer token | |
| 422 | Validation errors | |
#### POST
##### Description
Create a profile for current_user
##### Parameters
| Name | Located in | Description | Required | Schema |
| ---- | ---------- | ----------- | -------- | ---- |
| first_name | formData | First Name | No | string |
| last_name | formData | Last Name | No | string |
| dob | formData | Date of Birth | No | date |
| address | formData | Address | No | string |
| postcode | formData | Postcode | No | string |
| city | formData | City | No | string |
| country | formData | Country | No | string |
| metadata | formData | Any additional key: value pairs in json string format | No | string |
| confirm | formData | Profile confirmation | No | boolean |
##### Responses
| Code | Description | Schema |
| ---- | ----------- | ------ |
| 201 | Create a profile for current_user | [API_V2_Entities_Profile](#api_v2_entities_profile) |
| 400 | Required params are empty | |
| 401 | Invalid bearer token | |
| 409 | Profile already exists | |
| 422 | Validation errors | |
### /api/v2/barong/resource/profiles/me
#### GET
##### Description
Return profiles of current resource owner
##### Responses
| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | Return profiles of current resource owner | [API_V2_Entities_Profile](#api_v2_entities_profile) |
| 401 | Invalid bearer token | |
| 404 | User has no profile | |
### /api/v2/barong/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 |
#### 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 | Schema |
| ---- | ----------- | ------ |
| 200 | Update a label with 'public' scope. | [API_V2_Entities_Label](#api_v2_entities_label) |
| 400 | Required params are empty | |
| 401 | Invalid bearer token | |
| 404 | Record is not found | |
| 422 | Validation errors | |
#### GET
##### Description
Return a label by key.
##### Parameters
| Name | Located in | Description | Required | Schema |
| ---- | ---------- | ----------- | -------- | ---- |
| key | path | Label key. | Yes | string |
##### Responses
| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | Return a label by key. | [API_V2_Entities_Label](#api_v2_entities_label) |
| 400 | Required params are empty | |
| 401 | Invalid bearer token | |
| 404 | Record is not found | |
### /api/v2/barong/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 | Schema |
| ---- | ----------- | ------ |
| 201 | Create a label with 'public' scope. | [API_V2_Entities_Label](#api_v2_entities_label) |
| 400 | Required params are empty | |
| 401 | Invalid bearer token | |
| 422 | Validation errors | |
#### GET
##### Description
List all labels for current user.
##### Responses
| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | List all labels for current user. | [API_V2_Entities_Label](#api_v2_entities_label) |
| 401 | Invalid bearer token | |
### /api/v2/barong/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 |
##### Responses
| Code | Description |
| ---- | ----------- |
| 201 | Changes password |
| 400 | Required params are empty |
| 404 | Record is not found |
| 422 | Validation errors |
### /api/v2/barong/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 |
| time_from | query | An integer represents the seconds elapsed since Unix epoch.If set, only activities created after the time will be returned. | No | integer |
| time_to | query | An integer represents the seconds elapsed since Unix epoch.If set, only activities created before the time will be returned. | No | integer |
| result | query | Result of user activity. Allowed: [succeed, failed, denied] | 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 | Schema |
| ---- | ----------- | ------ |
| 200 | Returns user activity | [API_V2_Entities_Activity](#api_v2_entities_activity) |
### /api/v2/barong/resource/users/me
#### DELETE
##### Description
Blocks 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 | Current user was blocked |
#### PUT
##### Description
Updates current user data field
##### Parameters
| Name | Located in | Description | Required | Schema |
| ---- | ---------- | ----------- | -------- | ---- |
| data | formData | Any additional key: value pairs in json string format | Yes | string |
##### Responses
| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | Updates current user data field | [API_V2_Entities_UserWithFullInfo](#api_v2_entities_userwithfullinfo) |
#### GET
##### Description
Returns current user
##### Responses
| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | Returns current user | [API_V2_Entities_UserWithFullInfo](#api_v2_entities_userwithfullinfo) |
### /api/v2/barong/resource/addresses
#### POST
##### Description
Upload a new address approval document for current user
##### Parameters
| Name | Located in | Description | Required | Schema |
| ---- | ---------- | ----------- | -------- | ---- |
| country | formData | Document type | Yes | string |
| address | formData | Document number | Yes | string |
| upload | formData | Array of Rack::Multipart::UploadedFile | Yes | string |
| city | formData | Document expiration date | Yes | string |
| postcode | formData | Any additional key: value pairs in json string format | Yes | string |
##### Responses
| Code | Description |
| ---- | ----------- |
| 201 | New address approval document was uploaded |
| 400 | Required params are empty |
| 401 | Invalid bearer token |
| 422 | Validation errors |
### /api/v2/barong/public/configs
#### GET
##### Description
Get barong configurations
##### Responses
| Code | Description |
| ---- | ----------- |
| 200 | Get barong configurations |
### /api/v2/barong/public/version
#### GET
##### Description
Get barong version
##### Responses
| Code | Description |
| ---- | ----------- |
| 200 | Get barong version |
### /api/v2/barong/public/time
#### GET
##### Description
Get server current unix timestamp.
##### Responses
| Code | Description |
| ---- | ----------- |
| 200 | Get server current unix timestamp. |
### /api/v2/barong/public/ping
#### GET
##### Description
Test connectivity
##### Responses
| Code | Description |
| ---- | ----------- |
| 200 | Test connectivity |
### /api/v2/barong/public/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 |
### /api/v2/barong/public/kyc
#### POST
##### Description
KYC callback
##### Responses
| Code | Description |
| ---- | ----------- |
| 201 | KYC callback |
### Models
#### API_V2_Entities_UserWithFullInfo
Returns current user
| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| email | string | User Email | No |
| uid | string | User UID | No |
| role | string | User role | No |
| level | integer | User level | No |
| otp | boolean | is 2FA enabled for account | No |
| state | string | User state: active, pending, inactive | No |
| referral_uid | string | UID of referrer | No |
| data | string | Additional phone and profile info | No |
| csrf_token | string | Сsrf protection token | No |
| labels | [API_V2_Entities_Label](#api_v2_entities_label) | | No |
| phones | [API_V2_Entities_Phone](#api_v2_entities_phone) | | No |
| profiles | [API_V2_Entities_Profile](#api_v2_entities_profile) | | No |
| data_storages | [API_V2_Entities_DataStorage](#api_v2_entities_datastorage) | | No |
| created_at | string | | No |
| updated_at | string | | No |
#### API_V2_Entities_Label
List all labels for current user.
| 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 |
#### API_V2_Entities_Phone
Returns list of user's phones
| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| country | string | Phone country | No |
| number | string | Submasked phone number | No |
| validated_at | s (g) | Phone validation date | No |
#### API_V2_Entities_Profile
Return profiles of current resource owner
| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| first_name | string | First Name | No |
| last_name | string | Submasked last name | No |
| dob | date | Submasked birth date | No |
| address | string | Address | No |
| postcode | string | Address Postcode | No |
| city | string | City name | No |
| country | string | Country name | No |
| state | string | Profile state: drafted, submitted, verified, rejected | No |
| metadata | object | Profile additional fields | No |
| created_at | string | | No |
| updated_at | string | | No |
#### API_V2_Entities_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 |
#### API_V2_Entities_APIKey
Create an api key
| 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 | Api key secret | No |
| created_at | string | | No |
| updated_at | string | | No |
#### API_V2_Entities_Document
Return current user documents list
| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| upload | string | File url | No |
| doc_type | string | Document type: passport, driver license, utility bill, identity card, institutional, address, residental | No |
| doc_number | string | Submasked 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 |
#### API_V2_Entities_Activity
Returns user activity
| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| id | integer | Activity ID | No |
| user_ip | string | User IP | No |
| user_agent | string | User Browser Agent | No |
| topic | string | Defined topic (session, adjustments) or general by default | No |
| action | string | API action: POST => 'create', PUT => 'update', GET => 'read', DELETE => 'delete', PATCH => 'update' or system if there is no match of HTTP method | No |
| result | string | Status of API response: succeed, failed, denied | No |
| data | string | Parameters which was sent to specific API endpoint | No |
| created_at | string | | No |
#### API_V2_Entities_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 |
#### API_V2_Entities_User
| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| email | string | User Email | No |
| uid | string | User UID | No |
| role | string | User role | No |
| level | integer | User level | No |
| otp | boolean | is 2FA enabled for account | No |
| state | string | User state: active, pending, inactive | No |
| referral_uid | string | UID of referrer | No |
| data | string | Additional phone and profile info | No |
#### API_V2_Entities_UserWithProfile
| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| email | string | User Email | No |
| uid | string | User UID | No |
| role | string | User role | No |
| level | integer | User level | No |
| otp | boolean | is 2FA enabled for account | No |
| state | string | User state: active, pending, inactive | No |
| referral_uid | string | UID of referrer | No |
| data | string | Additional phone and profile info | No |
| profiles | [API_V2_Entities_Profile](#api_v2_entities_profile) | | No |
| created_at | string | | No |
| updated_at | string | | No |
#### API_V2_Entities_UserWithKYC
| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| email | string | User Email | No |
| uid | string | User UID | No |
| role | string | User role | No |
| level | integer | User level | No |
| otp | boolean | is 2FA enabled for account | No |
| state | string | User state: active, pending, inactive | No |
| referral_uid | string | UID of referrer | No |
| data | string | Additional phone and profile info | No |
| profiles | [API_V2_Entities_Profile](#api_v2_entities_profile) | | No |
| labels | [API_V2_Entities_AdminLabelView](#api_v2_entities_adminlabelview) | | No |
| phones | [API_V2_Entities_Phone](#api_v2_entities_phone) | | No |
| documents | [API_V2_Entities_Document](#api_v2_entities_document) | | No |
| data_storages | [API_V2_Entities_DataStorage](#api_v2_entities_datastorage) | | No |
| comments | [API_V2_Entities_Comment](#api_v2_entities_comment) | | No |
| created_at | string | | No |
| updated_at | string | | No |
#### API_V2_Entities_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 |
#### API_V2_Entities_Comment
| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| id | integer | Comment id | No |
| author_uid | string | Comment author UID | No |
| title | string | Comment title | No |
| data | string | Comment plain text | No |
| created_at | string | | No |
| updated_at | string | | No |
#### API_V2_Entities_ServiceAccounts
| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| email | string | User Email | No |
| uid | string | User UID | No |
| role | string | Service Account Role | No |
| level | integer | User Level | No |
| state | string | Service Account State: active, disabled | No |
| user | [API_V2_Entities_User](#api_v2_entities_user) | | No |
| created_at | string | | No |
| updated_at | string | | No |