Skip to content

Issue access token

client.auth.issueAccessToken(AuthIssueAccessTokenParams { grant_type, bound_entity } body, RequestOptionsoptions?): AuthIssueAccessTokenResponse { access_token, expires_in, token_type, bound_entity }
POST/v1/auth/access-tokens

Issues a short-lived access token from the authenticated API key. Access tokens can optionally be bound to a specific employer or employee for scoped access. Tokens expire after 15 minutes.

ParametersExpand Collapse
body: AuthIssueAccessTokenParams { grant_type, bound_entity }
grant_type: "client_credentials"
  • client_credentials - client_credentials
bound_entity?: BoundEntity | null

Optional entity to bind the token to for scoped access

id: string

Prefixed entity ID to bind the token to (empr_* for employer, empl_* for employee)

type: Type
  • employer - employer
  • employee - employee
One of the following:
"employer"
"employee"
ReturnsExpand Collapse
AuthIssueAccessTokenResponse { access_token, expires_in, token_type, bound_entity }
access_token: string

The issued access token (vit_at_*)

expires_in: number

Token lifetime in seconds

token_type: string

Token type, always 'Bearer'

bound_entity?: BoundEntity | null

Entity the token is bound to, if any

id: string

Prefixed entity ID the token is bound to (empr_* or empl_*)

type: Type
  • employer - employer
  • employee - employee
One of the following:
"employer"
"employee"

Issue access token

import VitableConnect from '@vitable-inc/vitable-connect';

const client = new VitableConnect({
  apiKey: process.env['VITABLE_CONNECT_API_KEY'], // This is the default and can be omitted
});

const response = await client.auth.issueAccessToken({ grant_type: 'client_credentials' });

console.log(response.access_token);
{
  "access_token": "vit_at_abc123def456...",
  "token_type": "Bearer",
  "expires_in": 910,
  "bound_entity": {
    "id": "empr_SGVsbG8gV29ybGQ",
    "type": "employer"
  }
}
Returns Examples
{
  "access_token": "vit_at_abc123def456...",
  "token_type": "Bearer",
  "expires_in": 910,
  "bound_entity": {
    "id": "empr_SGVsbG8gV29ybGQ",
    "type": "employer"
  }
}