Skip to main content
POST
/
api
/
v1
/
auth
/
refresh
Refresh access token
curl --request POST \
  --url https://crypto.westminister.tech/api/v1/auth/refresh \
  --header 'Content-Type: application/json' \
  --data '
{
  "refresh_token": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
'
{
  "access_token": "v2.local.eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
  "refresh_token": "b2c3d4e5-f6g7-8901-bcde-f23456789012",
  "token_type": "bearer",
  "expires_in": 900,
  "user": {
    "id": "5c81c005-1c52-4e0d-85e2-862ee1cdd4d0",
    "email": "user@example.com",
    "phone_number": "+254712345678",
    "first_name": "John",
    "last_name": "Doe",
    "role": "customer",
    "kyc_status": "pending"
  }
}

Body

application/json

Request payload for refreshing an access token.

refresh_token
string
required

The refresh token previously issued by a login endpoint.

Example:

"a1b2c3d4-e5f6-7890-abcd-ef1234567890"

Response

Token refreshed successfully

Authentication response returned by login endpoints.

access_token
string

Short-lived bearer token (e.g., PASETO/JWT) used for authenticated API calls.

Example:

"v2.local.eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."

refresh_token
string

Long-lived refresh token used to obtain new access tokens. Store securely and never expose in URLs or logs.

Example:

"a1b2c3d4-e5f6-7890-abcd-ef1234567890"

token_type
string

Token type, typically 'bearer'.

Example:

"bearer"

expires_in
integer<int64>

Access token lifetime in seconds.

Example:

900

user
object