---
title: "Add KYC1 Request – Creates a KYC1 gate request for a user."
method: POST
path: "/programs/{programCode}/users/{userIdentifier}/kycGates/kyc1"
tags: ["Kyc"]
---

# Add KYC1 Request – Creates a KYC1 gate request for a user.

`POST /programs/{programCode}/users/{userIdentifier}/kycGates/kyc1`

Creates a KYC1 gate request for a user, submitting SSN suffix for verification. Returns pending KYC gate and status.

## Path parameters

- `userIdentifier` string, required
- `programCode` string, required

## Headers

- `X-GD-RequestId` string, required

## Request body

- CreateKyc1Request — Represents a request to create a KYC1 gate for a user. Used to submit SSN suffix for KYC1 verification.
  - `ssnSuffix` string, nullable — The last four digits of the user's SSN.
  - `encryptedSsnSuffix` EncryptedData — Represents a container for encrypted data used in secure data transfer operations. Contains the encrypted payload and associated cryptographic metadata, including encryption version, ephemeral public key, and public key hash. Used to securely transmit sensitive information such as user data, ensuring confidentiality and integrity during transport.
    - `version` string, nullable — The version of the encryption algorithm used to encrypt the data (e.g., "v1", "v2").
    - `ephemeralPublicKey` string, nullable — The ephemeral public key used in the encryption process, typically for key exchange or session establishment.
    - `publicKeyHash` string, nullable — The hash of the public key used to verify the integrity and authenticity of the encryption key.
    - `data` string, nullable — The encrypted data payload, typically base64-encoded, containing the sensitive information.

## Response `201`

Created

- CreateKyc1Response — Represents the response returned after creating a KYC1 gate request. Contains the KYC1 gate details, including pending gate, status, and any required properties for further verification. Used to communicate the next required verification step and current KYC progress for the user.
  - `kycGate` CreateKyc1 — Represents the KYC1 gate details returned after a KYC1 request. Contains the pending KYC gate, its status, and any required properties for further verification. Used to communicate the next required verification step and current KYC progress for the user.
    - `pendingKycGate` string, nullable — The pending KYC gate value indicating the next verification step required for the user.
    - `kycGateStatus` string, nullable — The status of the current KYC gate (e.g., "Pending", "Passed", "Failed").
    - `requiredProperties` string[], nullable — The list of required properties for the KYC1 gate, such as additional fields or documents needed.
  - `responseDetails` ResponseDetail[], nullable — Required: A list of response details providing status codes, descriptions, and additional information about the result of the operation.
    - `code` integer — The primary status or error code for the response (e.g., 200 for success, 400 for validation error).
    - `subCode` integer, nullable — An optional subcode providing more granular detail about the response or error.
    - `description` string, nullable — A human-readable description of the response, error, or status.
    - `url` string, nullable — A URL linking to documentation or a web page with more information about the response code.

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `500` — Internal Server Error
- `503` — Service Unavailable

---

[API](https://skmtc.net/greendot/apis/baas-apis.md) · [All operations](https://skmtc.net/greendot/apis/baas-apis/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/greendot/baas-apis/revisions/666553766b78/schema)
