---
title: "Delete a Credential"
description: "Remove a credential from a wallet. The operation supports two modes:"
stack: "Community Stack (open source) — version 0.21.0"
stack_version: "0.21.0"
stack_comparison: https://docs.walt.id/community-vs-enterprise.md
canonical_url: https://docs.walt.id/community-stack/wallet/credential-management/delete-credential
generated: 2026-07-20
---
# Delete a Credential

Remove a credential from a wallet. The operation supports two modes:

- **Soft-delete** (default) — The credential is marked as deleted and hidden from the wallet view but remains in the database and can be restored.
- **Permanent delete** — The credential is irreversibly removed from the database.

To delete a credential, you first need its `id`. See [List Credentials](https://docs.walt.id/community-stack/wallet/credential-management/list-credentials.md) for how to retrieve it.

## Delete a Credential

**Option: CURL**

**Endpoint:** `DELETE /wallet-api/wallet/{walletId}/credentials/{credentialId}` | [API Reference](https://wallet.demo.walt.id/swagger/index.html#/WalletCredentials/delete_wallet_api_wallet__wallet__credentials__credentialId_)

##### Example Request

```bash
curl -X 'DELETE' \
  'http://0.0.0.0:7001/wallet-api/wallet/{walletId}/credentials/{credentialId}' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer {token}'
```

**Path Parameters**

- `walletId`: _String_ - The ID of the wallet containing the credential. See [Accounts & Wallets](https://docs.walt.id/community-stack/wallet/accounts-wallets.md#retrieve-wallet-id) for how to retrieve it.
- `credentialId`: _String_ - The `id` of the credential to delete (e.g. `urn:uuid:c2f7e988-a4cb-48c2-bbf6-ed97f6010abe`). See [List Credentials](https://docs.walt.id/community-stack/wallet/credential-management/list-credentials.md) for how to retrieve it.

**Query Parameters**

- `permanent`: _Boolean (optional)_ - Set to `true` to permanently remove the credential. If omitted or `false`, a soft-delete is performed.

**Header Parameters**

- `Authorization`: _String_ - Bearer token obtained from the [login endpoint](https://docs.walt.id/community-stack/wallet/authentication/email-password-auth.md#login). Format: `Bearer {token}`.

---

##### Example Response

On success, the API returns `202 Accepted` with no response body.

| Status | Description |
|--------|-------------|
| `202`  | Credential deleted successfully |
| `400`  | Credential could not be deleted (e.g. not found) |

**Permanent deletion example:**

```bash
curl -X 'DELETE' \
  'http://0.0.0.0:7001/wallet-api/wallet/{walletId}/credentials/{credentialId}?permanent=true' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer {token}'
```

**Note:**

Permanent deletion cannot be undone. Use soft-delete when you want to keep the option to restore the credential.
