Skip to main content

User

This module contains endpoints for creating and managing users.

Standard flow without poa:

  • Create user account and genereate all balances - /v1/user/balances/crypto-and-fiat
  • Add KYC file - /v1/user/kyc-files/:externalUserId or Creating KYC verification - /v1/kyc
  • Add user document verification - /v1/user/verification

Standard flow with poa:

  • Create user account and genereate all balances - /v1/user/balances/crypto-and-fiat
  • Add KYC file - /v1/user/kyc-files/:externalUserId or Creating KYC verification - /v1/kyc
  • Add POA file - /v1/user/poa-files/:externalUserId
  • Add user document verification - /v1/user/verification

If POA files are required, you need to add documents for verification and wait for the response from webhook webhook/poa-verification/status with the verification status.

Balances are created when a user is created, but EUR balance will be active when document verification is added to the client.
KYC files for ID_CARD and RESIDENCE_PERMIT documents require a photo of the front, back of the document and a customer selfie, for PASSPORT one photo of the document and a customer selfie are required.

List of countries for which we support account generation:

  • AM
  • AT
  • AZ
  • BE
  • BG
  • CH
  • CY
  • CZ
  • DE
  • DK
  • EE
  • ES
  • FI
  • FR
  • GB
  • GE
  • GR
  • HR
  • HU
  • IE
  • IL
  • IN
  • IS
  • IT
  • LI
  • LT
  • LU
  • LV
  • MD
  • MT
  • NL
  • NO
  • PL
  • PT
  • RO
  • SE
  • SI
  • SK
  • UA

Customers from countries:

  • AM
  • AR
  • AZ
  • GE
  • IL
  • MD
  • UA

proof of address is also required, POA files need to be added in new endpoint /v1/user/poa-files/:externalUserId.


Create user account and genereate all balances​

Each user must have unique externalUserId. If user with this externalUserId already exists, error will be thrown. Fiat balances is created asynchronously, when created it gets the status 'WAITING_TO_BE_ACTIVATED', when it is created correctly we will send information about it using a webhook /webhook/user/status and we will change the balance status to 'ACTIVE'

Method: POST
Endpoint: /v1/user/balances/crypto-and-fiat

Request​

Request body - required​

NameTypeRequiredDescription
externalUserIdstringYesExternal user id (from your system)
emailstringYesEmail
phonestringYesPhone
firstNamestringYesFirst name
lastNamestringYesLast name
addressstringYesAddress
citystringYesCity
postCodestringYesPost code. Postal code should follow the format accepted in the given country.
countrystringYesISO 3166-1 alpha-2 country code. Country of residence
citizenshipstringYesISO 3166-1 alpha-2 country code. Country of issue of the document
documentTypestringYesEnum: [ "PASSPORT", "ID_CARD", "RESIDENCE_PERMIT" ]
documentNumberstringYesDocument number

 

Example body request​

{
"externalUserId": "bca65c48-df49-4831-a7b2-de7903321581",
"email": "johndoe@gmail.com",
"phone": "48123123123",
"firstName": "John",
"lastName": "Doe",
"address": "Adama Matuszczaka 51/4",
"city": "Rzeszów",
"postCode": "35-083",
"country": "PL",
"citizenship": "PL",
"documentType": "ID_CARD",
"documentNumber": "CEV124630"
}

Response​

Code: 200
Description: Returns our user id and all user balances

 

Response body explanation​

{
"userId": "User id (from our system)",
"poaRequired": "Information on whether POA is required",
"fiatBalances": [
{
"id": "Balance id (from our system)",
"amount": "Amount",
"name": "Currency name",
"rate": "Rate",
"status": "Enum: [ 'ACTIVE, 'WAITING_TO_BE_ACTIVATED' ]"
}
],
"cryptoBalances": [
{
"id": "Balance id (from our system)",
"amount": "Amount",
"name": "Currency name",
"wallet": "Wallet address",
"rate": "Rate",
"networkConfig": {
[networkName]: {
"mainnet": "Is mainnet network",
"name": "Network name",
"withdrawal": {
"feeWithdrawal": "Withdrawal fee",
"minWithdrawal": "Withdrawal min amount"
},
"deposit": {
"minDeposit": "Deposit min amount"
},
}
}
}
]
}

 

Example response​

