SWIFT UETR Tracker Owner confirmation API

The Owner confirmation API from SWIFT UETR Tracker — 1 operation(s) for owner confirmation.

Operations 1

GET /pending-access List requests waiting for the owner #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/uetr-ai:uetr-ai-owner-confirmation-api"
All apis
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.

Get an API 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 Specification

uetr-ai-owner-confirmation-api-openapi.yml Raw ↑
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.'