Create Settings Flow for Native Apps
Changed onThis 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=<flow_id>.
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.
Depending on your configuration this endpoint might return a 403 error if the session has a lower Authenticator Assurance Level (AAL) than is possible for the identity. This can happen if the identity has password + webauthn credentials (which would result in AAL2) but the session has only AAL1. If this error occurs, ask the user to sign in with the second factor or change the configuration.
In the case of an error, the error.id of the JSON response body can be one of:
security_csrf_violation: Unable to fetch the flow because a CSRF violation occurred. session_inactive: No Ory Session was found - sign in a user first.
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.
Request
- Base URL/ (relative, and the document was published on a file host, not at the API’s origin)
- URL/self-service/settings/api
- Authnone declared
Headers
The Session Token of the Identity performing the settings flow.
Response
settingsFlow
Example response
{
"expires_at": "2000-01-23T04:56:07.000+00:00",
"transient_payload": "{}",
"ui": {
"nodes": [
{
"meta": {
"label": {
"context": "{}",
"id": 6,
"text": "text",
"type": "info"
}
},
"messages": [
{
"context": "{}",
"id": 6,
"text": "text",
"type": "info"
},
{
"context": "{}",
"id": 6,
"text": "text",
"type": "info"
}
],
"attributes": {
"autocomplete": "email",
"maxlength": 1,
"onclick": "onclick",
"pattern": "pattern",
"onclickTrigger": "oryWebAuthnRegistration",
"label": {
"context": "{}",
"id": 6,
"text": "text",
"type": "info"
},
"type": "text",
"required": true,
"onload": "onload",
"node_type": "input",
"onloadTrigger": "oryWebAuthnRegistration",
"name": "name",
"disabled": true,
"value": ""
},
"type": "text",
"group": "default"
},
{
"meta": {
"label": {
"context": "{}",
"id": 6,
"text": "text",
"type": "info"
}
},
"messages": [
{
"context": "{}",
"id": 6,
"text": "text",
"type": "info"
},
{
"context": "{}",
"id": 6,
"text": "text",
"type": "info"
}
],
"attributes": {
"autocomplete": "email",
"maxlength": 1,
"onclick": "onclick",
"pattern": "pattern",
"onclickTrigger": "oryWebAuthnRegistration",
"label": {
"context": "{}",
"id": 6,
"text": "text",
"type": "info"
},
"type": "text",
"required": true,
"onload": "onload",
"node_type": "input",
"onloadTrigger": "oryWebAuthnRegistration",
"name": "name",
"disabled": true,
"value": ""
},
"type": "text",
"group": "default"
}
],
"method": "method",
"action": "action",
"messages": [
{
"context": "{}",
"id": 6,
"text": "text",
"type": "info"
},
{
"context": "{}",
"id": 6,
"text": "text",
"type": "info"
}
]
},
"identity": {
"traits": "",
"credentials": {
"key": {
"updated_at": "2000-01-23T04:56:07.000+00:00",
"identifiers": [
"identifiers",
"identifiers"
],
"created_at": "2000-01-23T04:56:07.000+00:00",
"type": "password",
"config": "{}",
"version": 0
}
},
"state_changed_at": "2000-01-23T04:56:07.000+00:00",
"created_at": "2000-01-23T04:56:07.000+00:00",
"external_id": "external_id",
"recovery_addresses": [
{
"updated_at": "2000-01-23T04:56:07.000+00:00",
"created_at": "2000-01-23T04:56:07.000+00:00",
"id": "046b6c7f-0b8a-43b9-b35d-6489e6daee91",
"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": "046b6c7f-0b8a-43b9-b35d-6489e6daee91",
"value": "value",
"via": "via"
}
],
"metadata_admin": "",
"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": "046b6c7f-0b8a-43b9-b35d-6489e6daee91",
"value": "value",
"status": "status",
"via": "email"
},
{
"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": "046b6c7f-0b8a-43b9-b35d-6489e6daee91",
"value": "value",
"status": "status",
"via": "email"
}
],
"organization_id": "organization_id",
"schema_id": "schema_id",
"schema_url": "schema_url",
"id": "046b6c7f-0b8a-43b9-b35d-6489e6daee91",
"state": "active",
"metadata_public": ""
},
"continue_with": [
{
"action": "show_verification_ui",
"flow": {
"verifiable_address": "verifiable_address",
"id": "046b6c7f-0b8a-43b9-b35d-6489e6daee91",
"url": "url"
}
},
{
"action": "show_verification_ui",
"flow": {
"verifiable_address": "verifiable_address",
"id": "046b6c7f-0b8a-43b9-b35d-6489e6daee91",
"url": "url"
}
}
],
"active": "active",
"return_to": "return_to",
"id": "046b6c7f-0b8a-43b9-b35d-6489e6daee91",
"state": "",
"type": "type",
"issued_at": "2000-01-23T04:56:07.000+00:00",
"request_url": "request_url"
}Changes
- breaking
the response property
///became optional for the status - breaking
added to the
///response propertyoneOflist for the response status - warning
added the new
divenum value to the///response property for the response status - warning
added the new
username webauthnenum value to the////////response property for the response status - info
added the optional property
/to the response with the status - info
added
divdiscriminator mapping keys to the///response property for the response status - info
removed the
aenum value from the////////response property for the response status - info
removed the
aenum value from the/////response property for the response status - info
removed the
aenum value from the/////response property for the response status - info
removed the
aenum value from the/////response property for the response status - info
removed the
imgenum value from the////////response property for the response status - info
removed the
imgenum value from the/////response property for the response status - info
removed the
imgenum value from the/////response property for the response status - info
removed the
imgenum value from the/////response property for the response status - info
removed the
inputenum value from the/////response property for the response status - info
removed the
inputenum value from the/////response property for the response status - info
removed the
inputenum value from the/////response property for the response status - info
removed the
inputenum value from the/////response property for the response status - info
removed the
scriptenum value from the////////response property for the response status - info
removed the
scriptenum value from the/////response property for the response status - info
removed the
scriptenum value from the/////response property for the response status - info
removed the
scriptenum value from the/////response property for the response status - info
removed the
textenum value from the////////response property for the response status - info
removed the
textenum value from the/////response property for the response status - info
removed the
textenum value from the/////response property for the response status - info
removed the
textenum value from the/////response property for the response status
- breaking
- breaking
added to the
/response propertyoneOflist for the response status - breaking
the
/response's property type changed from no type toobjectfor status - warning
added the new
captchaenum value to the///response property for the response status - warning
added the new
identifier_firstenum value to the///response property for the response status - warning
added the new
samlenum value to the///response property for the response status - warning
added the new
samlenum value to the///response property for the response status - info
added the optional property
///////to the response with the status - info
added the optional property
////////to the response with the status - info
added the optional property
////////to the response with the status - info
added the optional property
////////to the response with the status - info
added
redirect_browser_todiscriminator mapping keys to the/response property for the response status
- breaking