# Restore tokens

Restoring a token returns it from the Denylisted state to the Allowlisted state. Use the `v0_UnlockTicker` intent to restore a blocked token.

## How it works

When you restore a token:

1. The token's `lock` status changes from `Locked` to `Unlocked`
2. The token's `validationStatus` remains `Validated`
3. The token becomes visible in standard UI views
4. The token can be used in transfer orders again


Restoring a token returns it directly to the Allowlisted state, not to Unclassified. This is because the token was previously validated before being denylisted.

## Prerequisites

Before restoring a token, you need the following:

| Prerequisite | Additional information |
|  --- | --- |
| Token ID and current revision | [View tokens](/products/custody/accounts-and-assets/tokenization/token-management/api/view-tokens) |
| API authentication | [Authenticate API requests](/products/custody/identity-and-access/authentication/authenticate-api-requests) |
| A new intent ID in UUID format |  |


## Restore a token

To restore a denylisted token, follow the steps in [Manage intents and approvals](/products/custody/governance/intents/manage-intents-and-approvals), with a payload similar to the following example.

### Payload example


```json
{
  "payload": {
    "reference": {
      "id": "4773918e-0d63-4a5b-bfd7-1edc664c3b20",
      "revision": 2
    },
    "type": "v0_UnlockTicker"
  }
}
```

### Payload fields

| Field | Type | Required | Description |
|  --- | --- | --- | --- |
| `payload.reference.id` | UUID | Yes | Token ID from [Get ticker](/products/custody/reference/api/openapi/tickers/getticker) |
| `payload.reference.revision` | integer | Yes | Current token revision from the ticker response. |
| `payload.type` | string | Yes | Must be `v0_UnlockTicker` |


`v0_UnlockTicker` only supports one token per intent. To restore multiple tokens, submit individual intents for each token.

The token is restored when the intent is successfully approved and executed. The token is now visible in standard views and can be used in transfer orders.

## Verify the result

After the intent is executed, verify the token is restored to the Allowlisted state:


```http
GET /v1/tickers?validationStatus=Validated&lock=Unlocked
```

The restored token should be included in the filtered response. You can also call `GET /v1/tickers/{tickerId}` and verify that `data.lock` is `Unlocked`.

See [Get ticker](/products/custody/reference/api/openapi/tickers/getticker) for the complete API reference.

## Related topics

- [Token Management concepts](/products/custody/accounts-and-assets/tokenization/token-management)
- [View tokens](/products/custody/accounts-and-assets/tokenization/token-management/api/view-tokens)
- [Denylist tokens](/products/custody/accounts-and-assets/tokenization/token-management/api/denylist-token)
- [Allowlist tokens](/products/custody/accounts-and-assets/tokenization/token-management/api/allowlist-token)
- [Manage intents and approvals](/products/custody/governance/intents/manage-intents-and-approvals)
- [API reference: List tickers](/products/custody/reference/api/openapi/tickers/gettickers)
- [API reference: Get ticker](/products/custody/reference/api/openapi/tickers/getticker)