Skip to content

Platform API

Accounts

Endpoints and schemas for the Accounts API area.

List accounts

GET
/v1/accounts

Returns accounts matching the given filters, with pagination metadata.

Authorizations

papiHmac

HMAC authentication. Send x-api-key, x-timestamp, x-nonce, and an x-signature computed over the request.

Type
API Key (header: x-api-key)

Parameters

Query Parameters

limit
Type
integer
Default
50
Exclusive Minimum
true
Maximum
100
offset
Type
integer
Default
0
Minimum
0
Maximum
9007199254740991
search
Type
string
Min Length
1
Max Length
255
ownerType
Type
string
Valid values
"user""organization"
type
Type
string
Min Length
1
holder
Type
string
Valid values
"user""organization""investor""project"
status
Type
string
Min Length
1
withdrawalStatus
Type
string
Valid values
"none""withdrawal_restricted"
walletStatus
Type
string
Min Length
1
kycStatus
Type
string
Min Length
1
country
Type
string
Min Length
1

Responses

Successful response

application/json
JSON
{
  
"data": [
  
  
{
  
  
  
"id": 0,
  
  
  
"uuid": "string",
  
  
  
"label": "string",
  
  
  
"holderName": "string",
  
  
  
"iban": "string",
  
  
  
"bankName": "string",
  
  
  
"bankBic": "string",
  
  
  
"wapiWalletForeign": "string",
  
  
  
"ownerUserId": 0,
  
  
  
"ownerOrgId": 0,
  
  
  
"ownerType": "string",
  
  
  
"status": "string",
  
  
  
"withdrawalStatus": "string",
  
  
  
"withdrawalRestrictionReason": "string",
  
  
  
"withdrawalRestrictionUpdatedAt": "string",
  
  
  
"createdAt": "string",
  
  
  
"updatedAt": "string",
  
  
  
"referenceNumber": "string",
  
  
  
"owner": {
  
  
  
  
"type": "string",
  
  
  
  
"user": {
  
  
  
  
  
"id": 0,
  
  
  
  
  
"email": "string",
  
  
  
  
  
"firstName": "string",
  
  
  
  
  
"lastName": "string",
  
  
  
  
  
"country": "string",
  
  
  
  
  
"kycStatus": "string",
  
  
  
  
  
"status": "string"
  
  
  
  
},
  
  
  
  
"organization": {
  
  
  
  
  
"id": 0,
  
  
  
  
  
"name": "string",
  
  
  
  
  
"registryCode": "string",
  
  
  
  
  
"vatId": "string",
  
  
  
  
  
"country": "string",
  
  
  
  
  
"kybStatus": "string",
  
  
  
  
  
"status": "string"
  
  
  
  
}
  
  
  
},
  
  
  
"balance": {
  
  
  
  
"available": 0,
  
  
  
  
"pending": 0,
  
  
  
  
"pendingTo": 0,
  
  
  
  
"pendingFrom": 0,
  
  
  
  
"finished": 0,
  
  
  
  
"wallet": "string",
  
  
  
  
"token": "string"
  
  
  
}
  
  
}
  
],
  
"metadata": {
  
  
"total": 0,
  
  
"limit": 0,
  
  
"offset": 0
  
}
}

Playground

Authorization
Variables
Key
Value

Samples


Create account

POST
/v1/accounts

Creates a new account. The type is forced to platform for now.

Authorizations

papiHmac

HMAC authentication. Send x-api-key, x-timestamp, x-nonce, and an x-signature computed over the request.

Type
API Key (header: x-api-key)

Request Body

application/json
JSON
{
  
"label": "string"
}

Responses

Successful response

application/json
JSON
{
  
"data": {
  
  
"id": 0,
  
  
"uuid": "string",
  
  
"label": "string",
  
  
"holderName": "string",
  
  
"iban": "string",
  
  
"bankName": "string",
  
  
"bankBic": "string",
  
  
"wapiWalletForeign": "string",
  
  
"ownerUserId": 0,
  
  
"ownerOrgId": 0,
  
  
"ownerType": "string",
  
  
"status": "string",
  
  
"withdrawalStatus": "string",
  
  
"withdrawalRestrictionReason": "string",
  
  
"withdrawalRestrictionUpdatedAt": "string",
  
  
"createdAt": "string",
  
  
"updatedAt": "string"
  
}
}

Playground

Authorization
Body

Samples


Get account

GET
/v1/accounts/{accountUuid}

Returns detailed information about a single account, including its owner and current balance.

