Skip to main content
POST
/
identities
Create an identity link
curl --request POST \
  --url https://api.qonversion.io/v4/identities \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "identity_id": "ext-user-123",
  "user_id": "QON_3af4c5b8a4d24f21b72e9d0c8aef9d4e"
}
'
{
  "object": "identity",
  "id": "ext-user-123",
  "url": "/v4/identities/ext-user-123",
  "user_id": "QON_3af4c5b8a4d24f21b72e9d0c8aef9d4e"
}

Documentation Index

Fetch the complete documentation index at: https://documentation.qonversion.io/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

Bearer authentication using the project Secret Key (prefixed with sk_, or test_sk_ for sandbox). All v4 public endpoints require the Secret Key — see Authentication. Never expose the Secret Key in client-side code.

Headers

Idempotency-Key
string

Idempotency key for safe retries. Same key returns the original response.

Body

application/json
identity_id
string
required

External identity ID to assign. Identities are append-only — posting the same identity_id twice returns 409.

Maximum string length: 255
Pattern: ^[a-zA-Z0-9._-]+$
Example:

"ext-user-123"

user_id
string | null

Qonversion user ID to bind. If null, a new anonymous user is created and linked.

Maximum string length: 255
Pattern: ^[a-zA-Z0-9._-]+$
Example:

"QON_3af4c5b8a4d24f21b72e9d0c8aef9d4e"

Response

Identity created successfully.

object
enum<string>
required
Available options:
identity
id
string
required

External identity identifier.

Example:

"ext-user-123"

url
string
required

Canonical API path.

Example:

"/v4/identities/ext-user-123"

user_id
string
required

Qonversion user identifier linked to this identity.

Example:

"QON_3af4c5b8a4d24f21b72e9d0c8aef9d4e"