{
"userId": "617c6277-41cc-45ab-b2c1-b4187d823827",
"poaRequired": "true",
"fiatBalances": [
{
"id": "02ee1b09-9934-4dcc-8dec-91bf34b8f543",
"amount": "0.00",
"name": "eur",
"rate": 1,
"status": "ACTIVE"
}
],
"cryptoBalances": [
{
"id": "f2de1f4b-916f-417e-9410-8bf4a70693ee",
"amount": "0.000000",
"name": "usdc",
"wallet": "0x2e90ca5bbe46d5ae23f2df90457d020391b92673",
"rate": 0.963728,
"networkConfig": {
"ethereum": {
"mainnet": false,
"name": "sepolia",
"withdrawal": {
"feeWithdrawal": 10,
"minWithdrawal": 15
},
"deposit": {
"minDeposit": 5
}
},
"polygon": {
"mainnet": false,
"name": "amoy",
"withdrawal": {
"feeWithdrawal": 10,
"minWithdrawal": 15
},
"deposit": {
"minDeposit": 5
}
}
}
},
{
"id": "7415034b-3dcf-4f45-a213-ce6361c248aa",
"amount": "0.000000",
"name": "usdt",
"wallet": "0x2e90ca5bbe46d5ae23f2df90457d020391b92673",
"rate": 0.963486,
"networkConfig": {
"ethereum": {
"mainnet": false,
"name": "sepolia",
"withdrawal": {
"feeWithdrawal": 10,
"minWithdrawal": 15
},
"deposit": {
"minDeposit": 5
}
},
"polygon": {
"mainnet": false,
"name": "amoy",
"withdrawal": {
"feeWithdrawal": 10,
"minWithdrawal": 15
},
"deposit": {
"minDeposit": 5
}
}
}
},
{
"id": "ca5f1989-978b-422c-b0bd-b799c5e32fe8",
"amount": "0.00000000",
"name": "ltc",
"wallet": "tltc1qvf4kplcdjzskhukeg58lnde4gxhqv822fpxm2t",
"rate": 128.12666666,
"networkConfig": {
"btc": {
"mainnet": false,
"name": "test",
"withdrawal": {
"feeWithdrawal": 0.002,
"minWithdrawal": 0.004
},
"deposit": {
"minDeposit": 0
}
}
}
},
{
"id": "b28d71d3-60ae-49ac-9346-26bf5358e198",
"amount": "0.00000000",
"name": "pol",
"wallet": "0x2e90ca5bbe46d5ae23f2df90457d020391b92673",
"rate": 0.39908402,
"networkConfig": {
"polygon": {
"mainnet": false,
"name": "amoy",
"withdrawal": {
"feeWithdrawal": 0.001,
"minWithdrawal": 0.00005
},
"deposit": {
"minDeposit": 0
}
}
}
},
{
"id": "d83263ca-3e1f-4190-8739-e99900758ed2",
"amount": "0.00000000",
"name": "eth",
"wallet": "0x2e90ca5bbe46d5ae23f2df90457d020391b92673",
"rate": 3169.4854887,
"networkConfig": {
"ethereum": {
"mainnet": false,
"name": "sepolia",
"withdrawal": {
"feeWithdrawal": 0.003,
"minWithdrawal": 0.006
},
"deposit": {
"minDeposit": 0
}
}
}
},
{
"id": "fae1baed-815b-4b5f-998b-d3b2c36145da",
"amount": "0.00000000",
"name": "btc",
"wallet": "tb1qsclk8wvk7zplp6t8f0954qddctqtvcrhea5gca",
"rate": 100686.13333333,
"networkConfig": {
"btc": {
"mainnet": false,
"name": "test",
"withdrawal": {
"feeWithdrawal": 0.0003,
"minWithdrawal": 0.0003
},
"deposit": {
"minDeposit": 0
}
}
}
}
]
}

 

Code: 400
Description: User exist

Example response​

{
"errorCode": "P411",
"errorName": "user-exists"
}

 

Code: 400
Description: User of this country cannot have account

Example response​

{
"errorCode": "P431",
"errorName": "forbidden-country"
}

Add KYC file​

Method: POST
Endpoint: /v1/user/kyc-files/:externalUserId

KYC files can be added all at once or you can add individual missing ones. Required files for each type of document:

  • PASSPORT - front, selfie
  • ID_CARD - front, back, selfie
  • RESIDENCE_PERMIT - front, back, selfie