Authorizations

papiHmac

HMAC authentication. Send x-api-key, x-timestamp, x-nonce, and an x-signature computed over the request.

Type
API Key (header: x-api-key)

Parameters

Path Parameters

accountUuid*
Type
string
Required
Format
"uuid"
Pattern
"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"

Responses

Successful response

application/json
JSON
{
  
"data": {
  
  
"id": 0,
  
  
"uuid": "string",
  
  
"label": "string",
  
  
"holderName": "string",
  
  
"iban": "string",
  
  
"bankName": "string",
  
  
"bankBic": "string",
  
  
"wapiWalletForeign": "string",
  
  
"ownerUserId": 0,
  
  
"ownerOrgId": 0,
  
  
"ownerType": "string",
  
  
"status": "string",
  
  
"withdrawalStatus": "string",
  
  
"withdrawalRestrictionReason": "string",
  
  
"withdrawalRestrictionUpdatedAt": "string",
  
  
"createdAt": "string",
  
  
"updatedAt": "string",
  
  
"referenceNumber": "string",
  
  
"owner": {
  
  
  
"type": "string",
  
  
  
"user": {
  
  
  
  
"id": 0,
  
  
  
  
"email": "string",
  
  
  
  
"firstName": "string",
  
  
  
  
"lastName": "string",
  
  
  
  
"country": "string",
  
  
  
  
"kycStatus": "string",
  
  
  
  
"status": "string"
  
  
  
},
  
  
  
"organization": {
  
  
  
  
"id": 0,
  
  
  
  
"name": "string",
  
  
  
  
"registryCode": "string",
  
  
  
  
"vatId": "string",
  
  
  
  
"country": "string",
  
  
  
  
"kybStatus": "string",
  
  
  
  
"status": "string"
  
  
  
}
  
  
},
  
  
"balance": {
  
  
  
"available": 0,
  
  
  
"pending": 0,
  
  
  
"pendingTo": 0,
  
  
  
"pendingFrom": 0,
  
  
  
"finished": 0,
  
  
  
"wallet": "string",
  
  
  
"token": "string"
  
  
},
  
  
"linkedAccount": {
  
  
  
"id": 0,
  
  
  
"uuid": "string",
  
  
  
"accountId": 0,
  
  
  
"holderName": "string",
  
  
  
"iban": "string",
  
  
  
"bankName": "string",
  
  
  
"bankBic": "string",
  
  
  
"status": "string",
  
  
  
"validationStartedAt": "string",
  
  
  
"validatedAt": "string",
  
  
  
"createdAt": "string",
  
  
  
"updatedAt": "string"
  
  
}
  
}
}

Playground

Authorization
Variables
Key
Value

Samples


List account transfers

GET
/v1/accounts/{accountUuid}/transfers

Returns transfers for the given account matching the supplied filters, with pagination metadata.

Authorizations

papiHmac

HMAC authentication. Send x-api-key, x-timestamp, x-nonce, and an x-signature computed over the request.

Type
API Key (header: x-api-key)

Parameters

Path Parameters

accountUuid*
Type
string
Required
Format
"uuid"
Pattern
"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"

Query Parameters

type
Type
string
Valid values
"deposit""withdrawal""transfer"
status
Type
string
Valid values
"pending""finished""cancelled"
metadata
Type
object
search
Type
string
orderBy
token
limit
Type
integer
Exclusive Minimum
true
Maximum
9007199254740991
offset
Type
integer
Minimum
0
Maximum
9007199254740991
createdAtFrom
Type
string
createdAtTo
Type
string
amountMin
Type
number
Minimum
0
Exclusive Minimum
true
amountMax
Type
number
Minimum
0
Exclusive Minimum
true
identifier
Type
string
identifiers
Type
array
operation
Type
string
Valid values
"CREDIT""DEBIT"

Responses

Successful response

