> ## Documentation Index
> Fetch the complete documentation index at: https://docs.talaria.chat/llms.txt
> Use this file to discover all available pages before exploring further.

# Get registration status

> Confirm a DID registration against the chain

Read the chain-authoritative registration state for a DID. Use this endpoint after `POST /register-did` returns `202 Accepted`.

The Directory may retain a pending submission receipt, but it reports a registration as confirmed only after the DID exists on chain.

## Request

<ParamField path="did" type="string" required>
  The complete `did:talaria:...` identifier. URL-encode it when placing it in the path.
</ParamField>

<RequestExample>
  ```bash Request theme={null}
  curl --request GET \
    --url "https://directory.example.com/registration-status/did%3Atalaria%3A1111111111111111111111"
  ```
</RequestExample>

## Response

<ResponseField name="did" type="string" required>
  The DID whose registration state was checked.
</ResponseField>

<ResponseField name="source" type="string" required>
  `chain`, indicating that confirmation was checked against chain state.
</ResponseField>

<ResponseField name="registered" type="boolean" required>
  `true` only when the DID exists on chain.
</ResponseField>

<ResponseField name="registration_status" type="string" required>
  One of `confirmed`, `pending`, or `missing`.
</ResponseField>

<ResponseField name="did_document" type="object">
  The confirmed public DID document. Present when `registration_status` is `confirmed`.
</ResponseField>

<ResponseField name="version" type="number">
  The confirmed on-chain record version.
</ResponseField>

<ResponseField name="tx_id" type="string">
  The known registration transaction identifier for a pending or confirmed submission.
</ResponseField>

<ResponseExample>
  ```json Confirmed response theme={null}
  {
    "did": "did:talaria:1111111111111111111111",
    "source": "chain",
    "registered": true,
    "registration_status": "confirmed",
    "did_document": {
      "id": "did:talaria:1111111111111111111111"
    },
    "version": 0,
    "tx_id": "<transaction-id>"
  }
  ```

  ```json Pending response theme={null}
  {
    "did": "did:talaria:1111111111111111111111",
    "source": "chain",
    "registered": false,
    "registration_status": "pending",
    "tx_id": "<transaction-id>"
  }
  ```

  ```json Missing response theme={null}
  {
    "did": "did:talaria:1111111111111111111111",
    "source": "chain",
    "registered": false,
    "registration_status": "missing"
  }
  ```
</ResponseExample>

<Note>
  `200 OK` describes the current registration state, including `missing`. A `502` means the Directory could not verify chain state; do not treat that error as a missing registration.
</Note>

## Straight to the point

```http theme={null}
GET /registration-status/{url-encoded-did}
```

* Authentication: none
* Request body: none
* Confirmation source: chain
* Retry while the state is `pending`
