Docs
Authentication

API keys and scopes

Send the key as a bearer token: Authorization: Bearer nr_live_…. Keys look like nr_live_ followed by 43 characters and a 6-character checksum, so secret scanners can recognise them. A key is shown once, when it is created; NorReach keeps only a fingerprint.

Who can create keys

Owners and admins, in Settings › API & webhooks. A key can only carry scopes the creator role itself holds. Keys can never create keys.

Scopes

Red scopes reach people, spend money, publish or erase; creating a key with one needs a sign-in in the last 10 minutes. Presets: Read only (18 scopes), Build (23) and Full control (52).

ScopeWhat it allowsRole needed
workspace:readSee the workspace, its senders and async jobsany member
contacts:readRead contacts, lists, tags and do-not-contact entriesany member
contacts:writeCreate and update contacts, notes, tags, lists and consentcontacts.assign
contacts:exportExport contacts and leads in bulkany member
⚠ contacts:deleteErase a person's data (keeps a do-not-contact entry)settings.compliance
⚠ suppressions:writeAdd people and domains to do-not-contactsettings.compliance
campaigns:readRead campaigns, sequences, automations and enrollmentsany member
campaigns:writeCreate and edit campaigns and automationscampaigns.edit
⚠ campaigns:launchLaunch, pause and resume campaigns; enroll contactscampaigns.launch
plans:readRead plans, briefs and cardsany member
plans:writeFile briefs, edit cards and ask for replansplan.edit
⚠ plans:approveApprove or skip plan cards; start and pause plansplan.approve
approvals:readSee the Approvals queueany member
⚠ approvals:decideApprove or skip anything in the Approvals queueapprovals.decide, meetings.decide
inbox:readRead inbox threads and messagesany member
⚠ messages:sendSend messages and repliesinbox.reply
calls:readRead calls, outcomes and summariesany member
calls:recordingsRead call transcripts and recordingscalls.monitor
⚠ calls:placeRequest AI calls to saved contactscalls.place
meetings:readRead meetings, booking pages and availabilityany member
meetings:writeBook, approve and decline meetingsmeetings.own, meetings.decide, meetings.pages
deals:writeMove deals between stagesdeals.move
pages:readRead landing pages, versions, leads and analyticsany member
pages:writeEdit landing page drafts and site settingspages.edit
⚠ pages:publishPublish and unpublish landing pagespages.publish
pages:domainsAdd and manage custom domainspages.domains
ads:readRead ad accounts, launches and resultsany member
⚠ ads:spendPublish Nora's ad launches and manage live adsads.spend
social:readRead social posts and connected profilesany member
⚠ social:publishCreate and schedule social postssocial.publish
nora:askAsk Nora questionsnora.ask
⚠ nora:runGive Nora work to donora.run
nora:autonomyChange what Nora may do without askingnora.autonomy
analytics:readRead dashboards and analyticsany member
billing:readSee credits, usage and pricesbilling.view
team:readSee members and invitesany member
team:writeInvite people to the workspaceteam.invite
⚠ team:adminChange roles and switch people offteam.roles
⚠ workspace:adminPause and resume all outreach; compliance settingsoutreach.pause, outreach.resume, settings.compliance
webhooks:readSee webhook endpoints and deliveriesany member
webhooks:writeAdd, change and test webhook endpointsapi.keys
audit:readRead the audit logaudit.view
numbers:readSee phone numbers, numbers to buy and business verificationsany member
⚠ numbers:verifySubmit business verification for phone numbersnumbers.verify
⚠ numbers:buyBuy phone numbers — within the daily cap, waiting in Approvals unless an owner switched that offnumbers.buy
templates:readRead message and WhatsApp templatesany member
templates:writeWrite message templates and send WhatsApp templates for reviewchannels.templates
⚠ voice:writeCreate and change voice agentsvoice.agents
⚠ calls:routingChange who answers incoming callscalls.routing
team:schedulesSet people's working hours and availabilityteam.schedules
team:requestsRead and handle the team's requeststeam.requests
workspace:settingsChange the workspace's name and time zonesettings.workspace
⚠ ads:limitsChange ad accounts' spending limitsads.limits

Expiry, rotation and revoking

  • Expiry: never, 30, 90 or 365 days, or a date. An expired key answers 401 key_expired.
  • Rotate: a replacement with the same settings; the old key keeps working for 0, 1, 24 or 168 hours, then stops.
  • Revoke: immediate (401 key_revoked). Owners can revoke every key of the workspace at once.
  • Suspended: NorReach stops a key after unusual activity (403 key_suspended) until an owner or admin resumes or revokes it — see unusual activity.
  • Narrowing: scopes can be taken away from a key, never added — create a new key for more.

IP allowlists

Up to 20 addresses or ranges (IPv4 and IPv6). A request from anywhere else answers 403 ip_not_allowed.

Old-style keys

Keys that start with nrk_ come from before this API and answer 401 legacy_key. Create a new key and revoke the old one.

Testing