---
title: "Add token allowlist entry"
method: POST
path: "/v1/issuance/tokens/{tokenId}/allowlist"
tags: ["Issuance"]
---

# Add token allowlist entry

`POST /v1/issuance/tokens/{tokenId}/allowlist`

Adds an allowlist entry for a token.

## Path parameters

- `tokenId` string, required — Token identifier.

## Headers

- `x-project-id` string — Selects the active project for this request. Required for session/dashboard callers. Ignored when authenticating with an API key, whose scope is fixed to the key's project.

## Request body

- object — Add token allowlist entry request body.
  - `signingCustodyWalletId` string — Optional exact SDP Wallet ID controlling the live list authority. Omission requires exactly one matching in-scope custody record; multiple matches return 409. Database-only lists do not require a signer.
  - `address` string, required — Wallet address to allowlist.
  - `label` string — Optional label for the allowlist entry.

## Response `201`

Allowlist entry added

- object — Standard success response envelope.
  - `data` object, required — Token allowlist entry response payload.
    - `entry` object, required — Token allowlist entry.
      - `id` string, required — Token allowlist entry identifier.
      - `tokenId` string, required — Token identifier.
      - `address` string, required — Allowlisted wallet address.
      - `label` string, nullable, required — Optional label for the address.
      - `status` 'active' | 'revoked', required — Allowlist entry status.
      - `addedBy` string, required — Actor identifier that added the entry.
      - `createdAt` string, date-time, required — Creation timestamp.
      - `revokedAt` string, date-time, nullable, required — Revocation timestamp, if revoked.
  - `meta` object, required — Response metadata.
    - `requestId` string, required — Request identifier for tracing.
    - `timestamp` string, date-time, required — ISO 8601 timestamp.

## Other responses

- `400` — Error
- `401` — Error
- `403` — Error
- `404` — Error
- `409` — Error
- `422` — Error
- `500` — Error

## Changes

- **2026-09-17** `c40cf3f45740` — 7 warning
  - added the new `VAULT_EXPOSURE_CAP` enum value to the `error/code` response property for the response status `400`
  - added the new `VAULT_EXPOSURE_CAP` enum value to the `error/code` response property for the response status `401`
  - added the new `VAULT_EXPOSURE_CAP` enum value to the `error/code` response property for the response status `403`
  - added the new `VAULT_EXPOSURE_CAP` enum value to the `error/code` response property for the response status `404`
  - …3 more
- **2026-09-15** `ae979bae198c` — 6 warning, 1 info
  - added the new `SIGNING_REJECTED` enum value to the `error/code` response property for the response status `400`
  - added the new `SIGNING_REJECTED` enum value to the `error/code` response property for the response status `401`
  - added the new `SIGNING_REJECTED` enum value to the `error/code` response property for the response status `403`
  - added the new `SIGNING_REJECTED` enum value to the `error/code` response property for the response status `404`
  - …3 more
- **2026-09-11** `1e499ac13ac8` — 1 info
  - added the new optional request property `signingCustodyWalletId`
- …earlier changes not shown

[Full history](https://skmtc.dev/solana/apis/solana-developer-platform-api/changes/v1/issuance/tokens/:tokenId/allowlist/post.md)

---

[API](https://skmtc.dev/solana/apis/solana-developer-platform-api.md) · [All operations](https://skmtc.dev/solana/apis/solana-developer-platform-api/llms.txt) · [OpenAPI document](https://skmtc.dev/solana/apis/solana-developer-platform-api/revisions/efb53d5c0ff9?raw)
