Skip to main content

Authentication

NuRoute uses Bearer tokens for all requests. There are two kinds of token:

Token typeFormatUse case
API keyaicp-…Server-to-server, long-lived, created in the dashboard
Session JWTStandard JWTReturned after auth.login() / auth.signup(), expires after 1 hour. Needed to change settings: an API key has no role, so routing, project and provider changes and API key management made with one are refused with 403

Pass either as a Bearer token:

Authorization: Bearer aicp-...

Signing up​

const result = await client.auth.signup({
orgName: 'Acme Corp',
email: 'you@acme.com',
password: 'super-secret',
userName: 'Your Name', // optional
});

// result.token is a session JWT, set it on the client
client.setApiKey(result.token);

Logging in​

const result = await client.auth.login({
email: 'you@acme.com',
password: 'super-secret',
});

client.setApiKey(result.token);

Accepting an invitation​

When a team member invites you, they send a link containing a token. Use it to set your password and get a session:

// First, inspect the invite
const info = await client.auth.getInviteInfo(token);
console.log(info.email, info.orgName);

// Then accept and get a session
const result = await client.auth.acceptInvite({
token,
name: 'New Member',
password: 'my-password',
});

client.setApiKey(result.token);

Using a permanent API key​

For server-side applications, create an API key in the dashboard (Settings → API Keys) and pass it directly:

const client = new NuRouteClient({
apiKey: 'aicp-...',
baseUrl: 'https://your-gateway',
});

API keys do not expire unless you set an expiry when you create them, or delete them.