Skip to main content

Fetching Data from the Playbook API

Retrieve key resources — organizations, boards, and assets—using simple GET calls.

Prerequisites

  1. Access Token (access_token): A valid OAuth2 token of a user with read permissions.
  2. Organization Slug (slug): Your organization's unique identifier.
  3. Board Token (board_token): Token of a specific board (for assets endpoint).

List Your Organizations

Endpoint

GET /organizations

Query Parameters

  • access_token (string, required)
  • page (integer, optional, default: 1)
  • per_page (integer, optional, default: 20)

Example Request

curl "https://be.playbook.com/api/v1/organizations?access_token=USER_TOKEN&page=1&per_page=20" | jq

Example Response

{
"data": [
{ "id": 1, "slug": "coolclient-ltd", "name": "CoolClient Ltd" },
{ "id": 2, "slug": "acme-corp", "name": "Acme Corp" }
],
"pagy": { "current_page": 1, "page_items": 20, "total_pages": 1, "total_count": 2 }
}

List Boards in an Organization

Endpoint

GET /{slug}/boards

Query Parameters

  • access_token (string, required)
  • page (integer, optional)
  • per_page (integer, optional)
  • depth (integer, optional) — fetch nested children up to this level

Example Request

curl "https://api.playbook.com/api/v1/coolclient-ltd/boards?access_token=USER_TOKEN&page=1&per_page=20" | jq

Example Response

{
"data": [
{ "id": 123, "token": "boardToken111", "title": "Homepage Assets" },
{ "id": 124, "token": "boardToken222", "title": "Blog Banners" }
],
"pagy": { "current_page": 1, "page_items": 2, "total_pages": 1, "total_count": 2 }
}

List Assets in a Board

Endpoint

GET /{slug}/boards/{board_token}/assets

Query Parameters

  • access_token (string, required)
  • page (integer, optional)
  • per_page (integer, optional)

Example Request

curl "https://api.playbook.com/api/v1/coolclient-ltd/boards/boardToken1234/assets?access_token=YOUR_TOKEN&page=1&per_page=20" | jq

Example Response

{
"data": [
{
"id": 987,
"token": "assetToken111",
"title": "hero.jpg",
"display_url": "https://cdn.playbook.com/hero.jpg"
},
{
"id": 988,
"token": "assetToken222",
"title": "logo_dark.png",
"display_url": "https://cdn.playbook.com/logo_dark.png"
}
],
"pagy": { "current_page": 1, "page_items": 2, "total_pages": 1, "total_count": 2 }
}

Error Handling

  • 401 Unauthorized: invalid or missing access_token.
  • 404 Not Found: invalid slug or board_token.
  • 422 Unprocessable Entity: invalid query parameters.

Tips & Next Steps

  • Use depth when listing boards to fetch nested child boards in one call.
  • Combine these endpoints to build dashboards or synced local caches of Playbook content.