---
title: "Issue Credential"
method: POST
path: "/v1-alpha1/credentials/templates/{templateId}/vcs"
tags: ["Verifiable Credentials"]
---

# Issue Credential

`POST /v1-alpha1/credentials/templates/{templateId}/vcs`

Issue a credential and deliver it to a wallet or email address.

**API scope required** `credentials.create`

## Path parameters

- `templateId` string, required

## Request body

- object
  - `recipient` string, required — Recipient address in the format of `<chain>:<address>` or `email:<email_address>:<chain>`.
  - `sendNotification` boolean — Notify recipient via email notification about successful mint [Default: true]. For legacy projects created before Sep 16, 2024, this is set to false by default.
  - `locale` string — Specify the locale for the email content [Default: en-US]
  - `metadata` object — Descriptive information inherited, by default, from the credential's template.
    - `name` string, required — The name of your Verifiable Credential NFT (Max length: 32).
    - `image` string — Direct link to your Verifiable Credential NFT image.
    - `description` string — A brief description of the Verifiable Credential NFT (Max length: 64).
    - `attributes` object[] — Add attributes to your Verifiable Credential NFT
      - `display_type` 'boost_number' | 'boost_percentage' | 'number' — Display name of your attribute
      - `trait_type` string, required — The name of the trait
      - `value` string, required — The value of the trait
  - `credential` object, required
    - `subject` object, required — Object matching the collection type's schema populated with values relevant to the credential's recipient.
    - `expiresAt` string, required — The expiration date should be set in ISO 8601 format or as “none” to indicate no expiration. For example, an ISO 8601 date could be "2030-12-31"

## Response `200`

Success.

- object
  - `id` string — Uniquely identifies the transaction in the system.
  - `onChain` object — Information on the credential's current status on the blockchain, specifying its status on the specified network and related smart contract address.
    - `status` string — Current state of the credential on the blockchain (e.g., "pending").
    - `chain` string — Blockchain network where the credential is recorded (e.g., "polygon")
    - `contractAddress` string — Smart contract address on the specified blockchain (e.g., "0x123456789").
  - `credentialId` string — Key identifier for the credential itself, distinct from the transaction or record as a whole.
  - `actionId` string — Represents the action or transaction ID. In this context, it is the same as the primary id, indicating reference to the same overarching transaction or operation.

## Other responses

- `400` — Bad Request
- `403` — Forbidden error, please ensure the credentials are correct.
- `503` — Please try again in a few minutes. If the issue still persists, please contact Crossmint support.

---

[API](https://skmtc.net/crossmint/apis/onramp.md) · [All operations](https://skmtc.net/crossmint/apis/onramp/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/crossmint/onramp/versions/e2143d192130/schema)
