Quickstart
This guide walks you through getting a credential and making your first call to the NexSpace API.Step 1: Get a credential
After an OAuth or device-code login you hold an access token that works
everywhere a
nex_ key does in the examples that follow — send it the same
way, as Authorization: Bearer <token>.
If you can mint a key (NexSpace 365 operators)
- Log in to NexSpace
- Navigate to Settings → API Keys
- Click Create Key
- Choose your scopes. For this quickstart pick
shifts:read,staff:read,facilities:read, andintegrations:write(Step 4 needs that last one) - Copy the key — it’s shown only once
nex_live_aBcDeFgHiJkLmNoPqRsT...
You don’t choose the prefix. The instance decides: production mints
nex_live_, and the only toggle on the create form is Personal access
token, which mints nex_pat_. nex_test_ (sandbox) keys are issued only
by non-production NexSpace deployments — you cannot obtain one from
api.nexspace365.com. See Sandbox.Mintlify Try-it
On API reference pages, open Try It and pasteBearer <your credential> —
an API key or PAT issued to you, or an OAuth access token from the connector /
device-code flow. There is no separate sandbox URL and no shared demo
credential.
Step 2: Make Your First Call
Step 3: Try an MCP Tool Call
AI agents interact via the MCP protocol. Here’s how to call a tool directly:tools/list is a discovery call, not an entitlement
check; scope is enforced when you actually invoke a tool, and a call outside
your scopes fails with Insufficient credential scope. The one per-caller
part of the list is connected-app actions, which appear only when the
credential’s bound user has an active connection to that app and the
credential carries apps:read / apps:write. See MCP.
To invoke one:
Step 4: Set Up Webhooks (Optional)
Receive real-time events when things happen in NexSpace.This call needs the
integrations:write scope. POST /api/webhooks is
gated on the integrations.manage_webhooks permission, and for an
API-key caller that permission resolves to the integrations:write scope
(manage_webhooks is one of the write aliases). The read-only trio from
Step 1 — shifts:read, staff:read, facilities:read — returns
403 INSUFFICIENT_SCOPE. Include integrations:write when you create the
key, or create a second key with it. See
Permission names are not scope names.signingSecret — use it to verify incoming webhook
signatures.
Next Steps
Authentication Deep Dive
OAuth 2.1, scopes, key rotation, and device-code flow.
MCP Protocol
Full MCP integration guide for AI agents.
TypeScript SDK
Install and configure the TypeScript SDK.
CLI Reference
Automate NexSpace from the command line.

