---
title: "Get a credential offer (holder preview)"
method: GET
path: "/v1/credential-offers/{uuid}"
tags: ["OpenID4VCI Protocol"]
---

# Get a credential offer (holder preview)

`GET /v1/credential-offers/{uuid}`

Fetch a public preview of an OpenID4VCI (OpenID for Verifiable Credential Issuance) credential offer by UUID. Use it to show the issuer, credential type, expiration, transaction-code requirement, and claim labels. This captured flow returns labels without claim values.

## Path parameters

- `uuid` string, uuid, required

## Response `200`

Didit returned the holder-facing offer preview.

- object
  - `claims` object[] — You receive the claims the wallet can show before issuance.
    - `label` string — Show this human-readable claim label to the holder.
    - `name` string — Use this machine-readable claim name to identify the attribute.
    - `selective_disclosure` boolean — You receive true when the holder can selectively disclose this claim later.
  - `expires_at` string, date-time — You receive the timestamp when the offer expires.
  - `format` string — You receive the SD-JWT VC (Selective-Disclosure JWT Verifiable Credential) format value for this offer.
  - `issuer` object — Use this issuer identity block to render the claim screen.
    - `did` string — Show this decentralized identifier for the issuer.
    - `domain` string, uri — Use this issuer URL as the credential issuer identifier.
    - `id` string — Use this tenant slug to identify the issuer.
    - `name` string — Show this issuer display name to the holder.
  - `offer_id` string, uuid — Use this UUID to identify the credential offer.
  - `offer_uri` string, uri — Open this OpenID4VCI (OpenID for Verifiable Credential Issuance) credential-offer URI in a compatible wallet.
  - `tx_code_length` integer — Render a transaction-code input with this many digits.
  - `tx_code_required` boolean — You receive true when the holder must enter a transaction code.
  - `vct` string — You receive the VCT (Verifiable Credential Type) that this offer issues.

## Other responses

- `404` — No offer exists for the given UUID (or it is soft-deleted).

## Changes

- **2026-07-03** `9addd64b04b1` — 2 breaking, 3 info
  - for the `path` request parameter `uuid`, the type/format was changed from `string`/`` to `string`/`uuid`
  - the `claims/items/` response's property type/format changed from `string`/`` to `object`/`` for status `200`
  - added the optional property `claims/items/label` to the response with the `200` status
  - added the optional property `claims/items/name` to the response with the `200` status
  - …1 more
- **2026-07-01** `1c34704cfbbb` — 1 info
  - api operation id `v1_credential_offers_retrieve` removed and replaced with `v1_credential_offers_retrieve_2`
- **2026-06-30** `1ee4908e9af4` — 3 info
  - for the `path` request parameter `uuid`, the type/format was generalized from `string`/`uuid` to `string`/``
  - added the media type `application/json` for the response with the status `200`
  - added the non-success response with the status `404`

[Change history](https://skmtc.dev/didit-protocol/apis/didit-credentials-api/changes/v1/credential-offers/:uuid/get.md)

---

[API](https://skmtc.dev/didit-protocol/apis/didit-credentials-api.md) · [All operations](https://skmtc.dev/didit-protocol/apis/didit-credentials-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/didit-protocol/didit-credentials-api/revisions/e4eddba66557/schema)
