NovaCash API

Home
Base URL:https://api.novacash.bi/v1

Transactions API

The Transactions API provides comprehensive tracking and management of all financial transactions within the NovaCash system. This API allows you to create, retrieve, update, and reverse transactions, monitor transaction status, perform bulk operations, and access detailed analytics and statistics.

Transaction Object

The Transaction object represents a financial transaction in the NovaCash system. Each transaction contains detailed information about the financial movement, including amounts, status, references, and metadata for various service types like deposits, withdrawals, transfers, and payments.

Key Attributes

AttributeTypeDescription
idstringUnique identifier for the transaction
typestringTransaction type: deposit, withdrawal, transfer, payment, airtime_sale, bill_payment, credit_disbursement, credit_repayment, commission, fee
service_typestringService type: lumicash_deposit, lumicash_withdrawal, airtime_sale, bill_payment, money_transfer
amountnumberTransaction amount (positive for deposits, negative for withdrawals)
currencystringCurrency code: BIF, USD, EUR
statusstringTransaction status: pending, active, blocked, suspended, rejected, completed, failed, reversed
descriptionstringHuman-readable description of the transaction
wallet_idstringID of the wallet associated with the transaction
user_idstringID of the user who initiated the transaction
referencestringExternal reference ID for the transaction
metadataobjectAdditional transaction metadata (provider details, fees, etc.)
balance_beforenumberBalance before the transaction
balance_afternumberBalance after the transaction
created_atstringTimestamp when the transaction was created
updated_atstringTimestamp when the transaction was last updated
completed_atstringTimestamp when the transaction was completed

GET /transactions

Description

Retrieve a list of all transactions with advanced filtering

Parameters

NameTypeRequiredDescription
pagenumberOptionalPage number for pagination
limitnumberOptionalNumber of items per page
typestringOptionalFilter by transaction type (deposit, withdrawal, transfer, payment, airtime_sale, bill_payment, credit_disbursement, credit_repayment, commission, fee)
statusstringOptionalFilter by transaction status (pending, active, blocked, suspended, rejected, completed, failed, reversed)
wallet_idstringOptionalFilter by wallet ID
user_idstringOptionalFilter by user ID
start_datestringOptionalStart date for filtering (ISO format)
end_datestringOptionalEnd date for filtering (ISO format)
min_amountnumberOptionalMinimum transaction amount
max_amountnumberOptionalMaximum transaction amount
service_typestringOptionalFilter by service type (lumicash_deposit, lumicash_withdrawal, airtime_sale, bill_payment, money_transfer)

Possible Errors

StatusError CodeDescription
401UnauthorizedAuthentication credentials were missing or incorrect
403ForbiddenThe request is understood, but it has been refused due to permissions

API Playground

Simulation
Simulation Mode

You are using simulated data. Switch to real API mode to call actual endpoints.

Query Parameters

Page number for pagination

Number of items per page

Filter by transaction type (deposit, withdrawal, transfer, payment, airtime_sale, bill_payment, credit_disbursement, credit_repayment, commission, fee)

Filter by transaction status (pending, active, blocked, suspended, rejected, completed, failed, reversed)

Filter by wallet ID

Filter by user ID

Start date for filtering (ISO format)

End date for filtering (ISO format)

Minimum transaction amount

Maximum transaction amount

Filter by service type (lumicash_deposit, lumicash_withdrawal, airtime_sale, bill_payment, money_transfer)

GET /transactions/{id}

Description

Retrieve a specific transaction by ID

Parameters

NameTypeRequiredDescription
idstringRequiredTransaction ID

Possible Errors

StatusError CodeDescription
401UnauthorizedAuthentication credentials were missing or incorrect
403ForbiddenInsufficient permissions to access this transaction
404Not FoundTransaction not found

API Playground

Simulation
Simulation Mode

You are using simulated data. Switch to real API mode to call actual endpoints.

Path Parameters

Transaction ID

POST /transactions

Description

Create a new transaction (manual entry)

Possible Errors

