Breaking changes to the API interface
Metabase 0.55.0
-
POST /api/card/from-csvhas been renamed toPOST /api/upload/csv. -
GET /api/util/statshas been renamed toGET /api/analytics/anonymous-stats. -
GET /api/util/bug_report_detailshas been renamed toGET /api/bug-reporting/details. -
POST /api/util/product-feedbackhas been renamed toPOST /api/product-feedback. -
POST /api/util/entity_idhas been renamed toPOST /api/eid-translation/translate. -
POST /api/util/password_checkhas been renamed toPOST /api/session/password-check. -
GET /api/util/logshas been renamed toGET /api/logger/logs. -
GET /api/util/openapihas been removed; you can useGET /api/docs/openapi.jsoninstead, which does the same thing. -
GET /api/util/diagnostic_info/connection_pool_infohas been renamed toGET /api/bug-reporting/connection-pool-details.
Metabase 0.54.0
-
The alert system has been migrated from the legacy pulse infrastructure to the new notification system. This migration includes the following changes:
-
The majority of
/api/alertendpoints have been removed in favor of the new/api/notificationendpoints. For backward compatibility, these endpoints will remain available until the next release:GET /api/alertGET /api/alert/:idDELETE /api/alert/:id/subscription
-
Developers should migrate to using the
/api/notificationendpoints. For reference:- An overview of the new notification system can be found at
src/metabase/notification/README.md - Notification API documentation at
/api/docs/#tag/apinotification - Interactive API documentation available at
/api/docsendpoint
- An overview of the new notification system can be found at
-
Metabase 0.53.0
-
POST /api/card/:card-id/query/:export-formatPreviously, request parameters (parameters, pivot-results?, and format-rows?) could be sent via query parameters or as application/x-www-form-urlencoded form content. In Metabase 0.53.0, parameters must be sent as either:
- application/x-www-form-urlencoded form content
- JSON-encoded in the request body
Sending parameters as query parameters in the URL is no longer supported.
Metabase 0.52.0
POST /api/user/:id/send_invitehas been removed.-
GET /:id/fieldsnow includes the Table ID. - APIs under
/api/pulseand/api/alertwill be removed in a future version as we’re tranitioning to a new architecture.
Metabase 0.51.0
-
GET /api/dashboard/:id/query_metadataNew endpoint that combines responses for
/api/field/:id,/api/database/:id, and/api/table/:id/query_metadata. This should drastically cut down on the required number of requests to display a card. -
GET /api/card/:id/query_metadataNew endpoint that combines responses for
/api/field/:id,/api/database/:id, and/api/table/:id/query_metadata. This should drastically cut down on the required number of requests to display a dashboard. -
/api/legacy-metricThe
/api/legacy-metricendpoints have been removed. -
POST /api/session/pulse/unsubscribeandPOST /api/session/pulse/unsubscribe/undohave been moved toPOST /api/pulse/unsubscribeandPOST /api/pulse/unsubscribe/undorespectively.
Metabase 0.50.0
-
GET /api/collection/treeandGET /api/collection/:id/itemsThese API endpoints will always return official collections first, before other items in the collection. -
PUT /api/dashboard/:id,PUT /api/card/:id, andPUT /api/collection/:idWhen setting
archivedtotrue, the Dashboard, Card, or Collection will be automatically moved to the Trash collection, a special collection that holds all archived items.When setting
archivedtofalse, you may optionally also provide acollection_id(for Dashboards or Cards) or aparent_id(for Collections). In this case, the entity will be re-parented to the specified Collection when it is moved from the Trash. If a newcollection_idorparent_idis not provided, the entity will be moved back to its original location if possible. If this is not possible (for example, the original location is also in the Trash) an error will occur. -
/api/metricThe
/api/metricendpoints has been renamed to/api/legacy-metricto reflect that fact it will not be used for the new version of metrics. The new version uses the/api/cardendpoints. -
GET /api/permissions/graphandPUT /api/permissions/graphThe
datakey has been removed from the permissions graph. Thedatakey has been replaced with two new keys:view-dataandcreate-queries. Valid permission values forview-dataareunrestricted,blocked,sandboxedorrestricted. Valid permission values forcreate-queriesarequery-builder-and-native,query-builder, andno.If you’re scripting permissions, you’ll need to update your scripts to reflect these breaking changes to the
/api/permissions/graphendpoints. For more about the new data permissions of View data and Create queries, see our docs on data permissions. And here’s a page that talks about the change (and why we did it). -
GET /api/transform/:db-id/:schema/:transform-name, which hasn’t been used internally by Metabase for ages, has been removed. -
POST /api/user/:id/send_inviteis deprecated and will be removed in the next version.
Metabase 0.49.5
NOTE: These endpoint changes were added in 0.49.3, and a bug in GET /api/embed/card/:token/query/:export-format was fixed in 0.49.5.
POST /api/card/:card-id/query/:export-formatPOST /api/:dashboard-id/dashcard/:dashcard-id/card/:card-id/query/:export-formatPOST /api/dataset/:export-formatGET /api/embed/card/:token/query/:export-format-
GET /api/embed/dashboard/:token/dashcard/:dashcard-id/card/:card-id/:export-formatThe above endpoints now accept the
format_rowsquery parameter. It is an optional boolean parameter that will default totrueif not included in the request. Whenformat_rowsistrue, the export will have formatting applied such that the values match what they appear as in the app. Whenformat_rowsisfalse, formatting is not applied and exports will behave as they did prior to 0.49.0.The value of
format_rowshas no effect when exporting xlsx files.
Metabase 0.49.0
-
POST /api/cardandPUT /api/card/:idThe
datasetkey is deprecated and will be removed in a future version, most likely 50. In its place we have added a new key:typewhich is equivalent in that it distinguishes Models from Questions.type="model"is equivalent todataset=trueandtype="question"is equivalent todataset=false. -
all endpoints that return data (e.g. exports in JSON, XLSX, CSV, endpoints that end in “/query”)
Starting from v49, we respond to the API calls with values formatted according to the instance localization options
Read docs for other versions of Metabase.