---
title: "Refresh Token"
method: POST
path: "/tokens"
tags: ["Tokens"]
---

# Refresh Token

`POST /tokens`

Refresh a token for a user

## Query parameters

- `userId` string, required

## Response `201`

OK

- TokenPostResponse
  - `code` 'OK' | 'CREATED' | 'INVALID_CREDENTIALS' | 'INVALID_PARAMETERS' | 'INVALID_TOKEN' | 'UNAUTHORIZED_ACCESS' | 'MISSING_RESOURCE' | 'REQUEST_LIMIT_EXCEEDED' | 'SERVER_ERROR' | 'UNSUPPORTED_METHOD' | 'SERVER_UNAVAILABLE' | 'TIME_LIMIT_EXCEEDED' — Request status code
  - `message` string — Message response to the request
  - `requestId` string — Unique ID that is added to the body of every response for easy traceability of the request in our logs.
  - `data` Token — A method for securely transmitting information between Smile and the user.
    - `id` string — Unique identifier for the Token
    - `expiresAt` string, date-time, required — Date and time
    - `mode` 'SANDBOX' | 'PRODUCTION', required — Valid Smile mode for the Token
    - `accessToken` string, required — Short-lived token to initiate link flow

## Changes

- **2026-07-15** (v1) `3bcbeecafbab` — 10 info
  - removed the non-success response with the status `400`
  - removed the non-success response with the status `401`
  - removed the non-success response with the status `403`
  - removed the non-success response with the status `404`
  - …6 more
- **2025-10-24** (v1) `2c7cb8512390` — 1 info
  - added the optional property `data/id` to the response with the `201` status

[Change history](https://skmtc.dev/smileapi/apis/smile-api/changes/tokens/post.md)

---

[API](https://skmtc.dev/smileapi/apis/smile-api.md) · [All operations](https://skmtc.dev/smileapi/apis/smile-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/smileapi/smile-api/revisions/3bcbeecafbab/schema)
