Savee Developers

Boards

GET
/v1/boards

List the authenticated user's boards

Returns every board the caller can see in a single response (not paginated): personal boards they own, boards they collaborate on, and boards from any Savee Teams workspace they're a member of. Use the ownership_type field on each board to tell user-owned boards apart from team boards. The order follows the caller's chosen boards-sort preference on savee.com.

Authorization

Authorization
Required
Bearer <token>

Personal access token (sv_live_…) — represents you and carries every scope, so no scope is required for this call. Best for your own scripts and internal tools. Generate one at https://savee.com/developers/.

In: header


Authorization
Required
Bearer <token>

OAuth access token (sv_at_…) — obtained on one of your users’ behalf and limited to the scopes they approved. Use this when you’re building a product other people sign into with Savee. See https://docs.savee.com/api/oauth.

Missing the scope below returns 403 with a WWW-Authenticate: Bearer error="insufficient_scope" header naming it.

In: header

Scope: boards:read

Status codeDescription
200All boards visible to the caller.
400Invalid input.
401Missing or invalid Bearer token.
402Authenticated but the user has no active subscription.
403The Public API is not available on this account.
429Rate limit exceeded. Retry after the number of seconds in Retry-After.
500Unexpected server error.
curl -X GET "https://api.savee.com/v1/boards"

{
  "data": [
    {
      "id": "69fbaf96d242ec48009df59a",
      "name": "Posters",
      "slug": "posters",
      "url": "https://savee.com/aliceb/posters/",
      "is_private": false,
      "saves_count": 128,
      "created_at": "2026-04-01T09:00:00.000Z",
      "og_image": "https://dm.savee.com/board-og/original/Lp9wQ2s.jpg",
      "ownership_type": "user"
    }
  ]
}

GET
/v1/boards/{boardID}/saves

List saves on a specific board

boardID is the board id returned by /v1/boards. Accessible by any user with a role on the board (owner, admin, editor, viewer) and by team members for team-owned boards. Returns 404 when the board does not exist or the caller has no role on it — the API does not confirm whether someone else’s board exists.

Authorization

Authorization
Required
Bearer <token>

Personal access token (sv_live_…) — represents you and carries every scope, so no scope is required for this call. Best for your own scripts and internal tools. Generate one at https://savee.com/developers/.

In: header


Authorization
Required
Bearer <token>

OAuth access token (sv_at_…) — obtained on one of your users’ behalf and limited to the scopes they approved. Use this when you’re building a product other people sign into with Savee. See https://docs.savee.com/api/oauth.

Missing the scope below returns 403 with a WWW-Authenticate: Bearer error="insufficient_scope" header naming it.

In: header

Scope: boards:read, saves:read

Path Parameters

boardID
Required
string

The board id (the id returned by /v1/boards).

Query Parameters

limitinteger

Page size (default 30, max 100).

Example: 30Minimum: 1Maximum: 100

cursorstring

Opaque cursor returned in next_cursor from the previous page. Pass it through verbatim — the encoding is an implementation detail and may change.

Example: "eyJjIjoiMjAyNi0wNS0wOFQxMjowMDowMFoiLCJpIjoiNjdhYWRhMjAifQ"
Status codeDescription
200A page of saves on the board.
400Invalid input.
401Missing or invalid Bearer token.
402Authenticated but the user has no active subscription.
403The Public API is not available on this account.
404Board not found or not accessible to the caller.
429Rate limit exceeded. Retry after the number of seconds in Retry-After.
500Unexpected server error.
curl -X GET "https://api.savee.com/v1/boards/string/saves?limit=30&cursor=eyJjIjoiMjAyNi0wNS0wOFQxMjowMDowMFoiLCJpIjoiNjdhYWRhMjAifQ"

{
  "data": [
    {
      "id": "67aada20d242ec0009400825",
      "url": "https://savee.com/i/UXb_bvc/",
      "name": "Brutalist poster",
      "source_url": "https://example.com/poster",
      "created_at": "2026-05-08T12:00:00.000Z",
      "is_private": false,
      "total_saves": 42,
      "media": {
        "type": "image",
        "width": 1600,
        "height": 2400,
        "thumbnail": "https://dm.savee.com/asset_image/w420/6r4nDqE.avif",
        "original": "https://dm.savee.com/asset_image/original/6r4nDqE.avif"
      },
      "colors": [
        {
          "color": "#1A1A1A",
          "amount": 0.62
        }
      ],
      "user": {
        "id": "63e1a4c2d242ec00094007f1",
        "username": "aliceb",
        "name": "Alice Bauer",
        "url": "https://savee.com/aliceb/",
        "avatar_url": "https://dm.savee.com/user-avatar/original/8kQ2mZp.jpg"
      }
    }
  ],
  "next_cursor": "eyJjIjoiMjAyNi0wNS0wOFQxMjowMDowMFoiLCJpIjoiNjdhYWRhMjAifQ",
  "has_more": true
}

On this page