Version v0.43 of Metabase is no longer supported. Check out the docs for the current stable version, Metabase v0.63.
Dashboard
/api/dashboard endpoints.
- DELETE /api/dashboard/:dashboard-id/public_link
- DELETE /api/dashboard/:id
- DELETE /api/dashboard/:id/cards
- GET /api/dashboard/
- GET /api/dashboard/:id
- GET /api/dashboard/:id/params/:param-key/search/:query
- GET /api/dashboard/:id/params/:param-key/values
- GET /api/dashboard/:id/related
- GET /api/dashboard/:id/revisions
- GET /api/dashboard/embeddable
- GET /api/dashboard/params/valid-filter-fields
- GET /api/dashboard/public
- POST /api/dashboard/
- POST /api/dashboard/:dashboard-id/dashcard/:dashcard-id/card/:card-id/query
- POST /api/dashboard/:dashboard-id/dashcard/:dashcard-id/card/:card-id/query/:export-format
- POST /api/dashboard/:dashboard-id/public_link
- POST /api/dashboard/:from-dashboard-id/copy
- POST /api/dashboard/:id/cards
- POST /api/dashboard/:id/revert
- POST /api/dashboard/pivot/:dashboard-id/dashcard/:dashcard-id/card/:card-id/query
- POST /api/dashboard/save
- POST /api/dashboard/save/collection/:parent-collection-id
- PUT /api/dashboard/:id
- PUT /api/dashboard/:id/cards
DELETE /api/dashboard/:dashboard-id/public_link
Delete the publicly-accessible link to this Dashboard.
PARAMS:
dashboard-id
DELETE /api/dashboard/:id
Delete a Dashboard.
PARAMS:
id
DELETE /api/dashboard/:id/cards
Remove a DashboardCard from a Dashboard.
PARAMS:
-
id -
dashcardIdvalue must be a valid integer greater than zero.
GET /api/dashboard/
Get Dashboards. With filter option f (default all), restrict results as follows:
all- Return all Dashboards.mine- Return Dashboards created by the current user.archived- Return Dashboards that have been archived. (By default, these are excluded.).
PARAMS:
fvalue may be nil, or if non-nil, value must be one of:all,archived,mine.
GET /api/dashboard/:id
Get Dashboard with ID.
PARAMS:
id
GET /api/dashboard/:id/params/:param-key/search/:query
Fetch possible values of the parameter whose ID is :param-key that contain :query. Optionally restrict
these values by passing query parameters like other-parameter=value e.g.
;; fetch values for Dashboard 1 parameter 'abc' that contain 'Cam' and are possible when parameter 'def' is set
;; to 100
GET /api/dashboard/1/params/abc/search/Cam?def=100
Currently limited to first 1000 results.
PARAMS:
-
id -
param-key -
query -
query-params
GET /api/dashboard/:id/params/:param-key/values
Fetch possible values of the parameter whose ID is :param-key. Optionally restrict these values by passing query
parameters like other-parameter=value e.g.
;; fetch values for Dashboard 1 parameter 'abc' that are possible when parameter 'def' is set to 100
GET /api/dashboard/1/params/abc/values?def=100.
PARAMS:
-
id -
param-key -
query-params
GET /api/dashboard/:id/related
Return related entities.
PARAMS:
id
GET /api/dashboard/:id/revisions
Fetch Revisions for Dashboard with ID.
PARAMS:
id
GET /api/dashboard/embeddable
Fetch a list of Dashboards where enable_embedding is true. The dashboards can be embedded using the embedding
endpoints and a signed JWT.
GET /api/dashboard/params/valid-filter-fields
Utility endpoint for powering Dashboard UI. Given some set of filtered Field IDs (presumably Fields used in
parameters) and a set of filtering Field IDs that will be used to restrict values of filtered Fields, for each
filtered Field ID return the subset of filtering Field IDs that would actually be used in a chain filter query
with these Fields.
e.g. in a chain filter query like
GET /api/dashboard/10/params/PARAM_1/values?PARAM_2=100
Assume PARAM_1 maps to Field 1 and PARAM_2 maps to Fields 2 and 3. The underlying MBQL query may or may not
filter against Fields 2 and 3, depending on whether an FK relationship that lets us create a join against Field 1
can be found. You can use this endpoint to determine which of those Fields is actually used:
GET /api/dashboard/params/valid-filter-fields?filtered=1&filtering=2&filtering=3
;; ->
{1 [2 3]}
Results are returned as a map of
`filtered` Field ID -> subset of `filtering` Field IDs that would be used in chain filter query.
PARAMS:
-
filteredvalue must satisfy one of the following requirements: 1) value must be a valid integer greater than zero. 2) value must be an array. Each value must be a valid integer greater than zero. The array cannot be empty. -
filteringvalue may be nil, or if non-nil, value must satisfy one of the following requirements: 1) value must be a valid integer greater than zero. 2) value must be an array. Each value must be a valid integer greater than zero. The array cannot be empty.
GET /api/dashboard/public
Fetch a list of Dashboards with public UUIDs. These dashboards are publicly-accessible if public sharing is enabled.
POST /api/dashboard/
Create a new Dashboard.
PARAMS:
-
namevalue must be a non-blank string. -
descriptionvalue may be nil, or if non-nil, value must be a string. -
parametersvalue must be an array. Each value must be a map. -
cache_ttlvalue may be nil, or if non-nil, value must be an integer greater than zero. -
collection_idvalue may be nil, or if non-nil, value must be an integer greater than zero. -
collection_positionvalue may be nil, or if non-nil, value must be an integer greater than zero. -
_dashboard
POST /api/dashboard/:dashboard-id/dashcard/:dashcard-id/card/:card-id/query
Run the query associated with a Saved Question (Card) in the context of a Dashboard that includes it.
PARAMS:
-
dashboard-id -
dashcard-id -
card-id -
parametersvalue may be nil, or if non-nil, value must be an array. Each value must be a parameter map with an ‘id’ key
POST /api/dashboard/:dashboard-id/dashcard/:dashcard-id/card/:card-id/query/:export-format
Run the query associated with a Saved Question (Card) in the context of a Dashboard that includes it, and return
its results as a file in the specified format.
parameters should be passed as query parameter encoded as a serialized JSON string (this is because this endpoint
is normally used to power ‘Download Results’ buttons that use HTML form actions).
PARAMS:
-
dashboard-id -
dashcard-id -
card-id -
export-formatvalue must be one of:api,csv,json,xlsx. -
parametersvalue may be nil, or if non-nil, value must be a valid JSON string. -
request-parameters
POST /api/dashboard/:dashboard-id/public_link
Generate publicly-accessible links for this Dashboard. Returns UUID to be used in public links. (If this Dashboard has already been shared, it will return the existing public link rather than creating a new one.) Public sharing must be enabled.
You must be a superuser to do this.
PARAMS:
dashboard-id
POST /api/dashboard/:from-dashboard-id/copy
Copy a Dashboard.
PARAMS:
-
from-dashboard-id -
namevalue may be nil, or if non-nil, value must be a non-blank string. -
descriptionvalue may be nil, or if non-nil, value must be a string. -
collection_idvalue may be nil, or if non-nil, value must be an integer greater than zero. -
collection_positionvalue may be nil, or if non-nil, value must be an integer greater than zero. -
_dashboard
POST /api/dashboard/:id/cards
Add a Card to a Dashboard.
PARAMS:
-
id -
cardIdvalue may be nil, or if non-nil, value must be an integer greater than zero. -
parameter_mappingsvalue must be an array. Each value must be a map. -
dashboard-card
POST /api/dashboard/:id/revert
Revert a Dashboard to a prior Revision.
PARAMS:
-
id -
revision_idvalue must be an integer greater than zero.
POST /api/dashboard/pivot/:dashboard-id/dashcard/:dashcard-id/card/:card-id/query
Run a pivot table query for a specific DashCard.
PARAMS:
-
dashboard-id -
dashcard-id -
card-id -
parametersvalue may be nil, or if non-nil, value must be an array. Each value must be a parameter map with an ‘id’ key
POST /api/dashboard/save
Save a denormalized description of dashboard.
PARAMS:
dashboard
POST /api/dashboard/save/collection/:parent-collection-id
Save a denormalized description of dashboard into collection with ID :parent-collection-id.
PARAMS:
-
parent-collection-id -
dashboard
PUT /api/dashboard/:id
Update a Dashboard.
Usually, you just need write permissions for this Dashboard to do this (which means you have appropriate
permissions for the Cards belonging to this Dashboard), but to change the value of enable_embedding you must be a
superuser.
PARAMS:
-
parametersvalue may be nil, or if non-nil, value must be an array. Each value must be a map. -
points_of_interestvalue may be nil, or if non-nil, value must be a string. -
descriptionvalue may be nil, or if non-nil, value must be a string. -
archivedvalue may be nil, or if non-nil, value must be a boolean. -
collection_positionvalue may be nil, or if non-nil, value must be an integer greater than zero. -
show_in_getting_startedvalue may be nil, or if non-nil, value must be a boolean. -
enable_embeddingvalue may be nil, or if non-nil, value must be a boolean. -
collection_idvalue may be nil, or if non-nil, value must be an integer greater than zero. -
dash-updates -
namevalue may be nil, or if non-nil, value must be a non-blank string. -
caveatsvalue may be nil, or if non-nil, value must be a string. -
embedding_paramsvalue may be nil, or if non-nil, value must be a valid embedding params map. -
cache_ttlvalue may be nil, or if non-nil, value must be an integer greater than zero. -
id -
positionvalue may be nil, or if non-nil, value must be an integer greater than zero.
PUT /api/dashboard/:id/cards
Update Cards on a Dashboard. Request body should have the form:
{:cards [{:id ... ; DashboardCard ID
:sizeX ...
:sizeY ...
:row ...
:col ...
:parameter_mappings ...
:series [{:id 123
...}]}
...]}.
PARAMS:
-
id -
cardsvalue must be an array. Each value must be a valid DashboardCard map. The array cannot be empty.
Read docs for other versions of Metabase.