API support for updating individual dashboard tiles (queryPresentations)

We’re building dashboards programmatically via POST /api/v1/documents and running into a friction point: there’s no way to update a single tile on an existing dashboard. Any change to a tile’s query, chartType, or visConfig requires
deleting the entire dashboard and recreating it from scratch — losing the document ID, URL, bookmarks, and any manual UI tweaks.

What we’d like: A PATCH or PUT endpoint for individual queryPresentations on an existing document. Something like:

PATCH /api/v1/documents/{id}/queries/{queryId}

Accepting the same queryPresentation shape used in document creation (query, chartType, visConfig, etc).

Use case: We’re migrating ~200 Mode Analytics reports to Omni programmatically. Each dashboard goes through several iterations as we tune chart configs, filters, and SQL. Currently every tweak means a full delete-recreate cycle.

Even a bulk replacement endpoint (PUT /api/v1/documents/{id}/queries with the full array) would be a big improvement over the current workflow.

2 Likes

Hi Steve! Thanks for sharing this, I think we have an existing solution - have you tried using the PUT /v1/documents/{documentId} endpoint?

It will allow you to make a change to a dashboard in place without deleting the dashboard. It would be a full replacement of the queryPresentations array, and not a per-tile patch but should help smooth out your workflow.

Let me know if that works!

Hey James, are you sure that this endpoint supports queryPresentations? the API documentation doesn’t mention it. If it does, it is worth updating the docs to mention the supported fields.

Good catch, and apologies for the confusion! I linked the wrong page there - the endpoint you want is still
Update dashboard document: PUT /v1/documents/{documentId}

And the docs page is here: