All pages

Developer docs

Changelog

View as Markdown

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/discover lists in supportedVersions every 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: in data.supported of the -32022 error, and in the message of the error for a request without the _meta envelope. Before this fix, discovery and the -32022 error listed only 2026-07-28, and the other error left it out. A client still starts a version before 2026-07-28 with initialize.
  • Fix: rename_transfer refuses 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, with invalid_request naming label. 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_transfer and update_transfer refuse 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), with invalid_request naming amount.currency or amount.value. Before this fix, such an amount was stored rounded to 2 decimal places.
  • Fix: add_transfer refuses a payment_date later than the next calendar day in UTC, as update_transfer does for a changed date.
  • invite_team_member refuses the account owner's own address, in any letter case, with already_owner (409), and records no request for the owner to confirm.
  • MCP tool calls honour the uetr-version header as the REST API does: a known version is used, and an unknown one is refused with unsupported_version.
  • The archive_transfer MCP 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 answers not_found and 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.