Skip to main content
POST
/
{resource}
/
filter
curl -X POST 'https://api.cloud.blnkfinance.com/transactions/filter?instance_id=YOUR_INSTANCE_ID&page=1&pageSize=20' \
  -H 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "filters": [
      { "field": "status", "operator": "eq", "value": "APPLIED" },
      { "field": "currency", "operator": "in", "values": ["USD", "EUR"] }
    ]
  }'
{
  "data": [
    {
      "transaction_id": "txn_c4e70eb8-e4d6-4e04-a2e2-92a43b969e0c",
      "amount": 100.50,
      "currency": "USD",
      "status": "APPLIED",
      "created_at": "2025-01-15T10:00:00.000000000Z"
    }
  ],
  "total": 12,
  "stats": {},
  "total_is_estimate": false,
  "total_source": "exact"
}

Documentation Index

Fetch the complete documentation index at: https://docs.blnkfinance.com/llms.txt

Use this file to discover all available pages before exploring further.

The Filters API lets you retrieve filtered records from a Blnk Core instance through Blnk Cloud. Send a POST request with a JSON filter body to query instance Postgres directly.
Filter endpoints are registered at the Cloud API root (for example, /transactions/filter), not under /data/ or /proxy/. For a step-by-step guide, see Filtering data.

Request structure

curl -X POST 'https://api.cloud.blnkfinance.com/transactions/filter?instance_id=YOUR_INSTANCE_ID&page=1&pageSize=20' \
  -H 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "filters": [
      { "field": "status", "operator": "eq", "value": "APPLIED" },
      { "field": "currency", "operator": "in", "values": ["USD", "EUR"] }
    ]
  }'
Authorization
string
required
Bearer token for an API key or OAuth access token. Requires the data:read scope. Create credentials with the data:read scope in API keys or OAuth clients.
instance_id
string
required
Unique identifier of the Blnk Core instance to query. Required on every Filters API request.
page
integer
default:"1"
Page number for paginated results.
pageSize
integer
Number of records per page. Defaults vary by resource (see endpoints table below).
filters
array
required
Array of filter objects. Each object requires field and operator, and optionally value or values.Examples:
  • [{"field": "status", "operator": "eq", "value": "APPLIED"}] — exact match
  • [{"field": "currency", "operator": "in", "values": ["USD", "EUR"]}] — multiple values
  • [{"field": "created_at", "operator": "between", "values": ["2025-01-01T00:00:00Z", "2025-01-31T23:59:59Z"]}]

Endpoints

All paths are relative to https://api.cloud.blnkfinance.com.
MethodPathDefault pageSize
POST/ledger/filter30
POST/balances/filter20
POST/transactions/filter20
POST/identities/filter20
POST/reconciliation/filter20
The ledgers endpoint uses /ledger/filter (singular), not /ledgers/filter.
For supported operators and filterable fields, see Filtering data.

Response structure

{
  "data": [
    {
      "transaction_id": "txn_c4e70eb8-e4d6-4e04-a2e2-92a43b969e0c",
      "amount": 100.50,
      "currency": "USD",
      "status": "APPLIED",
      "created_at": "2025-01-15T10:00:00.000000000Z"
    }
  ],
  "total": 12,
  "stats": {},
  "total_is_estimate": false,
  "total_source": "exact"
}
data
array
required
Array of matching records. Structure varies by resource type.
total
integer
required
Total number of matching records.
stats
object
Aggregate statistics for the filtered result set. Present on balances, transactions, identities, and reconciliations.
total_is_estimate
boolean
Transactions only. When true, the total value is an estimate rather than an exact count.
total_source
string
Transactions only. Indicates how the total was computed (for example, "exact" or "estimate").
The Cloud Filters API accepts { "filters": [...] } in the body with pagination via query parameters.This differs from the self-hosted Core Filter API documented in Search via DB, which uses limit, offset, sort_by, and include_count in the body and returns total_count.

Need help?

We are very happy to help you make the most of Blnk, regardless of whether it is your first time or you are switching from another tool. To ask questions or discuss issues, please contact us or join our Discord community.