Request​

Parameters - required​

NameTypeRequiredExampleDescription
externalUserIdstringYesf9b430dc-7e1a-42a0-bbb4-9003935ea9f9External user id (from your system)

Request body (Content-Type: multipart/form-data) - required​

NameTypeRequiredDescription
front_idfileYesFront photo of document passed in request. Allowed types: 'image/jpeg', 'image/png', 'image/jpg'. Maximum file size is 2MB
back_idfileNoBack photo of document passed in request. Required only if documentType is ID_CARD and RESIDENCE_PERMIT. Allowed types: 'image/jpeg', 'image/png', 'image/jpg'. Maximum file size is 2MB
selfiefileYesCustomer face photo. Allowed types: 'image/jpeg', 'image/png', 'image/jpg'. Maximum file size is 2MB

Response​

Code: 200
Description: KYC files added

Example response​

{
"message": "KYC files uploaded successfully"
}

 

Code: 400
Description: User does not exist

Example response​

{
"errorCode": "P412",
"errorName": "invalid-user"
}

 

Code: 400
Description: Invalid file type

Example response​

{
"errorCode": "P426",
"errorName": "invalid-file-type"
}

Add POA file​

Method: POST
Endpoint: /v1/user/poa-files/:externalUserId

POA files must be added all at once. They can be a maximum of 3 files no larger than 5MB.

Request​

Parameters - required​

NameTypeRequiredExampleDescription
externalUserIdstringYesf9b430dc-7e1a-42a0-bbb4-9003935ea9f9External user id (from your system)

Request body (Content-Type: multipart/form-data) - required​

NameTypeRequiredDescription
filesfileYesPOA files, maximum 3 files, no larger than 5MB. Allowed types: 'image/jpeg', 'image/png', 'image/jpg', 'application/pdf'

Response​

Code: 200
Description: POA files added

Example response​

{
"message": "POA files uploaded successfully"
}

 

Code: 400
Description: File is too large

Example response​

{
"errorCode": "P440",
"errorName": "file-too-large"
}

 

Code: 400
Description: File type is not supported

Example response​

{
"errorCode": "P426",
"errorName": "invalid-file-type"
}

 

Code: 202
Description: POA verification pending

Example response​

{
"errorCode": "P211",
"errorName": "poa-verification-pending"
}

 

Code: 400
Description: POA verification pending

Example response​

{
"errorCode": "P447",
"errorName": "poa-already-verified"
}

Add user document verification​

For all created users it is required to add documents for verification

Method: POST
Endpoint: /v1/user/verification

Request​

Request body - required​

NameTypeRequiredDescription
externalUserIdstringYesExternal user id (from your system)
birthDatestringYesBirth date
citystringYesCity
streetstringYesStreet
numberstringYesHouse number
postCodestringYesPost code. Postal code should follow the format accepted in the given country.
nationalitystringYesISO 3166-1 alpha-2 country code. Nationality
documentExpirationDatestringYesDocument expiration date
incomeSourcestringYesEnum: [ 'BUSINESS_ACTIVITY', 'SALARY', 'OTHER', 'MAINTAINED_BY_FAMILY', 'INVESTMENTS', 'SOCIAL_BENEFITS', 'TENANCY' ]
taxIdstringNoClient's tax residency list. Required only if incomeSource is BUSINESS_ACTIVITY
additionalInfostringNoAditional info to income source. Required only if incomeSource is SALARY, OTHER, MAINTAINED_BY_FAMILY, INVESTMENTS, SOCIAL_BENEFITS, TENANCY.
occupationstringYesEnum: [ 'IT', 'HEALTHCARE_AND_MEDICAL_SERVICES', 'FINANCE_AND_ACCOUNTING', 'EDUCATION_AND_TEACHING', 'SALES_AND_MARKETING', 'ENGINEERING', 'CUSTOMER_SERVICE', 'ADMINISTRATION_AND_OFFICE_MANAGEMENT', 'LEGAL_SERVICES', 'ARTS_AND_DESIGN', 'RETAIL_AND_SALES', 'CONSTRUCTION_AND_TRADES', 'HUMAN_RESOURCES', 'MANUFACTURING_AND_PRODUCTION', 'SCIENCE_AND_RESEARCH' ]
riskLvlstringYesEnum: [ 'LOW', 'MEDIUM', 'HIGH' ]

