Developer docs
Changelog
What changed in the API and the MCP tools, newest first. Breaking changes ship only as a new dated version, and a key keeps the version it was created on. New operations, new optional inputs, new response fields, new enum values and new event kinds are not breaking changes, so a client should ignore what it does not know.
2026-10-29
Version 2026-10-14.
- New:
rotate_webhook_secret(POST /webhooks/{id}/rotate-secret) replaces an endpoint's signing secret and returns the new one once. For 24 hours every delivery carries a signature with the new secret and one with the previous secret, as the webhooks guide has described since launch. - New:
change_webhook_endpoint_url(PATCH /webhooks/{id}/url) gives an endpoint a new address. The endpoint keeps its id, events and secret, and waits for the account owner to confirm the new address, as a new endpoint does; deliveries waiting for the old address are dropped. It counts toward the hourly limit on adding endpoints. - Fix: MCP
server/discoverlists insupportedVersionsevery protocol version the server supports: 2026-07-28, 2025-11-25, 2025-06-18, 2025-03-26, 2024-11-05 and 2024-10-07, the same list as the server card. A request naming a version the server does not support is refused with the same list: indata.supportedof the-32022error, and in the message of the error for a request without the_metaenvelope. Before this fix, discovery and the-32022error listed only 2026-07-28, and the other error left it out. A client still starts a version before 2026-07-28 withinitialize. - Fix:
rename_transferrefuses a label holding a tab or line break inside it, NUL or any other control character, a line or paragraph separator, a character that changes the direction of the text (U+202A to U+202E, U+2066 to U+2069), or half of a surrogate pair, withinvalid_requestnaminglabel. Before this fix, NUL and a lone surrogate answered 500, and the others were stored. A label of only whitespace and zero-width characters now clears the label, as an empty one does.
2026-10-28
Version 2026-10-14.
- Fix:
add_transferandupdate_transferrefuse a currency outside the supported list, and an amount with more decimal places than its currency has (2, or none for JPY, XAF and XOF), withinvalid_requestnamingamount.currencyoramount.value. Before this fix, such an amount was stored rounded to 2 decimal places. - Fix:
add_transferrefuses apayment_datelater than the next calendar day in UTC, asupdate_transferdoes for a changed date. invite_team_memberrefuses the account owner's own address, in any letter case, withalready_owner(409), and records no request for the owner to confirm.- MCP tool calls honour the
uetr-versionheader as the REST API does: a known version is used, and an unknown one is refused withunsupported_version. - The
archive_transferMCP tool is now marked destructive (destructiveHint: true), because an account without an active subscription cannot restore an archived transfer. What the call does is unchanged. - Delete a webhook endpoint is marked safe to repeat (
idempotentHint): a repeat answersnot_foundand changes nothing more. - The demo transfer carries
position_sentence, as every full-view transfer does.
2026-10-14
Version 2026-10-14.
- The first version of the uetr.ai API and MCP server.