---
title: "Create a generic credential offer with the given content"
method: POST
path: "/management/api/credentials"
tags: ["Credential API"]
---

# Create a generic credential offer with the given content

`POST /management/api/credentials`

Create a new credential offer, which can then be collected by the holder.
The returned deep link has to be provided to the holder through another channel, for example as QR-Code.
The credentialSubjectData can be a json object or a JWT, if the signer has been configured to perform data integrity checks.
Returns both the ID used to interact with the offer and later issued VC, and the deep link to be provided to

## Request body

- CreateCredentialOfferRequest — Initial credential creation request to start the offering process.
  - `metadata_credential_supported_id` string[], required — ID linking the offer to the issuer metadata.
  - `credential_subject_data` unknown
  - `credential_metadata` CredentialOfferMetadataDto
    - `deferred` boolean
    - `vct_metadata_uri` string
    - `vct_metadata_uri#integrity` string
  - `offer_validity_seconds` integer — how long the offer should be usable in seconds. Example is 1 Day.
  - `deferred_offer_validity_seconds` integer — how long the offer should be valid after it reached the deferred state in seconds. Example is 7 Days.
  - `credential_valid_until` string, date-time — Setting for until when the VC shall be valid. XMLSchema dateTimeStamp https://www.w3.org/TR/xmlschema11-2/#dateTimeStamp
  - `credential_valid_from` string, date-time — Setting for from when the VC shall be valid. XMLSchema dateTimeStamp https://www.w3.org/TR/xmlschema11-2/#dateTimeStamp
  - `status_lists` string[] — List of URIs of the status lists to be used with the credential. Status Lists must be initialized. Can provide multiple status lists to have multiple status sources.
  - `configuration_override` ConfigurationOverride — Override for configuration to be use for the created entity
    - `issuer_did` string — Override to be used in place of the ISSUER_ID
    - `verification_method` string — Override for the verification method that is looked up in the did document during verification of the entity. Most often the full did and a unique id after #
    - `key_id` string — ID of the key in the HSM
    - `key_pin` string — The pin which protects the key in the hsm, if any. Note that this only the key pin, not hsm password or partition pin.

## Response `200`

Credential offer created

## Other responses

- `400` — Bad request due to user content or internal call to external service like statuslist

---

[API](https://skmtc.net/swiyu/apis/issuer-service-api.md) · [All operations](https://skmtc.net/swiyu/apis/issuer-service-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/swiyu/issuer-service-api/revisions/3335603aa636/schema)