Example body request​

{
"externalUserId": "bca65c48-df49-4831-a7b2-de7903321581",
"email": "johndoe@gmail.com",
"phone": "48123123123",
"firstName": "John",
"lastName": "Doe",
"birthDate": "2000-01-01",
"city": "Rzeszów",
"street": "Adama Matuszczaka",
"number": "14/2",
"postCode": "12-123",
"country": "PL",
"nationality": "PL",
"citizenship": "PL",
"documentExpirationDate": "2030-01-01",
"documentNumber": "ABC12345",
"documentType": "ID_CARD",
"incomeSource": "SALARY",
"additionalInfo": "I am a programmer",
"occupation": "IT",
"riskLvl": "LOW"
}

Response​

Code: 200
Description: User document verification added

Example response​

{
"message": "Verification documents to user added successfully"
}

 

Code: 400
Description: User already verified

Example response​

{
"errorCode": "P442",
"errorName": "user-already-verified"
}

 

Code: 400
Description: User has maximum number of verifications

Example response​

{
"errorCode": "P430",
"errorName": "maximum-number-of-verifications"
}

 

Code: 400
Description: User does not exist

Example response​

{
"errorCode": "P412",
"errorName": "invalid-user"
}

 

Code: 404
Description: Kyc file not found

Example response​

{
"errorCode": "P427",
"errorName": "kyc-file-not-found"
}

 

Code: 202
Description: POA file not yet uploaded. Verification is pending and will resume after POA is added

Example response​

{
"errorCode": "P210",
"errorName": "poa-file-not-found"
}

 

Code: 202
Description: POA verification pending

Example response​

{
"errorCode": "P211",
"errorName": "poa-verification-pending"
}

 

Code: 400
Description: KYC verification is not valid or has expired

Example response​

{
"errorCode": "P446",
"errorName": "kyc-verification-is-not-valid-or-has-expired"
}

 

Code: 400
Description: POA verification rejected

Example response​

{
"errorCode": "P444",
"errorName": "poa-verification-rejected"
}

 

Code: 400
Description: POA already verified

Example response​

{
"errorCode": "P447",
"errorName": "poa-already-verified"
}

Update existing user​

Method: PATCH
Endpoint: /v1/user/:externalUserId

Include only fields you want to update. Unable to update country

Request​

Parameters - required​

NameTypeRequiredExampleDescription
externalUserIdstringYesf9b430dc-7e1a-42a0-bbb4-9003935ea9f9External user id (from your system)

Response​

Code: 204
Description: User details updated

Example response​

{
"message": "User updated successfully"
}

 

Code: 400
Description: User does not exist

Example response​

{
"errorCode": "P412",
"errorName": "invalid-user"
}

 

Code: 400
Description: Changing country not possible

Example response​

{
"errorCode": "P452",
"errorName": "country-change-not-possible"
}

Delete user​

Method: DELETE
Endpoint: /v1/user/:externalUserId

Deletes user

Request​

Parameters - required​

NameTypeRequiredExampleDescription
externalUserIdstringYesf9b430dc-7e1a-42a0-bbb4-9003935ea9f9External user id (from your system)

Response​

Code: 204
Description: User deleted

Example response​

{
"message": "User deleted successfully"
}

 

Code: 400
Description: User does not exist

Example response​

{
"errorCode": "P412",
"errorName": "invalid-user"
}

 

Code: 400
Description: User has balance greater than 5 EUR.

Example response​

{
"errorCode": "P429",
"errorMessage": "User has balance greater than 5 EUR.",
"errorName": "user-balance-exceeds-limit-exception"
}

Suspend user​

Method: PATCH
Endpoint: /v1/user/suspend/:externalUserId

Suspends user. User must not have any active cards to suspend them

Request​

Parameters - required​

NameTypeRequiredExampleDescription
externalUserIdstringYesf9b430dc-7e1a-42a0-bbb4-9003935ea9f9External user id (from your system)

Response​

Code: 204
Description: User suspended

Example response​

{
"message": "User suspended"
}

 

Code: 400
Description: User does not exist

Example response​

{
"errorCode": "P412",
"errorName": "invalid-user"
}

 

Code: 400
Description: User has active cards and suspension is not possible

Example response​

