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