# List starter boards

Browse the curated starter-board niches and their app summaries.

## Contract status

Preview contract: these routes and tools are implemented in the shared contract, but the public host, customer API access and OAuth flow have not been deployment verified.

## Endpoint: GET /v1/starter-boards

- Method: `GET`
- Path: `/v1/starter-boards`
- Authentication: Bearer API credential or OAuth access token
- Required scope: `context:read`
- MCP tool: `starter_boards`
- MCP action: `list`

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |

## Known errors

- 400 invalid_request for an invalid filter, identity or limit.
- 401 authentication_required for a missing or invalid credential.
- 402 subscription_required when access is not entitled.
- 403 authorization_required for a missing scope or unavailable preview access.
- 403 workspace_not_accessible when x-genviral-tenancy names a workspace the credential cannot reach.
- 404 not_found when the record is outside the accessible catalogue.
- 429 rate_limited; honor Retry-After when present.
- 429 daily_call_limit; the plan's daily API and MCP calls are used until 00:00 UTC.

## Request

No query or body. The list is bounded to the curated catalogue.

```
curl --get 'https://api.peekpanda.com/v1/starter-boards' \
  --header "Authorization: Bearer $PEEKPANDA_TOKEN" \
  --header 'x-genviral-tenancy: personal'
```

## MCP request

Call starter_boards with action list. Path fields go in params, filters in query, and a write body in body.

```
{
  "name": "starter_boards",
  "arguments": {
    "request": {
      "action": "list"
    }
  }
}

```

## Response

Each niche has a stable key, display label and up to 12 iOS app summaries. Listing, rating and paid-ad facts include their observation dates; unavailable observations are null.

```
{
  "data": [
    {
      "key": "calorie-tracking",
      "label": "Calorie tracking",
      "apps": [
        {
          "storeId": "6480417616",
          "name": "Cal AI - Calorie Tracker",
          "iconUrl": null,
          "developer": null,
          "category": null,
          "rating": null,
          "ratingCount": null,
          "listingObservedAt": null,
          "liveAds": null,
          "totalAds": null,
          "paidObservedAt": null
        }
      ]
    }
  ]
}

```

## Source

Curated PeekPanda starter-board catalogue and public competitor evidence. No private customer board content is returned.

## Refresh

Reads stored listing, paid-ad, keyword and organic observations only. These requests never start provider collection. Each observed stream carries its observation date; missing evidence remains null or an empty list.

## Rate limits and daily budget

Authenticated API and MCP calls share the plan holder’s daily allowance: Peek 30 or Panda 1,000 calls, reset at 00:00 UTC. The standard per-minute rate limit also applies; honor Retry-After and daily-call reset headers on 429 responses.
