glamorous-house-45546
07/17/2025, 10:36 AMbrief-egg-61061
07/17/2025, 10:36 AMbrief-egg-61061
07/17/2025, 10:36 AMjson { "$id": "<https://example.com/registration.schema.json>", "$schema": "<http://json-schema.org/draft-07/schema#>", "title": "Person", "type": "object", "properties": { "traits": { "type": "object", "properties": { "username": { "type": "string", "title": "Username", "<http://ory.sh/kratos|ory.sh/kratos>": { "credentials": { "password": { "identifier": true } } } }, "email": { "type": "string", "format": "email", "title": "E-Mail", "<http://ory.sh/kratos|ory.sh/kratos>": { "credentials": { "password": { "identifier": true } } } }, "name": { "type": "object", "properties": { "first": { "type": "string", "title": "First Name" }, "last": { "type": "string", "title": "Last Name" } }, "required": ["first", "last"] } }, "required": ["username", "email", "name"], "additionalProperties": false } } }
Important notes: - The password field is not defined in the schema; Ory Kratos automatically adds it to the registration and login flows. - For "confirm password," you must implement the check in your frontend before submitting the registration form to Kratos, as the backend does not validate this field natively [[Customize identity schemas](https://www.ory.sh/docs/kratos/manage-identities/customize-identity-schema#examples)]. References: - [Customize identity schemas: Username and email and password](https://www.ory.sh/docs/kratos/manage-identities/customize-identity-schema#username-and-email-and-password) - [Identity schema basics](https://www.ory.sh/docs/kratos/manage-identities/customize-identity-schema) - [Credentials: Username/email/password](https://www.ory.sh/docs/kratos/concepts/credentials/username-email-password)glamorous-house-45546
07/20/2025, 9:39 AMbrief-egg-61061
07/20/2025, 9:39 AMbrief-egg-61061
07/20/2025, 9:39 AMglamorous-house-45546
07/21/2025, 4:16 PMbrief-egg-61061
07/21/2025, 4:16 PMbrief-egg-61061
07/21/2025, 4:16 PMketo.yml
) and loaded at startup. There is no explicit documentation or command in the provided sources that describes adding namespaces dynamically (i.e., at runtime without restarting the service) for self-hosted Ory Keto. The CLI commands related to namespaces, such as keto namespace migrate
, keto namespace migrate legacy
, and keto namespace validate
, are focused on migrating or validating existing namespace definitions, not on dynamic creation or modification at runtime [[keto namespace migrate](https://www.ory.sh/docs/keto/cli/keto-namespace-migrate)], [[keto namespace validate](https://www.ory.sh/docs/keto/cli/keto-namespace-validate)], [[keto namespace](https://www.ory.sh/docs/keto/cli/keto-namespace)]. If you are using Ory Network (the managed service), you can update the permissions configuration (which includes namespaces) using the Ory CLI with commands like ory update permission-config
or ory patch permission-config
. These commands allow you to update or patch the permissions configuration of a project, which includes namespaces, but the documentation does not specify if these changes are applied instantly or require a service reload [[ory update permission-config](https://www.ory.sh/docs/cli/ory-update-permission-config)], [[ory patch permission-config](https://www.ory.sh/docs/cli/ory-patch-permission-config)]. Summary: There is no explicit support documented for dynamically adding namespaces to Ory Keto at runtime in the provided knowledge sources. Namespace changes are generally managed via configuration files and require a reload or restart. For Ory Network, configuration updates are possible via CLI, but real-time dynamic addition is not clearly documented.