openapi: 3.0.3 info: contact: email: hi@ory.sh description: | Documentation for all public and administrative Ory Kratos APIs. Public and administrative APIs are exposed on different ports. Public APIs can face the public internet without any protection while administrative APIs should never be exposed without prior authorization. To protect the administative API port you should use something like Nginx, Ory Oathkeeper, or any other technology capable of authorizing incoming requests. license: name: Apache 2.0 title: Ory Kratos API version: v0.6.3-alpha.1 servers: - url: / tags: - description: All administrative API endpoints exposed at the admin API port. externalDocs: url: https://www.ory.sh/kratos/docs/reference/api name: admin - description: All public API endpoints exposed at the public API port. externalDocs: url: https://www.ory.sh/kratos/docs/reference/api name: public paths: /health/alive: get: description: |- This endpoint returns a HTTP 200 status code when Ory Kratos is accepting incoming HTTP requests. This status does currently not include checks whether the database connection is working. If the service supports TLS Edge Termination, this endpoint does not require the `X-Forwarded-Proto` header to be set. Be aware that if you are running multiple nodes of this service, the health status will never refer to the cluster state, only to a single instance. operationId: isAlive responses: "200": content: application/json: schema: $ref: '#/components/schemas/inline_response_200' description: Ory Kratos is ready to accept connections. "500": content: application/json: schema: $ref: '#/components/schemas/genericError' description: genericError summary: Check HTTP Server Status tags: - admin /health/ready: get: description: |- This endpoint returns a HTTP 200 status code when Ory Kratos is up running and the environment dependencies (e.g. the database) are responsive as well. If the service supports TLS Edge Termination, this endpoint does not require the `X-Forwarded-Proto` header to be set. Be aware that if you are running multiple nodes of Ory Kratos, the health status will never refer to the cluster state, only to a single instance. operationId: isReady responses: "200": content: application/json: schema: $ref: '#/components/schemas/inline_response_200' description: Ory Kratos is ready to accept requests. "503": content: application/json: schema: $ref: '#/components/schemas/inline_response_503' description: Ory Kratos is not yet ready to accept requests. summary: Check HTTP Server and Database Status tags: - admin /identities: get: description: |- Lists all identities. Does not support search at the moment. Learn how identities work in [Ory Kratos' User And Identity Model Documentation](https://www.ory.sh/docs/next/kratos/concepts/identity-user-model). operationId: listIdentities parameters: - description: |- Items per Page This is the number of items per page. explode: true in: query name: per_page required: false schema: default: 100 format: int64 maximum: 500 minimum: 1 type: integer style: form - description: Pagination Page explode: true in: query name: page required: false schema: default: 0 format: int64 minimum: 0 type: integer style: form responses: "200": content: application/json: schema: items: $ref: '#/components/schemas/identity' type: array description: A list of identities. "500": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError summary: List Identities tags: - admin post: description: |- This endpoint creates an identity. It is NOT possible to set an identity's credentials (password, ...) using this method! A way to achieve that will be introduced in the future. Learn how identities work in [Ory Kratos' User And Identity Model Documentation](https://www.ory.sh/docs/next/kratos/concepts/identity-user-model). operationId: createIdentity requestBody: content: application/json: schema: $ref: '#/components/schemas/createIdentity' x-originalParamName: Body responses: "201": content: application/json: schema: $ref: '#/components/schemas/identity' description: A single identity. "400": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError "409": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError "500": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError summary: Create an Identity tags: - admin /identities/{id}: delete: description: |- Calling this endpoint irrecoverably and permanently deletes the identity given its ID. This action can not be undone. This endpoint returns 204 when the identity was deleted or when the identity was not found, in which case it is assumed that is has been deleted already. Learn how identities work in [Ory Kratos' User And Identity Model Documentation](https://www.ory.sh/docs/next/kratos/concepts/identity-user-model). operationId: deleteIdentity parameters: - description: ID is the identity's ID. explode: false in: path name: id required: true schema: type: string style: simple responses: "204": description: Empty responses are sent when, for example, resources are deleted. The HTTP status code for empty responses is typically 201. "404": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError "500": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError summary: Delete an Identity tags: - admin get: description: Learn how identities work in [Ory Kratos' User And Identity Model Documentation](https://www.ory.sh/docs/next/kratos/concepts/identity-user-model). operationId: getIdentity parameters: - description: ID must be set to the ID of identity you want to get explode: false in: path name: id required: true schema: type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/identity' description: A single identity. "404": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError "500": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError summary: Get an Identity tags: - admin put: description: |- This endpoint updates an identity. It is NOT possible to set an identity's credentials (password, ...) using this method! A way to achieve that will be introduced in the future. The full identity payload (except credentials) is expected. This endpoint does not support patching. Learn how identities work in [Ory Kratos' User And Identity Model Documentation](https://www.ory.sh/docs/next/kratos/concepts/identity-user-model). operationId: updateIdentity parameters: - description: ID must be set to the ID of identity you want to update explode: false in: path name: id required: true schema: type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/updateIdentity' x-originalParamName: Body responses: "200": content: application/json: schema: $ref: '#/components/schemas/identity' description: identity "400": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError "404": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError "409": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError "500": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError summary: Update an Identity tags: - admin /metrics/prometheus: get: description: |- ``` metadata: annotations: prometheus.io/port: "4434" prometheus.io/path: "/metrics/prometheus" ``` operationId: prometheus responses: "200": description: Empty responses are sent when, for example, resources are deleted. The HTTP status code for empty responses is typically 201. summary: |- Get snapshot metrics from the Hydra service. If you're using k8s, you can then add annotations to your deployment like so: tags: - admin /recovery/link: post: description: |- This endpoint creates a recovery link which should be given to the user in order for them to recover (or activate) their account. operationId: createRecoveryLink requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateRecoveryLink' x-originalParamName: Body responses: "200": content: application/json: schema: $ref: '#/components/schemas/recoveryLink' description: recoveryLink "400": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError "404": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError "500": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError summary: Create a Recovery Link tags: - admin /schemas/{id}: get: description: Get a Traits Schema Definition operationId: getSchema parameters: - description: ID must be set to the ID of schema you want to get explode: false in: path name: id required: true schema: type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/jsonSchema' description: jsonSchema "404": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError "500": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError tags: - public - admin /self-service/browser/flows/logout: get: description: |- This endpoint initializes a logout flow. > This endpoint is NOT INTENDED for API clients and only works with browsers (Chrome, Firefox, ...). On successful logout, the browser will be redirected (HTTP 302 Found) to the `return_to` parameter of the initial request or fall back to `urls.default_return_to`. More information can be found at [Ory Kratos User Logout Documentation](https://www.ory.sh/docs/next/kratos/self-service/flows/user-logout). operationId: initializeSelfServiceBrowserLogoutFlow responses: "302": description: Empty responses are sent when, for example, resources are deleted. The HTTP status code for empty responses is typically 201. "500": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError summary: Initialize Browser-Based Logout User Flow tags: - public /self-service/errors: get: description: |- This endpoint returns the error associated with a user-facing self service errors. This endpoint supports stub values to help you implement the error UI: `?error=stub:500` - returns a stub 500 (Internal Server Error) error. More information can be found at [Ory Kratos User User Facing Error Documentation](https://www.ory.sh/docs/kratos/self-service/flows/user-facing-errors). operationId: getSelfServiceError parameters: - description: Error is the container's ID explode: true in: query name: error required: true schema: type: string style: form responses: "200": content: application/json: schema: $ref: '#/components/schemas/selfServiceErrorContainer' description: User-facing error response "403": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError "404": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError "500": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError summary: Get User-Facing Self-Service Errors tags: - public - admin /self-service/login: post: description: |- Use this endpoint to complete a login flow. This endpoint behaves differently for API and browser flows. API flows expect `application/json` to be sent in the body and responds with HTTP 200 and a application/json body with the session token on success; HTTP 302 redirect to a fresh login flow if the original flow expired with the appropriate error messages set; HTTP 400 on form validation errors. Browser flows expect `application/x-www-form-urlencoded` to be sent in the body and responds with a HTTP 302 redirect to the post/after login URL or the `return_to` value if it was set and if the login succeeded; a HTTP 302 redirect to the login UI URL with the flow ID containing the validation errors otherwise. More information can be found at [Ory Kratos User Login and User Registration Documentation](https://www.ory.sh/docs/next/kratos/self-service/flows/user-login-user-registration). operationId: submitSelfServiceLoginFlow parameters: - description: |- The Login Flow ID The value for this parameter comes from `flow` URL Query parameter sent to your application (e.g. `/login?flow=abcde`). explode: true in: query name: flow required: true schema: type: string style: form requestBody: content: application/json: schema: $ref: '#/components/schemas/submitSelfServiceLoginFlow' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/submitSelfServiceLoginFlow' x-originalParamName: Body responses: "200": content: application/json: schema: $ref: '#/components/schemas/loginViaApiResponse' description: loginViaApiResponse "302": description: Empty responses are sent when, for example, resources are deleted. The HTTP status code for empty responses is typically 201. "400": content: application/json: schema: $ref: '#/components/schemas/loginFlow' description: loginFlow "500": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError summary: Submit a Login Flow tags: - public /self-service/login/api: get: description: |- This endpoint initiates a login flow for API clients such as mobile devices, smart TVs, and so on. If a valid provided session cookie or session token is provided, a 400 Bad Request error will be returned unless the URL query parameter `?refresh=true` is set. To fetch an existing login flow call `/self-service/login/flows?flow=`. :::warning You MUST NOT use this endpoint in client-side (Single Page Apps, ReactJS, AngularJS) nor server-side (Java Server Pages, NodeJS, PHP, Golang, ...) browser applications. Using this endpoint in these applications will make you vulnerable to a variety of CSRF attacks, including CSRF login attacks. This endpoint MUST ONLY be used in scenarios such as native mobile apps (React Native, Objective C, Swift, Java, ...). ::: More information can be found at [Ory Kratos User Login and User Registration Documentation](https://www.ory.sh/docs/next/kratos/self-service/flows/user-login-user-registration). operationId: initializeSelfServiceLoginForNativeApps parameters: - description: |- Refresh a login session If set to true, this will refresh an existing login session by asking the user to sign in again. This will reset the authenticated_at time of the session. explode: true in: query name: refresh required: false schema: type: boolean style: form responses: "200": content: application/json: schema: $ref: '#/components/schemas/loginFlow' description: loginFlow "400": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError "500": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError summary: Initialize Login Flow for Native Apps and API clients tags: - public /self-service/login/browser: get: description: |- This endpoint initializes a browser-based user login flow. Once initialized, the browser will be redirected to `selfservice.flows.login.ui_url` with the flow ID set as the query parameter `?flow=`. If a valid user session exists already, the browser will be redirected to `urls.default_redirect_url` unless the query parameter `?refresh=true` was set. This endpoint is NOT INTENDED for API clients and only works with browsers (Chrome, Firefox, ...). More information can be found at [Ory Kratos User Login and User Registration Documentation](https://www.ory.sh/docs/next/kratos/self-service/flows/user-login-user-registration). operationId: initializeSelfServiceLoginForBrowsers parameters: - description: |- Refresh a login session If set to true, this will refresh an existing login session by asking the user to sign in again. This will reset the authenticated_at time of the session. explode: true in: query name: refresh required: false schema: type: boolean style: form responses: "302": description: Empty responses are sent when, for example, resources are deleted. The HTTP status code for empty responses is typically 201. "500": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError summary: Initialize Login Flow for browsers tags: - public /self-service/login/flows: get: description: |- This endpoint returns a login flow's context with, for example, error details and other information. More information can be found at [Ory Kratos User Login and User Registration Documentation](https://www.ory.sh/docs/next/kratos/self-service/flows/user-login-user-registration). operationId: getSelfServiceLoginFlow parameters: - description: |- The Login Flow ID The value for this parameter comes from `flow` URL Query parameter sent to your application (e.g. `/login?flow=abcde`). explode: true in: query name: id required: true schema: type: string style: form responses: "200": content: application/json: schema: $ref: '#/components/schemas/loginFlow' description: loginFlow "403": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError "404": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError "410": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError "500": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError summary: Get Login Flow tags: - public - admin /self-service/recovery: post: description: |- Use this endpoint to complete a recovery flow. This endpoint behaves differently for API and browser flows and has several states: `choose_method` expects `flow` (in the URL query) and `email` (in the body) to be sent and works with API- and Browser-initiated flows. For API clients it either returns a HTTP 200 OK when the form is valid and HTTP 400 OK when the form is invalid and a HTTP 302 Found redirect with a fresh recovery flow if the flow was otherwise invalid (e.g. expired). For Browser clients it returns a HTTP 302 Found redirect to the Recovery UI URL with the Recovery Flow ID appended. `sent_email` is the success state after `choose_method` for the `link` method and allows the user to request another recovery email. It works for both API and Browser-initiated flows and returns the same responses as the flow in `choose_method` state. `passed_challenge` expects a `token` to be sent in the URL query and given the nature of the flow ("sending a recovery link") does not have any API capabilities. The server responds with a HTTP 302 Found redirect either to the Settings UI URL (if the link was valid) and instructs the user to update their password, or a redirect to the Recover UI URL with a new Recovery Flow ID which contains an error message that the recovery link was invalid. More information can be found at [Ory Kratos Account Recovery Documentation](../self-service/flows/account-recovery.mdx). operationId: submitSelfServiceRecoveryFlow parameters: - description: |- The Registration Flow ID The value for this parameter comes from `flow` URL Query parameter sent to your application (e.g. `/registration?flow=abcde`). explode: true in: query name: flow required: true schema: type: string style: form requestBody: content: application/json: schema: $ref: '#/components/schemas/submitSelfServiceRecoveryFlow' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/submitSelfServiceRecoveryFlow' x-originalParamName: Body responses: "302": description: Empty responses are sent when, for example, resources are deleted. The HTTP status code for empty responses is typically 201. "400": content: application/json: schema: $ref: '#/components/schemas/recoveryFlow' description: recoveryFlow "500": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError summary: Complete Recovery Flow tags: - public /self-service/recovery/api: get: description: |- This endpoint initiates a recovery flow for API clients such as mobile devices, smart TVs, and so on. If a valid provided session cookie or session token is provided, a 400 Bad Request error. To fetch an existing recovery flow call `/self-service/recovery/flows?flow=`. :::warning You MUST NOT use this endpoint in client-side (Single Page Apps, ReactJS, AngularJS) nor server-side (Java Server Pages, NodeJS, PHP, Golang, ...) browser applications. Using this endpoint in these applications will make you vulnerable to a variety of CSRF attacks. This endpoint MUST ONLY be used in scenarios such as native mobile apps (React Native, Objective C, Swift, Java, ...). ::: More information can be found at [Ory Kratos Account Recovery Documentation](../self-service/flows/account-recovery.mdx). operationId: initializeSelfServiceRecoveryForNativeApps responses: "200": content: application/json: schema: $ref: '#/components/schemas/recoveryFlow' description: recoveryFlow "400": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError "500": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError summary: Initialize Recovery Flow for Native Apps and API clients tags: - public /self-service/recovery/browser: get: description: |- This endpoint initializes a browser-based account recovery flow. Once initialized, the browser will be redirected to `selfservice.flows.recovery.ui_url` with the flow ID set as the query parameter `?flow=`. If a valid user session exists, the browser is returned to the configured return URL. This endpoint is NOT INTENDED for API clients and only works with browsers (Chrome, Firefox, ...). More information can be found at [Ory Kratos Account Recovery Documentation](../self-service/flows/account-recovery.mdx). operationId: initializeSelfServiceRecoveryForBrowsers responses: "302": description: Empty responses are sent when, for example, resources are deleted. The HTTP status code for empty responses is typically 201. "500": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError summary: Initialize Recovery Flow for Browser Clients tags: - public /self-service/recovery/flows: get: description: |- This endpoint returns a recovery flow's context with, for example, error details and other information. More information can be found at [Ory Kratos Account Recovery Documentation](../self-service/flows/account-recovery.mdx). operationId: getSelfServiceRecoveryFlow parameters: - description: |- The Flow ID The value for this parameter comes from `request` URL Query parameter sent to your application (e.g. `/recovery?flow=abcde`). explode: true in: query name: id required: true schema: type: string style: form responses: "200": content: application/json: schema: $ref: '#/components/schemas/recoveryFlow' description: recoveryFlow "404": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError "410": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError "500": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError summary: Get information about a recovery flow tags: - public - admin /self-service/recovery/methods/link: post: description: |- Use this endpoint to complete a recovery flow using the link method. This endpoint behaves differently for API and browser flows and has several states: `choose_method` expects `flow` (in the URL query) and `email` (in the body) to be sent and works with API- and Browser-initiated flows. For API clients it either returns a HTTP 200 OK when the form is valid and HTTP 400 OK when the form is invalid and a HTTP 302 Found redirect with a fresh recovery flow if the flow was otherwise invalid (e.g. expired). For Browser clients it returns a HTTP 302 Found redirect to the Recovery UI URL with the Recovery Flow ID appended. `sent_email` is the success state after `choose_method` and allows the user to request another recovery email. It works for both API and Browser-initiated flows and returns the same responses as the flow in `choose_method` state. `passed_challenge` expects a `token` to be sent in the URL query and given the nature of the flow ("sending a recovery link") does not have any API capabilities. The server responds with a HTTP 302 Found redirect either to the Settings UI URL (if the link was valid) and instructs the user to update their password, or a redirect to the Recover UI URL with a new Recovery Flow ID which contains an error message that the recovery link was invalid. More information can be found at [Ory Kratos Account Recovery Documentation](../self-service/flows/account-recovery.mdx). operationId: submitSelfServiceRecoveryFlowWithLinkMethod parameters: - description: |- Recovery Token The recovery token which completes the recovery request. If the token is invalid (e.g. expired) an error will be shown to the end-user. explode: true in: query name: token required: false schema: type: string style: form - description: |- The Flow ID format: uuid explode: true in: query name: flow required: false schema: type: string style: form requestBody: content: application/json: schema: $ref: '#/components/schemas/submitSelfServiceRecoveryFlowWithLinkMethod' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/submitSelfServiceRecoveryFlowWithLinkMethod' x-originalParamName: Body responses: "302": description: Empty responses are sent when, for example, resources are deleted. The HTTP status code for empty responses is typically 201. "400": content: application/json: schema: $ref: '#/components/schemas/recoveryFlow' description: recoveryFlow "500": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError summary: Complete Recovery Flow with Link Method tags: - public /self-service/registration: post: description: |- Use this endpoint to complete a registration flow by sending an identity's traits and password. This endpoint behaves differently for API and browser flows. API flows expect `application/json` to be sent in the body and respond with HTTP 200 and a application/json body with the created identity success - if the session hook is configured the `session` and `session_token` will also be included; HTTP 302 redirect to a fresh registration flow if the original flow expired with the appropriate error messages set; HTTP 400 on form validation errors. Browser flows expect `application/x-www-form-urlencoded` to be sent in the body and responds with a HTTP 302 redirect to the post/after registration URL or the `return_to` value if it was set and if the registration succeeded; a HTTP 302 redirect to the registration UI URL with the flow ID containing the validation errors otherwise. More information can be found at [Ory Kratos User Login and User Registration Documentation](https://www.ory.sh/docs/next/kratos/self-service/flows/user-login-user-registration). operationId: submitSelfServiceRegistrationFlow parameters: - description: |- The Registration Flow ID The value for this parameter comes from `flow` URL Query parameter sent to your application (e.g. `/registration?flow=abcde`). explode: true in: query name: flow required: true schema: type: string style: form requestBody: content: application/json: schema: $ref: '#/components/schemas/submitSelfServiceRegistrationFlow' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/submitSelfServiceRegistrationFlow' x-originalParamName: Body responses: "200": content: application/json: schema: $ref: '#/components/schemas/registrationViaApiResponse' description: registrationViaApiResponse "302": description: Empty responses are sent when, for example, resources are deleted. The HTTP status code for empty responses is typically 201. "400": content: application/json: schema: $ref: '#/components/schemas/registrationFlow' description: registrationFlow "500": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError summary: Submit a Registration Flow tags: - public /self-service/registration/api: get: description: |- This endpoint initiates a registration flow for API clients such as mobile devices, smart TVs, and so on. If a valid provided session cookie or session token is provided, a 400 Bad Request error will be returned unless the URL query parameter `?refresh=true` is set. To fetch an existing registration flow call `/self-service/registration/flows?flow=`. :::warning You MUST NOT use this endpoint in client-side (Single Page Apps, ReactJS, AngularJS) nor server-side (Java Server Pages, NodeJS, PHP, Golang, ...) browser applications. Using this endpoint in these applications will make you vulnerable to a variety of CSRF attacks. This endpoint MUST ONLY be used in scenarios such as native mobile apps (React Native, Objective C, Swift, Java, ...). ::: More information can be found at [Ory Kratos User Login and User Registration Documentation](https://www.ory.sh/docs/next/kratos/self-service/flows/user-login-user-registration). operationId: initializeSelfServiceRegistrationForNativeApps responses: "200": content: application/json: schema: $ref: '#/components/schemas/registrationFlow' description: registrationFlow "400": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError "500": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError summary: Initialize Registration Flow for Native Apps and API clients tags: - public /self-service/registration/browser: get: description: |- This endpoint initializes a browser-based user registration flow. Once initialized, the browser will be redirected to `selfservice.flows.registration.ui_url` with the flow ID set as the query parameter `?flow=`. If a valid user session exists already, the browser will be redirected to `urls.default_redirect_url` unless the query parameter `?refresh=true` was set. :::note This endpoint is NOT INTENDED for API clients and only works with browsers (Chrome, Firefox, ...). ::: More information can be found at [Ory Kratos User Login and User Registration Documentation](https://www.ory.sh/docs/next/kratos/self-service/flows/user-login-user-registration). operationId: initializeSelfServiceRegistrationForBrowsers responses: "302": description: Empty responses are sent when, for example, resources are deleted. The HTTP status code for empty responses is typically 201. "500": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError summary: Initialize Registration Flow for browsers tags: - public /self-service/registration/flows: get: description: |- This endpoint returns a registration flow's context with, for example, error details and other information. More information can be found at [Ory Kratos User Login and User Registration Documentation](https://www.ory.sh/docs/next/kratos/self-service/flows/user-login-user-registration). operationId: getSelfServiceRegistrationFlow parameters: - description: |- The Registration Flow ID The value for this parameter comes from `flow` URL Query parameter sent to your application (e.g. `/registration?flow=abcde`). explode: true in: query name: id required: true schema: type: string style: form responses: "200": content: application/json: schema: $ref: '#/components/schemas/registrationFlow' description: registrationFlow "403": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError "404": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError "410": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError "500": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError summary: Get Registration Flow tags: - public - admin /self-service/settings: post: description: |- Use this endpoint to complete a settings flow by sending an identity's updated password. This endpoint behaves differently for API and browser flows. API-initiated flows expect `application/json` to be sent in the body and respond with HTTP 200 and an application/json body with the session token on success; HTTP 302 redirect to a fresh settings flow if the original flow expired with the appropriate error messages set; HTTP 400 on form validation errors. HTTP 401 when the endpoint is called without a valid session token. HTTP 403 when `selfservice.flows.settings.privileged_session_max_age` was reached. Implies that the user needs to re-authenticate. Browser flows expect `application/x-www-form-urlencoded` to be sent in the body and responds with a HTTP 302 redirect to the post/after settings URL or the `return_to` value if it was set and if the flow succeeded; a HTTP 302 redirect to the Settings UI URL with the flow ID containing the validation errors otherwise. a HTTP 302 redirect to the login endpoint when `selfservice.flows.settings.privileged_session_max_age` was reached. More information can be found at [Ory Kratos User Settings & Profile Management Documentation](../self-service/flows/user-settings). operationId: submitSelfServiceSettingsFlow parameters: - description: |- The Settings Flow ID The value for this parameter comes from `flow` URL Query parameter sent to your application (e.g. `/settings?flow=abcde`). explode: true in: query name: flow required: true schema: type: string style: form - description: The Session Token of the Identity performing the settings flow. explode: false in: header name: X-Session-Token required: false schema: type: string style: simple requestBody: content: application/json: schema: $ref: '#/components/schemas/submitSelfServiceSettingsFlow' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/submitSelfServiceSettingsFlow' x-originalParamName: Body responses: "200": content: application/json: schema: $ref: '#/components/schemas/settingsViaApiResponse' description: settingsViaApiResponse "302": description: Empty responses are sent when, for example, resources are deleted. The HTTP status code for empty responses is typically 201. "400": content: application/json: schema: $ref: '#/components/schemas/settingsFlow' description: settingsFlow "401": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError "403": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError "500": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError security: - sessionToken: [] summary: Complete Settings Flow tags: - public /self-service/settings/api: get: description: |- This endpoint initiates a settings flow for API clients such as mobile devices, smart TVs, and so on. You must provide a valid Ory Kratos Session Token for this endpoint to respond with HTTP 200 OK. To fetch an existing settings flow call `/self-service/settings/flows?flow=`. :::warning You MUST NOT use this endpoint in client-side (Single Page Apps, ReactJS, AngularJS) nor server-side (Java Server Pages, NodeJS, PHP, Golang, ...) browser applications. Using this endpoint in these applications will make you vulnerable to a variety of CSRF attacks. This endpoint MUST ONLY be used in scenarios such as native mobile apps (React Native, Objective C, Swift, Java, ...). ::: More information can be found at [Ory Kratos User Settings & Profile Management Documentation](../self-service/flows/user-settings). operationId: initializeSelfServiceSettingsForNativeApps parameters: - description: The Session Token of the Identity performing the settings flow. explode: false in: header name: X-Session-Token required: false schema: type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/settingsFlow' description: settingsFlow "400": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError "500": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError security: - sessionToken: [] summary: Initialize Settings Flow for Native Apps and API clients tags: - public /self-service/settings/browser: get: description: |- This endpoint initializes a browser-based user settings flow. Once initialized, the browser will be redirected to `selfservice.flows.settings.ui_url` with the flow ID set as the query parameter `?flow=`. If no valid Ory Kratos Session Cookie is included in the request, a login flow will be initialized. :::note This endpoint is NOT INTENDED for API clients and only works with browsers (Chrome, Firefox, ...). ::: More information can be found at [Ory Kratos User Settings & Profile Management Documentation](../self-service/flows/user-settings). operationId: initializeSelfServiceSettingsForBrowsers responses: "302": description: Empty responses are sent when, for example, resources are deleted. The HTTP status code for empty responses is typically 201. "500": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError security: - sessionToken: [] summary: Initialize Settings Flow for Browsers tags: - public /self-service/settings/flows: get: description: |- When accessing this endpoint through Ory Kratos' Public API you must ensure that either the Ory Kratos Session Cookie or the Ory Kratos Session Token are set. The public endpoint does not return 404 status codes but instead 403 or 500 to improve data privacy. You can access this endpoint without credentials when using Ory Kratos' Admin API. More information can be found at [Ory Kratos User Settings & Profile Management Documentation](../self-service/flows/user-settings). operationId: getSelfServiceSettingsFlow parameters: - description: |- ID is the Settings Flow ID The value for this parameter comes from `flow` URL Query parameter sent to your application (e.g. `/settings?flow=abcde`). explode: true in: query name: id required: true schema: type: string style: form - description: The Session Token of the Identity performing the settings flow. explode: false in: header name: X-Session-Token required: false schema: type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/settingsFlow' description: settingsFlow "403": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError "404": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError "410": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError "500": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError security: - sessionToken: [] summary: Get Settings Flow tags: - public - admin /self-service/verification/api: get: description: |- This endpoint initiates a verification flow for API clients such as mobile devices, smart TVs, and so on. To fetch an existing verification flow call `/self-service/verification/flows?flow=`. :::warning You MUST NOT use this endpoint in client-side (Single Page Apps, ReactJS, AngularJS) nor server-side (Java Server Pages, NodeJS, PHP, Golang, ...) browser applications. Using this endpoint in these applications will make you vulnerable to a variety of CSRF attacks. This endpoint MUST ONLY be used in scenarios such as native mobile apps (React Native, Objective C, Swift, Java, ...). ::: More information can be found at [Ory Kratos Email and Phone Verification Documentation](https://www.ory.sh/docs/kratos/selfservice/flows/verify-email-account-activation). operationId: initializeSelfServiceVerificationForNativeApps responses: "200": content: application/json: schema: $ref: '#/components/schemas/verificationFlow' description: verificationFlow "400": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError "500": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError summary: Initialize Verification Flow for Native Apps and API clients tags: - public /self-service/verification/browser: get: description: |- This endpoint initializes a browser-based account verification flow. Once initialized, the browser will be redirected to `selfservice.flows.verification.ui_url` with the flow ID set as the query parameter `?flow=`. This endpoint is NOT INTENDED for API clients and only works with browsers (Chrome, Firefox, ...). More information can be found at [Ory Kratos Email and Phone Verification Documentation](https://www.ory.sh/docs/kratos/selfservice/flows/verify-email-account-activation). operationId: initializeSelfServiceVerificationForBrowsers responses: "302": description: Empty responses are sent when, for example, resources are deleted. The HTTP status code for empty responses is typically 201. "500": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError summary: Initialize Verification Flow for Browser Clients tags: - public /self-service/verification/flows: get: description: |- This endpoint returns a verification flow's context with, for example, error details and other information. More information can be found at [Ory Kratos Email and Phone Verification Documentation](https://www.ory.sh/docs/kratos/selfservice/flows/verify-email-account-activation). operationId: getSelfServiceVerificationFlow parameters: - description: |- The Flow ID The value for this parameter comes from `request` URL Query parameter sent to your application (e.g. `/verification?flow=abcde`). explode: true in: query name: id required: true schema: type: string style: form responses: "200": content: application/json: schema: $ref: '#/components/schemas/verificationFlow' description: verificationFlow "403": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError "404": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError "500": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError summary: Get Verification Flow tags: - public - admin /self-service/verification/methods/link: post: description: |- Use this endpoint to complete a verification flow. This endpoint behaves differently for API and browser flows and has several states: `choose_method` expects `flow` (in the URL query) and `email` (in the body) to be sent and works with API- and Browser-initiated flows. For API clients it either returns a HTTP 200 OK when the form is valid and HTTP 400 OK when the form is invalid and a HTTP 302 Found redirect with a fresh verification flow if the flow was otherwise invalid (e.g. expired). For Browser clients it returns a HTTP 302 Found redirect to the Verification UI URL with the Verification Flow ID appended. `sent_email` is the success state after `choose_method` when using the `link` method and allows the user to request another verification email. It works for both API and Browser-initiated flows and returns the same responses as the flow in `choose_method` state. `passed_challenge` expects a `token` to be sent in the URL query and given the nature of the flow ("sending a verification link") does not have any API capabilities. The server responds with a HTTP 302 Found redirect either to the Settings UI URL (if the link was valid) and instructs the user to update their password, or a redirect to the Verification UI URL with a new Verification Flow ID which contains an error message that the verification link was invalid. More information can be found at [Ory Kratos Email and Phone Verification Documentation](https://www.ory.sh/docs/kratos/selfservice/flows/verify-email-account-activation). operationId: submitSelfServiceVerificationFlow parameters: - description: |- The Registration Flow ID The value for this parameter comes from `flow` URL Query parameter sent to your application (e.g. `/registration?flow=abcde`). explode: true in: query name: flow required: true schema: type: string style: form requestBody: content: application/json: schema: $ref: '#/components/schemas/submitSelfServiceRecoveryFlow' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/submitSelfServiceRecoveryFlow' x-originalParamName: Body responses: "302": description: Empty responses are sent when, for example, resources are deleted. The HTTP status code for empty responses is typically 201. "400": content: application/json: schema: $ref: '#/components/schemas/verificationFlow' description: verificationFlow "500": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError summary: Complete Verification Flow tags: - public /sessions: delete: description: |- Use this endpoint to revoke a session using its token. This endpoint is particularly useful for API clients such as mobile apps to log the user out of the system and invalidate the session. This endpoint does not remove any HTTP Cookies - use the Browser-Based Self-Service Logout Flow instead. operationId: revokeSession requestBody: content: application/json: schema: $ref: '#/components/schemas/revokeSession' required: true x-originalParamName: Body responses: "204": description: Empty responses are sent when, for example, resources are deleted. The HTTP status code for empty responses is typically 201. "400": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError "500": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError summary: Initialize Logout Flow for API Clients - Revoke a Session tags: - public /sessions/whoami: get: description: |- Uses the HTTP Headers in the GET request to determine (e.g. by using checking the cookies) who is authenticated. Returns a session object in the body or 401 if the credentials are invalid or no credentials were sent. Additionally when the request it successful it adds the user ID to the 'X-Kratos-Authenticated-Identity-Id' header in the response. This endpoint is useful for: AJAX calls. Remember to send credentials and set up CORS correctly! Reverse proxies and API Gateways Server-side calls - use the `X-Session-Token` header! operationId: toSession parameters: - explode: false in: header name: X-Session-Token required: false schema: type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/session' description: session "401": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError "500": content: application/json: schema: $ref: '#/components/schemas/jsonError' description: jsonError security: - sessionCookie: [] summary: Check Who the Current HTTP Session Belongs To tags: - public /version: get: description: |- This endpoint returns the version of Ory Kratos. If the service supports TLS Edge Termination, this endpoint does not require the `X-Forwarded-Proto` header to be set. Be aware that if you are running multiple nodes of this service, the version will never refer to the cluster state, only to a single instance. operationId: getVersion responses: "200": content: application/json: schema: $ref: '#/components/schemas/inline_response_200_1' description: Returns the Ory Kratos version. summary: Return Running Software Version. tags: - admin components: responses: emptyResponse: description: Empty responses are sent when, for example, resources are deleted. The HTTP status code for empty responses is typically 201. identityList: content: application/json: schema: items: $ref: '#/components/schemas/identity' type: array description: A list of identities. identityResponse: content: application/json: schema: $ref: '#/components/schemas/identity' description: A single identity. selfServiceErrorResponse: content: application/json: schema: $ref: '#/components/schemas/selfServiceErrorContainer' description: User-facing error response schemas: AuthenticateOKBody: description: AuthenticateOKBody authenticate o k body properties: IdentityToken: description: An opaque token used to authenticate a user after a successful login type: string Status: description: The status of the authentication type: string required: - IdentityToken - Status type: object ContainerChangeResponseItem: description: ContainerChangeResponseItem change item in response to ContainerChanges operation properties: Kind: description: Kind of change format: uint8 type: integer Path: description: Path to file that has changed type: string required: - Kind - Path type: object ContainerCreateCreatedBody: description: ContainerCreateCreatedBody OK response to ContainerCreate operation properties: Id: description: The ID of the created container type: string Warnings: description: Warnings encountered when creating the container items: type: string type: array required: - Id - Warnings type: object ContainerTopOKBody: description: ContainerTopOKBody OK response to ContainerTop operation properties: Processes: description: Each process running in the container, where each is process is an array of values corresponding to the titles items: items: type: string type: array type: array Titles: description: The ps column titles items: type: string type: array required: - Processes - Titles type: object ContainerUpdateOKBody: description: ContainerUpdateOKBody OK response to ContainerUpdate operation properties: Warnings: description: warnings items: type: string type: array required: - Warnings type: object ContainerWaitOKBody: description: ContainerWaitOKBody OK response to ContainerWait operation properties: Error: $ref: '#/components/schemas/ContainerWaitOKBodyError' StatusCode: description: Exit code of the container format: int64 type: integer required: - Error - StatusCode type: object ContainerWaitOKBodyError: description: ContainerWaitOKBodyError container waiting error, if any properties: Message: description: Details of an error type: string type: object CreateRecoveryLink: example: identity_id: identity_id expires_in: expires_in properties: expires_in: description: |- Link Expires In The recovery link will expire at that point in time. Defaults to the configuration value of `selfservice.flows.recovery.request_lifespan`. pattern: ^[0-9]+(ns|us|ms|s|m|h)$ type: string identity_id: format: uuid4 type: string required: - identity_id type: object CredentialsType: description: and so on. title: CredentialsType represents several different credential types, like password credentials, passwordless credentials, type: string ErrorResponse: properties: message: description: The error message. type: string required: - message title: ErrorResponse Represents an error. type: object GraphDriverData: properties: Data: additionalProperties: type: string description: data type: object Name: description: name type: string required: - Data - Name title: GraphDriverData Information about a container's graph driver. type: object ID: format: int64 type: integer IdResponse: description: IDResponse Response to an API call that returns just an Id properties: Id: description: The id of the newly created object. type: string required: - Id type: object ImageDeleteResponseItem: description: ImageDeleteResponseItem image delete response item properties: Deleted: description: The image ID of an image that was deleted type: string Untagged: description: The image ID of an image that was untagged type: string type: object ImageSummary: description: ImageSummary image summary properties: Containers: description: containers format: int64 type: integer Created: description: created format: int64 type: integer Id: description: Id type: string Labels: additionalProperties: type: string description: labels type: object ParentId: description: parent Id type: string RepoDigests: description: repo digests items: type: string type: array RepoTags: description: repo tags items: type: string type: array SharedSize: description: shared size format: int64 type: integer Size: description: size format: int64 type: integer VirtualSize: description: virtual size format: int64 type: integer required: - Containers - Created - Id - Labels - ParentId - RepoDigests - RepoTags - SharedSize - Size - VirtualSize type: object JSONRawMessage: title: JSONRawMessage represents a json.RawMessage that works well with JSON, SQL, and Swagger. type: object Meta: description: |- This might include a label and other information that can optionally be used to render UIs. example: label: context: '{}' id: 0 text: text type: type properties: label: $ref: '#/components/schemas/uiText' title: A Node's Meta Information type: object NullTime: format: date-time title: NullTime implements sql.NullTime functionality. type: string Plugin: description: Plugin A plugin for the Engine API properties: Config: $ref: '#/components/schemas/PluginConfig' Enabled: description: True if the plugin is running. False if the plugin is not running, only installed. type: boolean Id: description: Id type: string Name: description: name type: string PluginReference: description: plugin remote reference used to push/pull the plugin type: string Settings: $ref: '#/components/schemas/PluginSettings' required: - Config - Enabled - Name - Settings type: object PluginConfig: properties: Args: $ref: '#/components/schemas/PluginConfigArgs' Description: description: description type: string DockerVersion: description: Docker Version used to create the plugin type: string Documentation: description: documentation type: string Entrypoint: description: entrypoint items: type: string type: array Env: description: env items: $ref: '#/components/schemas/PluginEnv' type: array Interface: $ref: '#/components/schemas/PluginConfigInterface' IpcHost: description: ipc host type: boolean Linux: $ref: '#/components/schemas/PluginConfigLinux' Mounts: description: mounts items: $ref: '#/components/schemas/PluginMount' type: array Network: $ref: '#/components/schemas/PluginConfigNetwork' PidHost: description: pid host type: boolean PropagatedMount: description: propagated mount type: string User: $ref: '#/components/schemas/PluginConfigUser' WorkDir: description: work dir type: string rootfs: $ref: '#/components/schemas/PluginConfigRootfs' required: - Args - Description - Documentation - Entrypoint - Env - Interface - IpcHost - Linux - Mounts - Network - PidHost - PropagatedMount - WorkDir title: PluginConfig The config of a plugin. type: object PluginConfigArgs: description: PluginConfigArgs plugin config args properties: Description: description: description type: string Name: description: name type: string Settable: description: settable items: type: string type: array Value: description: value items: type: string type: array required: - Description - Name - Settable - Value type: object PluginConfigInterface: description: PluginConfigInterface The interface between Docker and the plugin properties: Socket: description: socket type: string Types: description: types items: $ref: '#/components/schemas/PluginInterfaceType' type: array required: - Socket - Types type: object PluginConfigLinux: description: PluginConfigLinux plugin config linux properties: AllowAllDevices: description: allow all devices type: boolean Capabilities: description: capabilities items: type: string type: array Devices: description: devices items: $ref: '#/components/schemas/PluginDevice' type: array required: - AllowAllDevices - Capabilities - Devices type: object PluginConfigNetwork: description: PluginConfigNetwork plugin config network properties: Type: description: type type: string required: - Type type: object PluginConfigRootfs: description: PluginConfigRootfs plugin config rootfs properties: diff_ids: description: diff ids items: type: string type: array type: description: type type: string type: object PluginConfigUser: description: PluginConfigUser plugin config user properties: GID: description: g ID format: uint32 type: integer UID: description: UID format: uint32 type: integer type: object PluginDevice: description: PluginDevice plugin device properties: Description: description: description type: string Name: description: name type: string Path: description: path type: string Settable: description: settable items: type: string type: array required: - Description - Name - Path - Settable type: object PluginEnv: description: PluginEnv plugin env properties: Description: description: description type: string Name: description: name type: string Settable: description: settable items: type: string type: array Value: description: value type: string required: - Description - Name - Settable - Value type: object PluginInterfaceType: description: PluginInterfaceType plugin interface type properties: Capability: description: capability type: string Prefix: description: prefix type: string Version: description: version type: string required: - Capability - Prefix - Version type: object PluginMount: description: PluginMount plugin mount properties: Description: description: description type: string Destination: description: destination type: string Name: description: name type: string Options: description: options items: type: string type: array Settable: description: settable items: type: string type: array Source: description: source type: string Type: description: type type: string required: - Description - Destination - Name - Options - Settable - Source - Type type: object PluginSettings: properties: Args: description: args items: type: string type: array Devices: description: devices items: $ref: '#/components/schemas/PluginDevice' type: array Env: description: env items: type: string type: array Mounts: description: mounts items: $ref: '#/components/schemas/PluginMount' type: array required: - Args - Devices - Env - Mounts title: PluginSettings Settings that can be modified by users. type: object Port: description: Port An open port on a container properties: IP: description: IP type: string PrivatePort: description: Port on the container format: uint16 type: integer PublicPort: description: Port exposed on the host format: uint16 type: integer Type: description: type type: string required: - PrivatePort - Type type: object RecoveryAddress: example: updated_at: 2000-01-23T04:56:07.000+00:00 created_at: 2000-01-23T04:56:07.000+00:00 id: id value: value via: via properties: created_at: description: CreatedAt is a helper struct field for gobuffalo.pop. format: date-time type: string id: format: uuid4 type: string updated_at: description: UpdatedAt is a helper struct field for gobuffalo.pop. format: date-time type: string value: type: string via: type: string required: - id - value - via type: object RecoveryAddressType: type: string ServiceUpdateResponse: description: ServiceUpdateResponse service update response properties: Warnings: description: Optional warning messages items: type: string type: array type: object State: type: string Type: description: The flow type can either be `api` or `browser`. title: Type is the flow type. type: string UUID: format: uuid4 type: string Volume: description: Volume volume properties: CreatedAt: description: Date/Time the volume was created. type: string Driver: description: Name of the volume driver used by the volume. type: string Labels: additionalProperties: type: string description: User-defined key/value metadata. type: object Mountpoint: description: Mount path of the volume on the host. type: string Name: description: Name of the volume. type: string Options: additionalProperties: type: string description: The driver specific options used when creating the volume. type: object Scope: description: The level at which the volume exists. Either `global` for cluster-wide, or `local` for machine level. type: string Status: additionalProperties: true description: |- Low-level details about the volume, provided by the volume driver. Details are returned as a map with key/value pairs: `{"key":"value","key2":"value2"}`. The `Status` field is optional, and is omitted if the volume driver does not support this feature. type: object UsageData: $ref: '#/components/schemas/VolumeUsageData' required: - Driver - Labels - Mountpoint - Name - Options - Scope type: object VolumeUsageData: description: |- VolumeUsageData Usage details about the volume. This information is used by the `GET /system/df` endpoint, and omitted in other endpoints. properties: RefCount: description: |- The number of containers referencing this volume. This field is set to `-1` if the reference-count is not available. format: int64 type: integer Size: description: |- Amount of disk space used by the volume (in bytes). This information is only available for volumes created with the `"local"` volume driver. For volumes created with other volume drivers, this field is set to `-1` ("not available") format: int64 type: integer required: - RefCount - Size type: object createIdentity: properties: schema_id: description: SchemaID is the ID of the JSON Schema to be used for validating the identity's traits. type: string traits: description: |- Traits represent an identity's traits. The identity is able to create, modify, and delete traits in a self-service manner. The input will always be validated against the JSON Schema defined in `schema_url`. type: object required: - schema_id - traits type: object genericError: properties: code: description: The status code example: 404 format: int64 type: integer debug: description: |- Debug information This field is often not exposed to protect against leaking sensitive information. example: SQL field "foo" is not a bool. type: string details: additionalProperties: true description: Further error details type: object message: description: |- Error message The error's message. example: The resource could not be found type: string reason: description: A human-readable reason for the error example: User with ID 1234 does not exist. type: string request: description: |- The request ID The request ID is often exposed internally in order to trace errors across service architectures. This is often a UUID. example: d7ef54b1-ec15-46e6-bccb-524b82c035e6 type: string status: description: The status description example: Not Found type: string required: - message type: object healthNotReadyStatus: properties: errors: additionalProperties: type: string description: Errors contains a list of errors that caused the not ready status. type: object type: object healthStatus: properties: status: description: Status always contains "ok". type: string type: object identity: description: |- An identity can be a real human, a service, an IoT device - everything that can be described as an "actor" in a system. example: recovery_addresses: - updated_at: 2000-01-23T04:56:07.000+00:00 created_at: 2000-01-23T04:56:07.000+00:00 id: id value: value via: via - updated_at: 2000-01-23T04:56:07.000+00:00 created_at: 2000-01-23T04:56:07.000+00:00 id: id value: value via: via traits: "" updated_at: 2000-01-23T04:56:07.000+00:00 verifiable_addresses: - updated_at: 2014-01-01T23:28:56.782Z verified_at: 2000-01-23T04:56:07.000+00:00 verified: true created_at: 2014-01-01T23:28:56.782Z id: id value: value status: status via: via - updated_at: 2014-01-01T23:28:56.782Z verified_at: 2000-01-23T04:56:07.000+00:00 verified: true created_at: 2014-01-01T23:28:56.782Z id: id value: value status: status via: via schema_id: schema_id created_at: 2000-01-23T04:56:07.000+00:00 schema_url: schema_url id: id properties: created_at: description: CreatedAt is a helper struct field for gobuffalo.pop. format: date-time type: string id: format: uuid4 type: string recovery_addresses: description: RecoveryAddresses contains all the addresses that can be used to recover an identity. items: $ref: '#/components/schemas/RecoveryAddress' type: array x-omitempty: true schema_id: description: SchemaID is the ID of the JSON Schema to be used for validating the identity's traits. type: string schema_url: description: |- SchemaURL is the URL of the endpoint where the identity's traits schema can be fetched from. format: url type: string traits: description: |- Traits represent an identity's traits. The identity is able to create, modify, and delete traits in a self-service manner. The input will always be validated against the JSON Schema defined in `schema_url`. updated_at: description: UpdatedAt is a helper struct field for gobuffalo.pop. format: date-time type: string verifiable_addresses: description: VerifiableAddresses contains all the addresses that can be verified by the user. items: $ref: '#/components/schemas/verifiableIdentityAddress' type: array x-omitempty: true required: - id - schema_id - schema_url - traits title: Identity represents an Ory Kratos identity type: object identityCredentials: description: Credentials represents a specific credential type properties: config: title: JSONRawMessage represents a json.RawMessage that works well with JSON, SQL, and Swagger. type: object created_at: description: CreatedAt is a helper struct field for gobuffalo.pop. format: date-time type: string identifiers: description: Identifiers represents a list of unique identifiers this credential type matches. items: type: string type: array type: description: and so on. title: CredentialsType represents several different credential types, like password credentials, passwordless credentials, type: string updated_at: description: UpdatedAt is a helper struct field for gobuffalo.pop. format: date-time type: string type: object identityTraits: description: |- Traits represent an identity's traits. The identity is able to create, modify, and delete traits in a self-service manner. The input will always be validated against the JSON Schema defined in `schema_url`. identityVerifiableAddressStatus: description: VerifiableAddressStatus must not exceed 16 characters as that is the limitation in the SQL Schema type: string identityVerifiableAddressType: description: VerifiableAddressType must not exceed 16 characters as that is the limitation in the SQL Schema type: string jsonError: description: The standard Ory JSON API error format. properties: error: $ref: '#/components/schemas/genericError' required: - error title: JSON API Error Response type: object jsonSchema: description: Raw JSON Schema type: object loginFlow: description: |- This object represents a login flow. A login flow is initiated at the "Initiate Login API / Browser Flow" endpoint by a client. Once a login flow is completed successfully, a session cookie or session token will be issued. example: expires_at: 2000-01-23T04:56:07.000+00:00 ui: nodes: - meta: label: context: '{}' id: 0 text: text type: type messages: - context: '{}' id: 0 text: text type: type - context: '{}' id: 0 text: text type: type type: type group: group - meta: label: context: '{}' id: 0 text: text type: type messages: - context: '{}' id: 0 text: text type: type - context: '{}' id: 0 text: text type: type type: type group: group method: method action: action messages: - context: '{}' id: 0 text: text type: type - context: '{}' id: 0 text: text type: type updated_at: 2000-01-23T04:56:07.000+00:00 forced: true active: active created_at: 2000-01-23T04:56:07.000+00:00 id: id type: type issued_at: 2000-01-23T04:56:07.000+00:00 request_url: request_url properties: active: description: and so on. title: CredentialsType represents several different credential types, like password credentials, passwordless credentials, type: string created_at: description: CreatedAt is a helper struct field for gobuffalo.pop. format: date-time type: string expires_at: description: |- ExpiresAt is the time (UTC) when the flow expires. If the user still wishes to log in, a new flow has to be initiated. format: date-time type: string forced: description: Forced stores whether this login flow should enforce re-authentication. type: boolean id: format: uuid4 type: string issued_at: description: IssuedAt is the time (UTC) when the flow started. format: date-time type: string request_url: description: |- RequestURL is the initial URL that was requested from Ory Kratos. It can be used to forward information contained in the URL's path or query for example. type: string type: description: The flow type can either be `api` or `browser`. title: Type is the flow type. type: string ui: $ref: '#/components/schemas/uiContainer' updated_at: description: UpdatedAt is a helper struct field for gobuffalo.pop. format: date-time type: string required: - expires_at - id - issued_at - request_url - type - ui title: Login Flow type: object loginViaApiResponse: description: The Response for Login Flows via API example: session_token: session_token session: expires_at: 2000-01-23T04:56:07.000+00:00 identity: recovery_addresses: - updated_at: 2000-01-23T04:56:07.000+00:00 created_at: 2000-01-23T04:56:07.000+00:00 id: id value: value via: via - updated_at: 2000-01-23T04:56:07.000+00:00 created_at: 2000-01-23T04:56:07.000+00:00 id: id value: value via: via traits: "" updated_at: 2000-01-23T04:56:07.000+00:00 verifiable_addresses: - updated_at: 2014-01-01T23:28:56.782Z verified_at: 2000-01-23T04:56:07.000+00:00 verified: true created_at: 2014-01-01T23:28:56.782Z id: id value: value status: status via: via - updated_at: 2014-01-01T23:28:56.782Z verified_at: 2000-01-23T04:56:07.000+00:00 verified: true created_at: 2014-01-01T23:28:56.782Z id: id value: value status: status via: via schema_id: schema_id created_at: 2000-01-23T04:56:07.000+00:00 schema_url: schema_url id: id authenticated_at: 2000-01-23T04:56:07.000+00:00 active: true id: id issued_at: 2000-01-23T04:56:07.000+00:00 properties: session: $ref: '#/components/schemas/session' session_token: description: |- The Session Token A session token is equivalent to a session cookie, but it can be sent in the HTTP Authorization Header: Authorization: bearer ${session-token} The session token is only issued for API flows, not for Browser flows! type: string required: - session - session_token type: object recoveryFlow: description: |- This request is used when an identity wants to recover their account. We recommend reading the [Account Recovery Documentation](../self-service/flows/password-reset-account-recovery) example: expires_at: 2000-01-23T04:56:07.000+00:00 ui: nodes: - meta: label: context: '{}' id: 0 text: text type: type messages: - context: '{}' id: 0 text: text type: type - context: '{}' id: 0 text: text type: type type: type group: group - meta: label: context: '{}' id: 0 text: text type: type messages: - context: '{}' id: 0 text: text type: type - context: '{}' id: 0 text: text type: type type: type group: group method: method action: action messages: - context: '{}' id: 0 text: text type: type - context: '{}' id: 0 text: text type: type active: active id: id state: state type: type issued_at: 2000-01-23T04:56:07.000+00:00 request_url: request_url properties: active: description: |- Active, if set, contains the registration method that is being used. It is initially not set. type: string expires_at: description: |- ExpiresAt is the time (UTC) when the request expires. If the user still wishes to update the setting, a new request has to be initiated. format: date-time type: string id: format: uuid4 type: string issued_at: description: IssuedAt is the time (UTC) when the request occurred. format: date-time type: string request_url: description: |- RequestURL is the initial URL that was requested from Ory Kratos. It can be used to forward information contained in the URL's path or query for example. type: string state: type: string type: description: The flow type can either be `api` or `browser`. title: Type is the flow type. type: string ui: $ref: '#/components/schemas/uiContainer' required: - expires_at - id - issued_at - request_url - state - ui title: A Recovery Flow type: object recoveryLink: example: expires_at: 2000-01-23T04:56:07.000+00:00 recovery_link: recovery_link properties: expires_at: description: |- Recovery Link Expires At The timestamp when the recovery link expires. format: date-time type: string recovery_link: description: |- Recovery Link This link can be used to recover the account. type: string required: - recovery_link type: object registrationFlow: example: expires_at: 2000-01-23T04:56:07.000+00:00 ui: nodes: - meta: label: context: '{}' id: 0 text: text type: type messages: - context: '{}' id: 0 text: text type: type - context: '{}' id: 0 text: text type: type type: type group: group - meta: label: context: '{}' id: 0 text: text type: type messages: - context: '{}' id: 0 text: text type: type - context: '{}' id: 0 text: text type: type type: type group: group method: method action: action messages: - context: '{}' id: 0 text: text type: type - context: '{}' id: 0 text: text type: type active: active id: id type: type issued_at: 2000-01-23T04:56:07.000+00:00 request_url: request_url properties: active: description: and so on. title: CredentialsType represents several different credential types, like password credentials, passwordless credentials, type: string expires_at: description: |- ExpiresAt is the time (UTC) when the flow expires. If the user still wishes to log in, a new flow has to be initiated. format: date-time type: string id: format: uuid4 type: string issued_at: description: IssuedAt is the time (UTC) when the flow occurred. format: date-time type: string request_url: description: |- RequestURL is the initial URL that was requested from Ory Kratos. It can be used to forward information contained in the URL's path or query for example. type: string type: description: The flow type can either be `api` or `browser`. title: Type is the flow type. type: string ui: $ref: '#/components/schemas/uiContainer' required: - expires_at - id - issued_at - request_url - ui type: object registrationViaApiResponse: description: The Response for Registration Flows via API example: session_token: session_token identity: recovery_addresses: - updated_at: 2000-01-23T04:56:07.000+00:00 created_at: 2000-01-23T04:56:07.000+00:00 id: id value: value via: via - updated_at: 2000-01-23T04:56:07.000+00:00 created_at: 2000-01-23T04:56:07.000+00:00 id: id value: value via: via traits: "" updated_at: 2000-01-23T04:56:07.000+00:00 verifiable_addresses: - updated_at: 2014-01-01T23:28:56.782Z verified_at: 2000-01-23T04:56:07.000+00:00 verified: true created_at: 2014-01-01T23:28:56.782Z id: id value: value status: status via: via - updated_at: 2014-01-01T23:28:56.782Z verified_at: 2000-01-23T04:56:07.000+00:00 verified: true created_at: 2014-01-01T23:28:56.782Z id: id value: value status: status via: via schema_id: schema_id created_at: 2000-01-23T04:56:07.000+00:00 schema_url: schema_url id: id session: expires_at: 2000-01-23T04:56:07.000+00:00 identity: recovery_addresses: - updated_at: 2000-01-23T04:56:07.000+00:00 created_at: 2000-01-23T04:56:07.000+00:00 id: id value: value via: via - updated_at: 2000-01-23T04:56:07.000+00:00 created_at: 2000-01-23T04:56:07.000+00:00 id: id value: value via: via traits: "" updated_at: 2000-01-23T04:56:07.000+00:00 verifiable_addresses: - updated_at: 2014-01-01T23:28:56.782Z verified_at: 2000-01-23T04:56:07.000+00:00 verified: true created_at: 2014-01-01T23:28:56.782Z id: id value: value status: status via: via - updated_at: 2014-01-01T23:28:56.782Z verified_at: 2000-01-23T04:56:07.000+00:00 verified: true created_at: 2014-01-01T23:28:56.782Z id: id value: value status: status via: via schema_id: schema_id created_at: 2000-01-23T04:56:07.000+00:00 schema_url: schema_url id: id authenticated_at: 2000-01-23T04:56:07.000+00:00 active: true id: id issued_at: 2000-01-23T04:56:07.000+00:00 properties: identity: $ref: '#/components/schemas/identity' session: $ref: '#/components/schemas/session' session_token: description: |- The Session Token This field is only set when the session hook is configured as a post-registration hook. A session token is equivalent to a session cookie, but it can be sent in the HTTP Authorization Header: Authorization: bearer ${session-token} The session token is only issued for API flows, not for Browser flows! type: string required: - identity - session_token type: object revokeSession: properties: session_token: description: |- The Session Token Invalidate this session token. type: string required: - session_token type: object selfServiceErrorContainer: example: updated_at: 2000-01-23T04:56:07.000+00:00 created_at: 2000-01-23T04:56:07.000+00:00 id: id errors: - '{}' - '{}' properties: created_at: description: CreatedAt is a helper struct field for gobuffalo.pop. format: date-time type: string errors: description: Errors in the container items: type: object type: array id: format: uuid4 type: string updated_at: description: UpdatedAt is a helper struct field for gobuffalo.pop. format: date-time type: string required: - errors - id type: object session: example: expires_at: 2000-01-23T04:56:07.000+00:00 identity: recovery_addresses: - updated_at: 2000-01-23T04:56:07.000+00:00 created_at: 2000-01-23T04:56:07.000+00:00 id: id value: value via: via - updated_at: 2000-01-23T04:56:07.000+00:00 created_at: 2000-01-23T04:56:07.000+00:00 id: id value: value via: via traits: "" updated_at: 2000-01-23T04:56:07.000+00:00 verifiable_addresses: - updated_at: 2014-01-01T23:28:56.782Z verified_at: 2000-01-23T04:56:07.000+00:00 verified: true created_at: 2014-01-01T23:28:56.782Z id: id value: value status: status via: via - updated_at: 2014-01-01T23:28:56.782Z verified_at: 2000-01-23T04:56:07.000+00:00 verified: true created_at: 2014-01-01T23:28:56.782Z id: id value: value status: status via: via schema_id: schema_id created_at: 2000-01-23T04:56:07.000+00:00 schema_url: schema_url id: id authenticated_at: 2000-01-23T04:56:07.000+00:00 active: true id: id issued_at: 2000-01-23T04:56:07.000+00:00 properties: active: type: boolean authenticated_at: format: date-time type: string expires_at: format: date-time type: string id: format: uuid4 type: string identity: $ref: '#/components/schemas/identity' issued_at: format: date-time type: string required: - authenticated_at - expires_at - id - identity - issued_at type: object settingsFlow: description: |- This flow is used when an identity wants to update settings (e.g. profile data, passwords, ...) in a selfservice manner. We recommend reading the [User Settings Documentation](../self-service/flows/user-settings) example: expires_at: 2000-01-23T04:56:07.000+00:00 ui: nodes: - meta: label: context: '{}' id: 0 text: text type: type messages: - context: '{}' id: 0 text: text type: type - context: '{}' id: 0 text: text type: type type: type group: group - meta: label: context: '{}' id: 0 text: text type: type messages: - context: '{}' id: 0 text: text type: type - context: '{}' id: 0 text: text type: type type: type group: group method: method action: action messages: - context: '{}' id: 0 text: text type: type - context: '{}' id: 0 text: text type: type identity: recovery_addresses: - updated_at: 2000-01-23T04:56:07.000+00:00 created_at: 2000-01-23T04:56:07.000+00:00 id: id value: value via: via - updated_at: 2000-01-23T04:56:07.000+00:00 created_at: 2000-01-23T04:56:07.000+00:00 id: id value: value via: via traits: "" updated_at: 2000-01-23T04:56:07.000+00:00 verifiable_addresses: - updated_at: 2014-01-01T23:28:56.782Z verified_at: 2000-01-23T04:56:07.000+00:00 verified: true created_at: 2014-01-01T23:28:56.782Z id: id value: value status: status via: via - updated_at: 2014-01-01T23:28:56.782Z verified_at: 2000-01-23T04:56:07.000+00:00 verified: true created_at: 2014-01-01T23:28:56.782Z id: id value: value status: status via: via schema_id: schema_id created_at: 2000-01-23T04:56:07.000+00:00 schema_url: schema_url id: id active: active id: id state: state type: type issued_at: 2000-01-23T04:56:07.000+00:00 request_url: request_url properties: active: description: |- Active, if set, contains the registration method that is being used. It is initially not set. type: string expires_at: description: |- ExpiresAt is the time (UTC) when the flow expires. If the user still wishes to update the setting, a new flow has to be initiated. format: date-time type: string id: format: uuid4 type: string identity: $ref: '#/components/schemas/identity' issued_at: description: IssuedAt is the time (UTC) when the flow occurred. format: date-time type: string request_url: description: |- RequestURL is the initial URL that was requested from Ory Kratos. It can be used to forward information contained in the URL's path or query for example. type: string state: type: string type: description: The flow type can either be `api` or `browser`. title: Type is the flow type. type: string ui: $ref: '#/components/schemas/uiContainer' required: - expires_at - id - identity - issued_at - request_url - state - ui title: Flow represents a Settings Flow type: object settingsProfileFormConfig: properties: action: description: Action should be used as the form action URL `
`. type: string messages: items: $ref: '#/components/schemas/uiText' type: array method: description: Method is the form method (e.g. POST) type: string nodes: items: $ref: '#/components/schemas/uiNode' type: array required: - action - method - nodes type: object settingsViaApiResponse: description: The Response for Settings Flows via API example: identity: recovery_addresses: - updated_at: 2000-01-23T04:56:07.000+00:00 created_at: 2000-01-23T04:56:07.000+00:00 id: id value: value via: via - updated_at: 2000-01-23T04:56:07.000+00:00 created_at: 2000-01-23T04:56:07.000+00:00 id: id value: value via: via traits: "" updated_at: 2000-01-23T04:56:07.000+00:00 verifiable_addresses: - updated_at: 2014-01-01T23:28:56.782Z verified_at: 2000-01-23T04:56:07.000+00:00 verified: true created_at: 2014-01-01T23:28:56.782Z id: id value: value status: status via: via - updated_at: 2014-01-01T23:28:56.782Z verified_at: 2000-01-23T04:56:07.000+00:00 verified: true created_at: 2014-01-01T23:28:56.782Z id: id value: value status: status via: via schema_id: schema_id created_at: 2000-01-23T04:56:07.000+00:00 schema_url: schema_url id: id flow: expires_at: 2000-01-23T04:56:07.000+00:00 ui: nodes: - meta: label: context: '{}' id: 0 text: text type: type messages: - context: '{}' id: 0 text: text type: type - context: '{}' id: 0 text: text type: type type: type group: group - meta: label: context: '{}' id: 0 text: text type: type messages: - context: '{}' id: 0 text: text type: type - context: '{}' id: 0 text: text type: type type: type group: group method: method action: action messages: - context: '{}' id: 0 text: text type: type - context: '{}' id: 0 text: text type: type identity: recovery_addresses: - updated_at: 2000-01-23T04:56:07.000+00:00 created_at: 2000-01-23T04:56:07.000+00:00 id: id value: value via: via - updated_at: 2000-01-23T04:56:07.000+00:00 created_at: 2000-01-23T04:56:07.000+00:00 id: id value: value via: via traits: "" updated_at: 2000-01-23T04:56:07.000+00:00 verifiable_addresses: - updated_at: 2014-01-01T23:28:56.782Z verified_at: 2000-01-23T04:56:07.000+00:00 verified: true created_at: 2014-01-01T23:28:56.782Z id: id value: value status: status via: via - updated_at: 2014-01-01T23:28:56.782Z verified_at: 2000-01-23T04:56:07.000+00:00 verified: true created_at: 2014-01-01T23:28:56.782Z id: id value: value status: status via: via schema_id: schema_id created_at: 2000-01-23T04:56:07.000+00:00 schema_url: schema_url id: id active: active id: id state: state type: type issued_at: 2000-01-23T04:56:07.000+00:00 request_url: request_url properties: flow: $ref: '#/components/schemas/settingsFlow' identity: $ref: '#/components/schemas/identity' required: - flow - identity type: object submitSelfServiceBrowserSettingsOIDCFlowPayload: properties: flow: description: |- Flow ID is the flow's ID. in: query type: string link: description: |- Link this provider Either this or `unlink` must be set. type: string in: body type: string unlink: description: |- Unlink this provider Either this or `link` must be set. type: string in: body type: string type: object submitSelfServiceLoginFlow: oneOf: - $ref: '#/components/schemas/submitSelfServiceLoginFlowWithPasswordMethod' submitSelfServiceLoginFlowWithPasswordMethod: properties: csrf_token: description: Sending the anti-csrf token is only required for browser login flows. type: string method: description: Method should be set to "password" when logging in using the identifier and password strategy. type: string password: description: The user's password. type: string password_identifier: description: Identifier is the email or username of the user trying to log in. type: string title: submitSelfServiceLoginFlowWithPasswordMethod is used to decode the login form payload. type: object submitSelfServiceRecoveryFlow: type: object submitSelfServiceRecoveryFlowWithLinkMethod: properties: csrf_token: description: Sending the anti-csrf token is only required for browser login flows. type: string email: description: |- Email to Recover Needs to be set when initiating the flow. If the email is a registered recovery email, a recovery link will be sent. If the email is not known, a email with details on what happened will be sent instead. format: email in: body type: string type: object submitSelfServiceRegistrationFlow: oneOf: - $ref: '#/components/schemas/submitSelfServiceRegistrationFlowWithPasswordMethod' submitSelfServiceRegistrationFlowWithPasswordMethod: description: |- SubmitSelfServiceRegistrationFlowWithPasswordMethod is used to decode the registration form payload when using the password method. properties: csrf_token: description: The CSRF Token type: string method: description: |- Method to use This field must be set to `password` when using the password method. pattern: ^password$ type: string password: description: Password to sign the user up with type: string traits: description: The identity's traits type: object required: - method type: object submitSelfServiceSettingsFlow: oneOf: - $ref: '#/components/schemas/submitSelfServiceSettingsFlowWithPasswordMethod' - $ref: '#/components/schemas/submitSelfServiceSettingsFlowWithProfileMethod' submitSelfServiceSettingsFlowWithPasswordMethod: properties: csrf_token: description: |- CSRFToken is the anti-CSRF token type: string type: string method: description: |- Method Should be set to password when trying to update a password. type: string type: string password: description: |- Password is the updated password type: string type: string required: - password type: object submitSelfServiceSettingsFlowWithProfileMethod: description: nolint:deadcode,unused properties: csrf_token: description: |- The Anti-CSRF Token This token is only required when performing browser flows. type: string method: description: |- Method Should be set to profile when trying to update a profile. type: string type: string traits: description: Traits contains all of the identity's traits. type: object required: - traits type: object submitSelfServiceVerificationFlowWithLinkMethod: description: nolint:deadcode,unused properties: csrf_token: description: Sending the anti-csrf token is only required for browser login flows. type: string email: description: |- Email to Verify Needs to be set when initiating the flow. If the email is a registered verification email, a verification link will be sent. If the email is not known, a email with details on what happened will be sent instead. format: email in: body type: string type: object uiContainer: description: Container represents a HTML Form. The container can work with both HTTP Form and JSON requests example: nodes: - meta: label: context: '{}' id: 0 text: text type: type messages: - context: '{}' id: 0 text: text type: type - context: '{}' id: 0 text: text type: type type: type group: group - meta: label: context: '{}' id: 0 text: text type: type messages: - context: '{}' id: 0 text: text type: type - context: '{}' id: 0 text: text type: type type: type group: group method: method action: action messages: - context: '{}' id: 0 text: text type: type - context: '{}' id: 0 text: text type: type properties: action: description: Action should be used as the form action URL ``. type: string messages: items: $ref: '#/components/schemas/uiText' type: array method: description: Method is the form method (e.g. POST) type: string nodes: items: $ref: '#/components/schemas/uiNode' type: array required: - action - method - nodes type: object uiNode: description: |- Nodes are represented as HTML elements or their native UI equivalents. For example, a node can be an `` tag, or an `` but also `some plain text`. example: meta: label: context: '{}' id: 0 text: text type: type messages: - context: '{}' id: 0 text: text type: type - context: '{}' id: 0 text: text type: type type: type group: group properties: attributes: $ref: '#/components/schemas/uiNodeAttributes' group: type: string messages: items: $ref: '#/components/schemas/uiText' type: array meta: $ref: '#/components/schemas/Meta' type: type: string required: - attributes - group - messages - meta - type title: Node represents a flow's nodes type: object uiNodeAnchorAttributes: properties: href: description: |- The link's href (destination) URL. format: uri type: string title: $ref: '#/components/schemas/uiText' required: - href - title title: AnchorAttributes represents the attributes of an anchor node. type: object uiNodeAttributes: oneOf: - $ref: '#/components/schemas/uiNodeInputAttributes' - $ref: '#/components/schemas/uiNodeTextAttributes' - $ref: '#/components/schemas/uiNodeImageAttributes' - $ref: '#/components/schemas/uiNodeAnchorAttributes' title: Attributes represents a list of attributes (e.g. `href="foo"` for links). uiNodeGroup: type: string uiNodeImageAttributes: properties: src: description: |- The image's source URL. format: uri type: string required: - src title: ImageAttributes represents the attributes of an image node. type: object uiNodeInputAttributeType: type: string uiNodeInputAttributes: description: InputAttributes represents the attributes of an input node properties: disabled: description: Sets the input's disabled field to true or false. type: boolean label: $ref: '#/components/schemas/uiText' name: description: The input's element name. type: string pattern: description: The input's pattern. type: string required: description: Mark this input field as required. type: boolean type: type: string value: $ref: '#/components/schemas/uiNodeInputAttributesValue' required: - disabled - name - type type: object uiNodeInputAttributesValue: oneOf: - type: string - type: number - type: boolean uiNodeTextAttributes: properties: text: $ref: '#/components/schemas/uiText' required: - text title: TextAttributes represents the attributes of a text node. type: object uiNodeType: type: string uiNodes: items: $ref: '#/components/schemas/uiNode' type: array uiText: example: context: '{}' id: 0 text: text type: type properties: context: description: The message's context. Useful when customizing messages. type: object id: format: int64 type: integer text: description: The message text. Written in american english. type: string type: type: string required: - id - text - type type: object uiTextType: type: string uiTexts: items: $ref: '#/components/schemas/uiText' type: array updateIdentity: properties: schema_id: description: |- SchemaID is the ID of the JSON Schema to be used for validating the identity's traits. If set will update the Identity's SchemaID. type: string traits: description: |- Traits represent an identity's traits. The identity is able to create, modify, and delete traits in a self-service manner. The input will always be validated against the JSON Schema defined in `schema_id`. type: object required: - traits type: object verifiableIdentityAddress: description: VerifiableAddress is an identity's verifiable address example: updated_at: 2014-01-01T23:28:56.782Z verified_at: 2000-01-23T04:56:07.000+00:00 verified: true created_at: 2014-01-01T23:28:56.782Z id: id value: value status: status via: via properties: created_at: description: When this entry was created example: 2014-01-01T23:28:56.782Z format: date-time type: string id: format: uuid4 type: string status: description: VerifiableAddressStatus must not exceed 16 characters as that is the limitation in the SQL Schema type: string updated_at: description: When this entry was last updated example: 2014-01-01T23:28:56.782Z format: date-time type: string value: description: |- The address value example foo@user.com type: string verified: description: Indicates if the address has already been verified example: true type: boolean verified_at: format: date-time title: NullTime implements sql.NullTime functionality. type: string via: description: VerifiableAddressType must not exceed 16 characters as that is the limitation in the SQL Schema type: string required: - id - status - value - verified - via type: object verificationFlow: description: |- Used to verify an out-of-band communication channel such as an email address or a phone number. For more information head over to: https://www.ory.sh/docs/kratos/selfservice/flows/verify-email-account-activation example: expires_at: 2000-01-23T04:56:07.000+00:00 ui: nodes: - meta: label: context: '{}' id: 0 text: text type: type messages: - context: '{}' id: 0 text: text type: type - context: '{}' id: 0 text: text type: type type: type group: group - meta: label: context: '{}' id: 0 text: text type: type messages: - context: '{}' id: 0 text: text type: type - context: '{}' id: 0 text: text type: type type: type group: group method: method action: action messages: - context: '{}' id: 0 text: text type: type - context: '{}' id: 0 text: text type: type active: active id: id state: state type: type issued_at: 2000-01-23T04:56:07.000+00:00 request_url: request_url properties: active: description: |- Active, if set, contains the registration method that is being used. It is initially not set. type: string expires_at: description: |- ExpiresAt is the time (UTC) when the request expires. If the user still wishes to verify the address, a new request has to be initiated. format: date-time type: string id: format: uuid4 type: string issued_at: description: IssuedAt is the time (UTC) when the request occurred. format: date-time type: string request_url: description: |- RequestURL is the initial URL that was requested from Ory Kratos. It can be used to forward information contained in the URL's path or query for example. type: string state: type: string type: description: The flow type can either be `api` or `browser`. title: Type is the flow type. type: string ui: $ref: '#/components/schemas/uiContainer' required: - id - state - type - ui title: A Verification Flow type: object version: properties: version: description: Version is the service's version. type: string type: object inline_response_200: example: status: status properties: status: description: Always "ok". type: string required: - status type: object inline_response_503: properties: errors: additionalProperties: type: string description: Errors contains a list of errors that caused the not ready status. type: object required: - errors type: object inline_response_200_1: example: version: version properties: version: description: The version of Ory Kratos. type: string required: - version type: object securitySchemes: oryToken: scheme: bearer type: http sessionCookie: in: cookie name: ory_kratos_session type: apiKey sessionToken: scheme: bearer type: http x-forwarded-proto: string x-request-id: string