---
title: "Collect credential associated with the bearer token with the requested credential properties."
method: POST
path: "/oid4vci/api/credential"
tags: ["Issuer OID4VCI API"]
---

# Collect credential associated with the bearer token with the requested credential properties.

`POST /oid4vci/api/credential`

## Request

- Base URL: `http://localhost:8080`
- URL: `http://localhost:8080/oid4vci/api/credential`
- Auth: HTTP bearer

Issues a credential for a given bearer token and credential request. Supports API versioning via SWIYU-API-Version header. Returns the issued credential in JSON or JWT format.

## Headers

- `Authorization` string, required
- `DPoP` string

## Request body

- CreateCredentialRequest: Request to the Credential Endpoint as defined in OID4VCI 1.0 specification
  - `credential_configuration_id` string, required: String that uniquely identifies one of the keys in the name/value pairs stored in the credential_configurations_supported Credential Issuer metadata. Only used if a credential_identifiers parameter was not returned from the Token Response as part of the authorization_details parameter. It MUST NOT be used otherwise.
  - `proofs` ProofsDto
    - `jwt` string[], required: ProofsDto represents the proofs object in the OID4VCI Credential Request.
  - `credential_response_encryption` CredentialResponseEncryption
    - `jwk` object, required
    - `enc` string, required

## Response `200`

Credential issued successfully.

- CredentialEndpointResponse
  - `credentials` CredentialObjectDto[]
    - `credential` string: One sdjwt credential as string, if multiple credentials are issued each is wrapped in a separate CredentialObjectDto object.

## Other responses

- `202`: Successful deferred credential. The credential will be issued later
- `400`: Invalid request or validation error, includes error code invalid_proof if the proof or its key attestation is invalid or cannot be validated
- `401`: Unauthorized
- `404`: Referenced resource not found
- `405`: HTTP method not allowed
- `409`: The requested credential is currently locked by another operation
- `420`: Non-standard status forwarded verbatim from the external Business Issuer renewal backend during a renewal request. Not a fixed contract value.
- `422`: Request validation error
- `429`: A renewal request for this credential is already in progress
- `500`: Internal Server Error
- `502`: The external Business Issuer renewal backend could not be reached during a renewal request

## Changes

- **2026-11-09** `0edeb1d2a486`: 1 info
  - added the non-success response with the status `502`
- **2026-09-16** `5f1ad9f9b9c2`: 8 info
  - added the non-success response with the status `401`
  - added the non-success response with the status `404`
  - added the non-success response with the status `405`
  - added the non-success response with the status `409`
  - …4 more
- **2026-07-10** `64d2c942d1db`: 2 breaking, 2 warning
  - the `interval` response's property format changed from `int32` to `int64` for status `202`
  - the `transaction_id` response's property format changed from `uuid` to no format for status `202`
  - removed the optional property `interval` from the response with the `200` status
  - removed the optional property `transaction_id` from the response with the `200` status
- **2026-07-10** `9ae4c8794bda`: 1 info
  - added the non-success response with the status `400`
- **2026-07-10** `e6c8c61b58bc`: 1 breaking
  - the `proofs/jwt` request property's minItems was increased to `10`

[Operation history](https://skmtc.dev/swiyu/apis/issuer-service-api/changes/oid4vci/api/credential/post.md)

---

[API](https://skmtc.dev/swiyu/apis/issuer-service-api.md) - [All operations](https://skmtc.dev/swiyu/apis/issuer-service-api/llms.txt) - [OpenAPI document](https://skmtc.dev/swiyu/apis/issuer-service-api/revisions/f2f3fbbaf461?raw)
