---
title: "Retrieve KYC status"
method: GET
path: "/v2/users/{userId}/kyc/status"
tags: ["Kyc"]
---

# Retrieve KYC status

`GET /v2/users/{userId}/kyc/status`

Get the user's latest KYC status for a specific rail after a KYC submission. If no KYC submission has been made for the rail, it will have an `INACTIVE` status.

The Get KYC Status endpoint provides the current KYC status of a rail, including details on any invalid or incomplete fields that may require updates. 
To address any invalid or incomplete fields, use the [Update KYC endpoint](https://docs.hifi.com/api-reference/kyc/update-kyc-information), and then resubmit the data using the [Submit KYC endpoint](https://docs.hifi.com/api-reference/kyc/submit-kyc).

## Path parameters

- `userId` string, required

## Query parameters

- `rails` 'USD' | 'SOUTH_AMERICA_STANDARD' | 'AFRICA_GENERAL' | 'AFRICA_NIGERIA' | 'GLOBAL_NETWORK' | 'USD_FIAT' — The type of rail.

## Response `200`

Success

- union
  - UsdRailIndividualKycStatusObject
    - `status` 'INACTIVE' | 'CREATED' | 'PENDING' | 'INCOMPLETE' | 'RFI_PENDING' | 'ACTIVE' | 'REJECTED' | 'CONTACT_SUPPORT', required — Kyc Status - `INACTIVE`: No KYC submission has been made. - `CREATED`: KYC application has been submitted. - `PENDING`: Review in progress. - `RFI_PENDING`: An RFI (Request for Information) email has been sent and is pending user response. - `INCOMPLETE`: RFI or resubmission required. - `ACTIVE`: User approved and onboarded. - `REJECTED`: KYC application rejected. - `CONTACT_SUPPORT`: Unexpected issue encountered during KYC review.
    - `message` string, required
    - `reviewResult` ReviewResultObject, required
      - `reviewAnswer` 'APPROVED' | 'DECLINED'
      - `reviewRejectType` 'FINAL' | 'RETRY'
      - `rejectReasons` string[]
      - `comment` string
    - `details` ReviewDetailsIndividualObject, required
      - `personalInfo` VerificationStatusObject
        - `reviewResult` ReviewResultObject
          - `reviewAnswer` 'APPROVED' | 'DECLINED'
          - `reviewRejectType` 'FINAL' | 'RETRY'
          - `rejectReasons` string[]
          - `comment` string
      - `identity` DocumentVerificationStatusObject
        - `reviewResult` ReviewResultObject
          - `reviewAnswer` 'APPROVED' | 'DECLINED'
          - `reviewRejectType` 'FINAL' | 'RETRY'
          - `rejectReasons` string[]
          - `comment` string
        - `details` object[]
          - `id` string, uuid
          - `type` string — Document type.
          - `subType` string — Document subType.
          - `reviewResult` ReviewResultObject
            - `reviewAnswer` 'APPROVED' | 'DECLINED'
            - `reviewRejectType` 'FINAL' | 'RETRY'
            - `rejectReasons` string[]
            - `comment` string
      - `proofOfAddress` DocumentVerificationStatusObject
        - `reviewResult` ReviewResultObject
          - `reviewAnswer` 'APPROVED' | 'DECLINED'
          - `reviewRejectType` 'FINAL' | 'RETRY'
          - `rejectReasons` string[]
          - `comment` string
        - `details` object[]
          - `id` string, uuid
          - `type` string — Document type.
          - `subType` string — Document subType.
          - `reviewResult` ReviewResultObject
            - `reviewAnswer` 'APPROVED' | 'DECLINED'
            - `reviewRejectType` 'FINAL' | 'RETRY'
            - `rejectReasons` string[]
            - `comment` string
      - `questionnaire` VerificationStatusObject
        - `reviewResult` ReviewResultObject
          - `reviewAnswer` 'APPROVED' | 'DECLINED'
          - `reviewRejectType` 'FINAL' | 'RETRY'
          - `rejectReasons` string[]
          - `comment` string
  - UsdRailBusinessKycStatusObject
    - `status` 'INACTIVE' | 'CREATED' | 'PENDING' | 'INCOMPLETE' | 'RFI_PENDING' | 'ACTIVE' | 'REJECTED' | 'CONTACT_SUPPORT', required — Kyc Status - `INACTIVE`: No KYC submission has been made. - `CREATED`: KYC application has been submitted. - `PENDING`: Review in progress. - `RFI_PENDING`: An RFI (Request for Information) email has been sent and is pending user response. - `INCOMPLETE`: RFI or resubmission required. - `ACTIVE`: User approved and onboarded. - `REJECTED`: KYC application rejected. - `CONTACT_SUPPORT`: Unexpected issue encountered during KYC review.
    - `message` string, required
    - `reviewResult` ReviewResultObject, required
      - `reviewAnswer` 'APPROVED' | 'DECLINED'
      - `reviewRejectType` 'FINAL' | 'RETRY'
      - `rejectReasons` string[]
      - `comment` string
    - `details` ReviewDetailsBusinessObject, required
      - `companyInfo` VerificationStatusObject
        - `reviewResult` ReviewResultObject
          - `reviewAnswer` 'APPROVED' | 'DECLINED'
          - `reviewRejectType` 'FINAL' | 'RETRY'
          - `rejectReasons` string[]
          - `comment` string
      - `companyDocuments` DocumentVerificationStatusObject
        - `reviewResult` ReviewResultObject
          - `reviewAnswer` 'APPROVED' | 'DECLINED'
          - `reviewRejectType` 'FINAL' | 'RETRY'
          - `rejectReasons` string[]
          - `comment` string
        - `details` object[]
          - `id` string, uuid
          - `type` string — Document type.
          - `subType` string — Document subType.
          - `reviewResult` ReviewResultObject
            - `reviewAnswer` 'APPROVED' | 'DECLINED'
            - `reviewRejectType` 'FINAL' | 'RETRY'
            - `rejectReasons` string[]
            - `comment` string
      - `questionnaire` VerificationStatusObject
        - `reviewResult` ReviewResultObject
          - `reviewAnswer` 'APPROVED' | 'DECLINED'
          - `reviewRejectType` 'FINAL' | 'RETRY'
          - `rejectReasons` string[]
          - `comment` string
      - `ultimateBeneficialOwners` object
        - `reviewResult` ReviewResultObject
          - `reviewAnswer` 'APPROVED' | 'DECLINED'
          - `reviewRejectType` 'FINAL' | 'RETRY'
          - `rejectReasons` string[]
          - `comment` string
        - `details` object[]
          - `id` string, uuid — UBO ID.
          - `status` 'INACTIVE' | 'CREATED' | 'PENDING' | 'INCOMPLETE' | 'RFI_PENDING' | 'ACTIVE' | 'REJECTED' | 'CONTACT_SUPPORT', required — Kyc Status - `INACTIVE`: No KYC submission has been made. - `CREATED`: KYC application has been submitted. - `PENDING`: Review in progress. - `RFI_PENDING`: An RFI (Request for Information) email has been sent and is pending user response. - `INCOMPLETE`: RFI or resubmission required. - `ACTIVE`: User approved and onboarded. - `REJECTED`: KYC application rejected. - `CONTACT_SUPPORT`: Unexpected issue encountered during KYC review.
          - `message` string, required
          - `reviewResult` ReviewResultObject, required
            - `reviewAnswer` 'APPROVED' | 'DECLINED'
            - `reviewRejectType` 'FINAL' | 'RETRY'
            - `rejectReasons` string[]
            - `comment` string
          - `details` ReviewDetailsIndividualObject, required
            - `personalInfo` VerificationStatusObject
              - …
            - `identity` DocumentVerificationStatusObject
              - …
            - `proofOfAddress` DocumentVerificationStatusObject
              - …
            - `questionnaire` VerificationStatusObject
              - …
  - SouthAmericaRailKycStatusObject
    - `status` 'INACTIVE' | 'CREATED' | 'PENDING' | 'INCOMPLETE' | 'RFI_PENDING' | 'ACTIVE' | 'REJECTED' | 'CONTACT_SUPPORT' — Kyc Status - `INACTIVE`: No KYC submission has been made. - `CREATED`: KYC application has been submitted. - `PENDING`: Review in progress. - `RFI_PENDING`: An RFI (Request for Information) email has been sent and is pending user response. - `INCOMPLETE`: RFI or resubmission required. - `ACTIVE`: User approved and onboarded. - `REJECTED`: KYC application rejected. - `CONTACT_SUPPORT`: Unexpected issue encountered during KYC review.
    - `warnings` unknown[]
      - unknown
    - `message` string
    - `limit` object
      - `daily` number
      - `monthly` number
      - `perTransaction` number
    - `onRamp` object
      - `brl` object
        - `pix` KycRailStatusObject
          - `status` string
          - `warnings` unknown[]
            - unknown
          - `message` string
    - `offRamp` object
      - `brl` object
        - `pix` KycRailStatusObject
          - `status` string
          - `warnings` unknown[]
            - unknown
          - `message` string
      - `mxn` object
        - `spei` KycRailStatusObject
          - `status` string
          - `warnings` unknown[]
            - unknown
          - `message` string
      - `cop` object
        - `achCop` KycRailStatusObject
          - `status` string
          - `warnings` unknown[]
            - unknown
          - `message` string
      - `ars` object
        - `transfers` KycRailStatusObject
          - `status` string
          - `warnings` unknown[]
            - unknown
          - `message` string
  - AfricaGeneralRailKycStatusObject
    - `status` 'INACTIVE' | 'CREATED' | 'PENDING' | 'INCOMPLETE' | 'RFI_PENDING' | 'ACTIVE' | 'REJECTED' | 'CONTACT_SUPPORT', required — Kyc Status - `INACTIVE`: No KYC submission has been made. - `CREATED`: KYC application has been submitted. - `PENDING`: Review in progress. - `RFI_PENDING`: An RFI (Request for Information) email has been sent and is pending user response. - `INCOMPLETE`: RFI or resubmission required. - `ACTIVE`: User approved and onboarded. - `REJECTED`: KYC application rejected. - `CONTACT_SUPPORT`: Unexpected issue encountered during KYC review.
    - `warnings` unknown[], required
      - unknown
    - `message` string, required
    - `onRamp` object, required
      - `kes` object
        - `momo` KycRailStatusObject
          - `status` string
          - `warnings` unknown[]
            - unknown
          - `message` string
      - `ghs` object
        - `momo` KycRailStatusObject
          - `status` string
          - `warnings` unknown[]
            - unknown
          - `message` string
      - `tzs` object
        - `bank` KycRailStatusObject
          - `status` string
          - `warnings` unknown[]
            - unknown
          - `message` string
      - `ugx` object
        - `bank` KycRailStatusObject
          - `status` string
          - `warnings` unknown[]
            - unknown
          - `message` string
      - `bwp` object
        - `bank` KycRailStatusObject
          - `status` string
          - `warnings` unknown[]
            - unknown
          - `message` string
      - `xaf` object
        - `bank` KycRailStatusObject
          - `status` string
          - `warnings` unknown[]
            - unknown
          - `message` string
        - `momo` KycRailStatusObject
          - `status` string
          - `warnings` unknown[]
            - unknown
          - `message` string
      - `mwk` object
        - `bank` KycRailStatusObject
          - `status` string
          - `warnings` unknown[]
            - unknown
          - `message` string
        - `momo` KycRailStatusObject
          - `status` string
          - `warnings` unknown[]
            - unknown
          - `message` string
      - `rwf` object
        - `bank` KycRailStatusObject
          - `status` string
          - `warnings` unknown[]
            - unknown
          - `message` string
      - `zmw` object
        - `bank` KycRailStatusObject
          - `status` string
          - `warnings` unknown[]
            - unknown
          - `message` string
        - `momo` KycRailStatusObject
          - `status` string
          - `warnings` unknown[]
            - unknown
          - `message` string
      - `xof` object
        - `momo` KycRailStatusObject
          - `status` string
          - `warnings` unknown[]
            - unknown
          - `message` string
    - `offRamp` object, required
      - `kes` object
        - `bank` KycRailStatusObject
          - `status` string
          - `warnings` unknown[]
            - unknown
          - `message` string
        - `momo` KycRailStatusObject
          - `status` string
          - `warnings` unknown[]
            - unknown
          - `message` string
      - `zar` object
        - `bank` KycRailStatusObject
          - `status` string
          - `warnings` unknown[]
            - unknown
          - `message` string
      - `ghs` object
        - `momo` KycRailStatusObject
          - `status` string
          - `warnings` unknown[]
            - unknown
          - `message` string
      - `tzs` object
        - `momo` KycRailStatusObject
          - `status` string
          - `warnings` unknown[]
            - unknown
          - `message` string
      - `ugx` object
        - `momo` KycRailStatusObject
          - `status` string
          - `warnings` unknown[]
            - unknown
          - `message` string
      - `bwp` object
        - `momo` KycRailStatusObject
          - `status` string
          - `warnings` unknown[]
            - unknown
          - `message` string
      - `xaf` object
        - `momo` KycRailStatusObject
          - `status` string
          - `warnings` unknown[]
            - unknown
          - `message` string
      - `mwk` object
        - `momo` KycRailStatusObject
          - `status` string
          - `warnings` unknown[]
            - unknown
          - `message` string
      - `rwf` object
        - `momo` KycRailStatusObject
          - `status` string
          - `warnings` unknown[]
            - unknown
          - `message` string
      - `zmw` object
        - `momo` KycRailStatusObject
          - `status` string
          - `warnings` unknown[]
            - unknown
          - `message` string
      - `xof` object
        - `momo` KycRailStatusObject
          - `status` string
          - `warnings` unknown[]
            - unknown
          - `message` string
  - AfricaNigeriaRailKycStatusObject
    - `status` 'INACTIVE' | 'CREATED' | 'PENDING' | 'INCOMPLETE' | 'RFI_PENDING' | 'ACTIVE' | 'REJECTED' | 'CONTACT_SUPPORT', required — Kyc Status - `INACTIVE`: No KYC submission has been made. - `CREATED`: KYC application has been submitted. - `PENDING`: Review in progress. - `RFI_PENDING`: An RFI (Request for Information) email has been sent and is pending user response. - `INCOMPLETE`: RFI or resubmission required. - `ACTIVE`: User approved and onboarded. - `REJECTED`: KYC application rejected. - `CONTACT_SUPPORT`: Unexpected issue encountered during KYC review.
    - `warnings` unknown[], required
      - unknown
    - `message` string, required
    - `onRamp` object, required
      - `ngn` object
        - `bank` KycRailStatusObject
          - `status` string
          - `warnings` unknown[]
            - unknown
          - `message` string
    - `offRamp` object, required
      - `ngn` object
        - `bank` KycRailStatusObject
          - `status` string
          - `warnings` unknown[]
            - unknown
          - `message` string
  - GlobalNetworkRailKycStatusObject
    - `status` 'INACTIVE' | 'CREATED' | 'PENDING' | 'INCOMPLETE' | 'RFI_PENDING' | 'ACTIVE' | 'REJECTED' | 'CONTACT_SUPPORT', required — Kyc Status - `INACTIVE`: No KYC submission has been made. - `CREATED`: KYC application has been submitted. - `PENDING`: Review in progress. - `RFI_PENDING`: An RFI (Request for Information) email has been sent and is pending user response. - `INCOMPLETE`: RFI or resubmission required. - `ACTIVE`: User approved and onboarded. - `REJECTED`: KYC application rejected. - `CONTACT_SUPPORT`: Unexpected issue encountered during KYC review.
    - `warnings` unknown[], required
      - unknown
    - `message` string, required
    - `onRamp` object, required
    - `offRamp` object, required
      - `brl` object
        - `pix` KycRailStatusObject
          - `status` string
          - `warnings` unknown[]
            - unknown
          - `message` string
      - `hkd` object
        - `wire` KycRailStatusObject
          - `status` string
          - `warnings` unknown[]
            - unknown
          - `message` string
      - `mxn` object
        - `spei` KycRailStatusObject
          - `status` string
          - `warnings` unknown[]
            - unknown
          - `message` string
      - `ngn` object
        - `bank` KycRailStatusObject
          - `status` string
          - `warnings` unknown[]
            - unknown
          - `message` string

## Other responses

- `401` — Unauthorized
- `404` — Resource not found
- `500` — Internal Server Error

---

[API](https://skmtc.net/hifi/apis/hifi-api.md) · [All operations](https://skmtc.net/hifi/apis/hifi-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/hifi/hifi-api/revisions/15a39c342fd1/schema)
