For the complete documentation index, see llms.txt. This page is also available as Markdown.

Receive the KYC onboarding result

UR delivers fma.account.result to your registered webhook URL when onboarding reaches a terminal outcome: status activated once the URID reaches Live status and the bank account is open, or status rejected with rejectCode and rejectReason. Verify the EIP-191 signatures, deduplicate on X-Webhook-Request-Id, and acknowledge with HTTP 200; UR retries non-2xx responses with exponential backoff. The payload is identical for Managed Custody Mode and External Wallet Access Mode.

Header parameters
X-Webhook-Event-TypestringRequired

The event type, matching the event field in the body.

X-Webhook-Request-IdstringRequired

Idempotency id. Fixed for the lifetime of a message and repeated on every retry; deduplicate on this value.

X-Webhook-TimestampstringRequired

Delivery timestamp in Unix seconds.

X-Webhook-AttemptstringRequired

1-indexed delivery attempt counter.

X-Api-SignaturestringRequired

EIP-191 signature V1 over the raw body. Verify before processing.

X-Api-Signature-V2stringRequired

EIP-191 signature V2 over timestamp + "." + requestId + "." + body.

Payload

Envelope for the fma.account.result webhook. Delivery metadata, including the idempotency id, travels in X-Webhook-* headers, not in the body.

eventconst: fma.account.resultRequired
timestampinteger · int64Required

Delivery timestamp, Unix seconds.

Responses
200

Acknowledge receipt with HTTP 200. UR retries non-2xx responses with exponential backoff and the same X-Webhook-Request-Id.

No content

Payload

{
  "event": "fma.account.result",
  "timestamp": 1781000945,
  "data": {
    "urId": 5643568810,
    "sessionId": "223d567f-ea11-4629-ba2a-94664edc26f6",
    "partnerId": "8209",
    "status": "activated",
    "occurredAt": 1781000945
  }
}

Last updated