---
title: "Search Account"
method: POST
path: "/programs/{programCode}/accounts/search"
tags: ["Account"]
---

# Search Account

`POST /programs/{programCode}/accounts/search`

Searches for accounts based on encrypted search criteria. Requires a valid program code and search details in the request body. Returns a list of accounts matching the search parameters.

## Path parameters

- `programCode` string, required

## Headers

- `X-GD-RequestId` string, required

## Request body

- 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 `200`

OK

- SearchAccountResponse — Represents the response containing search results for accounts.
  - `accounts` AccountSearchResult[], nullable — The list of accounts matching the search criteria.
    - `accountIdentifier` string, nullable — The unique identifier for the account.
    - `productKey` integer — The key identifying the product associated with the account.
    - `programCode` string, nullable — The program code under which the account was issued.
    - `partnerKey` integer — The key identifying the partner associated with the account.
    - `accountStatusKey` integer — The key representing the current status of the account.
    - `firstName` string, nullable — The first name of the primary account holder.
    - `lastName` string, nullable — The last name of the primary account holder.
    - `userId` string, uuid — The unique identifier for the user associated with the account.
    - `accountHolderIdentifier` string, uuid — The unique identifier for the account holder.
    - `partnerAccountId` string, nullable — The partner-specific account identifier, if the account is linked to a partner system.
    - `bin` string, nullable — The Bank Identification Number (BIN) associated with the account or payment instrument.
  - `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)
