/api/drd/list/remove
GETRemoves coins from the caller's private white/black lists in the DRD. AN-authenticated, owner-only. Removing a coin that is not listed is not an error.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
sn |
integer | No | Serial number of the coin that authenticates the request. The coin is loaded from the wallet's Bank or Fracked folder. Omit to use the QMail identity coin instead. |
denomination |
integer | No | Optional safety check when sn is given: must match the denomination of the coin found for that serial number (-8 to 6). |
wallet_path |
string | No | Wallet holding the auth coin. Defaults to the Default wallet. Only used together with sn. |
entries |
string | No* | Comma-separated entries, each denomination:sn. Max 200 per request. *Either entries or the single-entry parameters below. |
listed_denomination |
integer | No* | Single-entry form: denomination of the coin to remove. |
listed_sn |
integer | No* | Single-entry form: serial number of the coin to remove. |
Responses
Success Response (200)
The fan-out fields are shared by every DRD endpoint: pass_count / fail_count / no_response_count total 25, quorum is true when 13 or more RAIDA servers accepted, and raida_results holds one entry per server (25 entries; truncated in the examples below). Status 250 is success; failed entries include an error string.
{
"command": "drd-list-remove",
"success": true,
"entries_sent": 1,
"pass_count": 25,
"fail_count": 0,
"no_response_count": 0,
"quorum": true,
"raida_results": [
{ "raida": 0, "success": true, "status": 250 },
{ "raida": 1, "success": true, "status": 250 }
]
}
Error Responses
400 Bad Request
Malformed entry (expected denomination:sn).
{
"error": true,
"message": "Invalid entries item: expected den:sn",
"code": 400
}
404 Not Found
The auth coin was not found in the wallet.
{
"error": true,
"message": "Auth coin not found in wallet (Bank/Fracked)",
"code": 404
}
502 Bad Gateway
No RAIDA server accepted the request. The body names the dominant failure status and includes the full per-server detail.
{
"error": true,
"message": "No RAIDA accepted the list removal",
"code": 502,
"raida_status_code": 200,
"detail": "Invalid AN",
"pass_count": 0,
"fail_count": 25,
"no_response_count": 0,
"quorum": false,
"raida_results": [
{ "raida": 0, "success": false, "status": 200, "error": "Invalid AN" }
]
}
Examples
cURL Example
curl -X GET "http://localhost:8080/api/drd/list/remove?sn=9840&entries=0:11111"
JavaScript Example
fetch(`http://localhost:8080/api/drd/list/remove?sn=9840&entries=0:11111`)
.then(r => r.json())
.then(data => console.log(data.success ? 'Removed' : `Error: ${data.message}`));
Python Example
import requests
url = 'http://localhost:8080/api/drd/list/remove'
data = requests.get(url, params={'sn': 9840, 'entries': '0:11111'}).json()
print('Removed' if data.get('success') else f"Error: {data.get('message')}")
Notes
- Requests fan out to all 25 RAIDA servers in parallel; the client owns consistency. On partial success (
pass_count< 25), re-issue the same request to bring stragglers up to date. - This operation is AN-authenticated: the auth coin's per-RAIDA Authenticity Numbers are sent with the request, and each server verifies them against its coin database (status 200 = wrong AN, 40 = unknown coin).
- Without an
snparameter the QMail identity coin from the Mail wallet is used, so QMail users manage their directory entry with their mail identity. - Removing an entry that does not exist succeeds — the call is idempotent.
- Note the entry format here is
denomination:sn(no type) — the entry is removed whichever list it was on.
Related Endpoints
- /api/drd/list/set - Add coins to your white/black lists
- /api/drd/list/get - Read your white/black lists