{ "$id": "https://schemas.nexus.local/nexus-identity.json", "$schema": "http://json-schema.org/draft-07/schema#", "title": "Nexus Profile", "type": "object", "properties": { "traits": { "type": "object", "properties": { "email": { "type": "string", "format": "email", "title": "E-Mail", "minLength": 3, "maxLength": 320, "ory.sh/kratos": { "credentials": { "password": { "identifier": true }, "webauthn": { "identifier": true }, "totp": { "account_name": true } }, "verification": { "via": "email" }, "recovery": { "via": "email" } } }, "name": { "type": "object", "properties": { "first": { "type": "string", "title": "First Name", "minLength": 1, "maxLength": 100 }, "last": { "type": "string", "title": "Last Name", "minLength": 1, "maxLength": 100 } }, "required": ["first", "last"] }, "phone": { "type": "string", "title": "Phone Number", "pattern": "^[0-9\\s+()-]*$", "maxLength": 30 }, "profile_type": { "type": "string", "title": "Profile Type", "enum": ["team", "customer"], "description": "Determines whether this is a team member or customer profile" } }, "required": ["email", "name", "profile_type"], "additionalProperties": false }, "metadata_public": { "type": "object", "properties": { "django_profile_id": { "type": "string", "title": "Nexus Profile ID", "description": "UUID of the linked Django profile (TeamProfile or CustomerProfile)" } } } } }