Delete anchor
Permanently removes the anchor record. If anchor forwarding is configured, the deletion may be validated or proxied through the assigned bridge before being committed.
The change history remains accessible after deletion — use the record's LUID to query it. Previous record versions can be retrieved for auditing.
A POST alternative is available for clients that cannot send request bodies with DELETE requests.
Broadcasts the anchor-dropped signal. Use
effects to subscribe.
Usage Examples
curl -X DELETE "http://localhost:3000/v2/anchors/<HANDLE>" \ -H "x-ledger: <YOUR LEDGER HANDLE>" \ -H "Content-Type: application/json" \ -d '{ "luid": "$anc.-01xK1rTtU2dS4wX3", "hash": "3c2e0294825232133d56817507de97d211eb09d794cf5732a417c50724aee235", "data": { "parent": "dee7cd9ae3aff0395882aee8b26469fb0e43d8e34e3892ed086026eb6ee866e2" }, "meta": { "proofs": [ { "method": "ed25519-v2", "digest": "d8b07654c5e754c10004d52c552999722e5409f03df10e8841ddd0f9d84b7d18", "public": "RyXTVL6wSgoBMSZRmTnnKBc82dQGLn5y4Nlp8KRwMLA=", "result": "xKqm9Ko0Z5W1EZ+cNJExQ1ZDBj/1E1vvZm6+VDRMxqHrVoB4cgStIDw8xzrpanNOT5ZrsIpTvhimuFCvC8PpAQ==", "custom": { "moment": "2025-04-05T14:30:50.000Z", "status": "dropped" } } ] } }'""{
"hash": "b7eb7ccf5ffc126951e13e29a8dcfdaf95db859715d4edfc2d16f59a79d4cd58",
"data": {
"reason": "auth.unauthorized",
"detail": "Invalid token."
},
"meta": {
"proofs": [
{
"signer": "system",
"method": "ed25519-v2",
"digest": "3acece870c4118bfe4223118e4d2f3cfd5b8947a7093785b66d49aa57fa2890a",
"public": "bctQzN7mjMUNBIx4aSC8WYn03GJWoJjL/KrDb38oU5c=",
"result": "gnK63DqqWDY/UXvnZHixDKPKS6tfeGHgdARylnPiJLwQGyYxuD97TYbSg2wrzsf/bDrHwQYZaf8Gu5ryYP0UAA==",
"custom": {
"moment": "2025-04-05T14:30:00.000Z"
}
}
]
}
}{
"hash": "9ec02726b50650add8acfd124c6defeb978a9ac252a5de888f9493ddc701e927",
"data": {
"reason": "auth.forbidden",
"detail": "Request is not authorized"
},
"meta": {
"proofs": [
{
"signer": "system",
"method": "ed25519-v2",
"digest": "4f8cbdc38d73348de0c31805c783c84a0fecc6be736d7e187004ba68cd00e675",
"public": "bctQzN7mjMUNBIx4aSC8WYn03GJWoJjL/KrDb38oU5c=",
"result": "P3hRnveehtuobb4AIO56XBmiduvmYJbpdmOHltG/IifBEH7QSWdv/0pqled4SO9x1Ne3oXuWxJy40DzMvx1MBA==",
"custom": {
"moment": "2025-04-05T14:30:00.000Z"
}
}
]
}
}{
"hash": "d6c59a6df7165fa4a75159799ca5f5e26e544cbb8769eced3d35d8021f6f7935",
"data": {
"reason": "record.not-found",
"detail": "Signer not found"
},
"meta": {
"proofs": [
{
"signer": "system",
"method": "ed25519-v2",
"digest": "78cf86f34aefcf9da6ed4167a38aac0a2739f68f7bafb1d3e033c01ed1b6cdf1",
"public": "bctQzN7mjMUNBIx4aSC8WYn03GJWoJjL/KrDb38oU5c=",
"result": "9Ledk+/iAAtj+uLjGe2afq4kID7n8UQD6UpRpLBCujxFjxddq0uZ2tnYRTAXmYdHDkbF0uXqtNM9qO3xhEtpAA==",
"custom": {
"moment": "2025-04-05T14:30:00.000Z"
}
}
]
}
}{
"hash": "1c084e8dcfb9bb84bc8ea96e9e137b149a34b2bbd85f8e60b4263f5aba980476",
"data": {
"custom": {
"errors": [
{
"instancePath": "/handle",
"schemaPath": "#/properties/handle/pattern",
"keyword": "pattern",
"params": {
"pattern": "^[a-zA-Z0-9_\\-+.]+$"
},
"message": "must match pattern \"^[a-zA-Z0-9_\\-+.]+$\""
}
]
},
"reason": "record.schema-invalid",
"detail": "Schema validator error: data.handle must match pattern \"^[a-zA-Z0-9_\\-+.]+$\""
},
"meta": {
"proofs": [
{
"signer": "system",
"method": "ed25519-v2",
"digest": "7a5febb431719b6f43d7e88e79211308e16ac651b71b339276373fdb4e7c3760",
"public": "bctQzN7mjMUNBIx4aSC8WYn03GJWoJjL/KrDb38oU5c=",
"result": "2/1zYw4AaIzsIHfOIC6V/CHw6owbjYHt48cwmFOig0ibeT0IbojLmj1RCRi8W00ka0udPa9WsacWDd7ObMY8CA==",
"custom": {
"moment": "2025-04-05T14:30:00.000Z"
}
}
]
}
}{
"hash": "93a5f4d97a42c2df97f827c58ff7768d02568c15aca931e22b81fa3160ba0df3",
"data": {
"reason": "api.unexpected-error",
"detail": "An unexpected error occurred"
},
"meta": {
"proofs": [
{
"signer": "system",
"method": "ed25519-v2",
"digest": "efaf5360143b586917d9636779ad6e08571c5b06909a20dd0f5eba4bf3be7eae",
"public": "bctQzN7mjMUNBIx4aSC8WYn03GJWoJjL/KrDb38oU5c=",
"result": "hERh6Aecj59iR+Fb25OQsHJScOi4t8EiffKSfjlMQdjHMccTnfDlgZFdaJzXzUtpSwy/NHq0l+7ydh3HSWCoAg==",
"custom": {
"moment": "2025-04-05T14:30:00.000Z"
}
}
]
}
}Path Parameters
The unique identifier of the record - it is luid or handle (address).
Header Parameters
The unique identifier of ledger in context for multi tenant requests.
Request Body
application/json
Anchor drop body
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
text/plain
application/json
application/json
application/json
application/json
application/json
Update anchor PUT
The request must include the current record hash in `data.parent` to prevent conflicts from concurrent updates. If the parent hash does not match the record's current hash, the request is rejected with a 422 error. When forwarding is configured, this request may be validated or proxied through a bridge before being committed locally. See [Anchor Forwarding](/ledger/moving-money/anchor-forwarding). Broadcasts the `anchor-updated` signal. Use [effects](/ledger/reference/api/effect) to subscribe.
Add anchor proof POST
Appends a signed proof to the anchor record. The proof must be signed against the record's current hash. Use proofs to change status, update labels, or record custom data — see [About Proofs](/ledger/structuring-data/about-proofs) for details. When forwarding is configured, this request may be validated or proxied through a bridge. See [Anchor Forwarding](/ledger/moving-money/anchor-forwarding). Returns the updated record with the new proof in `meta.proofs`. Broadcasts the `anchor-proofs-added` signal. Use [effects](/ledger/reference/api/effect) to subscribe.