Skip to main content
POST
Create API key

Authorizations

Authorization
string
header
required

JWT token authentication

Body

application/json
name
string
required

Human-readable key name

Required string length: 1 - 120
scopes
string[]
required

Permission scopes (e.g. ['shifts:read', 'staff:*'])

Minimum array length: 1
Pattern: ^[a-z_]+:[a-z*]+$
expiresAt
string<date-time>

Optional expiry timestamp

ipAllowlist
string[]

Optional IPv4/IPv6 CIDR allowlist

rateLimitPerMin
integer
default:60
Required range: 1 <= x <= 6000
asPat
boolean
default:false

Mint as personal access token (nex_pat_ prefix)

Response

API key created (plaintext token in key field — display once)

id
integer
name
string
prefix
string

Token prefix (e.g. nex_live_, nex_test_, nex_pat_)

lastFour
string

Last 4 characters of the token

scopes
string[]
facilityId
integer | null
ipAllowlist
string[]
rateLimitPerMin
integer
lastUsedAt
string<date-time> | null
expiresAt
string<date-time> | null
revokedAt
string<date-time> | null
rotationGraceUntil
string<date-time> | null
createdAt
string<date-time>
key
string

Plaintext token — store securely, never shown again