{ "$schema": "https://json-structure.org/schema/v0", "title": "Clerk User Structure", "description": "JSON Structure overview of Clerk User entity.", "entity": "User", "fields": [ { "name": "id", "type": "string", "description": "", "format": null, "nullable": false }, { "name": "object", "type": "string", "description": "String representing the object's type. Objects of the same type share the same value.\n", "format": null, "nullable": false }, { "name": "external_id", "type": "string", "description": "", "format": null, "nullable": true }, { "name": "primary_email_address_id", "type": "string", "description": "", "format": null, "nullable": true }, { "name": "primary_phone_number_id", "type": "string", "description": "", "format": null, "nullable": true }, { "name": "primary_web3_wallet_id", "type": "string", "description": "", "format": null, "nullable": true }, { "name": "username", "type": "string", "description": "", "format": null, "nullable": true }, { "name": "first_name", "type": "string", "description": "", "format": null, "nullable": true }, { "name": "last_name", "type": "string", "description": "", "format": null, "nullable": true }, { "name": "locale", "type": "string", "description": "", "format": null, "nullable": true }, { "name": "profile_image_url", "type": "string", "description": "", "format": null, "nullable": false }, { "name": "image_url", "type": "string", "description": "", "format": null, "nullable": false }, { "name": "has_image", "type": "boolean", "description": "", "format": null, "nullable": false }, { "name": "public_metadata", "type": "object", "description": "", "format": null, "nullable": false }, { "name": "private_metadata", "type": "object", "description": "", "format": null, "nullable": true }, { "name": "unsafe_metadata", "type": "object", "description": "", "format": null, "nullable": false }, { "name": "email_addresses", "type": "array", "description": "", "format": null, "nullable": false }, { "name": "phone_numbers", "type": "array", "description": "", "format": null, "nullable": false }, { "name": "web3_wallets", "type": "array", "description": "", "format": null, "nullable": false }, { "name": "passkeys", "type": "array", "description": "", "format": null, "nullable": false }, { "name": "password_enabled", "type": "boolean", "description": "", "format": null, "nullable": false }, { "name": "two_factor_enabled", "type": "boolean", "description": "", "format": null, "nullable": false }, { "name": "totp_enabled", "type": "boolean", "description": "", "format": null, "nullable": false }, { "name": "backup_code_enabled", "type": "boolean", "description": "", "format": null, "nullable": false }, { "name": "mfa_enabled_at", "type": "integer", "description": "Unix timestamp of when MFA was last enabled for this user. It should be noted that this field is not nullified if MFA is disabled.\n", "format": "int64", "nullable": true }, { "name": "mfa_disabled_at", "type": "integer", "description": "Unix timestamp of when MFA was last disabled for this user. It should be noted that this field is not nullified if MFA is enabled again.\n", "format": "int64", "nullable": true }, { "name": "password_last_updated_at", "type": "integer", "description": "Unix timestamp of when the user's password was last updated.\n", "format": "int64", "nullable": true }, { "name": "external_accounts", "type": "array", "description": "", "format": null, "nullable": false }, { "name": "saml_accounts", "type": "array", "description": "", "format": null, "nullable": false }, { "name": "enterprise_accounts", "type": "array", "description": "", "format": null, "nullable": false }, { "name": "organization_memberships", "type": "array", "description": "", "format": null, "nullable": false }, { "name": "last_sign_in_at", "type": "integer", "description": "Unix timestamp of last sign-in.\n", "format": "int64", "nullable": true }, { "name": "banned", "type": "boolean", "description": "Flag to denote whether user is banned or not.\n", "format": null, "nullable": false }, { "name": "locked", "type": "boolean", "description": "Flag to denote whether user is currently locked, i.e. restricted from signing in or not.\n", "format": null, "nullable": false }, { "name": "deprovisioned", "type": "boolean", "description": "Flag to denote whether user has been deprovisioned and is restricted from signing in.\n", "format": null, "nullable": false }, { "name": "lockout_expires_in_seconds", "type": "integer", "description": "The number of seconds remaining until the lockout period expires for a locked user. A null value for a locked user indicates that lockout never expires.\n", "format": "int64", "nullable": true }, { "name": "verification_attempts_remaining", "type": "integer", "description": "The number of verification attempts remaining until the user is locked. Null if account lockout is not enabled. Note: if a user is locked explicitly via the Backend API, they may still have verification attempts remaining.\n", "format": "int64", "nullable": true }, { "name": "updated_at", "type": "integer", "description": "Unix timestamp of last update.\n", "format": "int64", "nullable": false }, { "name": "created_at", "type": "integer", "description": "Unix timestamp of creation.\n", "format": "int64", "nullable": false }, { "name": "delete_self_enabled", "type": "boolean", "description": "If enabled, user can delete themselves via FAPI.\n", "format": null, "nullable": false }, { "name": "create_organization_enabled", "type": "boolean", "description": "If enabled, user can create organizations via FAPI.\n", "format": null, "nullable": false }, { "name": "create_organizations_limit", "type": "integer", "description": "The maximum number of organizations the user can create. 0 means unlimited.\n", "format": null, "nullable": true }, { "name": "last_active_at", "type": "integer", "description": "Unix timestamp of the latest session activity, with day precision.\n", "format": "int64", "nullable": true }, { "name": "legal_accepted_at", "type": "integer", "description": "Unix timestamp of when the user accepted the legal requirements.\n", "format": "int64", "nullable": true }, { "name": "bypass_client_trust", "type": "boolean", "description": "When set to `true`, the user will bypass client trust checks during sign-in.", "format": null, "nullable": false }, { "name": "scim", "type": "object", "description": "", "format": null, "nullable": true } ], "required": [ "id", "object", "username", "first_name", "last_name", "has_image", "primary_email_address_id", "primary_phone_number_id", "primary_web3_wallet_id", "password_enabled", "two_factor_enabled", "totp_enabled", "backup_code_enabled", "email_addresses", "phone_numbers", "web3_wallets", "passkeys", "external_accounts", "saml_accounts", "enterprise_accounts", "public_metadata", "external_id", "last_sign_in_at", "banned", "locked", "lockout_expires_in_seconds", "verification_attempts_remaining", "created_at", "updated_at", "delete_self_enabled", "create_organization_enabled", "last_active_at", "mfa_enabled_at", "mfa_disabled_at", "legal_accepted_at" ] }