---
title: "POST /anoncreds/credential-definitions"
method: POST
path: "/anoncreds/credential-definitions"
tags: ["AnonCreds"]
---

# POST /anoncreds/credential-definitions

`POST /anoncreds/credential-definitions`

Creates a new AnonCreds credentialDefinition and registers the credentialDefinition in the AnonCreds registry

## Headers

- `x-tenant-id` string

## Request body

- AnonCredsRegisterCredentialDefinitionBody
  - `credentialDefinition` AnonCredsRegisterCredentialDefinitionInput, required
    - `issuerId` string, required
    - `schemaId` string, required
    - `tag` string, required
  - `options` AnonCredsRegisterCredentialDefinitionOptions, required
    - `supportRevocation` boolean, required

## Response `200`

Ok

- AnonCredsRegisterCredentialDefinitionSuccessResponse
  - `jobId` string
  - `credentialDefinitionState` RegisterCredentialDefinitionReturnStateFinished, required
    - `state` 'finished', required
    - `credentialDefinition` AnonCredsCredentialDefinition, required
      - `issuerId` string, required
      - `schemaId` string, required
      - `type` 'CL', required
      - `tag` string, required
      - `value` object, required
        - `revocation` unknown
        - `primary` RecordStringUnknown, required — Construct a type with a set of properties K of type T
    - `credentialDefinitionId` string, required
  - `credentialDefinitionMetadata` AnyJsonObject, required — JSON object that can contain any key-value pairs
  - `registrationMetadata` AnyJsonObject, required — JSON object that can contain any key-value pairs

## Other responses

- `202` — Wait for action to complete
- `500` — Unknown error registering credentialDefinition

---

[API](https://skmtc.net/openwallet-foundation/apis/credo-rest-api.md) · [All operations](https://skmtc.net/openwallet-foundation/apis/credo-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/openwallet-foundation/credo-rest-api/revisions/33596742b733/schema)
