---
title: "Refresh Token"
method: POST
path: "/auth/refresh"
tags: ["Auth"]
---

# Refresh Token

`POST /auth/refresh`

Exchange the `refresh_token` HttpOnly cookie for a new access token. Rotates the refresh token on each use.

## Response `200`

New access token issued

- AuthResponse
  - `success` boolean
  - `user` UserObject
    - `id` string
    - `email` string, email
    - `name` string
    - `plan` 'free' | 'starter' | 'pro'
    - `avatarUrl` string, nullable
    - `emailVerified` boolean
    - `isAdmin` boolean
    - `createdAt` string, date-time
  - `accessToken` string — JWT access token (15 min expiry). Store in memory only.
  - `message` string

## Other responses

- `401` — No refresh token cookie or token expired/invalid

---

[API](https://skmtc.dev/snapapi/apis/snapapi-screenshot-web-data-api.md) · [All operations](https://skmtc.dev/snapapi/apis/snapapi-screenshot-web-data-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/snapapi/snapapi-screenshot-web-data-api/revisions/b12ff2791613/schema)
