---
title: "Accept an offer (demo: server-side PoP)"
method: POST
path: "/v1/credential-offers/{uuid}/accept"
tags: ["OpenID4VCI Protocol"]
---

# Accept an offer (demo: server-side PoP)

`POST /v1/credential-offers/{uuid}/accept`

Accept a credential offer through Didit's server-side demo shortcut. Didit redeems the OpenID4VCI (OpenID for Verifiable Credential Issuance) offer, creates a holder key, and returns the issued SD-JWT VC (Selective-Disclosure JWT Verifiable Credential). Use this only for demo flows where the server accepts the offer for the holder.

## Path parameters

- `uuid` string, uuid, required

## Request body

- object

## Response `200`

Didit accepted the offer and minted the credential.

- object
  - `credential` object — You receive the issued credential expanded for the holder UI.
    - `claims` object[] — You receive the claims embedded in the issued credential.
      - `label` string — Show this 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.
      - `value` string — You receive the claim value included in the credential.
    - `credential_name` string — Show this credential display name to the holder.
    - `expires_at` string — You receive the credential expiration timestamp.
    - `format` string — You receive the credential format value.
    - `id` string — Use this identifier for the issued credential record.
    - `issued_at` string — You receive the credential issuance timestamp.
    - `issuer` object — Use this issuer identity block to render the credential.
      - `did` string — Show this decentralized identifier for the issuer.
      - `domain` string — Use this issuer domain as the credential issuer identifier.
      - `id` string — Use this tenant identifier for the issuer.
      - `name` string — Show this issuer display name to the holder.
    - `sd_jwt` string — Store this SD-JWT VC (Selective-Disclosure JWT Verifiable Credential) string in the holder wallet.
    - `status` string — You receive the issued credential status.
    - `subject` string — Show this credential subject value to the holder.
    - `vct` string — You receive the credential VCT (Verifiable Credential Type).
  - `holder_jwk` object — You receive the public JWK (JSON Web Key) that Didit generated for this demo holder flow.
    - `crv` string — You receive the elliptic curve name for the holder key.
    - `kty` string — You receive the JWK (JSON Web Key) key type.
    - `x` string — You receive the x-coordinate of the public key.
    - `y` string — You receive the y-coordinate of the public key.
  - `vct` string — You receive the VCT (Verifiable Credential Type) as a top-level convenience field.

## Other responses

- `400` — The flow could not complete — e.g. the offer was already redeemed, expired, or a tx_code/proof step failed.
- `404` — No offer exists for the given UUID (or it is soft-deleted).

## Changes

- **2026-07-03** `9addd64b04b1` — 5 breaking, 12 info
  - for the `path` request parameter `uuid`, the type/format was changed from `string`/`` to `string`/`uuid`
  - the `credential/claims/items/` response's property type/format changed from `string`/`` to `object`/`` for status `200`
  - the `credential/expires_at` response's property type/format changed from `string`/`date-time` to `string`/`` for status `200`
  - the `credential/id` response's property type/format changed from `string`/`uuid` to `string`/`` for status `200`
  - …13 more
- **2026-06-30** `1ee4908e9af4` — 1 breaking, 4 info
  - added required request body
  - 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 `400`
  - …1 more

[Change history](https://skmtc.dev/didit-protocol/apis/didit-credentials-api/changes/v1/credential-offers/:uuid/accept/post.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)