{
"errorCode": "P454",
"errorMessage": "User has active cards and suspension is not possible",
"errorName": "suspend-user-impossible"
}

Unsuspend user​

Method: PATCH
Endpoint: /v1/user/unsuspend/:externalUserId

Unsuspends user

Request​

Parameters - required​

NameTypeRequiredExampleDescription
externalUserIdstringYesf9b430dc-7e1a-42a0-bbb4-9003935ea9f9External user id (from your system)

Response​

Code: 204
Description: User unsuspended

Example response​

{
"message": "User unsuspended"
}

 

Code: 400
Description: User does not exist

Example response​

{
"errorCode": "P412",
"errorName": "invalid-user"
}

Get user balance​

Method: GET
Endpoint: /v1/user/:externalUserId/balances

Request​

Parameters - required​

NameTypeRequiredExampleDescription
externalUserIdstringYesf9b430dc-7e1a-42a0-bbb4-9003935ea9f9External user id (from your system)

Response​

Code: 200
Description: Returns all user balances

 

Response body explanation​

{
"fiatBalances": [
{
"id": "Balance id (from our system)",
"amount": "Amount",
"name": "Currency name",
"rate": "Rate",
"status": "Enum: [ 'ACTIVE, 'WAITING_TO_BE_ACTIVATED' ]"
}
],
"cryptoBalances": [
{
"id": "Balance id (from our system)",
"amount": "Amount",
"name": "Currency name",
"wallet": "Wallet address",
"rate": "Rate",
"networkConfig": {
[networkName]: {
"mainnet": "Is mainnet network",
"name": "Network name",
"withdrawal": {
"feeWithdrawal": "Withdrawal fee",
"minWithdrawal": "Withdrawal min amount"
},
"deposit": {
"minDeposit": "Deposit min amount"
},
}
}
}
]
}

 

Example response​

{
"fiatBalances": [
{
"id": "02ee1b09-9934-4dcc-8dec-91bf34b8f543",
"amount": "0.00",
"name": "eur",
"rate": 1,
"status": "ACTIVE"
}
],
"cryptoBalances": [
{
"id": "f2de1f4b-916f-417e-9410-8bf4a70693ee",
"amount": "0.000000",
"name": "usdc",
"wallet": "0x2e90ca5bbe46d5ae23f2df90457d020391b92673",
"rate": 0.963728,
"networkConfig": {
"ethereum": {
"mainnet": false,
"name": "sepolia",
"withdrawal": {
"feeWithdrawal": 10,
"minWithdrawal": 15
},
"deposit": {
"minDeposit": 5
}
},
"polygon": {
"mainnet": false,
"name": "amoy",
"withdrawal": {
"feeWithdrawal": 10,
"minWithdrawal": 15
},
"deposit": {
"minDeposit": 5
}
}
}
},
{
"id": "7415034b-3dcf-4f45-a213-ce6361c248aa",
"amount": "0.000000",
"name": "usdt",
"wallet": "0x2e90ca5bbe46d5ae23f2df90457d020391b92673",
"rate": 0.963486,
"networkConfig": {
"ethereum": {
"mainnet": false,
"name": "sepolia",
"withdrawal": {
"feeWithdrawal": 10,
"minWithdrawal": 15
},
"deposit": {
"minDeposit": 5
}
},
"polygon": {
"mainnet": false,
"name": "amoy",
"withdrawal": {
"feeWithdrawal": 10,
"minWithdrawal": 15
},
"deposit": {
"minDeposit": 5
}
}
}
},
{
"id": "ca5f1989-978b-422c-b0bd-b799c5e32fe8",
"amount": "0.00000000",
"name": "ltc",
"wallet": "tltc1qvf4kplcdjzskhukeg58lnde4gxhqv822fpxm2t",
"rate": 128.12666666,
"networkConfig": {
"btc": {
"mainnet": false,
"name": "test",
"withdrawal": {
"feeWithdrawal": 0.002,
"minWithdrawal": 0.004
},
"deposit": {
"minDeposit": 0
}
}
}
},
{
"id": "b28d71d3-60ae-49ac-9346-26bf5358e198",
"amount": "0.00000000",
"name": "pol",
"wallet": "0x2e90ca5bbe46d5ae23f2df90457d020391b92673",
"rate": 0.39908402,
"networkConfig": {
"polygon": {
"mainnet": false,
"name": "amoy",
"withdrawal": {
"feeWithdrawal": 0.001,
"minWithdrawal": 0.00005
},
"deposit": {
"minDeposit": 0
}
}
}
},
{
"id": "d83263ca-3e1f-4190-8739-e99900758ed2",
"amount": "0.00000000",
"name": "eth",
"wallet": "0x2e90ca5bbe46d5ae23f2df90457d020391b92673",
"rate": 3169.4854887,
"networkConfig": {
"ethereum": {
"mainnet": false,
"name": "sepolia",
"withdrawal": {
"feeWithdrawal": 0.003,
"minWithdrawal": 0.006
},
"deposit": {
"minDeposit": 0
}
}
}
},
{
"id": "fae1baed-815b-4b5f-998b-d3b2c36145da",
"amount": "0.00000000",
"name": "btc",
"wallet": "tb1qsclk8wvk7zplp6t8f0954qddctqtvcrhea5gca",
"rate": 100686.13333333,
"networkConfig": {
"btc": {
"mainnet": false,
"name": "test",
"withdrawal": {
"feeWithdrawal": 0.0003,
"minWithdrawal": 0.0003
},
"deposit": {
"minDeposit": 0
}
}
}
}
]
}

 