application/json
JSON
{
  
"data": [
  
  
{
  
  
  
"identifier": "string",
  
  
  
"token": "string",
  
  
  
"amount": 0,
  
  
  
"fromWallet": "string",
  
  
  
"toWallet": "string",
  
  
  
"operation": "string",
  
  
  
"status": "string",
  
  
  
"subStatus": "string",
  
  
  
"type": "string",
  
  
  
"description": "string",
  
  
  
"referenceNumber": "string",
  
  
  
"debitorName": "string",
  
  
  
"debitorIban": "string",
  
  
  
"debitorSwift": "string",
  
  
  
"creditorName": "string",
  
  
  
"creditorIban": "string",
  
  
  
"creditorSwift": "string",
  
  
  
"createdAt": "string",
  
  
  
"updatedAt": "string",
  
  
  
"metadata": {
  
  
  
  
"additionalProperties": "string"
  
  
  
},
  
  
  
"paymentRejected": true,
  
  
  
"paymentRejectedAt": "string",
  
  
  
"paymentRejectReason": "string",
  
  
  
"paymentBankStatus": "string",
  
  
  
"paymentBankStatusAt": "string"
  
  
}
  
],
  
"metadata": {
  
  
"total": 0,
  
  
"offset": 0,
  
  
"limit": 0,
  
  
"more_rows": true,
  
  
"additionalProperties": null
  
}
}

Playground

Authorization
Variables
Key
Value

Samples


Get account statement

GET
/v1/accounts/{accountUuid}/statement

Returns an account statement for the given date range: opening and closing balances, every transfer in the period, and settled credit/debit totals. Defaults to the last 30 days when no range is given.

Authorizations

papiHmac

HMAC authentication. Send x-api-key, x-timestamp, x-nonce, and an x-signature computed over the request.

Type
API Key (header: x-api-key)

Parameters

Path Parameters

accountUuid*
Type
string
Required
Format
"uuid"
Pattern
"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"

Query Parameters

from
Type
string
Min Length
1
to
Type
string
Min Length
1

Responses

Successful response

application/json
JSON
{
  
"data": {
  
  
"account": {
  
  
  
"uuid": "string",
  
  
  
"referenceNumber": "string"
  
  
},
  
  
"period": {
  
  
  
"from": "string",
  
  
  
"to": "string"
  
  
},
  
  
"openingBalance": {
  
  
  
"available": 0,
  
  
  
"pending": 0,
  
  
  
"pendingTo": 0,
  
  
  
"pendingFrom": 0,
  
  
  
"finished": 0,
  
  
  
"wallet": "string",
  
  
  
"token": "string"
  
  
},
  
  
"closingBalance": {
  
  
  
"available": 0,
  
  
  
"pending": 0,
  
  
  
"pendingTo": 0,
  
  
  
"pendingFrom": 0,
  
  
  
"finished": 0,
  
  
  
"wallet": "string",
  
  
  
"token": "string"
  
  
},
  
  
"summary": {
  
  
  
"totalCredits": 0,
  
  
  
"totalDebits": 0,
  
  
  
"count": 0
  
  
},
  
  
"transfers": [
  
  
  
{
  
  
  
  
"identifier": "string",
  
  
  
  
"token": "string",
  
  
  
  
"amount": 0,
  
  
  
  
"fromWallet": "string",
  
  
  
  
"toWallet": "string",
  
  
  
  
"operation": "string",
  
  
  
  
"status": "string",
  
  
  
  
"subStatus": "string",
  
  
  
  
"type": "string",
  
  
  
  
"description": "string",
  
  
  
  
"referenceNumber": "string",
  
  
  
  
"debitorName": "string",
  
  
  
  
"debitorIban": "string",
  
  
  
  
"debitorSwift": "string",
  
  
  
  
"creditorName": "string",
  
  
  
  
"creditorIban": "string",
  
  
  
  
"creditorSwift": "string",
  
  
  
  
"createdAt": "string",
  
  
  
  
"updatedAt": "string",
  
  
  
  
"metadata": {
  
  
  
  
  
"additionalProperties": "string"
  
  
  
  
},
  
  
  
  
"paymentRejected": true,
  
  
  
  
"paymentRejectedAt": "string",
  
  
  
  
"paymentRejectReason": "string",
  
  
  
  
"paymentBankStatus": "string",
  
  
  
  
"paymentBankStatusAt": "string"
  
  
  
}
  
  
]
  
}
}

Playground

Authorization
Variables
Key
Value

Samples


Update linked bank account

PATCH
/v1/accounts/{accountUuid}/linked-account

Sets (or replaces) the external bank account linked to the given account and starts validation on it. Returns the linked account in its validating state.

Authorizations

papiHmac

HMAC authentication. Send x-api-key, x-timestamp, x-nonce, and an x-signature computed over the request.

Type
API Key (header: x-api-key)

Parameters

Path Parameters

accountUuid*
Type
string
Required
Format
"uuid"
Pattern
"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"

Request Body

application/json
JSON
{
  
"holderName": "string",
  
"iban": "string",
  
"bankName": "string",
  
"bankBic": "string"
}

