Part 9
Settlements, channels, and reports
Settlements, the channel and bank list, and CSV/XLSX report exports.
Settlements
/api/v1/settlementssettlements:readResponse 200Filters: status, type, reference, from, to, cursor, limit; dates filter on created_at.
| Field | Values |
|---|---|
type | PAYIN_RELEASE for releasing a balance and PAYOUT_COMPLETION for payout completion records. |
status | WAITING_FUNDS, COMPLETED, or NEEDS_REVIEW. |
{
"data": [
{
"id": "set_example_001",
"type": "PAYIN_RELEASE",
"status": "COMPLETED",
"reference": "ORDER-0001",
"resource_id": "pin_example_001",
"gross": "100000",
"fee": "1500",
"net": "98500",
"currency": "IDR",
"journal_group_id": "jg_example_payin",
"created_at": "2026-10-15T05:02:00Z",
"completed_at": "2026-10-15T05:02:00Z"
}
],
"pagination": { "next_cursor": null, "has_more": false },
"request_id": "req_example_008"
}A payout settlement does not debit the balance again. Provider fund settlement can be delayed even though the customer has already paid; use available to know how much can be paid out. Operational reconciliation details can be viewed in the dashboard.
Channels and destination accounts
/api/v1/channelschannels:readResponse 200The data response is an array of items with the following fields.
| Field | Description |
|---|---|
code | Channel code. The v1 payout channel code is BANK_PAYOUT; AntaraPay decides between automatic or manual routing. |
operation | PAYIN or PAYOUT. |
status | AVAILABLE, DEGRADED, or UNAVAILABLE. |
min_amount / max_amount | Per-transaction amount limits. |
currency | IDR. |
bank_codes | Bank codes supported by the channel. |
estimated_ready_seconds | Estimated time until the instruction is ready; may be null. |
bank_codes come from the active configuration. The channel list can change and does not guarantee a slot is available when you send the POST. Clients must still handle CHANNEL_UNAVAILABLE and RATE_LIMITED.Report exports
/api/v1/reports/exportsreports:writeResponse 202| Field | Required | Description |
|---|---|---|
type | Yes | PAYINS, PAYOUTS, JOURNALS, or SETTLEMENTS. |
format | Yes | CSV or XLSX. |
from / to | Yes | RFC 3339 UTC time range. Maximum designed range is 31 days. |
date_field | No | Depends on the report type: payin created_at/paid_at, payout created_at/completed_at, journal posted_at, settlement created_at/completed_at. |
{
"data": { "id": "exp_example_001", "status": "QUEUED" },
"request_id": "req_example_009"
}/api/v1/reports/exports/{id}reports:readResponse 200data contains id, status (QUEUED, PROCESSING, READY, or FAILED), format, download_url, expires_at, and a nullable error_code. The URL is only available when READY, is private, and is short-lived. If it has expired, fetch the status again for a new URL as long as the file is still within its retention period. An export does not create a financial transaction.