Olympus Docs
ReferenceSchemas

CIAM Default Identity Schema

JSON Schema reference for the Person identity model

Source: platform/dev/ciam-kratos/identity.schema.json

Schema $id: https://schemas.ory.sh/presets/kratos/identity.basic.schema.json

Fields

FieldTypeFormatRequiredOry bindingsDescription
traitsobject-no-,
traits.usernamestring-nopassword identifierUsername
traits.emailstringemailyespassword identifier, webauthn identifier, totp account_name, verifiable (email), recovery (email)Email address
traits.first_namestring-no-First name
traits.last_namestring-no-Last name
traits.phonestring-nopassword identifierPhone

Raw schema

{
  "$id": "https://schemas.ory.sh/presets/kratos/identity.basic.schema.json",
  "title": "Person",
  "type": "object",
  "properties": {
    "traits": {
      "type": "object",
      "properties": {
        "username": {
          "title": "Username",
          "type": "string",
          "minLength": 1,
          "maxLength": 20,
          "pattern": "^[a-z0-9]+$",
          "ory.sh/kratos": {
            "credentials": {
              "password": {
                "identifier": true
              }
            }
          }
        },
        "email": {
          "type": "string",
          "format": "email",
          "title": "Email address",
          "ory.sh/kratos": {
            "credentials": {
              "password": {
                "identifier": true
              },
              "webauthn": {
                "identifier": true
              },
              "totp": {
                "account_name": true
              }
            },
            "recovery": {
              "via": "email"
            },
            "verification": {
              "via": "email"
            }
          },
          "maxLength": 320
        },
        "first_name": {
          "type": "string",
          "title": "First name",
          "maxLength": 256
        },
        "last_name": {
          "type": "string",
          "title": "Last name",
          "maxLength": 256
        },
        "phone": {
          "title": "Phone",
          "type": "string",
          "pattern": "^(\\+?\\d{1,3})?[-.\\s]?(\\(?\\d{1,4}\\)?)?[-.\\s]?\\d{1,4}[-.\\s]?\\d{1,4}[-.\\s]?\\d{1,9}$",
          "ory.sh/kratos": {
            "credentials": {
              "password": {
                "identifier": true
              }
            }
          }
        }
      },
      "required": [
        "email"
      ],
      "additionalProperties": false
    }
  }
}

Generated from ../platform/dev/ciam-kratos/identity.schema.json at build time.

On this page