Bulk-import identities from other providers
To import multiple identities into Ory Identites, use the Identity Import API.
A maximum of 2000 identities can be created in a single request. If you need to import more identities, you can split the import into multiple requests.
The endpoint accepts a JSON array of identities, each of which must have a create
propery which holds the identity that should
be created. Optionally, you can specify a patch_id
property which will be returned in the response. This can be used to
correlate the response with the patch.
The following example shows how to import two identities. It will create two identities with the email addresses foo@example.com
and bar@example.com
and the passwords foopassword
and barpassword
respectively.
curl --location --request PATCH 'https://${YOUR_PROJECT_SLUG}.projects.oryapis.com/admin/identities' \
--header 'Authorization: Bearer ${YOUR_ORY_ACCESS_TOKEN}' \
--header 'Content-Type: application/json' \
--data-raw '{
"identities": [
{
"create": {
"credentials": {
"password": {
"config": {
"password": "foopassword"
}
}
},
"state": "active",
"traits": {
"email": "foo@example.com"
},
"schema_id": "preset://email"
}
},
{
"create": {
"credentials": {
"password": {
"config": {
"password": "barpassword"
}
}
},
"state": "active",
"traits": {
"email": "bar@example.com"
},
"schema_id": "preset://email"
}
}
]
}'
The service will respond with the two identity IDs created:
{
"identities": [
{
"action": "create",
"identity": "55f93ea4-09ff-4273-8b88-082cc70d6d44"
},
{
"action": "create",
"identity": "f70c9b29-4790-4330-90dc-920db16a4b85"
}
]
}