Welcome to the Boya API reference. This document provides an overview of the available endpoints for managing expenses, teams, statements, and employees.
All API requests should be made to:
https://api.boyahq.com/v1All API requests require authentication. Include your API key in the header of each request:
x-api-key: <api-key>Manage expense reports and transactions.
| Method | Endpoint | Description |
|---|---|---|
| GET | /expenses | List all expenses |
| GET | /expenses/{id} | Get a specific expense |
| POST | /expenses | Create a new expense |
| PUT | /expenses/{id} | Update an existing expense |
| DELETE | /expenses/{id} | Delete an expense |
| GET | /expenses/review | List expenses pending review |
| GET | /expenses/accepted | List accepted expenses |
| GET | /expenses/rejected | List rejected expenses |
GET /expenses?fromDate={YYYY-MM-DD}&toDate={YYYY-MM-DD}&page={page}&limit={limit}Retrieves a paginated list of expenses for the specified date range.
GET /expenses/{id}Retrieves details of a specific expense by its ID.
POST /expensesCreates a new expense record. The request body should include expense details such as amount, currency, description, etc.
PUT /expenses/{id}Updates an existing expense record. The request body should include the fields to be updated.
DELETE /expenses/{id}Deletes the specified expense record.
GET /expenses/reviewRetrieves a list of expenses that are pending review.
GET /expenses/acceptedRetrieves a list of expenses that have been accepted.
GET /expenses/rejectedRetrieves a list of expenses that have been rejected.
For detailed information on request and response formats, please refer to the Expenses API Guide.
Manage teams and team members.
| Method | Endpoint | Description |
|---|---|---|
| GET | /teams | List all teams |
| GET | /teams/{id} | Get a specific team |
| POST | /teams | Create a new team |
| PUT | /teams/{id} | Update an existing team |
| DELETE | /teams/{id} | Delete a team |
GET /teamsRetrieves a list of all teams in the organization.
GET /teams/{id}Retrieves details of a specific team by its ID.
POST /teamsCreates a new team. The request body should include team details such as name, description, etc.
PUT /teams/{id}Updates an existing team's information. The request body should include the fields to be updated.
DELETE /teams/{id}Deletes the specified team.
For more details on team management, see the Teams API Guide.
Access and manage financial statements.
| Method | Endpoint | Description |
|---|---|---|
| GET | /wallet/all-in-one/{org_wallet_ref} | List all statements |
| GET | /wallet/topup-history/{accountNumber}/{org_wallet_ref} | Get topup statement |
GET /wallet/all-in-one/{org_wallet_ref}Retrieves a list of all available financial statements.
GET /wallet/topup-history/{accountNumber}/{org_wallet_ref}Manage employee information, roles, and wallet balances.
| Method | Endpoint | Description |
|---|---|---|
| GET | /employees | List all employees with wallet balances for a specified date range |
| POST | /employees | Create a new employee |
| POST | /employees/bulk | Create multiple employees in bulk |
| DELETE | /employees/suspend | Suspend an employee |
| PATCH | /employees/activate | Activate a suspended employee |
| POST | /employees/addMoney | Add funds to an employee's wallet |
| POST | /employees/deductMoney | Deduct funds from an employee's wallet |
GET /employees?fromDate={YYYY-MM-DD}&toDate={YYYY-MM-DD}&page={page}&limit={limit}Retrieves a paginated list of employees with their wallet balances for the specified date range.
POST /employeesCreates a new employee record. Required fields in the request body:
nameorganization_emailphone_numberroleteam_code
POST /employees/bulkCreates multiple employee records in a single request. The request body should contain an array of employee objects, each with the required fields listed above.
POST /employees/{employeeId}/suspendChanges the status of the specified employee to SUSPENDED.
POST /employees/{employeeId}/activateChanges the status of the specified employee to ACTIVE.
POST /employees/{employeeId}/wallet/addAdds funds to the specified employee's wallet. The request body should include the amount to be added.
POST /employees/{employeeId}/wallet/deductDeducts funds from the specified employee's wallet. The request body should include the amount to be deducted.
For detailed information on request and response formats for the Employee API, please refer to the Employee API Guide.
The API is subject to rate limiting. For more information, see our Rate Limits Guide.
For information on error codes and handling, please consult our Error Handling Guide.
For full details on request and response schemas, please refer to our OpenAPI specification.