Documentation Index
Fetch the complete documentation index at: https://mintlify.com/metabase/metabase/llms.txt
Use this file to discover all available pages before exploring further.
The Public API provides access to publicly shared Metabase content through UUID-based URLs. No authentication is required for these endpoints.
Public sharing overview
Public sharing allows you to:
- Share dashboards and questions with anyone via a URL
- Embed content without signed tokens
- Allow external users to view data without Metabase accounts
Public links are accessible by anyone with the URL. Only share links for content you want to be publicly accessible.
Enable public sharing
Public sharing must be enabled by an administrator:
- Go to Admin > Settings > Public Sharing
- Enable “Enable Public Sharing”
- Optionally enable “Enable Embedding”
Requires admin permissions to enable public sharing instance-wide.
Create public links
Create card public link
Generate a public sharing link for a question.
POST /api/card/{card-id}/public_link
curl -X POST \
https://your-metabase.com/api/card/1/public_link \
-H 'X-Metabase-Session: SESSION_TOKEN'
Response
{
"uuid": "110c3d96-ff3a-4ec6-9a82-7c2d5e073fa2"
}
The question can be accessed at:
https://your-metabase.com/public/question/110c3d96-ff3a-4ec6-9a82-7c2d5e073fa2
Create dashboard public link
Generate a public sharing link for a dashboard.
POST /api/dashboard/{dashboard-id}/public_link
curl -X POST \
https://your-metabase.com/api/dashboard/1/public_link \
-H 'X-Metabase-Session: SESSION_TOKEN'
Delete public links
Delete card public link
Revoke public access to a question.
DELETE /api/card/{card-id}/public_link
curl -X DELETE \
https://your-metabase.com/api/card/1/public_link \
-H 'X-Metabase-Session: SESSION_TOKEN'
Delete dashboard public link
Revoke public access to a dashboard.
DELETE /api/dashboard/{dashboard-id}/public_link
curl -X DELETE \
https://your-metabase.com/api/dashboard/1/public_link \
-H 'X-Metabase-Session: SESSION_TOKEN'
Access public content
Get public card
Retrieve a publicly shared question.
GET /api/public/card/{uuid}
curl -X GET \
https://your-metabase.com/api/public/card/110c3d96-ff3a-4ec6-9a82-7c2d5e073fa2
No authentication required. Anyone with the UUID can access this endpoint.
Execute public card query
Run the query for a publicly shared question.
GET /api/public/card/{uuid}/query
curl -X GET \
https://your-metabase.com/api/public/card/110c3d96-ff3a-4ec6-9a82-7c2d5e073fa2/query
Download public card results
Download query results in a specific format.
GET /api/public/card/{uuid}/query/{export-format}
curl -X GET \
https://your-metabase.com/api/public/card/110c3d96-ff3a-4ec6-9a82-7c2d5e073fa2/query/csv \
-o results.csv
Parameters
Export format: csv, xlsx, or json
Get public dashboard
Retrieve a publicly shared dashboard.
GET /api/public/dashboard/{uuid}
curl -X GET \
https://your-metabase.com/api/public/dashboard/110c3d96-ff3a-4ec6-9a82-7c2d5e073fa2
Execute public dashboard card query
Run a query for a card on a public dashboard.
GET /api/public/dashboard/{uuid}/dashcard/{dashcard-id}/card/{card-id}
curl -X GET \
https://your-metabase.com/api/public/dashboard/110c3d96-ff3a-4ec6-9a82-7c2d5e073fa2/dashcard/5/card/10
Public parameters
Get parameter values
Get possible values for a public question parameter.
GET /api/public/card/{uuid}/params/{param-key}/values
curl -X GET \
https://your-metabase.com/api/public/card/110c3d96-ff3a-4ec6-9a82-7c2d5e073fa2/params/category/values
Search parameter values
Search for parameter values in a public question.
GET /api/public/card/{uuid}/params/{param-key}/search/{query}
curl -X GET \
https://your-metabase.com/api/public/card/110c3d96-ff3a-4ec6-9a82-7c2d5e073fa2/params/category/search/electronics
Get parameter remapping
Get remapped values for a public question parameter.
GET /api/public/card/{uuid}/params/{param-key}/remapping
curl -X GET \
'https://your-metabase.com/api/public/card/110c3d96-ff3a-4ec6-9a82-7c2d5e073fa2/params/category/remapping?value=123'
Public actions
Get public action
Retrieve a publicly shared action.
GET /api/public/action/{uuid}
curl -X GET \
https://your-metabase.com/api/public/action/110c3d96-ff3a-4ec6-9a82-7c2d5e073fa2
Execute public action
Execute a publicly shared action.
POST /api/public/action/{uuid}/execute
curl -X POST \
https://your-metabase.com/api/public/action/110c3d96-ff3a-4ec6-9a82-7c2d5e073fa2/execute \
-H 'Content-Type: application/json' \
-d '{
"parameters": {
"name": "John Doe",
"email": "john@example.com"
}
}'
Be careful when making actions publicly accessible. Anyone with the link can execute the action.
List public content
List public cards
Get all cards with public links (admin only).
curl -X GET \
https://your-metabase.com/api/card/public \
-H 'X-Metabase-Session: SESSION_TOKEN'
List public dashboards
Get all dashboards with public links (admin only).
GET /api/dashboard/public
curl -X GET \
https://your-metabase.com/api/dashboard/public \
-H 'X-Metabase-Session: SESSION_TOKEN'
Response
[
{
"id": 1,
"name": "Sales Dashboard",
"public_uuid": "110c3d96-ff3a-4ec6-9a82-7c2d5e073fa2"
}
]
Embedding public content
Embed public dashboards and questions in iframes:
<iframe
src="https://your-metabase.com/public/dashboard/110c3d96-ff3a-4ec6-9a82-7c2d5e073fa2"
frameborder="0"
width="800"
height="600"
allowtransparency
></iframe>
URL parameters
Customize public embeds with URL hash parameters:
https://your-metabase.com/public/dashboard/UUID#bordered=false&titled=false
Show border (default: true)
Show title (default: true)
Theme: “night” or “transparent”
Rate limiting
Public endpoints have separate rate limits from authenticated endpoints to prevent abuse.
See Rate Limits for details.
Security considerations
Public sharing best practices:
- Only share content that’s appropriate for public viewing
- Regularly audit public links and revoke unused ones
- Use filters to limit data exposure in public questions
- Monitor public endpoint usage for unusual activity
- Consider using signed embedding for sensitive data
Error codes
Public sharing is disabled
Public link not found or has been revoked
Rate limit exceeded for public endpoints