---
title: "Prepare metadata-URI follow-up transaction"
method: POST
path: "/v1/issuance/tokens/{tokenId}/deploy/prepare-metadata"
tags: ["Issuance"]
---

# Prepare metadata-URI follow-up transaction

`POST /v1/issuance/tokens/{tokenId}/deploy/prepare-metadata`

Follow-up step for the non-custodial deploy flow. When prepareDeploy returns `metadataUriFollowUp.required` (the inline URI overflowed the create transaction), the client calls this after deploy/confirm to fetch an unsigned transaction that sets the metadata URI on-chain. Returns a null transaction when the on-chain URI already matches.

## 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.

## Response `200`

Prepared metadata-URI follow-up transaction (or no-op)

- object — Standard success response envelope.
  - `data` object, required — Prepare deploy-metadata follow-up response payload.
    - `transaction` object, nullable, required — Prepared metadata-URI update transaction for client signing, or null when the on-chain URI already matches (nothing to sign).
      - `serialized` string, required — Base64-encoded unsigned transaction.
      - `blockhash` string, required — Blockhash for the transaction.
      - `lastValidBlockHeight` string, required — Last valid block height.
    - `uri` string, uri, required — The metadata URI the follow-up transaction sets on-chain.
    - `simulation` object — Optional transaction simulation results.
      - `success` boolean, required — Simulation success flag.
      - `logs` string[], required — Simulation logs, if any.
      - `unitsConsumed` union, required — Compute units consumed.
        - number
        - string
        - unknown
      - `error` string, nullable, required — Simulation error, if any.
  - `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
- `500` — Error
- `502` — Error

---

[API](https://skmtc.net/solana/apis/solana-developer-platform-api.md) · [All operations](https://skmtc.net/solana/apis/solana-developer-platform-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/solana/solana-developer-platform-api/revisions/672b1916ba61/schema)
