Uploading the Credential Schema

What We Are Doing:

  • Defining a credential schema that outlines the data fields (e.g., age, firstName, lastName).

  • Uploading this schema to the Issuer so it knows how to structure the KYC Verifiable Credential.

Why: Without a schema, the Issuer doesn`t know what the credential should contain. The schema ensures consistency and interoperability.

Steps: Create a schema.json file (locally) with:

{
  "name": "KYC Verifiable Credential",
  "type": "KYC Verifiable Credential",
  "credentialSubject": {
    "type": "object",
    "properties": {
      "age": {
        "type": "number",
        "title": "age"
      },
      "firstName": {
        "type": "string",
        "title": "first_name"
      },
      "lastName": {
        "type": "string",
        "title": "last_name"
      }
    },
    "required": ["age", "firstName", "lastName"]
  },
  "version": "1"
}

Upload it using curl:

curl -X POST "$ISSUER_URL/api/v1/schema" \
  -H "x-client-secret: $ISSUER_SECRET" \
  -H "Content-Type: application/json" \
  -d @schema.json

Now the Issuer knows how to issue a "KYC Verifiable Credential" with the specified fields.

Last updated