Launch special — let's split the check with SPLITCHECK for 50% off

Clerk fixture

user.created

Fires when a new user signs up via any Clerk auth method (email, phone, OAuth). Use to mirror users into your application database.

When does it fire?

User completes signup. Clerk also emits user.updated, user.deleted, session.created — handle each separately.

Request headers

Content-Type: application/json
svix-id: msg_2pLqRsTuVwXyZaBcDe
svix-timestamp: 1715600000
svix-signature: v1,g0hM9SsE+OTPJTGt/tmIKtSyZlE3uKR0c4RBIVDIGpU=

Payload

{
  "type": "user.created",
  "object": "event",
  "data": {
    "id": "user_2pLqRsTuVwXyZaBcDe",
    "object": "user",
    "first_name": "Jane",
    "last_name": "Doe",
    "email_addresses": [
      {
        "id": "idn_2pLqRsTuVwXyZaBcDe",
        "email_address": "[email protected]",
        "verification": {
          "status": "verified",
          "strategy": "email_code"
        }
      }
    ],
    "external_accounts": [
      {
        "id": "eac_2pLqRsTuVwXyZaBcDe",
        "provider": "oauth_google",
        "email_address": "[email protected]"
      }
    ],
    "public_metadata": {},
    "private_metadata": {},
    "created_at": 1715600000000
  }
}

Key fields

  • data.id

    Clerk user ID. Store on your application user record.

  • data.email_addresses[].verification.status

    verified | unverified — gate access on this.

  • svix-id

    Clerk uses Svix; svix-id is unique per delivery — dedup key.

  • svix-signature

    Verify with the Svix SDK or HMAC-SHA256 over `{svix-id}.{svix-timestamp}.{body}`.

Test it with cURL

Replace your-endpoint with your HookSense endpoint slug — or any URL you want to test against.

curl -X POST https://hooksense.com/w/your-endpoint \
  -H "Content-Type: application/json" \
  -H "svix-id: msg_2pLqRsTuVwXyZaBcDe" \
  -H "svix-timestamp: 1715600000" \
  -H "svix-signature: v1,g0hM9SsE+OTPJTGt/tmIKtSyZlE3uKR0c4RBIVDIGpU=" \
  -d '{
  "type": "user.created",
  "object": "event",
  "data": {
    "id": "user_2pLqRsTuVwXyZaBcDe",
    "object": "user",
    "first_name": "Jane",
    "last_name": "Doe",
    "email_addresses": [
      {
        "id": "idn_2pLqRsTuVwXyZaBcDe",
        "email_address": "[email protected]",
        "verification": {
          "status": "verified",
          "strategy": "email_code"
        }
      }
    ],
    "external_accounts": [
      {
        "id": "eac_2pLqRsTuVwXyZaBcDe",
        "provider": "oauth_google",
        "email_address": "[email protected]"
      }
    ],
    "public_metadata": {},
    "private_metadata": {},
    "created_at": 1715600000000
  }
}'

Capture this in HookSense

Fire the cURL above at your HookSense endpoint and inspect the request in real time — with headers, body, signature verification, and replay.

Get a free endpoint

More Clerk fixtures