Docs
Get started

Quickstart

From nothing to your first contact and your first webhook — about five minutes.

Create a key

An owner or admin of your workspace creates keys in Settings › API & webhooks, with the scopes you need (Read only is a safe start). Open API & webhooks

Keep it out of your code: put it in an environment variable named NORREACH_API_KEY.

Check it works

Shell
curl https://api.norreach.app/v1/me \
  -H "Authorization: Bearer $NORREACH_API_KEY"

The answer shows the key's scopes, the person it acts as and the workspace.

Add a contact

Shell
curl -X POST https://api.norreach.app/v1/contacts \
  -H "Authorization: Bearer $NORREACH_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
    "first_name": "Maja",
    "last_name": "Lind",
    "email": "maja.lind@example.com",
    "consent": { "basis": "consent", "source": "webinar_signup" },
    "upsert_on": "email"
  }'

Send the lawful basis you hold in consent. Without it the contact is saved, but nothing is ever sent to them.

Get leads as they arrive

Shell
curl -X POST https://api.norreach.app/v1/webhook-endpoints \
  -H "Authorization: Bearer $NORREACH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "url": "https://hooks.example.com/norreach", "event_types": ["lead.submitted"] }'
# The answer carries "secret": "whsec_…" — shown once. Keep it to verify signatures.

Then check the signature on every delivery. How to verify signatures