---
title: "Rotate a refresh token"
method: POST
path: "/auth/refresh"
tags: ["Auth"]
---

# Rotate a refresh token

`POST /auth/refresh`

Sensitive authentication session mutation. Responses that issue or rotate tokens are no-store; refresh tokens are single-use and reuse detection revokes the user's refresh-token family.

## Headers

- `X-Steward-Request-Timestamp` string
- `X-Steward-Request-Expires-At` string
- `X-Steward-Signature` string
- `X-Steward-Signing-Key-Id` string
- `Idempotency-Key` string

## Request body

- object
  - `refreshToken` string, required

## Response `200`

JSON response

- object
  - `ok` true, required
  - `token` string, required
  - `refreshToken` string, required
  - `expiresIn` integer, required
  - `user` object

## Other responses

- `400` — JSON response
- `401` — JSON response
- `403` — JSON response
- `404` — JSON response
- `408` — JSON response
- `409` — JSON response
- `429` — JSON response

## Changes

- **2026-08-17** `261a7c8070b2` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/steward-fi/apis/steward-api/changes/auth/refresh/post.md)

---

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