Erases one record your key's provider holds: the entitlement, the credential with the holder's name and license id, and every identity on it. That includes identities the member added through an enrollment invitation and any an admin typed in. Use it when a member deletes their account with you.
The credential's public address keeps answering, and says only that the credential is no longer
published. It names the issuer and nothing about the holder. If you send the same external_id
again later, it is a new record. A credential on it gets a new public_id, and the old address
still says the credential is no longer published.
Erase is idempotent. A record that is already gone, or that this key's provider never wrote,
answers 200 with "found": false, so a retry needs no state on your side. Encode the id for a URL
if it has characters that need it.
What stays is your organization's own private record of work already done in Warden: an investigation keeps the snapshot it read, and an enquiry keeps the customer it was written about. Only your organization's members can read those.
Query
| Parameter | |
|---|---|
dry_run | 1 to say what would be erased and erase nothing. true is read the same way. 0 or false is a real request, and any other value is refused before anything is erased. |
Request
curl -sS -X DELETE "https://3dwarden.com/api/v1/integration/entitlements/member-1001" \
-H "Authorization: Bearer $WARDEN_KEY"const res = await fetch(`https://3dwarden.com/api/v1/integration/entitlements/${encodeURIComponent(externalId)}`, {
method: 'DELETE',
headers: { Authorization: `Bearer ${process.env.WARDEN_KEY}` },
})
if (!res.ok) throw new Error(`${res.status} ${(await res.json()).code}`)
const { found, erased } = await res.json()import os, requests
from urllib.parse import quote
res = requests.delete(
f"https://3dwarden.com/api/v1/integration/entitlements/{quote(external_id, safe='')}",
headers={"Authorization": f"Bearer {os.environ['WARDEN_KEY']}"},
timeout=30,
)
res.raise_for_status()Response, 200
{
"external_id": "member-1001",
"found": true,
"erased": true,
"dry_run": false,
"credential": true,
"identities": 2
}| Field | Type | |
|---|---|---|
found | boolean | Whether this key's provider held the record. |
erased | boolean | Whether this request erased it. False on a dry run and when nothing was found. |
dry_run | boolean | |
credential | boolean | Whether it had a public credential. |
identities | integer | How many identities were on it, whoever added them. |
Errors
| Status | Code | When |
|---|---|---|
| 400 | invalid_request | The id is empty or longer than 200 characters, or dry_run is a value Warden does not read. |
| 401 | invalid_key | |
| 429 | rate_limited |