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

# Update an Identity

`PUT /admin/identities/{id}`

This endpoint updates an [identity](https://www.ory.sh/docs/kratos/concepts/identity-user-model). The full identity
payload (except credentials) is expected. It is possible to update the identity's credentials as well.

## Path parameters

- `id` string, required

## Request body

- UpdateIdentityBody — Update Identity Body
  - `credentials` IdentityWithCredentials — Create Identity and Import Credentials
    - `oidc` IdentityWithCredentialsOidc — Create Identity and Import Social Sign In Credentials
      - `config` IdentityWithCredentialsOidcConfig
        - `config` IdentityWithCredentialsPasswordConfig — Create Identity and Import Password Credentials Configuration
          - `hashed_password` string — The hashed password in [PHC format]( https://www.ory.sh/docs/kratos/concepts/credentials/username-email-password#hashed-password-format)
          - `password` string — The password in plain text if no hash is available.
        - `providers` IdentityWithCredentialsOidcConfigProvider[] — A list of OpenID Connect Providers
          - `provider` string, required — The OpenID Connect provider to link the subject to. Usually something like `google` or `github`.
          - `subject` string, required — The subject (`sub`) of the OpenID Connect connection. Usually the `sub` field of the ID Token.
    - `password` IdentityWithCredentialsPassword — Create Identity and Import Password Credentials
      - `config` IdentityWithCredentialsPasswordConfig — Create Identity and Import Password Credentials Configuration
        - `hashed_password` string — The hashed password in [PHC format]( https://www.ory.sh/docs/kratos/concepts/credentials/username-email-password#hashed-password-format)
        - `password` string — The password in plain text if no hash is available.
  - `metadata_admin` unknown
  - `metadata_public` unknown
  - `schema_id` string, 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 — 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](https://www.ory.sh/docs/kratos/concepts/identity-user-model) represents a (human) user in Ory.
  - `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, 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_admin` unknown
  - `metadata_public` unknown
  - `recovery_addresses` RecoveryIdentityAddress[] — 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, uuid, 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, uuid — The ID
    - `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` — errorGeneric
- `404` — errorGeneric
- `409` — errorGeneric
- `default` — errorGeneric

## Changes

- **2022-12-02** `b6e5ffa30d4c` — 6 breaking, 5 info
  - the response property `metadata_admin` became nullable for the status `200`
  - the response property `metadata_public` became nullable for the status `200`
  - the response property `verifiable_addresses/items/id` became optional for the status `200`
  - the `id` response's property type/format changed from `string`/`uuid4` to `string`/`uuid` for status `200`
  - …7 more
- **2022-06-01** `fca041c7721f` — 4 info
  - added the new optional request property `metadata_admin`
  - added the new optional request property `metadata_public`
  - added the optional property `metadata_admin` to the response with the `200` status
  - added the optional property `metadata_public` to the response with the `200` status
- **2022-03-22** `028a4cf83c15` — 1 info
  - endpoint added
- **2021-05-05** `381c760af46e` — 1 breaking
  - api path removed without deprecation

[Change history](https://skmtc.dev/ory/apis/ory-identities-api/changes/admin/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/2e602390c3aa/schema)