Responses

Successful response

application/json
JSON
{
  
"data": {
  
  
"id": 0,
  
  
"uuid": "string",
  
  
"accountId": 0,
  
  
"holderName": "string",
  
  
"iban": "string",
  
  
"bankName": "string",
  
  
"bankBic": "string",
  
  
"status": "string",
  
  
"validationStartedAt": "string",
  
  
"validatedAt": "string",
  
  
"createdAt": "string",
  
  
"updatedAt": "string"
  
}
}

Playground

Authorization
Variables
Key
Value
Body

Samples


Create withdrawal

POST
/v1/accounts/{accountUuid}/withdrawal

Initiates a withdrawal from the account to its linked external bank account. Requires the account to be active and the linked account to be verified. Creates a pending withdrawal in WAPI.

Authorizations

papiHmac

HMAC authentication. Send x-api-key, x-timestamp, x-nonce, and an x-signature computed over the request.

Type
API Key (header: x-api-key)

Parameters

Path Parameters

accountUuid*
Type
string
Required
Format
"uuid"
Pattern
"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"

Request Body

application/json
JSON
{
  
"amount": 0,
  
"description": "string",
  
"referenceNumber": "string",
  
"clientTransferId": "string"
}

Responses

Successful response

application/json
JSON
{
  
"data": {
  
  
"identifier": "string",
  
  
"token": "string",
  
  
"amount": 0,
  
  
"fromWallet": "string",
  
  
"toWallet": "string",
  
  
"operation": "string",
  
  
"status": "string",
  
  
"subStatus": "string",
  
  
"type": "string",
  
  
"description": "string",
  
  
"referenceNumber": "string",
  
  
"debitorName": "string",
  
  
"debitorIban": "string",
  
  
"debitorSwift": "string",
  
  
"creditorName": "string",
  
  
"creditorIban": "string",
  
  
"creditorSwift": "string",
  
  
"createdAt": "string",
  
  
"updatedAt": "string",
  
  
"metadata": {
  
  
  
"additionalProperties": "string"
  
  
},
  
  
"paymentRejected": true,
  
  
"paymentRejectedAt": "string",
  
  
"paymentRejectReason": "string",
  
  
"paymentBankStatus": "string",
  
  
"paymentBankStatusAt": "string"
  
}
}

Playground

Authorization
Variables
Key
Value
Body

Samples


Create transfer

POST
/v1/accounts/{accountUuid}/transfer

Initiates a pending wallet-to-wallet transfer from the account to another wallet. Both the source account and the destination wallet must be active, known accounts.

Authorizations

papiHmac

HMAC authentication. Send x-api-key, x-timestamp, x-nonce, and an x-signature computed over the request.

Type
API Key (header: x-api-key)

Parameters

Path Parameters

accountUuid*
Type
string
Required
Format
"uuid"
Pattern
"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"

Request Body

application/json
JSON
{
  
"toAccount": "string",
  
"amount": 0,
  
"description": "string",
  
"referenceNumber": "string",
  
"clientTransferId": "string"
}

Responses

Successful response

application/json
JSON
{
  
"data": {
  
  
"identifier": "string",
  
  
"token": "string",
  
  
"amount": 0,
  
  
"fromWallet": "string",
  
  
"toWallet": "string",
  
  
"operation": "string",
  
  
"status": "string",
  
  
"subStatus": "string",
  
  
"type": "string",
  
  
"description": "string",
  
  
"referenceNumber": "string",
  
  
"debitorName": "string",
  
  
"debitorIban": "string",
  
  
"debitorSwift": "string",
  
  
"creditorName": "string",
  
  
"creditorIban": "string",
  
  
"creditorSwift": "string",
  
  
"createdAt": "string",
  
  
"updatedAt": "string",
  
  
"metadata": {
  
  
  
"additionalProperties": "string"
  
  
},
  
  
"paymentRejected": true,
  
  
"paymentRejectedAt": "string",
  
  
"paymentRejectReason": "string",
  
  
"paymentBankStatus": "string",
  
  
"paymentBankStatusAt": "string"
  
}
}

Playground

Authorization
Variables
Key
Value
Body

Samples


Update transfer

PATCH
/v1/accounts/{accountUuid}/transfer/{transferId}

Updates the status of a transfer belonging to the account: mark a pending transfer finished, or cancel it. Returns the updated transfer.

Authorizations

papiHmac

HMAC authentication. Send x-api-key, x-timestamp, x-nonce, and an x-signature computed over the request.