StatusError CodeDescription
400Bad RequestInvalid input data
401UnauthorizedAuthentication credentials were missing or incorrect
403ForbiddenInsufficient permissions to create transactions
404Not FoundWallet not found

API Playground

Simulation
Simulation Mode

You are using simulated data. Switch to real API mode to call actual endpoints.

PUT /transactions/{id}

Description

Update transaction information (limited fields)

Parameters

NameTypeRequiredDescription
idstringRequiredTransaction ID

Possible Errors

StatusError CodeDescription
400Bad RequestInvalid input data
401UnauthorizedAuthentication credentials were missing or incorrect
403ForbiddenInsufficient permissions to update this transaction
404Not FoundTransaction not found

API Playground

Simulation
Simulation Mode

You are using simulated data. Switch to real API mode to call actual endpoints.

Path Parameters

Transaction ID

DELETE /transactions/{id}

Description

Delete a transaction (soft delete)

Parameters

NameTypeRequiredDescription
idstringRequiredTransaction ID

Possible Errors

StatusError CodeDescription
401UnauthorizedAuthentication credentials were missing or incorrect
403ForbiddenInsufficient permissions to delete this transaction
404Not FoundTransaction not found
409ConflictCannot delete completed transaction - use reverse instead

API Playground

Simulation
Simulation Mode

You are using simulated data. Switch to real API mode to call actual endpoints.

Path Parameters

Transaction ID

POST /transactions/{id}/reverse

Description

Reverse a completed transaction

Parameters

NameTypeRequiredDescription
idstringRequiredTransaction ID

Possible Errors

StatusError CodeDescription
400Bad RequestTransaction cannot be reversed
401UnauthorizedAuthentication credentials were missing or incorrect
403ForbiddenInsufficient permissions to reverse this transaction
404Not FoundTransaction not found
409ConflictTransaction is not in a reversible state

API Playground

Simulation
Simulation Mode

You are using simulated data. Switch to real API mode to call actual endpoints.

Path Parameters

Transaction ID

GET /transactions/search

Description

Search transactions by various criteria

Parameters

NameTypeRequiredDescription
querystringRequiredSearch query (reference, description, user phone, etc.)
pagenumberOptionalPage number for pagination
limitnumberOptionalNumber of items per page
typestringOptionalFilter by transaction type
statusstringOptionalFilter by transaction status
service_typestringOptionalFilter by service type

Possible Errors

StatusError CodeDescription
400Bad RequestInvalid search query
401UnauthorizedAuthentication credentials were missing or incorrect

API Playground

Simulation
Simulation Mode

You are using simulated data. Switch to real API mode to call actual endpoints.

Query Parameters

Search query (reference, description, user phone, etc.)

Page number for pagination

Number of items per page

Filter by transaction type

Filter by transaction status

Filter by service type

GET /transactions/stats

Description

Get transaction statistics and analytics

Parameters

NameTypeRequiredDescription
periodstringOptionalTime period (today, week, month, year, custom)
start_datestringOptionalStart date for custom period (ISO format)
end_datestringOptionalEnd date for custom period (ISO format)
wallet_idstringOptionalFilter by wallet ID
user_idstringOptionalFilter by user ID
service_typestringOptionalFilter by service type

Possible Errors

StatusError CodeDescription
401UnauthorizedAuthentication credentials were missing or incorrect
403ForbiddenInsufficient permissions to access statistics

API Playground

Simulation
Simulation Mode

You are using simulated data. Switch to real API mode to call actual endpoints.

Query Parameters

Time period (today, week, month, year, custom)

Start date for custom period (ISO format)

End date for custom period (ISO format)

Filter by wallet ID

Filter by user ID

Filter by service type

POST /transactions/bulk

Description

Create multiple transactions in bulk

Possible Errors

StatusError CodeDescription
400Bad RequestInvalid input data or validation errors
401UnauthorizedAuthentication credentials were missing or incorrect
403ForbiddenInsufficient permissions to create bulk transactions

API Playground

Simulation
Simulation Mode

You are using simulated data. Switch to real API mode to call actual endpoints.

Introduction