PeekPanda markpeekpandaDocumentation
For your AI
Dashboard

Get a board

Read one board: tracked apps with stored evidence, saved ads, the weekly and monthly pulse, activity and similar advertisers.

Download Markdown ↓

GEThttps://api.peekpanda.com/v1/boards/{boardId}

Request

Render saved ad creatives with `GET /v1/paid-ads?savedToBoardId=`. `trackedAppId` is the app in the tenancy ASO workstation; `stopsTrackingOnRemove` is true when no other board in the tenancy holds the app.

Parameters

NameInTypeRequiredDescription
boardIdpathuuidYesBoard id.

Response

`adsFreshness` is `never` until a collection has finished for the app and `stale` once `adsLastCollectedAt` is older than two days, so zero ads never means an app runs no ads. The pulse counts ads whose run started in each UTC week (Monday first, last 8) and month (last 6); the last bucket is the current one. `similarAdvertisers` lists up to 6 apps not on the board that are similar to its apps and have collected paid ads, most live ads first, each with the board app it is most similar to (`similarTo`) and when its paid counts were built. Counts are collected ads, never spend. The list is empty until similar apps have been computed for the board apps.

Response fields

idstring
namestring
colorstring
scopestring
workspaceIdnull
ownerUserIdstring
appCountnumber
adCountnumber
createdAtstring
updatedAtstring
apps[].idstring
apps[].kindstring
apps[].storeIdstring
apps[].namestring
apps[].iconUrlnull
apps[].notenull
apps[].addedByUserIdstring
apps[].createdAtstring
apps[].trackedAppIdstring
apps[].stopsTrackingOnRemoveboolean
apps[].evidence.liveAdsnumber
apps[].evidence.newAdsThisWeeknumber
apps[].evidence.savedAdsOnBoardnumber
apps[].evidence.inCatalogueboolean
apps[].evidence.adsLastCollectedAtstring
apps[].evidence.adsFreshnessstring
ads[].idstring
ads[].kindstring
ads[].platformstring
ads[].archiveIdstring
ads[].storeIdstring
ads[].advertiserNamestring
ads[].notestring
ads[].addedByUserIdstring
ads[].createdAtstring
pulse.appsnumber
pulse.savedAdsnumber
pulse.liveAdsnumber
pulse.newAdsThisWeeknumber
pulse.newAdsByWeek[].weekStartstring
pulse.newAdsByWeek[].newAdsnumber
pulse.newAdsByMonth[].monthstring
pulse.newAdsByMonth[].newAdsnumber
activity[].kindstring
activity[].datestring
activity[].storeIdstring
activity[].appNamestring
activity[].countnumber
trackedAppAllowance.usednumber
trackedAppAllowance.limitnumber
trackedAppAllowance.planstring
similarAdvertisers[].storeIdstring
similarAdvertisers[].namestring
similarAdvertisers[].iconUrlnull
similarAdvertisers[].matchReasonstring
similarAdvertisers[].sharedSearchesnumber
similarAdvertisers[].similarTo.storeIdstring
similarAdvertisers[].similarTo.namestring
similarAdvertisers[].liveAdsnumber
similarAdvertisers[].totalAdsnumber
similarAdvertisers[].paidEvidenceBuiltAtstring

Authentication

Requires Bearer API credential or OAuth access token. Scope context:read. MCP calls boards with action get.

Errors

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

MCP request

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

{
  "name": "boards",
  "arguments": {
    "request": {
      "action": "get",
      "params": {
        "boardId": "<boardId>"
      }
    }
  }
}

Source

Boards are the caller's own organization, stored in PeekPanda. Apps carry the listing name and icon as added; evidence counts are stored paid-ad observations.

Refresh

Board reads never call a provider or start collection. An app on any board in a space is tracked there, and tracking collects its paid ads, organic posts, keywords and chart position.

AI agent or LLM? Read this page as markdown