Type
API Key (header: x-api-key)

Parameters

Path Parameters

accountUuid*
Type
string
Required
Format
"uuid"
Pattern
"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
transferId*
Type
string
Required
Min Length
1

Request Body

application/json
JSON
{
  
"status": "string"
}

Responses

Successful response

application/json
JSON
{
  
"data": {
  
  
"identifier": "string",
  
  
"token": "string",
  
  
"amount": 0,
  
  
"fromWallet": "string",
  
  
"toWallet": "string",
  
  
"operation": "string",
  
  
"status": "string",
  
  
"subStatus": "string",
  
  
"type": "string",
  
  
"description": "string",
  
  
"referenceNumber": "string",
  
  
"debitorName": "string",
  
  
"debitorIban": "string",
  
  
"debitorSwift": "string",
  
  
"creditorName": "string",
  
  
"creditorIban": "string",
  
  
"creditorSwift": "string",
  
  
"createdAt": "string",
  
  
"updatedAt": "string",
  
  
"metadata": {
  
  
  
"additionalProperties": "string"
  
  
},
  
  
"paymentRejected": true,
  
  
"paymentRejectedAt": "string",
  
  
"paymentRejectReason": "string",
  
  
"paymentBankStatus": "string",
  
  
"paymentBankStatusAt": "string"
  
}
}

Playground

Authorization
Variables
Key
Value
Body

Samples


Update withdrawal

PATCH
/v1/accounts/{accountUuid}/withdrawal/{transferId}

Cancels a pending withdrawal belonging to the account. Finishing is driven by bank settlement, not the caller. Returns the updated withdrawal.

Authorizations

papiHmac

HMAC authentication. Send x-api-key, x-timestamp, x-nonce, and an x-signature computed over the request.

Type
API Key (header: x-api-key)

Parameters

Path Parameters

accountUuid*
Type
string
Required
Format
"uuid"
Pattern
"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
transferId*
Type
string
Required
Min Length
1

Request Body

application/json
JSON
{
  
"status": "string"
}

Responses

Successful response

application/json
JSON
{
  
"data": {
  
  
"identifier": "string",
  
  
"token": "string",
  
  
"amount": 0,
  
  
"fromWallet": "string",
  
  
"toWallet": "string",
  
  
"operation": "string",
  
  
"status": "string",
  
  
"subStatus": "string",
  
  
"type": "string",
  
  
"description": "string",
  
  
"referenceNumber": "string",
  
  
"debitorName": "string",
  
  
"debitorIban": "string",
  
  
"debitorSwift": "string",
  
  
"creditorName": "string",
  
  
"creditorIban": "string",
  
  
"creditorSwift": "string",
  
  
"createdAt": "string",
  
  
"updatedAt": "string",
  
  
"metadata": {
  
  
  
"additionalProperties": "string"
  
  
},
  
  
"paymentRejected": true,
  
  
"paymentRejectedAt": "string",
  
  
"paymentRejectReason": "string",
  
  
"paymentBankStatus": "string",
  
  
"paymentBankStatusAt": "string"
  
}
}

Playground

Authorization
Variables
Key
Value
Body

Samples


Update account status

PATCH
/v1/accounts/{accountUuid}/status

Blocks (status "disabled") or closes (status "deleted") an account. Returns the updated account.

Authorizations

papiHmac

HMAC authentication. Send x-api-key, x-timestamp, x-nonce, and an x-signature computed over the request.

Type
API Key (header: x-api-key)

Parameters

Path Parameters

accountUuid*
Type
string
Required
Format
"uuid"
Pattern
"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"

Request Body

application/json
JSON
{
  
"status": "string"
}

Responses

Successful response

application/json
JSON
{
  
"data": {
  
  
"id": 0,
  
  
"uuid": "string",
  
  
"label": "string",
  
  
"holderName": "string",
  
  
"iban": "string",
  
  
"bankName": "string",
  
  
"bankBic": "string",
  
  
"wapiWalletForeign": "string",
  
  
"ownerUserId": 0,
  
  
"ownerOrgId": 0,
  
  
"ownerType": "string",
  
  
"status": "string",
  
  
"withdrawalStatus": "string",
  
  
"withdrawalRestrictionReason": "string",
  
  
"withdrawalRestrictionUpdatedAt": "string",
  
  
"createdAt": "string",
  
  
"updatedAt": "string"
  
}
}

Playground

Authorization
Variables
Key
Value
Body

Samples