v1

latestSwagger 2.02026-07-1760185352.5 KB
identity

Update an Identity

This endpoint updates an identity. The full identity payload (except credentials) is expected.

It is possible to update the identity's credentials as well. Using this operation, credentials will not be overwritten but instead added to the list. For example, if a user has a social sign in connection set up, updating the credentials will keep the social sign in connection and add the new credentials to the list. This prevents accidentally overwriting credentials and locking out users. A complete view of all credential types is here:

password: The existing password credential will be completely replaced with the new configuration. You can provide either a hashed password, a plaintext password (which will be hashed), or enable the password migration hook. oidc, saml: The existing OIDC and SAML credentials will be kept and the new credentials will be added to the list. totp: The existing TOTP credentials will be replaced with the new configuration. lookup_secret: The existing Lookup Secret codes will be kept and the new codes will be added to the list. webauthn, passkey: The existing credentials are preserved, new credentials are added, and credentials with matching IDs are updated with new values. If a new user_handle is provided, it's added to the identity's identifiers list while preserving previous user handles. code: To import code credentials, configure your identity schema to use one of the identity traits as an identifier source ({"ory.sh/kratos":{"code":{"identifier":true", "via":"email"}}}).

put/admin/identities/{id}

Path parameters

idstring required

ID must be set to the ID of identity you want to update

Request body

external_idstring

ExternalID is an optional external ID of the identity. This is used to link the identity to an external system. If set, the external ID must be unique across all identities.

metadata_adminobject

Store metadata about the user which is only accessible through admin APIs such as GET /admin/identities/<id>.

metadata_publicobject

Store metadata about the identity which the identity itself can see when calling for example the session endpoint. Do not store sensitive information (e.g. credit score) about the identity in this field.

region'eu-central' | 'asia-northeast' | 'us-east' | 'us-west' | 'eu' | 'asia' | 'us' | 'global'

Region is the Ory Network region this identity is homed in. Optional; omit to leave the current region unchanged. eu-central EUCentral asia-northeast AsiaNorthEast us-east USEast us-west USWest eu EU asia Asia us US global Global

schema_idstring required

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.

state'active' | 'inactive' required

State is the identity's state. active StateActive inactive StateInactive

traitsobject required

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.

Response

identity

created_atstring date-time

CreatedAt is a helper struct field for gobuffalo.pop.

credentialsobject

Credentials represents all credentials that can be used for authenticating this identity.

external_idstring

ExternalID is an optional external ID of the identity. This is used to link the identity to an external system. If set, the external ID must be unique across all identities.

idstring uuid required

ID is the identity's unique identifier.

The Identity ID can not be changed and can not be chosen. This ensures future compatibility and optimization for distributed stores such as CockroachDB.

metadata_adminNullJsonRawMessage

NullJSONRawMessage represents a json.RawMessage that works well with JSON, SQL, and Swagger and is NULLable-

metadata_publicNullJsonRawMessage

NullJSONRawMessage represents a json.RawMessage that works well with JSON, SQL, and Swagger and is NULLable-

region'eu-central' | 'asia-northeast' | 'us-east' | 'us-west' | 'eu' | 'asia' | 'us' | 'global'

Region is the Ory Network region this identity is homed in. Set by the multi-region persister; empty on OSS and single-region deployments. eu-central EUCentral asia-northeast AsiaNorthEast us-east USEast us-west USWest eu EU asia Asia us US global Global

schema_idstring required

SchemaID is the ID of the JSON Schema to be used for validating the identity's traits.

schema_urlstring required

SchemaURL is the URL of the endpoint where the identity's traits schema can be fetched from.

format: url

state'active' | 'inactive'

State is the identity's state.

This value has currently no effect. active StateActive inactive StateInactive

state_changed_atstring date-time
traitsIdentityTraits required

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_atstring date-time

UpdatedAt is a helper struct field for gobuffalo.pop.

Example response

{
  "verifiable_addresses": [
    {
      "created_at": "2014-01-01T23:28:56.782Z",
      "updated_at": "2014-01-01T23:28:56.782Z",
      "verified": true,
      "via": "email"
    }
  ]
}