# Get KYC Review by ID (V1) (deprecated)

This endpoint is deprecated. Use [Get KYC Review by ID](kycreviewget) (V2) instead.
Retrieves a single KYC Review by ID for a profile.

Endpoint: GET /v1/profiles/{profileId}/kyc-reviews/{kycReviewId}
Security: UserToken

## Path parameters:

  - `profileId` (integer, required)
    The profile ID.

  - `kycReviewId` (string, required)
    The KYC Review ID.

## Header parameters:

  - `X-External-Correlation-Id` (string)
    Optional UUID for correlating requests across systems. If provided, Wise echoes it back in the response. Maximum 36 characters. [Learn more](/guides/developer/headers/correlation-id).

## Response 200 fields (application/json):

  - `id` (string)
    Unique identifier for a KYC Review resource, generated by Wise.
    Example: 46e1a5c4-4a9b-4563-39d3-18174d3ac0f8

  - `status` (string)
    Aggregated state of the underlying requirement set. Any of the states below could move into any other state.
    Enum: "NEW", "PASSED", "PASSED_WITH_REQUIREMENTS", "WAITING_CUSTOMER_INPUT", "PROCESSING"

  - `createdAt` (string)
    Timestamp marking the creation of the KYC Review.
    Example: 2024-09-03T16:22:02.257725

  - `updatedAt` (string)
    Timestamp marking the last update of the KYC Review.
    Example: 2024-09-03T16:29:41.147522

  - `requiredBy` (string | null)
    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`.
    Example: 2024-09-03T16:22:02.257725

  - `triggerReferences` (array)
    List of trigger reference objects.

  - `triggerReferences.type` (string)
    Type of the underlying action or process this KYC Review is for. Usually a reference to which product this KYC Review pertains to (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`).
