The REST API returns data_table_format items with no title or name field — every table has a visible name in the Miro UI, but developers can't access it programmatically. What we tried:
GET /v2/boards/{id}/items?type=data_table_format— returns tables but no title field. Other item types (sticky notes, shapes, text, cards) all include content/title.
GET /v2-experimental/boards/{id}/tables/{id}— has the title, but returns 403 for standard OAuth apps (boards:read boards:write). No additional scope available to unlock it.
- MCP
context_explore— returns generic names like "Table 3458764661623371178" instead of real names. Works for frames/docs but not tables.
- MCP
context_get— the only thing that works. Returns an AI-generated summary where the name appears in prose liketitled "Planner Tasks". We extract it with regex.
Why this workaround is bad:
- ~10-15s latency per table (AI processes all row data just to produce a summary)
- Non-deterministic output — same table returns different prose each call; sometimes the name isn't mentioned at all
- Requires regex against natural language (fragile)
- No way to ask for "just the title" —
context_getonly accepts a URL - Requires a separate OAuth 2.1 flow (DCR + PKCE) just to connect to MCP
- Tokens expire hourly
We're using an AI content analysis tool as a metadata lookup. The data already exists in the Miro backend — it just needs a field on the REST response. The ask: Add a title field to data_table_format items in the v2 API, or make the experimental tables API accessible to standard OAuth apps.

