---
title: "Create New Payee"
method: POST
path: "/programs/{programCode}/GuestVerification"
tags: ["GuestVerification"]
---

# Create New Payee

`POST /programs/{programCode}/GuestVerification`

Creates a new payee (guest verification) using encrypted data.

## Path parameters

- `programCode` string, required

## Headers

- `X-GD-RequestId` string, required

## Request body

- CreateGuestVerificationEncryptedRequest — Represents a guest verification (payee) creation request with encrypted user data.
  - `user` EncryptedUser — Container for encrypted user information, including the encrypted user data payload and a list of terms and conditions acceptances. Used for secure transmission and processing of sensitive user data.
    - `encryptedUserData` 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.
  - `transferIdentifier` string, nullable — Gets or sets the unique identifier for the transfer associated with the guest verification.
  - `device` DeviceInfo — Represents device-specific information used when initiating a transfer or other sensitive operation. Contains details about the device and network, such as device ID, make, model, operating system, and IP addresses. Used for device identification, risk assessment, auditing, and fraud prevention.
    - `deviceId` string, nullable — The unique identifier assigned to the device (e.g., device UUID or hardware ID). Used to uniquely identify the device making the request.
    - `deviceMake` string, nullable — The make or manufacturer of the device (e.g., "Apple", "Samsung", "Dell").
    - `deviceVersion` string, nullable — The model or version of the device (e.g., "iPhone 14", "Galaxy S22", "Latitude 7420").
    - `deviceOS` string, nullable — The operating system running on the device (e.g., "iOS", "Android", "Windows").
    - `deviceOSVersion` string, nullable — The version of the operating system running on the device (e.g., "16.4", "13", "11 Pro").
    - `ipAddress` string, nullable — The IP address of the device as detected by the application or device itself. Used for geolocation, risk analysis, and fraud prevention.
    - `customerIP` string, nullable — The customer’s public IP address as seen by the server or network edge. May be used for additional risk analysis or logging.

## Response `200`

OK

- CreateGuestVerificationResponse — Represents the response returned after creating a guest verification (payee).
  - `guestVerificationStatus` GuestVerificationStatus — Represents the status of a guest verification process.
    - `ofacStatus` string, nullable — Gets or sets the OFAC screening status for the guest. Indicates whether the guest passed or failed the OFAC check.
    - `verificationStatus` string, nullable — Gets or sets the overall verification status for the guest. Indicates the result of the guest verification process.
  - `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/versions/666553766b78/schema)
