SWIFT UETR Tracker Owner confirmation API
The Owner confirmation API from SWIFT UETR Tracker — 1 operation(s) for owner confirmation.
The Owner confirmation API from SWIFT UETR Tracker — 1 operation(s) for owner confirmation.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/uetr-ai:uetr-ai-owner-confirmation-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: uetr.ai Owner confirmation API
version: '2026-10-14'
description: 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.
contact:
name: uetr.ai support
email: hello@uetr.ai
url: https://uetr.ai/contact
servers:
- url: https://uetr.ai/api/v1
tags:
- name: Owner confirmation
paths:
/pending-access:
get:
operationId: list_pending_access
summary: List requests waiting for the owner
description: List the team invitations, payment record shares and webhook endpoints that API keys and connected apps asked for on this account, newest first, with whether the account owner confirmed, declined or has not answered yet, and whether a request expired or the API key or connected app that asked withdrew it. A confirmed record share carries the record link while it still works. Only the account owner's API keys and connected apps can list them. Reading changes nothing.
tags:
- Owner confirmation
security:
- apiKey: []
parameters:
- $ref: '#/components/parameters/Version'
responses:
'200':
description: List requests waiting for the owner
headers:
uetr-version:
$ref: '#/components/headers/Version'
content:
application/json:
schema:
type: object
properties:
requests:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
kind:
type: string
enum:
- team_invite
- record_share
- webhook_endpoint
description: 'team_invite: an invitation to the team. record_share: a payment record link. webhook_endpoint: a webhook endpoint that receives status changes.'
status:
type: string
enum:
- pending
- confirmed
- declined
- expired
- withdrawn
description: 'pending: waiting for the account owner. confirmed: the owner approved it and it took effect. declined: the owner refused it. expired: nobody answered within seven days, or a later request for the same transfer with different settings replaced it. withdrawn: the API key or connected app closed its own request, by deleting the webhook endpoint or by giving it a new address, which opens a new request.'
created_at:
type: string
format: date-time
expires_at:
type: string
format: date-time
decided_at:
type:
- string
- 'null'
format: date-time
invite_email:
type:
- string
- 'null'
description: 'For a team invite: the address to invite.'
uetr:
type:
- string
- 'null'
description: 'For a record share: the transfer''s UETR.'
record_url:
type:
- string
- 'null'
description: 'For a confirmed record share: the payment record link, while the record still has that link. Null otherwise.'
endpoint_url:
type:
- string
- 'null'
description: 'For a webhook endpoint: its host and a masked path. Null otherwise.'
required:
- id
- kind
- status
- created_at
- expires_at
- decided_at
- invite_email
- uetr
- record_url
- endpoint_url
additionalProperties: false
required:
- requests
additionalProperties: false
example:
requests:
- id: 4c7e1a3b-8d2f-4b6e-a9c5-3f6b9e2d5a8c
kind: webhook_endpoint
status: pending
created_at: '2026-10-14T09:35:00.000Z'
expires_at: '2026-10-21T09:35:00.000Z'
decided_at: null
invite_email: null
uetr: null
record_url: null
endpoint_url: hooks.slack.com/services/••••
- id: 2e5a8d1b-6c9f-4d2a-b4e7-0f3c6d9a2b5e
kind: team_invite
status: pending
created_at: '2026-10-14T09:30:00.000Z'
expires_at: '2026-10-21T09:30:00.000Z'
decided_at: null
invite_email: teammate@example.com
uetr: null
record_url: null
endpoint_url: null
- id: 1d4f7a2c-5b8e-4c1f-a3d6-9e2b5c8f1a4d
kind: record_share
status: confirmed
created_at: '2026-10-14T09:25:00.000Z'
expires_at: '2026-10-21T09:25:00.000Z'
decided_at: '2026-10-14T09:41:00.000Z'
invite_email: null
uetr: eb6305c9-1f7f-49de-aed0-16487c27b42d
record_url: https://uetr.ai/p/0f1e2d3c4b5a69788796a5b4c3d2e1f0
endpoint_url: null
'400':
description: '`credential_in_url`: API key sent in the URL. `invalid_request`: Invalid request. `unsupported_version`: Unsupported API version.'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
examples:
credential_in_url:
summary: API key sent in the URL
value:
type: https://uetr.ai/docs/api/errors#credential_in_url
title: API key sent in the URL
status: 400
code: credential_in_url
detail: API key sent in the URL.
invalid_request:
summary: Invalid request
value:
type: https://uetr.ai/docs/api/errors#invalid_request
title: Invalid request
status: 400
code: invalid_request
detail: Invalid request.
unsupported_version:
summary: Unsupported API version
value:
type: https://uetr.ai/docs/api/errors#unsupported_version
title: Unsupported API version
status: 400
code: unsupported_version
detail: Unsupported API version.
'401':
description: '`invalid_credential`: Valid key or token required.'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
examples:
invalid_credential:
summary: Valid key or token required
value:
type: https://uetr.ai/docs/api/errors#invalid_credential
title: Valid key or token required
status: 401
code: invalid_credential
detail: Valid key or token required.
'403':
description: '`credential_suspended`: Key or connection paused. `credential_account_changed`: Key or connection belongs to another account. `staff_credentials_refused`: Not available to staff accounts. `customer_view_refused`: Not available in a customer view. `machine_access_not_available`: API access is not available yet. `not_permitted`: Not permitted.'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
examples:
credential_suspended:
summary: Key or connection paused
value:
type: https://uetr.ai/docs/api/errors#credential_suspended
title: Key or connection paused
status: 403
code: credential_suspended
detail: Key or connection paused.
credential_account_changed:
summary: Key or connection belongs to another account
value:
type: https://uetr.ai/docs/api/errors#credential_account_changed
title: Key or connection belongs to another account
status: 403
code: credential_account_changed
detail: Key or connection belongs to another account.
staff_credentials_refused:
summary: Not available to staff accounts
value:
type: https://uetr.ai/docs/api/errors#staff_credentials_refused
title: Not available to staff accounts
status: 403
code: staff_credentials_refused
detail: Not available to staff accounts.
customer_view_refused:
summary: Not available in a customer view
value:
type: https://uetr.ai/docs/api/errors#customer_view_refused
title: Not available in a customer view
status: 403
code: customer_view_refused
detail: Not available in a customer view.
machine_access_not_available:
summary: API access is not available yet
value:
type: https://uetr.ai/docs/api/errors#machine_access_not_available
title: API access is not available yet
status: 403
code: machine_access_not_available
detail: API access is not available yet.
not_permitted:
summary: Not permitted
value:
type: https://uetr.ai/docs/api/errors#not_permitted
title: Not permitted
status: 403
code: not_permitted
detail: Not permitted.
'429':
description: '`rate_limited`: Too many requests.'
headers:
Retry-After:
$ref: '#/components/headers/RetryAfter'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
examples:
rate_limited:
summary: Too many requests
value:
type: https://uetr.ai/docs/api/errors#rate_limited
title: Too many requests
status: 429
code: rate_limited
detail: Too many requests.
'500':
description: '`request_failed`: Request failed.'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
examples:
request_failed:
summary: Request failed
value:
type: https://uetr.ai/docs/api/errors#request_failed
title: Request failed
status: 500
code: request_failed
detail: Request failed.
'503':
description: '`machine_access_disabled`: API access is switched off. `temporarily_unavailable`: Temporarily unavailable.'
headers:
Retry-After:
$ref: '#/components/headers/RetryAfter'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
examples:
machine_access_disabled:
summary: API access is switched off
value:
type: https://uetr.ai/docs/api/errors#machine_access_disabled
title: API access is switched off
status: 503
code: machine_access_disabled
detail: API access is switched off.
temporarily_unavailable:
summary: Temporarily unavailable
value:
type: https://uetr.ai/docs/api/errors#temporarily_unavailable
title: Temporarily unavailable
status: 503
code: temporarily_unavailable
detail: Temporarily unavailable.
x-mcp-tool: list_pending_access
x-mcp-annotations:
readOnlyHint: true
destructiveHint: false
idempotentHint: true
openWorldHint: false
x-owner-only: true
components:
parameters:
Version:
name: uetr-version
in: header
required: false
description: The API version to run the call under. Without it, a call runs under the version the credential was created on. An empty value is refused as an unknown version.
schema:
type: string
enum:
- '2026-10-14'
headers:
Version:
description: The API version the call ran under.
required: true
schema:
type: string
enum:
- '2026-10-14'
RetryAfter:
description: The seconds to wait before trying again. It is sent exactly when the body carries `retry_after_seconds`, with the same value.
schema:
type: integer
minimum: 0
schemas:
Problem:
type: object
description: A refusal (RFC 9457). Act on `code`; pass `detail` on to the person.
required:
- type
- title
- status
- code
- detail
properties:
type:
type: string
format: uri
title:
type: string
status:
type: integer
code:
type: string
enum:
- customer_view_refused
- machine_access_disabled
- machine_access_not_available
- credential_in_url
- invalid_credential
- rate_limited
- temporarily_unavailable
- credential_suspended
- credential_account_changed
- staff_credentials_refused
- read_only_credential
- machine_writes_disabled
- action_not_available
- not_permitted
- invalid_request
- unsupported_version
- request_too_large
- unsupported_media_type
- not_found
- method_not_allowed
- request_failed
- checks_ended
- monitoring_ended
- recheck_not_available
- recheck_cooldown
- check_not_started
- lookup_limit
- account_email_missing
- plan_unverified
- plan_expired
- transfer_not_editable
- corrections_used
- label_not_available
- check_frequency_not_available
- rescue_limit
- active_transfer_limit
- monthly_limit_reached
- transfer_archived
- subscription_required
- demo_transfer
- record_not_available
- already_owner
- seat_exists
- seat_on_other_account
- manages_paid_account
- team_requires_subscription
- seat_limit
- seat_not_active
- seat_reservation_failed
- invitation_not_pending
- invitation_queued
- invitation_rate_limited
- invitation_prepare_failed
- invitation_send_failed
- invitation_not_sent
- invitation_check_failed
- member_removal_failed
- destination_not_allowed
- endpoint_exists
- endpoint_limit
detail:
type: string
retry_after_seconds:
type: integer
minimum: 0
limit:
type: integer
usage:
type: integer
archive_needed:
type: integer
resets_at:
type: string
format: date-time
invalid_params:
type: array
items:
type: object
required:
- name
- reason
properties:
name:
type: string
reason:
type: string
securitySchemes:
apiKey:
type: http
scheme: bearer
description: 'An API key from the MCP and API page on uetr.ai, sent only in the Authorization header. A key sent in a URL is revoked. A connected app''s access token is refused here: it works only on the MCP server.'