All pages

Developer docs

Export the account's transfers

View as Markdown

Export every transfer in the account, archived ones included, with the bank reports its records hold: the same records the account's export download contains, named the API's way. A page holds up to 50 UETRs in UETR order, each exported once as one transfer however many times the account added it; pass next_cursor as cursor for the next page. Reading changes nothing.

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

Parameters

NameInTypeRequiredDescription
cursorquerystring (matching ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89aAbB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$)NoThe next_cursor of the previous page.

Response

FieldTypeRequiredDescription
exported_atstringYes
transfersarray of objectYes
transfers[].idstringYes
transfers[].uetrstringYes
transfers[].labelstring or nullYes
transfers[].archived_atstring or nullYesWhen the transfer was archived, or null.
transfers[].amountobject or nullYes
transfers[].amount.valuenumberYes
transfers[].amount.currencystringYes
transfers[].payment_datestring or nullYes
transfers[].eventsarray of objectYesThe bank reports the account's records hold, one entry per report, in the order they were received; empty for a transfer in the free view or with no reports yet. get_transfer returns the same reports in payment lifecycle order, with every figure the full view shows.
transfers[].events[].reported_atstring or nullYesWhen the bank reported this status, if the report carries that time.
transfers[].events[].observed_atstringYesWhen this report was first received.
transfers[].events[].statussearching, not_found, check_failed, in_transit, on_hold, credited, rejected, returned, cancelled or nullYes
transfers[].events[].status_codestring or nullYesThe ISO 20022 status code the bank reported.
transfers[].events[].status_explanationstring or nullYes
transfers[].events[].reporting_bankobjectYesThe bank that reported. It is not necessarily on the payment's route.
transfers[].events[].reporting_bank.namestringYes
transfers[].events[].reporting_bank.countrystring or nullYes
transfers[].events[].reporting_bank.bicstring or nullYes
transfers[].events[].bank_processing_statusstring or nullYesThe bank's own processing status, in its words.
transfers[].events[].extended_tracking_statusstring or nullYesThe bank's extended tracking status, in its words.
transfers[].events[].amountobject or nullYesThe amount this report carried, when it carried one.
transfers[].events[].amount.valuenumberYesThe amount.
transfers[].events[].amount.currencystringYesISO 4217 currency code.
transfers[].events[].currencystring or nullYesThe currency the report stated, when it stated one. A report can state a currency with no amount and no fees.
transfers[].events[].feesarray of objectYesEvery fee this report stated, as the bank listed them.
transfers[].events[].fees[].valuenumberYes
transfers[].events[].fees[].currencystring or nullYes
transfers[].events[].fees[].roletotal, component, bankYesA stated total, one part of a total, or one bank's charge.
transfers[].events[].fees[].labelstring or nullYesThe bank's own name for the fee, if it gave one.
transfers[].events[].fees[].charged_bystring or nullYesThe bank the report says charged it, if any.
transfers[].events[].fees[].event_numberinteger or nullYesThe event inside this report's own list of events that the fee belongs to, as the bank record numbers it; null when the fee belongs to the report as a whole.
transfers[].events[].payment_datestring or nullYesThe value date this report carried, when it carried one.
transfers[].events[].bank_referencestring or nullYesThe bank's reference for the payment.
transfers[].events[].chips_ssnstring or nullYesThe CHIPS sequence number the bank reported.
transfers[].events[].detailsarray of object, by kind: cancellation_request, amount, reference, time, duration, exchange_rate, chain_bank, charge_bearer, fee_note, reject_return_reason, message, event_statusYesEvery further detail the bank record shows for this report, in the record's order, with the bank's times by stage and then durations last. Kinds: amounts by role, references, banks the report names in the payment's chain, exchange rates, the charge bearer, fee notes, reject or return reasons, messages, event statuses and literal cancellation-request codes. A cancellation request is separate from the transaction outcome. Fees are in fees. A detail that restates the bank reference, the bank's status time or a stored amount is left out. New kinds and values can appear within an API version; skip any you do not recognise.
next_cursorstring or nullYesNull on the last page.

Example

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

The answer:

{
  "exported_at": "2026-10-14T09:25:00.000Z",
  "transfers": [
    {
      "id": "8d2f6b1e-4c3a-4f7d-9e8b-5a1c2d3e4f60",
      "uetr": "eb6305c9-1f7f-49de-aed0-16487c27b42d",
      "label": null,
      "archived_at": null,
      "amount": {
        "value": 1500.5,
        "currency": "USD"
      },
      "payment_date": "2026-10-01",
      "events": [
        {
          "reported_at": "2026-10-14T09:10:00.000Z",
          "observed_at": "2026-10-14T09:10:00.000Z",
          "status": "in_transit",
          "status_code": "ACSP/G000",
          "status_explanation": "Passed to the next agent or market infrastructure, with tracking continuing.",
          "reporting_bank": {
            "name": "Demo Sending Bank",
            "country": "GB",
            "bic": null
          },
          "bank_processing_status": null,
          "extended_tracking_status": null,
          "amount": {
            "value": 1500.5,
            "currency": "USD"
          },
          "currency": "USD",
          "fees": [],
          "payment_date": "2026-10-01",
          "bank_reference": null,
          "chips_ssn": null,
          "details": [
            {
              "kind": "charge_bearer",
              "code": "SHAR",
              "explanation": "Shared charges (SHA)",
              "event_number": null,
              "bank": null
            }
          ]
        },
        {
          "reported_at": "2026-10-14T09:20:00.000Z",
          "observed_at": "2026-10-14T09:20:00.000Z",
          "status": "in_transit",
          "status_code": "ACSP/G000",
          "status_explanation": "Passed to the next agent or market infrastructure, with tracking continuing.",
          "reporting_bank": {
            "name": "Demo Correspondent Bank",
            "country": "US",
            "bic": null
          },
          "bank_processing_status": null,
          "extended_tracking_status": null,
          "amount": {
            "value": 1500.5,
            "currency": "USD"
          },
          "currency": "USD",
          "fees": [],
          "payment_date": "2026-10-01",
          "bank_reference": null,
          "chips_ssn": null,
          "details": []
        }
      ]
    }
  ],
  "next_cursor": null
}

Refusals

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

  • None of its own.