Hold · export and erase
No ticket.
No reviewer.
No thirty days.
Most companies answer "delete my data" with a form, a queue and a month. We answer it with a route you can reach from a terminal right now. Two calls: one hands your data back, one deletes it. Both refused us when we asked without a session.
The two endpoints
There is no third one.
No support address that does the same job more slowly. The account is small enough that getting it back and getting rid of it are each a single call.
POST /account/export
Hands you what is on our side of the account.
x-auth HSESS Your session, from your device. No operator key opens it from the other side.
POST /account/erase
Deletes it. Not a request to delete it.
x-auth HSESS The same session and nothing else. Nobody erases your account by asking us to.
What an export can reach
And what it never could.
- The fingerprint of your public key — the thing that is your account.
- Which organizations have vouched for something about you.
- Whether each of those still stands or was taken back.
- Your private key. It never left the chip in your phone.
- Where you showed a proof, or to whom. Checking writes no row.
- What the organizations that vouched for you hold. That is theirs.
Check it yourself
A refusal is the most informative thing an endpoint can show a stranger.
Export is a real route, and it refuses a stranger in words.
curl -s -X POST https://id.orbis.id/account/export 401 · {"error":"account session required"}
One line, in English. Not a redirect, not a blank page, not a 500.
Erasure is a real route, and it refuses that caller identically.
curl -s -X POST https://id.orbis.id/account/erase 401 · {"error":"account session required"}
The same answer is the only answer a stranger should ever get.
The published contract marks both as needing YOUR session.
curl -s https://id.orbis.id/openapi.json | jq -r '.paths["/account/erase"].post["x-auth"]' HSESS
Holder session — the account marking, not the operator one.
A link cannot erase your account: the method is enforced.
curl -s https://id.orbis.id/account/erase 404 · {"error":"not found"}
A plain fetch of that address is not a route, so no prefetch or crawler can trip it.
What a successful export returns has not been demonstrated here.
— no command, because we will not print a body nobody has published — not demonstrated
The routes answer; the shape of a signed-in answer is unmeasured, so none is drawn.
Before you go further
What is real here.
The portal you press the buttons in, the wallet on the web, getting back in after a lost device, and the wallet on a phone.
- PLANNED A wallet a person installs from an app store. wallet-native You cannot hold a credential on a phone you own. Everything a person would do with a proof waits behind this.
The register holds 17 live · 2 partial · 2 planned · 5 not yet.
3 of the 4 capabilities this page depends on have no row in the register yet, so this page will not print a state for them. They are named rather than dropped, because a slice that silently shortens itself is the same defect as a claim with no receipt.
- holder-portal
- wallet-web
- account-recovery
The register route serves, but it carries no row for these yet. List what it does carry:
curl -s https://id.orbis.id/api/site/register | jq -r '.entries[].slug'