v5

latestOpenAPI 3.1.02026-07-262421791.5 MB
kyc-review

Create a KYC Review

Creates a KYC Review for a specific customer action.

post/v1/profiles/{profileId}/kyc-reviews

Path parameters

profileIdinteger required

The profile ID.

Headers

X-External-Correlation-Idstring uuid

Optional UUID for correlating requests across systems. If provided, Wise echoes it back in the response. Maximum 36 characters. Learn more.

Request body

type'QUOTE' | 'PROACTIVE_SEND_MONEY' | 'CARD' required

Type of the underlying action or process this KYC Review is for. Usually a reference to which product this KYC Review is for (like QUOTE or TRANSFER) or a reference to a KYC process on the profile that isn't related to a specific product (like REFRESH_CYCLE or REPAPERING).

Following types are available when creating a KYC Review using this endpoint:

  • QUOTE
  • PROACTIVE_SEND_MONEY
  • CARD

Example request

{
  "type": "QUOTE",
  "triggerData": {
    "id": "ba83a43a-f623-46f0-956d-196c13e2ab01"
  }
}

Response

KYC Review successfully created.

idstring uuid

Unique identifier for a KYC Review resource, generated by Wise.

status'NEW' | 'PASSED' | 'PASSED_WITH_REQUIREMENTS' | 'WAITING_CUSTOMER_INPUT' | 'PROCESSING'

Aggregated state of the underlying requirement set. Any of the states below could move into any other state.

createdAtstring date-time

Timestamp marking the creation of the KYC Review.

updatedAtstring date-time

Timestamp marking the last update of the KYC Review.

requiredBystring date-time nullable

Timestamp by which the underlying requirement set needs to be verified to not block the customer. Only relevant if the status is PASSED_WITH_REQUIREMENTS.

redirectUrlstring nullable

URL where the user will be redirected at the end of the flow. Can contain query params and path fragments. It has to be a valid URL as per RFC 2396. Provided by the caller in the Update redirect URL call.

Example response

{
  "id": "46e1a5c4-4a9b-4563-39d3-18174d3ac0f8",
  "status": "WAITING_CUSTOMER_INPUT",
  "createdAt": "2024-09-03T16:22:02.257725",
  "updatedAt": "2024-09-03T16:29:41.147522",
  "requiredBy": "2024-09-03T16:22:02.257725",
  "triggerReferences": [
    {
      "type": "QUOTE",
      "triggerData": {
        "id": "ba83a43a-f623-46f0-956d-196c13e2ab01"
      }
    }
  ],
  "redirectUrl": "https://example.com",
  "requirements": [
    [
      {
        "key": "ID_DOCUMENT",
        "state": "NOT_PROVIDED",
        "apiCollectionSupported": true,
        "additionalRequirements": [
          {
            "additionalRequirementId": "8b789c45-60ae-475d-b667-c8714db9a6a4",
            "key": "DOCUMENT_OR_WRITTEN_ANSWER",
            "state": "NOT_PROVIDED",
            "reasons": {
              "errorCode": "EXPIRED",
              "description": "The provided document or information has expired. A valid document is required.",
              "dateTime": "2026-04-13T10:54:21.929314"
            },
            "attributes": {
              "fields": {
                "name": "John Smith",
                "website": "https://example.com",
                "businessName": "My Business Inc.",
                "owningBusinessName": "Owning Business Inc.",
                "markdownText": "Requirement details were unclear, *please* provide a clear scan where:\n\n*   All information is clearly readable\n*   The document is in colour"
              },
              "issues": [
                "CANNOT_BE_SCREENSHOT",
                "NEED_COLOUR_VERSION"
              ]
            }
          }
        ],
        "versions": [
          {
            "version": "v1",
            "validUntil": "2026-06-30"
          }
        ]
      }
    ]
  ]
}