Fetching Data from the Playbook API
Retrieve key resources — organizations, boards, and assets—using simple GET calls.
Prerequisites
- Access Token (
access_token
): A valid OAuth2 token of a user with read permissions. - Organization Slug (
slug
): Your organization's unique identifier. - 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 missingaccess_token
.404 Not Found
: invalidslug
orboard_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.