> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.adid.dev/llms.txt.
> For full documentation content, see https://docs.adid.dev/llms-full.txt.

# Check Revocation Status

##### When to use

You hold a credential and want to confirm it has not been revoked. The status check is also performed automatically every time you open a credential's detail page.

##### Before you begin

You have a credential ID.

##### Steps (manual)

```bash
curl https://adid.dev/api/v1/credentials/urn:uuid:c5b7e3.../status
```

(No auth needed — this endpoint is public, registered at `router.go:68`.)

Response:

```json
{
  "credentialId":"urn:uuid:c5b7e3...",
  "revoked": false,
  "statusListId":"abcd",
  "statusListIndex": 42,
  "checkedAt":"2026-04-26T12:00:00Z"
}
```

##### How it works under the hood

The handler reads the bit at the credential's `statusListIndex` from the **RevocationRegistry** contract. Bit `1` = revoked, bit `0` = active. See [§4.4.3](#status-list-mechanics) for the bitstring encoding.

##### Troubleshooting

| Code                       | Cause                                              | Fix                    |
| -------------------------- | -------------------------------------------------- | ---------------------- |
| `404 CREDENTIAL_NOT_FOUND` | Credential never existed or was deleted from index | Confirm credential ID. |
| `502 CHAIN_UNREACHABLE`    | RPC down                                           | Retry.                 |