key once. Store it securely: it is never shown again. With an API key, the calling key must have can-create-keys set to yes. With an OAuth or JWT token, you need Reseller or Super User scope, and you cannot create a key above your own scope. Reseller keys cover a whole territory, so their domain and user are set to *. Office Manager and Call Center Supervisor keys need a domain. User-level keys need a domain and a user. The key is published to every node, so allow a moment before it authenticates everywhere. Site Manager and No Portal scopes return 400. A scope, territory or domain you cannot grant returns 403.Authorization: Bearer ********************key and a notes reminder. This is the only response that ever shows key.curl --location 'https://awqacore01.crexendocloud.com/ns-api/v2/apikeys' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"description": "Billing export integration",
"user-scope": "Office Manager",
"reseller": "example-reseller",
"domain": "example.com",
"readonly": "yes",
"can-create-keys": "no",
"ip-address": "192.0.2.10,198.51.100.0/24",
"allowed-models": [
"cdr2",
"subscriber"
]
}'{
"notes": "This key needs to be kept secure and secret and will not be shown again so please note it down now!",
"key": "{{api_key}}",
"key-id": "nsd_EXAMPLE1",
"description": "Billing export integration",
"reseller": "example-reseller",
"user": "*",
"domain": "example.com",
"readonly": "yes",
"can-create-keys": "no",
"allowed-models": [
"cdr2",
"subscriber"
],
"ip-address": "192.0.2.10,198.51.100.0/24",
"user-scope": "Office Manager",
"created-datetime": "2026-09-25T17:04:05+00:00"
}