Currently supported types:
- `QUOTE`
- `TRANSFER`
- `PROACTIVE_SEND_MONEY`
- `ADD_MONEY`
- `CARD`
- `BANK_ACCOUNT_DETAILS`
- `INFO_REQUEST`
    Example: QUOTE

  - `redirectUrl` (string | null)
    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](https://www.ietf.org/rfc/rfc2396.txt). Provided by the caller in the [Update redirect URL](kycreviewredirecturlupdate) call.
    Example: https://example.com

  - `requirements` (array | null)
    Nested list of [KYC Requirement](api-reference/kyc-review/kyc-requirement) objects in `[[Requirement]]` format, where each inner list represents a combination of possible requirements to be provided. To fulfil the whole KYC Review, at least one item from each inner list should be provided.
For example, if the requirements are `[[a, b], [c, d]]` then it should be read as `(a or b) and (c or d)`.

  - `requirements.key` (string)
    The name of the KYC requirement. A single KYC Requirement should appear in the requirements list at most once.
    Example: ID_DOCUMENT

  - `requirements.state` (string)
    The state of the KYC requirement.
- `NOT_PROVIDED` — the information is pending. Either the Hosted KYC flow or [KYC Requirement Submit](/api-reference/legacy/kyc-review/kycreviewrequirementsubmit) endpoint should be used to fulfil the requirement.
- `IN_REVIEW` — the required information has been retrieved and the KYC requirement is being reviewed. No action is needed.
- `VERIFIED` — the required information has been received and verified on our side. No action is needed.
    Enum: "NOT_PROVIDED", "IN_REVIEW", "VERIFIED"

  - `requirements.apiCollectionSupported` (boolean)
    Indicates if the requirement can be provided via the [KYC Requirement Submit](/api-reference/legacy/kyc-review/kycreviewrequirementsubmit) endpoint. If `false`, the requirement should be provided via the Hosted KYC flow.
    Example: true

  - `requirements.additionalRequirements` (array | null)
    List of additional submissions that are needed to fulfill this requirement. These can appear when the originally submitted evidence is a wrong document, wrong format, incomplete or otherwise insufficient. Only provided if not empty.

  - `requirements.additionalRequirements.additionalRequirementId` (string)
    Unique identifier for an additional requirement, generated by Wise.
    Example: 8b789c45-60ae-475d-b667-c8714db9a6a4

  - `requirements.additionalRequirements.key` (string)
    A key outlining what type of evidence is additionally required
    Enum: "ACKNOWLEDGEMENT,", "DOCUMENT", "WRITTEN_ANSWER", "DOCUMENT_AND_WRITTEN_ANSWER", "DOCUMENT_OR_WRITTEN_ANSWER", "EMAIL", "CUSTOM_REQUEST"

  - `requirements.additionalRequirements.state` (string)
    The state of the additional requirement. This state should be treated as independent of the parent KYC Requirement's state. They can, but don't have to, change together.
- `NOT_PROVIDED` — the information is pending. Either the Hosted KYC flow or [KYC Requirement Submit](/api-reference/legacy/kyc-review/kycreviewrequirementsubmit) endpoint should be used to fulfil the additional requirement.
- `IN_REVIEW` — the required information has been retrieved and the additional requirement is being reviewed. No action is needed.
- `VERIFIED` — the required information has been received and verified on our side. No action is needed.
    Enum: "NOT_PROVIDED", "IN_REVIEW", "VERIFIED"

  - `requirements.additionalRequirements.reasons` (object)
    Contains information about the reason this additional requirement has been requested.

  - `requirements.additionalRequirements.reasons.errorCode` (string)
    Code for the reason this additional requirement has been requested.
    Enum: "NEEDED", "WRONG_DOCUMENT", "EXPIRED", "INVALID_TRADING_ADDRESS", "MISSING_ONE_SIDE", "MISSING_COUNTRY_OF_RESIDENCE", "MISSING_DIRECTORS", "MISSING_UBOS", "NO_UBO_DOC_REQUIRED", "MISMATCH_NAME", "MISMATCH_DATE_OF_BIRTH", "AGENT_DETAILS_PROVIDED", "DIRECTOR_IS_BUSINESS", "UBO_IS_BUSINESS", "UNCLEAR", "WEBSITE_LINK_BROKEN", "BUSINESS_NAME_NOT_ON_WEBSITE", "DRIVING_LICENSE_NOT_ACCEPTED", "BUSINESS_NOT_REGISTERED", "OTHER"

  - `requirements.additionalRequirements.reasons.description` (string)
    Example: The provided document or information has expired. A valid document is required.

  - `requirements.additionalRequirements.reasons.dateTime` (string)
    Timestamp marking when this additional requirement was requested.
    Example: 2026-04-13T10:54:21.929314

  - `requirements.additionalRequirements.attributes` (object)
    Contains metadata information about the additional requirement. Not returned if empty.

  - `requirements.additionalRequirements.attributes.fields` (object)
    Not returned if empty

  - `requirements.additionalRequirements.attributes.fields.name` (string)
    The name of the affected person(s) or business

  - `requirements.additionalRequirements.attributes.fields.website` (string)
    The URL of the affected website

  - `requirements.additionalRequirements.attributes.fields.businessName` (string)
    The name of the affected business

  - `requirements.additionalRequirements.attributes.fields.owningBusinessName` (string)
    The name of the affected owning business

  - `requirements.additionalRequirements.attributes.fields.markdownText` (string)
    Free format text written by a Wise Agent in markdown format.
    Example: Requirement details were unclear, *please* provide a clear scan where:

*   All information is clearly readable
*   The document is in colour

  - `requirements.additionalRequirements.attributes.issues` (array)
    A list of issues with the previously uploaded document. Not returned if empty
    Example: ["CANNOT_BE_SCREENSHOT","NEED_COLOUR_VERSION"]

  - `requirements.versions` (array)
    **Conditional:** Only present when `apiCollectionSupported` is `true`. Lists the available versions and their validity.

  - `requirements.versions.version` (string)
    The version identifier.
    Example: v1

  - `requirements.versions.validUntil` (string | null)
    If present, indicates the expiry date of this version (ISO 8601).
    Example: 2026-06-30

