Load Save

Load canonical state by explicit saveId.

Persistly does not expose broad public lookup by externalUserId. Public clients load known saves by saveId only.

Request

GET /api/v1/saves/{saveId}

The saveId comes from the original create response or a trusted server-side handoff.

GET https://api.persistly.app/api/v1/saves/sv_01HXYZ
Authorization: Bearer ps_test_your_runtime_key

Response

200 OK

The save envelope returns the current canonical metadata, state, version, and timestamps.

HTTP/1.1 200 OK
Content-Type: application/json

{
  "save": {
    "saveId": "sv_01HXYZ",
    "externalUserId": "auth0|123",
    "metadata": {
      "characterName": "Ayla",
      "slot": 2
    },
    "state": {
      "gold": 120,
      "level": 2
    },
    "version": 4,
    "createdAt": "2026-04-09T10:00:00Z",
    "updatedAt": "2026-04-09T10:05:00Z"
  }
}