---
title: "Create an Identity"
method: POST
path: "/identities"
tags: ["v0alpha1"]
---

# Create an Identity

`POST /identities`

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

## Request body

- AdminCreateIdentityBody
  - `schema_id` string, required — SchemaID is the ID of the JSON Schema to be used for validating the identity's traits.
  - `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_url`.

## Response `201`

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
- `409` — jsonError
- `500` — jsonError

## Changes

- **2021-07-22** `071bec03ddcd` — 2 breaking, 2 warning
  - the response property `state` became optional for the status `201`
  - the `state` response's property type/format changed from ``/`` to `string`/`` for status `201`
  - added the new `active` enum value to the `state` response property for the response status `201`
  - added the new `inactive` enum value to the `state` response property for the response status `201`
- **2021-07-13** `8f1b399ab6e6` — 7 info
  - api operation id `createIdentity` removed and replaced with `adminCreateIdentity`
  - the endpoint scheme security `oryAccessToken` was added to the API
  - api tag `v0alpha1` added
  - api tag `admin` removed
  - …3 more
- **2021-05-18** `9123bcead5ed` — 1 breaking, 12 info
  - the `traits` response's property type/format changed from `object`/`` to ``/`` for status `201`
  - added the optional property `created_at` to the response with the `201` status
  - added the optional property `recovery_addresses/items/created_at` to the response with the `201` status
  - added the optional property `recovery_addresses/items/updated_at` to the response with the `201` status
  - …9 more
- **2021-05-11** `0b5d5b421f15` — 1 warning
  - removed the optional property `test` from the response with the `201` status
- **2021-05-10** `8b8f8cf57b16` — 1 info
  - added the optional property `test` to the response with the `201` status

[Full history](https://skmtc.dev/ory/apis/ory-identities-api/changes/identities/post.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)
