Skip to main content
POST
/
end-users
Create end user
curl --request POST \
  --url https://app.usechar.ai/api/end-users \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "organization_id": "<string>",
  "external_id": "<string>",
  "email": "<string>",
  "metadata": "<string>",
  "last_activity_at": "2023-11-07T05:31:56Z"
}
'
{
  "id": "<string>",
  "organization_id": "<string>",
  "external_id": "<string>",
  "email": "<string>",
  "metadata": "<string>",
  "last_activity_at": "2023-11-07T05:31:56Z",
  "created_at": "2023-11-07T05:31:56Z",
  "updated_at": "2023-11-07T05:31:56Z"
}

Authorizations

Authorization
string
header
required

WorkOS JWT token. Obtain via WorkOS AuthKit authentication flow. The token must include organization_id claim for organization-scoped endpoints.

Body

application/json

Input for creating a new end user. Requires external_id (your system's user identifier). Email and metadata are optional.

organization_id
string
required

WorkOS organization ID that owns the end user.

external_id
string
required

External user identifier from the embedding site or IDP token.

email
string | null

Optional email address provided by the identity provider.

metadata
string | null

JSON string with additional end user metadata.

last_activity_at
string<date-time> | null

Timestamp of the user's last activity (message sent).

Response

OK

End user resource representing a user who interacts with embedded AI widgets. Identified by external_id from the embedding site.

id
string
required

Internal end user ID (UUID).

organization_id
string
required

WorkOS organization ID that owns the end user.

external_id
string
required

External user identifier from the embedding site or IDP token.

email
string | null
required

Optional email address provided by the identity provider.

metadata
string | null
required

JSON string with additional end user metadata.

last_activity_at
string<date-time> | null
required

Timestamp of the user's last activity (message sent).

created_at
string<date-time>
required

Timestamp when the end user was created.

updated_at
string<date-time>
required

Timestamp when the end user was last updated.