> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fyatu.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Cardholder

> Get cardholder details including KYC status, personal information, and associated cards. GET /cardholders/{id}.

## Overview

Retrieve detailed information about a specific cardholder, including personal details, address, document information, and KYC status.

## Path Parameters

| Parameter | Type   | Description                  |
| --------- | ------ | ---------------------------- |
| `id`      | string | Unique cardholder identifier |

## Response Fields

| Field         | Type    | Description              |
| ------------- | ------- | ------------------------ |
| `id`          | string  | Cardholder ID            |
| `externalId`  | string  | Your system's identifier |
| `firstName`   | string  | First name               |
| `lastName`    | string  | Last name                |
| `email`       | string  | Email address            |
| `phone`       | string  | Phone number             |
| `dateOfBirth` | string  | Date of birth            |
| `gender`      | string  | Gender                   |
| `address`     | object  | Address details          |
| `document`    | object  | Document details         |
| `kyc`         | object  | KYC status and documents |
| `status`      | string  | Cardholder status        |
| `cardsCount`  | integer | Number of active cards   |
| `createdAt`   | string  | Creation timestamp       |
| `updatedAt`   | string  | Last update timestamp    |

## Example Usage

<CodeGroup>
  ```php PHP theme={null}
  <?php
  $cardholderId = 'ch_a1b2c3d4e5f6';

  $response = file_get_contents(
      "https://api.fyatu.com/api/v3/cardholders/{$cardholderId}",
      false,
      stream_context_create([
          'http' => [
              'method' => 'GET',
              'header' => 'Authorization: Bearer ' . $accessToken
          ]
      ])
  );

  $result = json_decode($response, true);
  $ch = $result['data'];

  echo "Name: {$ch['firstName']} {$ch['lastName']}\n";
  echo "Email: {$ch['email']}\n";
  echo "KYC Status: {$ch['kyc']['status']}\n";
  echo "Cards: {$ch['cardsCount']}\n";
  ```

  ```javascript Node.js theme={null}
  const cardholderId = 'ch_a1b2c3d4e5f6';

  const response = await fetch(
    `https://api.fyatu.com/api/v3/cardholders/${cardholderId}`,
    {
      headers: {
        'Authorization': `Bearer ${accessToken}`
      }
    }
  );

  const result = await response.json();
  const ch = result.data;

  console.log(`Name: ${ch.firstName} ${ch.lastName}`);
  console.log(`Email: ${ch.email}`);
  console.log(`KYC Status: ${ch.kyc.status}`);
  console.log(`Cards: ${ch.cardsCount}`);
  ```
</CodeGroup>

## Example Response

```json theme={null}
{
  "success": true,
  "status": 200,
  "message": "Cardholder retrieved successfully",
  "data": {
    "id": "ch_a1b2c3d4e5f6",
    "externalId": "EXT-0001",
    "firstName": "Alice",
    "lastName": "Example",
    "email": "alice@example.com",
    "phone": "+15550001234",
    "dateOfBirth": "1990-01-01",
    "gender": "FEMALE",
    "address": {
      "line1": "123 Example Street",
      "city": "Springfield",
      "state": "Illinois",
      "country": "US",
      "zipCode": "62701"
    },
    "document": {
      "type": "PASSPORT",
      "number": "XX0000000"
    },
    "kyc": {
      "status": "VERIFIED",
      "idFrontUrl": "https://cdn.fyatu.com/example/id-front.jpg",
      "idBackUrl": "https://cdn.fyatu.com/example/id-back.jpg",
      "selfieUrl": "https://cdn.fyatu.com/example/selfie.jpg"
    },
    "status": "ACTIVE",
    "cardsCount": 1,
    "createdAt": "2026-01-10 14:30:00",
    "updatedAt": "2026-01-15 09:45:00"
  },
  "meta": {
    "requestId": "req_d4e5f6g7h8i9",
    "timestamp": "2026-01-17T10:00:00+00:00"
  }
}
```

## KYC Status Values

| Status        | Description                             |
| ------------- | --------------------------------------- |
| `UNSUBMITTED` | No KYC documents have been submitted    |
| `PENDING`     | Documents submitted, awaiting review    |
| `VERIFIED`    | KYC verification completed successfully |
| `REJECTED`    | KYC verification failed                 |

<Tip>
  The `cardsCount` field shows the number of active (non-terminated) cards associated with this cardholder.
</Tip>


## OpenAPI

````yaml v3/openapi.json GET /cardholders/{id}
openapi: 3.1.0
info:
  title: FYATU API v3
  description: >-
    FYATU API v3 with JWT authentication for Collections, Payouts, and Card
    Issuing.
  version: 3.0.0
  contact:
    name: FYATU Support
    url: https://fyatu.com
    email: support@fyatu.com
servers:
  - url: https://api.fyatu.com/api/v3
    description: Production
security: []
tags:
  - name: Authentication
    description: JWT token management endpoints
  - name: Account
    description: Business account, wallet, and address management
  - name: Collections
    description: Accept payments from customers via checkout sessions
  - name: Refunds
    description: Issue refunds for completed collections
  - name: Payouts
    description: Send money to Fyatu account holders
  - name: Cardholders
    description: Cardholder management for card issuing programs
  - name: Cards
    description: Issue, fund, freeze, and manage virtual cards
  - name: Webhooks
    description: Webhook configuration and management
paths:
  /cardholders/{id}:
    get:
      tags:
        - Cardholders
      summary: Get Cardholder
      description: >-
        Retrieve detailed information about a specific cardholder, including
        personal details, address, document information, and KYC status.
      operationId: getCardholder
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
          description: Unique cardholder identifier
      responses:
        '200':
          description: Cardholder retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CardholderDetailResponse'
              example:
                success: true
                status: 200
                message: Cardholder retrieved successfully
                data:
                  id: ch_a1b2c3d4e5f6
                  externalId: EXT-0001
                  firstName: Alice
                  lastName: Example
                  email: alice@example.com
                  phone: '+15550001234'
                  dateOfBirth: '1990-01-01'
                  gender: FEMALE
                  address:
                    line1: 123 Example Street
                    city: Springfield
                    state: Illinois
                    country: US
                    zipCode: '62701'
                  document:
                    type: PASSPORT
                    number: XX0000000
                  kyc:
                    status: ACCEPTED
                    idFrontUrl: null
                    idBackUrl: null
                    selfieUrl: null
                  metadata: null
                  status: ACTIVE
                  cardsCount: 1
                  createdAt: '2026-01-10T14:30:00Z'
                  updatedAt: '2026-01-15T09:45:00Z'
                meta:
                  requestId: req_d4e5f6g7h8i9
                  timestamp: '2026-01-17T10:00:00Z'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - BearerAuth: []
components:
  schemas:
    CardholderDetailResponse:
      type: object
      properties:
        success:
          type: boolean
          example: true
        status:
          type: integer
          example: 200
        message:
          type: string
          example: Cardholder retrieved successfully
        data:
          $ref: '#/components/schemas/CardholderDetail'
        meta:
          $ref: '#/components/schemas/Meta'
    CardholderDetail:
      type: object
      properties:
        id:
          type: string
          description: Unique cardholder identifier
          example: ch_1a2b3c4d5e6f7890abcdef1234567890
        externalId:
          type: string
          nullable: true
          description: Your system's identifier
        firstName:
          type: string
          description: First name
        lastName:
          type: string
          description: Last name
        email:
          type: string
          description: Email address
        phone:
          type: string
          description: Phone number
        dateOfBirth:
          type: string
          format: date
          description: Date of birth
        gender:
          type: string
          enum:
            - MALE
            - FEMALE
            - OTHER
          nullable: true
        address:
          type: object
          properties:
            line1:
              type: string
              nullable: true
            city:
              type: string
              nullable: true
            state:
              type: string
              nullable: true
            country:
              type: string
            zipCode:
              type: string
              nullable: true
        document:
          type: object
          properties:
            type:
              type: string
              enum:
                - PASSPORT
                - NATIONAL_ID
                - DRIVER_LICENSE
              nullable: true
            number:
              type: string
              nullable: true
        kyc:
          type: object
          properties:
            status:
              type: string
              enum:
                - UNSUBMITTED
                - SUBMITTED
                - ACCEPTED
                - REJECTED
            idFrontUrl:
              type: string
              nullable: true
            idBackUrl:
              type: string
              nullable: true
            selfieUrl:
              type: string
              nullable: true
        status:
          type: string
          enum:
            - ACTIVE
            - INACTIVE
            - SUSPENDED
        cardsCount:
          type: integer
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
    Meta:
      type: object
      properties:
        requestId:
          type: string
          description: Unique request ID for tracking
          example: req_abc123def456
        timestamp:
          type: string
          format: date-time
          description: ISO 8601 timestamp of the response
    ErrorResponse:
      type: object
      properties:
        success:
          type: boolean
          example: false
        status:
          type: integer
          example: 401
        message:
          type: string
          example: Invalid credentials
        error:
          $ref: '#/components/schemas/Error'
        meta:
          $ref: '#/components/schemas/Meta'
    Error:
      type: object
      properties:
        code:
          type: string
          description: Error code for programmatic handling
          example: AUTH_INVALID_CREDENTIALS
        details:
          type: array
          items:
            $ref: '#/components/schemas/ValidationError'
          description: Validation error details (for VALIDATION_ERROR)
    ValidationError:
      type: object
      properties:
        field:
          type: string
          description: Field that failed validation
          example: appId
        message:
          type: string
          description: Validation error message
          example: AppId is required
  responses:
    Unauthorized:
      description: Authentication required or token invalid
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            success: false
            status: 401
            message: Unable to identify business
            error:
              code: AUTH_TOKEN_INVALID
            meta:
              requestId: req_abc123
              timestamp: '2026-01-05T10:30:00+00:00'
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            success: false
            status: 404
            message: Wallet not found
            error:
              code: RESOURCE_NOT_FOUND
            meta:
              requestId: req_abc123
              timestamp: '2026-01-05T10:30:00+00:00'
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: JWT access token obtained from /auth/token

````