---
title: "Create Credential Type"
method: POST
path: "/v1-alpha1/credentials/types"
tags: ["Verifiable Credentials"]
---

# Create Credential Type

`POST /v1-alpha1/credentials/types`

Create or import a credential type with a random UUID. This is how you define a custom credential schema.

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

## Request body

- union
  - object
    - `$schema` string
    - `title` string
    - `description` string
    - `type` string
    - `properties` object
      - `credentialSubject` object
  - object
    - `$id` string — URL for importing an existing type."

## Response `200`

Success.

- CreatedType
  - `id` string
  - `typeSchema` object
    - `$schema` string
    - `title` string
    - `description` string
    - `type` string
    - `properties` object
      - `credentialSubject` object
    - `$id` string

## Other responses

- `400` — Bad Request

---

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