Code: 400
Description: User does not exist

Example response​

{
"errorCode": "P412",
"errorName": "invalid-user"
}

Get user transaction history​

Transaction history can be returned to one year ago. It is returned for the selected month.
Explanation of types:

  • exchange - currency exchange
  • atmFee - fee charged for ATM transaction
  • sepaDeposit - incoming SEPA transfer
  • sepaTransfer - outgoing SEPA transfer
  • transfer - transfer
  • cardTransaction - card transaction
  • cryptoDeposit - crypto deposit
  • cryptoWithdrawal - crypto withdrawal
  • atmWithdrawal - atm withdrawal
  • fiatDeposit - fiat deposit
  • refund - refund
  • cashback - cashback
  • payment - card payment
  • partialRefund - partial refund
  • fiatWithdrawal - fiat withdrawal
  • transaction - transaction

Explanation of status:

  • SUCCESSFUL - transaction successful
  • UNSUCCESSFUL - transaction unsuccessful
  • IN_PROGRESS - transaction in progress
  • IN_PROGRESS_TR_DATA - transaction needs travel rule data completion

Method: GET
Endpoint: /v1/user/transaction-history/:externalUserId/:month/:year

Request​

Parameters - required​

NameTypeRequiredExampleDescription
externalUserIdstringYesf9b430dc-7e1a-42a0-bbb4-9003935ea9f9External user id (from your system)
monthnumberYes1Month
yearnumberYes2025Year

Response​

Code: 200
Description: Returns user transaction history

 

Response body explanation​

[
{
"createdAt": "Transaction created date",
"type": "Transaction type",
"amount": "Transaction amount",
"amountFrom": "Transaction from amount, if the transaction is an exchange",
"currency": "Transaction currency",
"currencyFrom": "Transaction from currency, if the transaction is an exchange",
"status": "Transaction status"
}
]

 

Example response​

[
{
"createdAt": "2025-01-20T10:33:23.808Z",
"type": "exchange",
"amount": 0.00220961,
"amountFrom": -20,
"currency": "eth",
"currencyFrom": "doge",
"status": "SUCCESSFUL"
},
{
"createdAt": "2025-01-20T09:59:38.233Z",
"type": "exchange",
"amount": 26.91447658,
"amountFrom": -10,
"currency": "doge",
"currencyFrom": "eur",
"status": "SUCCESSFUL"
},
{
"createdAt": "2025-01-20T09:35:36.182Z",
"type": "exchange",
"amount": 99.9651492,
"amountFrom": -10,
"currency": "doge",
"currencyFrom": "eur",
"status": "SUCCESSFUL"
}
]

 

Code: 400
Description: Invalid month or year

Example response​

{
"errorCode": "P403",
"errorMessage": "
The month cannot be less than 1,
The month cannot be longer than 12,
The year must be the current year or the previous year
"
}

 

Code: 400
Description: Invalid date

Example response​

{
"errorCode": "P435",
"errorName": "invalid-date"
}

 

Code: 400
Description: User does not exist

Example response​

{
"errorCode": "P412",
"errorName": "invalid-user"
}