Skip to content

Exchange credentials for JWT token

POST
/v1/integrator/tokens

Exchange HMAC-signed request for a short-lived JWT token.

Authentication: Requires HMAC signature authentication with integrator credentials.

Use Case: Backend integrators can exchange their HMAC credentials for a JWT token that can be used from frontend applications.

Token Lifetime: Maximum 3600 seconds (60 minutes), default 3600 seconds.

Rate Limiting: 100 token exchanges per minute per integrator.

object
userApiKey
required

User API key for token exchange

string
>= 1 characters
expiresIn

Token lifetime in seconds (default: 3600, max: 3600)

number
default: 3600 >= 1 <= 3600

Response for status 200

object
accessToken
required

JWT access token with spr_ prefix

string
userId
required

The internal ID of the authorized user

string
tokenType
required

Token type (always ‘Bearer’)

string
Allowed value: Bearer
expiresIn
required

Token lifetime in seconds

number
expiresAt
required

ISO 8601 timestamp when token expires

string format: date-time

Response for status 401

object
type

A URI reference that identifies the problem type

string
default: about:blank
title
required

A short, human-readable summary of the problem type

string
status
required

The HTTP status code

number
detail

A human-readable explanation specific to this occurrence

string
instance

A URI reference that identifies the specific occurrence

string
realm

The authentication realm

string
scope

The required scope for this resource

string

Response for status 404

object
type

A URI reference that identifies the problem type

string
default: about:blank
title
required

A short, human-readable summary of the problem type

string
status
required

The HTTP status code

number
detail

A human-readable explanation specific to this occurrence

string
instance

A URI reference that identifies the specific occurrence

string
resourceType
required

The type of resource that was not found

string
resourceId
required

The identifier of the resource that was not found

string

Response for status 500

object
type

A URI reference that identifies the problem type

string
default: about:blank
title
required

A short, human-readable summary of the problem type

string
status
required

The HTTP status code

number
detail

A human-readable explanation specific to this occurrence

string
instance

A URI reference that identifies the specific occurrence

string