<@U04UQ68083H> How to create an identity with defa...
# ory-copilot
b
@chilly-king-10285 How to create an identity with default credentials
c
A message from kapa.ai
To create an identity with default credentials in Ory, you can use the Ory API or the Ory SDK. Here are the steps for both methods: Using the Ory API: You can use the
POST /admin/identities
endpoint to create an identity. The request body should include the
schema_id
and
traits
for the identity. Here is an example of how to use this endpoint with `curl`:
Copy code
bash curl --request POST -sL \     --header "Authorization: Bearer ory_pat_xRKLsFEOUFQFVBjd6o3FQDifaLYhabGd" \     --header "Content-Type: application/json" \     --data '{     "schema_id": "<preset://email>",     "traits": {       "email": "[[email protected]]"     }   }' <https://playground.projects.oryapis.com/admin/identities>
The server response will contain the created identity. Note that this command does not create a password or any other type of credential for the identity. You can change the
schema_id
to reflect the schema you want to use for this identity. Similarly, the trait key/values depend on your schema as well ([source](https://www.ory.sh/docs/kratos/manage-identities/create-users-identities)). Using the Ory SDK: If you are using the Ory SDK, you can use the
CreateIdentity
method to create an identity. Here is an example of how to use this method in Go:
Copy code
go package main      import (       "context"       "fmt"       "os"          ory "<http://github.com/ory/kratos-client-go|github.com/ory/kratos-client-go>"   )      func main() {       configuration := ory.NewConfiguration()       configuration.Servers = []ory.ServerConfiguration{           {               URL: "<http://127.0.0.1:4434>", // Kratos Admin API           },       }       apiClient := ory.NewAPIClient(configuration)       CreateIdentityBody := *ory.NewCreateIdentityBody(           "default",           map[string]interface{}{               "email": "[[email protected]",               "name": map[string]string{                   "first": "foo",                   "last":  "bar",               },           },       ) // CreateIdentityBody |  (optional)          createdIdentity, r, err := apiClient.IdentityApi.CreateIdentity(context.Background()).CreateIdentityBody(CreateIdentityBody).Execute()       if err != nil {           fmt.Fprintf(os.Stderr, "Error when calling `FrontendApi.CreateIdentity``: %v\n", err)           fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)       }       // response from `CreateIdentity`: Identity       fmt.Fprintf(os.Stdout, "Created identity with ID: %v\n", createdIdentity.Id)   }
This code creates an identity with the
default
schema and sets the
email
and
name
traits ([source](https://www.ory.sh/docs/kratos/self-hosted/go#createidentity-and-deleteidentity)). Remember that creating an identity does not automatically create credentials for that identity. You can import credentials such as passwords, social sign in configurations, or multifactor methods using the same
POST /admin/identities
endpoint or the
CreateIdentity
method ([source](https://www.ory.sh/docs/reference/api)).