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

# Delete User

> Delete a card user

Deletes a card user. All cards belonging to the user must be terminated before deletion. Users whose KYC was denied or is still pending can also be deleted.

<ParamField header="Authorization" type="string" required>
  Bearer token. Example: `Bearer sk_staging_your_api_key`
</ParamField>

<ParamField path="serviceId" type="string" required>
  The user's service ID.
</ParamField>

<RequestExample>
  ```bash cURL theme={null}
  curl -X DELETE https://services-staging.getplu.com/api/v1/partner/card/users/acme-user-abc123 \
    -H "Authorization: Bearer sk_staging_your_api_key"
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch(
    'https://services-staging.getplu.com/api/v1/partner/card/users/acme-user-abc123',
    {
      method: 'DELETE',
      headers: {
        'Authorization': 'Bearer sk_staging_your_api_key',
      },
    }
  );
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "status": "success",
    "message": "success",
    "data": {
      "deleted": true
    }
  }
  ```

  ```json 409 theme={null}
  {
    "status": "error",
    "message": "ACTIVE_CARDS_EXIST",
    "data": {
      "error": "User has active cards that must be terminated first",
      "activeCards": ["acme-card-abc123", "acme-card-def456"]
    }
  }
  ```

  ```json 404 theme={null}
  {
    "status": "error",
    "message": "USER_NOT_FOUND",
    "data": {
      "error": "User not found"
    }
  }
  ```
</ResponseExample>

## Response Fields

| Field     | Type    | Description                                 |
| --------- | ------- | ------------------------------------------- |
| `deleted` | boolean | `true` if the user was successfully deleted |

## Error Codes

| Code                 | Status | Description                                                                                                   |
| -------------------- | ------ | ------------------------------------------------------------------------------------------------------------- |
| `USER_NOT_FOUND`     | 404    | User does not exist or belongs to another partner                                                             |
| `ACTIVE_CARDS_EXIST` | 409    | User has unterminated cards. Response includes `activeCards` array of card IDs that must be terminated first. |

## Fee Waiver on Re-Creation

If you delete a user and later re-create them with the same email, the KYC fee behavior depends on whether the original user was fully approved:

| Original user status                                    | Re-creation fee                 |
| ------------------------------------------------------- | ------------------------------- |
| `approved`                                              | Charged normally                |
| `pending`, `pending_kyc`, `denied`, or any other status | **Waived** — no KYC fee charged |

The fee waiver is scoped to your partner account. If a different partner creates a user with the same email, they are always charged the full KYC fee.

<Note>
  When re-creating a deleted user, the new request body (name, contact details, etc.) is used — the old user data is not preserved.
</Note>
