warden

API reference

Erase an entitlement

Remove a member who deleted their account, with the credential and every identity, by your own id.

DELETE/api/v1/integration/entitlements/{external_id}

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_run1 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"

Response, 200

{
  "external_id": "member-1001",
  "found": true,
  "erased": true,
  "dry_run": false,
  "credential": true,
  "identities": 2
}
FieldType
foundbooleanWhether this key's provider held the record.
erasedbooleanWhether this request erased it. False on a dry run and when nothing was found.
dry_runboolean
credentialbooleanWhether it had a public credential.
identitiesintegerHow many identities were on it, whoever added them.

Errors

StatusCodeWhen
400invalid_requestThe id is empty or longer than 200 characters, or dry_run is a value Warden does not read.
401invalid_key
429rate_limited