Developer docs
uetr.ai API
Track international bank transfers by their UETR and read what the banks report about them. Every call acts on one uetr.ai account, with the rights of the user who created the credential. The same actions are tools on the MCP server at https://uetr.ai/mcp.
New here? The quickstart makes a first call in a few minutes.
Base address
https://uetr.ai/api/v1. The OpenAPI document is at https://uetr.ai/openapi.json.
Authentication
Create an API key on the AI and API page of uetr.ai and send it only in the Authorization header as Bearer <key>. A key sent in a URL is revoked at once. AI apps on the MCP server sign in through https://auth.uetr.ai instead and receive their own tokens, and a script can send its API key to the MCP server too. A read key can make the reads its user may make, and changes need a key with read and write access. Some operations are the account owner's alone, as on the website: their pages say so, and a teammate's keys and connected apps cannot call them. More in authentication.
Versions
Versions are dates. A key keeps the version it was created on, and a call can name another known version in the uetr-version header. The current version is 2026-10-14. Breaking changes ship only as a new dated version.
Limits
Calls and changes have per-account limits, listed in rate limits. A refused call carries rate_limited with a Retry-After header and retry_after_seconds in the body. Wait that long, then try again.
Refusals
A refusal is a problem+json body (RFC 9457) with a stable code to act on and a plain-English detail to pass on. Every code is listed on the errors page.
Operations
Transfers
- Add a transfer:
POST /transfers - Archive a transfer:
POST /transfers/{uetr}/archive - Delete a transfer:
DELETE /transfers/{uetr} - Get a transfer's share link:
GET /transfers/{uetr}/share-link - Get a transfer:
GET /transfers/{uetr} - Count the people following a transfer:
GET /transfers/{uetr}/watchers - List transfers:
GET /transfers - Re-check a transfer now:
POST /transfers/{uetr}/recheck - Rename a transfer:
PATCH /transfers/{uetr}/label - Restore an archived transfer:
POST /transfers/{uetr}/restore - Set a transfer's check frequency:
PATCH /transfers/{uetr}/check-frequency - Share a payment record:
POST /transfers/{uetr}/record-share - Correct a transfer's details:
PATCH /transfers/{uetr}/details
Payment records
- Get a payment record:
GET /records/{record_token}
Account
- Export the account's transfers:
GET /export - Get the account:
GET /account - Get the billing page link:
GET /account/billing-link - Get plan usage:
GET /account/usage
Team
- Invite a teammate:
POST /team/members - List the team:
GET /team - Remove a teammate:
DELETE /team/members/{member_id} - Resend a team invitation:
POST /team/members/{member_id}/resend
Webhooks
- Change a webhook endpoint's address:
PATCH /webhooks/{id}/url - Add a webhook endpoint:
POST /webhooks - Delete a webhook endpoint:
DELETE /webhooks/{id} - Get a webhook endpoint:
GET /webhooks/{id} - List a webhook endpoint's deliveries:
GET /webhooks/{id}/deliveries - List webhook endpoints:
GET /webhooks - Rotate a webhook signing secret:
POST /webhooks/{id}/rotate-secret - Send a test event:
POST /webhooks/{id}/test - Change a webhook endpoint's events:
PATCH /webhooks/{id}
Owner confirmation
- List requests waiting for the owner:
GET /pending-access