Billing Movements API
The Billing Movements API provides programmatic access to all financial movements registered within your Bamboo merchant account. Unlike the file-based Report Builder (which delivers scheduled CSV/TXT reports via SFTP, Email, or S3), this endpoint allows you to query movement data on demand and integrate it directly into your own systems, dashboards, or reconciliation workflows.
Why use the Billing Movements API?
The Billing Movements API is ideal for merchants who need near-real-time access to their financial data through a programmatic interface. Note that the API currently has a minimum data delay of approximately 1 hour.
Near-real-time access
Query movements at any point in time. Note: data has a minimum delay of 1 hour before appearing in the API.
Flexible filtering
Narrow results by date range and select only the columns your system needs.
Pagination support
Handle large datasets efficiently with built-in page/page-size controls.
Easy integration
Standard REST/JSON interface that plugs directly into your internal tools, dashboards, or reconciliation systems.
How it works
The endpoint accepts a GET request with optional query parameters to filter and paginate the results. On success, it returns a structured JSON response containing a list of billing movement objects along with pagination metadata.
- Build your request with the desired date range (
From/To) and pagination settings. - Optionally specify which
Columnsto include in the response to reduce payload size. - Send the request with your authentication credentials in the headers.
- Parse the
Dataarray from the JSON response to access individual movement records. - Use the
Total,Page, andPageSizefields to determine whether additional pages exist and iterate accordingly.
Contact your Technical Account Manager (TAM) to obtain the correct authentication credentials and base URL for your environment.
Endpoint
GET https://api.bamboopayment.com/v3/api/Reporting/billing-movements
For the full interactive reference, including live request testing and schema details, see the Billing Movements API Reference.
Request Parameters
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
From | date-time | Yes | Start of the date range for filtering movements. ISO 8601 format recommended (e.g., 2025-01-01T00:00:00Z). |
To | date-time | Yes | End of the date range for filtering movements. ISO 8601 format recommended. |
Page | int32 | Yes | Page number for paginated results. Starts at 1. |
PageSize | int32 | Yes | Number of records per page. Adjust according to your processing capacity. A maximum page size will be enforced once defined and implemented. |
Columns | array of strings | No (optional) | List of specific field names to include in the response. If omitted, all available fields are returned. |
Headers
| Header | Value |
|---|---|
accept | application/json (default), text/json, or text/plain |
Response Structure
A successful 200 response returns a JSON object with the following top-level fields:
| Field | Type | Description |
|---|---|---|
Data | array of objects | List of billing movement records matching the query. |
Page | int32 | The current page number returned. |
PageSize | int32 | The number of records per page as configured in the request. |
Total | int32 | Total number of records matching the query across all pages. |
Errors | array of objects | List of error details if any issues occurred processing the request. |
Movement Object Fields
Each object inside the Data array represents a single financial movement and includes the following fields:
| Field | Type | Description |
|---|---|---|
TransactionId | string | Unique identifier for the original transaction linked to this movement. |
MovementId | int32 | Unique identifier for the specific financial movement within the account. |
Created | date-time | Timestamp when the movement record was created. |
Type | string | Category of the movement, such as Purchase, Refund, or TrafficFee. |
Country | string | Country where the original transaction took place. |
Currency | string | ISO 4217 code for the currency in which the movement was recorded. |
Sign | string | Indicates whether the movement is a Credit or a Debit. |
Amount | int64 | Monetary amount associated with this movement. |
AvailableDate | date-time | Date when the movement funds become available to the merchant. |
ReferenceId | string | Additional reference identifier for the movement, if applicable. |
EndUserNotes | string | Notes or comments related to the transaction provided by the end user. |
ExchangeRate | double | Exchange rate applied to the original transaction, if a currency conversion occurred. |
Status | string | Current status of the movement, such as Approved, Pending, or Rejected. |
Merchant_Account_Id | int32 | Unique identifier of the merchant's account in Bamboo. |
Merchant_Account_Name | string | Registered name of the merchant's account in Bamboo. |
Merchant_Id | int32 | Unique identifier assigned to the merchant within Bamboo's system. |
Merchant_Name | string | Officially registered business name of the merchant. |
Payment_Method | string | Specific payment method used, such as Visa or MasterCard. |
Payment_Media_Brand | string | Brand of the payment media associated with the movement. |
Last_Status_Date | date-time | Most recent date when the movement's status was updated. |
Withdrawal_Id | int32 | Identifier for the associated withdrawal, if applicable. |
Withdrawal_Status | string | Current status of the associated withdrawal, such as Pending or Approved. |
Example Request
GET https://api.bamboopayment.com/v3/api/Reporting/billing-movements?From=2025-01-01T00:00:00Z&To=2025-01-31T23:59:59Z&Page=1&PageSize=50
Accept: application/jsonExample Response (abbreviated)
{
"Data": [
{
"TransactionId": "TXN-00123456",
"MovementId": 987654,
"Created": "2025-01-15T10:32:00.000Z",
"Type": "Purchase",
"Country": "UY",
"Currency": "UYU",
"Sign": "Credit",
"Amount": 150000,
"AvailableDate": "2025-01-17T00:00:00.000Z",
"Status": "Approved",
"Merchant_Id": 1001,
"Merchant_Name": "My Store",
"Payment_Method": "Visa"
}
],
"Page": 1,
"PageSize": 50,
"Total": 312,
"Errors": null
}Pagination
The API uses page-based pagination. Use the Total, Page, and PageSize fields in the response to determine how many pages exist and whether you need to fetch additional data.
Total pages = ceil(Total / PageSize)
To retrieve all records, iterate from Page=1 up to the last page, keeping PageSize constant across all requests.
Error Responses
| HTTP Status | Meaning |
|---|---|
200 OK | Request was successful. Check the Errors array within the body for any partial errors. |
400 Bad Request | One or more query parameters are invalid or malformed. |
500 Internal Server Error | An unexpected error occurred on the server. Contact Bamboo support if this persists. |
When errors occur, each object in the Errors array contains:
| Field | Type | Description |
|---|---|---|
ErrorCode | string | Code identifying the type of error. |
Created | string | Timestamp of when the error was generated. |
Message | string | Human-readable summary of the error. |
Detail | string | Additional technical context about the error. |
Relation to Other Reports
The Billing Movements API exposes the same underlying financial data as the Statement Report available through Report Builder. The key difference is the delivery mechanism:
| Feature | Billing Movements API | Report Builder (Statement) |
|---|---|---|
| Delivery | On-demand via REST | Scheduled via SFTP / Email / S3 |
| Format | JSON | CSV / TXT |
| Filtering | Date range + column selection | Configured by TAM |
| Use case | Real-time integration | Batch reconciliation |
For a deeper understanding of the movement fields and how they relate to your payins and payouts, refer to the Reports section of the documentation:
- Reports Overview — Introduction to Report Builder and delivery methods.
- Transactions Payins — Structure of incoming payment reports.
- Transactions Payouts — Structure of outgoing payment reports.
- Statement Report — Unified ledger of all financial movements.
Next Steps
Billing Movements API Reference →
Full interactive documentation including live request testing and schema explorer.
Statement Report →
Understand the full field definitions and how credits and debits are structured across your account.
Reports Overview →
Learn how Report Builder complements the API for batch and scheduled delivery workflows.
