---
title: "Update an Identity"
method: PUT
path: "/identities/{id}"
tags: ["v0alpha1"]
---

# Update an Identity

`PUT /identities/{id}`

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).

## Path parameters

- `id` string, required

## Request body

- AdminUpdateIdentityBody
  - `schema_id` string — 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 — The state can either be `active` or `inactive`.
  - `traits` object, 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 `200`

identity

- Identity — An identity can be a real human, a service, an IoT device - everything that can be described as an "actor" in a system.
  - `created_at` string, date-time — CreatedAt is a helper struct field for gobuffalo.pop.
  - `credentials` object — Credentials represents all credentials that can be used for authenticating this identity.
  - `id` string, uuid4, required
  - `recovery_addresses` RecoveryAddress[] — RecoveryAddresses contains all the addresses that can be used to recover an identity.
    - `created_at` string, date-time — CreatedAt is a helper struct field for gobuffalo.pop.
    - `id` string, uuid4, required
    - `updated_at` string, date-time — UpdatedAt is a helper struct field for gobuffalo.pop.
    - `value` string, required
    - `via` string, required
  - `schema_id` string, required — SchemaID is the ID of the JSON Schema to be used for validating the identity's traits.
  - `schema_url` string, required — SchemaURL is the URL of the endpoint where the identity's traits schema can be fetched from. format: url
  - `state` 'active' | 'inactive' — The state can either be `active` or `inactive`.
  - `state_changed_at` string, date-time
  - `traits` unknown, required
  - `updated_at` string, date-time — UpdatedAt is a helper struct field for gobuffalo.pop.
  - `verifiable_addresses` VerifiableIdentityAddress[] — VerifiableAddresses contains all the addresses that can be verified by the user.
    - `created_at` string, date-time — When this entry was created
    - `id` string, uuid4, required
    - `status` string, required — VerifiableAddressStatus must not exceed 16 characters as that is the limitation in the SQL Schema
    - `updated_at` string, date-time — When this entry was last updated
    - `value` string, required — The address value example foo@user.com
    - `verified` boolean, required — Indicates if the address has already been verified
    - `verified_at` string, date-time
    - `via` string, required — VerifiableAddressType must not exceed 16 characters as that is the limitation in the SQL Schema

## Other responses

- `400` — jsonError
- `404` — jsonError
- `409` — jsonError
- `500` — jsonError

## Changes

- **2021-07-22** `071bec03ddcd` — 4 breaking, 2 warning, 2 info
  - request property `state` was restricted to a list of enum values
  - the `state` request property type/format changed from ``/`` to `string`/``
  - the response property `state` became optional for the status `200`
  - the `state` response's property type/format changed from ``/`` to `string`/`` for status `200`
  - …4 more
- **2021-07-13** `8f1b399ab6e6` — 1 breaking, 7 info
  - added the new required request property `state`
  - api operation id `updateIdentity` removed and replaced with `adminUpdateIdentity`
  - the endpoint scheme security `oryAccessToken` was added to the API
  - api tag `v0alpha1` added
  - …4 more
- **2021-05-18** `9123bcead5ed` — 1 breaking, 13 info
  - the `traits` response's property type/format changed from `object`/`` to ``/`` for status `200`
  - added the non-success response with the status `409`
  - added the optional property `created_at` to the response with the `200` status
  - added the optional property `recovery_addresses/items/created_at` to the response with the `200` status
  - …10 more
- **2021-05-11** `0b5d5b421f15` — 1 warning
  - removed the optional property `test` from the response with the `200` status
- **2021-05-10** `8b8f8cf57b16` — 1 info
  - added the optional property `test` to the response with the `200` status

[Full history](https://skmtc.dev/ory/apis/ory-identities-api/changes/identities/:id/put.md)

---

[API](https://skmtc.dev/ory/apis/ory-identities-api.md) · [All operations](https://skmtc.dev/ory/apis/ory-identities-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/ory/ory-identities-api/revisions/071bec03ddcd/schema)
