{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "#/components/schemas/CreateUserlandUserDto", "title": "CreateUserlandUserDto", "allOf": [ { "type": "object", "properties": { "email": { "type": "string", "format": "email", "description": "The email address of the user.", "example": "marcelina.davis@example.com" }, "first_name": { "type": [ "string", "null" ], "description": "The first name of the user.", "example": "Marcelina" }, "last_name": { "type": [ "string", "null" ], "description": "The last name of the user.", "example": "Davis" }, "email_verified": { "type": [ "boolean", "null" ], "description": "Whether the user's email has been verified.", "example": true }, "metadata": { "type": [ "object", "null" ], "additionalProperties": { "type": "string", "maxLength": 600 }, "maxProperties": 50, "example": { "timezone": "America/New_York" }, "description": "Object containing metadata key/value pairs associated with the user.", "propertyNames": { "maxLength": 40 } }, "external_id": { "type": [ "string", "null" ], "maxLength": 128, "pattern": "^[\\x00-\\x7F]+$", "description": "The external ID of the user.", "example": "f1ffa2b2-c20b-4d39-be5c-212726e11222" } }, "required": [ "email" ] }, { "oneOf": [ { "type": "object", "not": { "anyOf": [ { "properties": { "password": { "x-exclude-from-lint": true } }, "required": [ "password" ] }, { "properties": { "password_hash": { "x-exclude-from-lint": true } }, "required": [ "password_hash" ] }, { "properties": { "password_hash_type": { "x-exclude-from-lint": true } }, "required": [ "password_hash_type" ] } ] } }, { "type": "object", "properties": { "password": { "type": [ "string", "null" ], "description": "The password to set for the user. Mutually exclusive with `password_hash` and `password_hash_type`.", "example": "strong_password_123!" } }, "required": [ "password" ], "not": { "anyOf": [ { "properties": { "password_hash": { "x-exclude-from-lint": true } }, "required": [ "password_hash" ] }, { "properties": { "password_hash_type": { "x-exclude-from-lint": true } }, "required": [ "password_hash_type" ] } ] } }, { "type": "object", "properties": { "password_hash": { "type": "string", "description": "The hashed password to set for the user. Required with `password_hash_type`. Mutually exclusive with `password`.", "example": "$2a$10$N9qo8uLOickgx2ZMRZoMyeIjZAgcfl7p92ldGxad68LJZdL17lhWy" }, "password_hash_type": { "type": "string", "enum": [ "bcrypt", "firebase-scrypt", "ssha", "scrypt", "pbkdf2", "argon2" ], "description": "The algorithm originally used to hash the password, used when providing a `password_hash`. Required with `password_hash`. Mutually exclusive with `password`.", "example": "bcrypt" } }, "required": [ "password_hash", "password_hash_type" ], "not": { "anyOf": [ { "properties": { "password": { "x-exclude-from-lint": true } }, "required": [ "password" ] } ] } } ] } ], "x-mutually-exclusive-body-groups": { "password": { "optional": true, "variants": { "plaintext": [ "password" ], "hashed": [ "password_hash", "password_hash_type" ] } } } }