---
title: "Resume Viewer Session"
method: POST
path: "/v2/public/viewer-session/resume"
tags: ["v2 - SDK"]
---

# Resume Viewer Session

`POST /v2/public/viewer-session/resume`

## Request

- Base URL: `https://api.jubjubapp.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.jubjubapp.com/v2/public/viewer-session/resume`
- Auth: HTTP bearer

Come back to a remembered sign-in with no wallet prompt.

The player signs remembered_viewer_session.resume_payload with the
non-extractable device key it made at sign-in; this checks the row is
live, made for THIS Origin and THIS wallet, the timestamp is fresh and
newer than the last one, and the signature verifies. Then a jj_ viewer
token, the same scope as a signed-in one. 401 with {reason} otherwise:
the player forgets the sign-in and asks the wallet again.

## Request body

- RememberedSignInRequest: Resume or forget a remembered sign-in. `signature` is the device key's raw r||s (base64url) over remembered_viewer_session.resume_payload.
  - `remembered_session_id` string, required
  - `wallet_address` string, required
  - `ts_ms` integer, required
  - `signature` string, required
  - `reason` string, nullable

## Response `200`

Successful Response

- ViewerSessionResponse
  - `session_token` string, required
  - `profile_id` string, required
  - `wallet_address` string, required
  - `remembered_session_id` string, nullable
  - `remembered_until` string, nullable

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/jubjubapp/apis/jubjub-api.md) - [All operations](https://skmtc.dev/jubjubapp/apis/jubjub-api/llms.txt) - [OpenAPI document](https://skmtc.dev/jubjubapp/apis/jubjub-api/revisions/353157b296f2?raw)
