Account Service
API reference for managing accounts and transactions
VERTEX ENGINE
The first account is automatically created for business entities upon successful KYB verification and for personal entities upon successful KYC verification. Additional accounts can be created by calling the entity endpoint again.
Table of Contents
- Create Account
- Get Accounts by Entity ID
- Get Account Details
- Get Transactions
- Get Transaction by ID
- Transaction Field Reference
1. Create Account
Creates a new banking account for an entity.
Subject: svc.account.<partner_id>.create
Request
{
"entity_id": "string" // Required - UUID format
}Required Fields
entity_id- The unique identifier of the entity to create an account for
Response
{
"account_id": "string", // UUID of the newly created account
"entity_id": "string", // UUID of the entity
"account_number": "string", // Generated account number
"country": "string", // Account country code (e.g., "ZAF", "KEN")
"created_at": "2025-01-15T10:30:00Z" // ISO 8601 timestamp
}Notes
- The entity must have completed KYB (Know Your Business) verification for business entities
- Account numbers are automatically allocated from the available pool
- The country is determined from the entity's registered country or the configured default
Possible Errors
400 Bad Request: Invalid request data404 Not Found: Entity not found
2. Get Accounts by Entity ID
Retrieves all accounts for a specific entity.
Subject: svc.account.<partner_id>.get_by_entity
Request
{
"entity_id": "string" // Required
}Required Fields
entity_id- The unique identifier of the entity
Response
{
"entity_id": "string",
"accounts": [
{
"account_id": "string",
"account_number": "string",
"created_at": "2025-01-15T10:30:00Z", // ISO 8601 timestamp
"metadata": {}
}
]
}Notes
- Accounts are sorted by
created_atin ascending order (oldest → newest) - To get the most recently created account, use the last item in the array
- Empty array returned if entity has no accounts
Possible Errors
400 Bad Request: Invalid request data404 Not Found: Entity not found
3. Get Account Details
Retrieves detailed information for a specific account.
Subject: svc.account.<partner_id>.get_details
Request
{
"account_id": "string" // Required
}Required Fields
account_id- The unique identifier of the account
Response
{
"account_id": "string",
"account_number": "string",
"balance": "string",
"available_balance": "string",
"metadata": {}
}Possible Errors
400 Bad Request: Invalid request data404 Not Found: Account not found
4. Get Transactions
Retrieves all transactions for a specific account.
Subject: svc.account.<partner_id>.list
Request
{
"account_id": "string" // Required
}Required Fields
account_id- The unique identifier of the account
Response
{
"account_id": "string",
"transactions": [
{
"tx_id": "string",
"parent_tx_id": "string",
"date": "string",
"amount": "string",
"ref": "string",
"status": "string",
"tx_sha": "string",
"user_id": "string",
"added_by": "string",
"tx_type": "string",
"tx_payment_type": "string",
"fee": "string",
"recipient_name": "string",
"credit": "string",
"debit": "string",
"running_balance": "string",
"verified": boolean
}
]
}Possible Errors
400 Bad Request: Invalid request data404 Not Found: Account not found
5. Get Transaction by ID
Retrieves a single transaction by its ID.
Subject: svc.account.<partner_id>.get_transaction
Request
{
"tx_id": "string" // Required
}Required Fields
tx_id- The unique identifier of the transaction
Response
{
"transaction": {
"tx_id": "string",
"parent_tx_id": "string",
"date": "string",
"amount": "string",
"ref": "string",
"status": "string",
"tx_sha": "string",
"user_id": "string",
"added_by": "string",
"tx_type": "string",
"tx_payment_type": "string",
"fee": "string",
"recipient_name": "string",
"credit": "string",
"debit": "string",
"running_balance": "string",
"verified": boolean
}
}Possible Errors
400 Bad Request: Invalid request data404 Not Found: Transaction not found or partner doesn't own it
6. Transaction Field Reference
Transaction Status (status)
Indicates the current state of the transaction.
| Value | Description |
|---|---|
Invalid | Invalid transaction |
Pending | Transaction initiated but not yet processed |
Successful | Transaction completed successfully |
Failed | Transaction failed to complete |
Reversed | Transaction was reversed/refunded |