Search

Search via Typesense

Run full-text search across your ledger data with the Java SDK.

POST/search/{collection}

Use blnk.search().search for this operation.

Call the method

ApiResponse<JsonNode> response = blnk.search().search(
    SearchParams.create()
        .q("[email protected]")
        .queryBy("email_address")
        .perPage(10),
    "identities");
FieldTypeDescription
qStringSearch query text. Use * to return all records.
query_byStringComma-separated list of fields to search in.
filter_byStringFilter conditions to refine results.
sort_byStringSort order, for example created_at:desc.
pageNumberPage number, starting at 1.
per_pageNumberResults per page. Max 250, defaults to 10.
collectionStringCollection to search: ledgers, transactions, balances, or identities.

Use the search results

Read response.data().get("hits") for matching documents. Each hit includes a document and optional highlights and text_match score.

Response

{
  "found": 2,
  "out_of": 232,
  "page": 1,
  "request_params": {
    "collection_name": "transactions",
    "per_page": 10,
    "q": "payment"
  },
  "search_time_ms": 2,
  "facet_counts": [],
  "search_cutoff": false,
  "hits": [
    {
      "document": {
        "id": "txn_cd728825-a6e1-4fae-9277-c3235a045ea5",
        "transaction_id": "txn_cd728825-a6e1-4fae-9277-c3235a045ea5",
        "amount": 532,
        "currency": "USD",
        "description": "Test transaction",
        "source": "bln_93fb50c2-969e-49c2-bb61-ef5ed245516e",
        "destination": "bln_20666087-1355-4736-ba04-3ba92a7542b9",
        "status": "APPLIED",
        "created_at": 1758116489
      },
      "highlights": [],
      "text_match": 578730123365711993
    }
  ]
}
FieldTypeDescription
foundNumberNumber of records matching the query.
out_ofNumberTotal records in the collection.
pageNumberCurrent page number.
search_time_msNumberTime taken to run the search, in milliseconds.
hitsJsonNodeJSON array of search results. Each element includes a document and optional highlights and text_match.