> ## 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.

# Delete Cardholder

> Delete a cardholder and terminate all associated cards. This action is permanent. DELETE /cardholders/{id}.

## Overview

Delete a cardholder from your application. Note that cardholders with active (non-terminated) cards cannot be deleted. You must terminate all associated cards first.

## Path Parameters

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

## Example Usage

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

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

  $result = json_decode($response, true);

  if ($result['success']) {
      echo "Cardholder deleted successfully\n";
  }
  ```

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

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

  const result = await response.json();

  if (result.success) {
    console.log('Cardholder deleted successfully');
  }
  ```
</CodeGroup>

## Example Response

```json theme={null}
{
  "success": true,
  "status": 200,
  "message": "Cardholder deleted successfully",
  "data": {
    "id": "CH1a2b3c4d5e6f",
    "deleted": true
  },
  "meta": {
    "requestId": "req_delete123abc",
    "timestamp": "2026-01-08T16:00:00+00:00"
  }
}
```

## Error Response - Active Cards

If the cardholder has active cards, you'll receive a 409 Conflict error:

```json theme={null}
{
  "success": false,
  "status": 409,
  "message": "Cannot delete cardholder with active cards. Please terminate all cards first.",
  "error": {
    "code": "CARDHOLDER_HAS_ACTIVE_CARDS"
  },
  "meta": {
    "requestId": "req_delete123abc",
    "timestamp": "2026-01-08T16:00:00+00:00"
  }
}
```

## Deletion Requirements

Before deleting a cardholder, ensure:

1. **All cards are terminated** - The cardholder must have no active cards
2. **Outstanding transactions are settled** - Ensure all pending transactions are completed

<Warning>
  This action is irreversible. Once a cardholder is deleted, all associated data is permanently removed.
</Warning>

<Tip>
  Instead of deleting a cardholder, consider setting their status to `INACTIVE` or `SUSPENDED` if you may need to reference them later.
</Tip>


## OpenAPI

````yaml v3/openapi.json DELETE /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}:
    delete:
      tags:
        - Cardholders
      summary: Delete Cardholder
      description: >-
        Delete a cardholder. Note: Cardholders with active (non-terminated)
        cards cannot be deleted. You must terminate all associated cards first.
      operationId: deleteCardholder
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
          description: Unique cardholder identifier
      responses:
        '200':
          description: Cardholder deleted successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                  status:
                    type: integer
                    example: 200
                  message:
                    type: string
                    example: Cardholder deleted successfully
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        example: ch_1a2b3c4d5e6f7890abcdef1234567890
                      deleted:
                        type: boolean
                        example: true
                      cardsDeleted:
                        type: integer
                        description: Number of cards deleted with the cardholder
                        example: 2
                      kycDocumentsDeleted:
                        type: boolean
                        description: Whether KYC documents were also deleted
                        example: true
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          description: Conflict - cardholder has active cards
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                success: false
                status: 409
                message: >-
                  Cannot delete cardholder with active cards. Please terminate
                  all cards first.
                error:
                  code: CARDHOLDER_HAS_ACTIVE_CARDS
      security:
        - BearerAuth: []
components:
  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'
  schemas:
    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)
    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
    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
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: JWT access token obtained from /auth/token

````