All pages

Developer docs

List transfers

View as Markdown

List the transfers in this account with their current status, newest first, one page at a time. Paid transfers come in the full view and the rest in the free view, exactly as the dashboard shows them. Archived transfers are left out unless asked for. Pass next_cursor as cursor until it is null. Reading changes nothing.

GEThttps://uetr.ai/api/v1/transfers
  • MCP tool: list_transfers
  • Access: any key or connection

Parameters

NameInTypeRequiredDescription
archivedqueryexclude, include, only (default exclude)Noexclude (default): active transfers. include: all. only: archived transfers.
cursorquerystring (at most 200 characters)NoThe next_cursor of the previous page.
limitqueryinteger (at least 1, at most 100, default 50)NoTransfers per page, 1 to 100. Default 50.

Response

FieldTypeRequiredDescription
transfersarray of objectYes
transfers[].idstring (uuid)YesThe transfer's id in this account.
transfers[].uetrstringYesThe Unique End-to-end Transaction Reference.
transfers[].labelstring or nullYesThe account's own label for the transfer.
transfers[].viewfull, freeYesfull: every report as the paid timeline shows it. free: the free tracker view.
transfers[].statussearching, not_found, check_failed, in_transit, on_hold, credited, rejected, returned, cancelledYesThe transfer's current status.
transfers[].position_sentencestring or nullNoIn the full view, the payment position from its status and verified route. A reporting bank alone never establishes a position.
transfers[].status_codestring or nullYesThe latest ISO 20022 status code, in the full view only.
transfers[].status_explanationstring or nullYesWhat the status code means, in plain English.
transfers[].checks_finishedbooleanYesTrue when no automatic check is scheduled: a final outcome, an archived transfer, or a closed monitoring window. list_transfers judges the transfer's own entry, as the dashboard shows it; get_transfer judges every lookup of the UETR, as the timeline does.
transfers[].amountobjectYesThe amount entered for the search, as last corrected by the account owner. bank_reported_amount is what a bank reported.
transfers[].amount.valuenumberYesThe amount.
transfers[].amount.currencystringYesISO 4217 currency code.
transfers[].payment_datestringYesThe payment date entered for the search, as last corrected by the account owner.
transfers[].bank_reported_amountobject or nullYesThe latest amount a bank reported, with its value date. When no bank stated a currency, the currency is the one entered for the search. A free transfer's figure is the one its free tracker shows, from the reports revealed so far.
transfers[].bank_reported_amount.valuenumberYesThe amount.
transfers[].bank_reported_amount.currencystringYesISO 4217 currency code.
transfers[].bank_reported_amount.payment_datestring or nullYes
transfers[].last_checked_atstring or nullYesWhen the transfer was last checked.
transfers[].monitoring_untilstring or nullYesWhen this transfer's monitoring window ends or ended (at archiving, if earlier): the paid window, or for a free transfer its free checking window. Checks can finish before it, and a paid transfer still inside its free checking window keeps free checks after it; checks_finished says whether any is scheduled.
transfers[].check_frequency_minutesinteger or nullYesHow often this transfer's own checks run, in the full view; null when it has none scheduled.
transfers[].archivedbooleanYesTrue when the transfer is archived.
transfers[].added_atstringYesWhen the transfer was added.
next_cursorstring or nullYesPass as cursor for the next page; null on the last.

Example

curl -X GET "https://uetr.ai/api/v1/transfers" \
  -H "Authorization: Bearer $UETR_API_KEY"

The answer:

{
  "transfers": [
    {
      "id": "8d2f6b1e-4c3a-4f7d-9e8b-5a1c2d3e4f60",
      "uetr": "eb6305c9-1f7f-49de-aed0-16487c27b42d",
      "label": null,
      "view": "full",
      "status": "in_transit",
      "status_code": "ACSP/G000",
      "status_explanation": "Passed to the next agent or market infrastructure, with tracking continuing.",
      "checks_finished": false,
      "amount": {
        "value": 1500.5,
        "currency": "USD"
      },
      "payment_date": "2026-10-01",
      "bank_reported_amount": {
        "value": 1500.5,
        "currency": "USD",
        "payment_date": "2026-10-01"
      },
      "last_checked_at": "2026-10-14T09:20:00.000Z",
      "monitoring_until": "2026-11-14T09:00:00.000Z",
      "check_frequency_minutes": 60,
      "archived": false,
      "added_at": "2026-10-14T09:00:00.000Z"
    }
  ],
  "next_cursor": null
}

Refusals

Besides the access refusals every call can meet, this call can answer:

  • None of its own.