Skip to main content
curl --request GET \
  --url 'https://api.usedatabrain.com/api/v2/data-app/embeds/export?embedId=embed_abc123' \
  --header 'Authorization: Bearer dbn_live_abc123...' \
  --output dashboard-embed_abc123.json
{
  "_meta": {
    "exportedAt": "2026-03-11T10:00:00.000Z",
    "embedId": "embed_abc123",
    "name": "Customer Analytics Embed",
    "embedType": "dashboard",
    "dashboardId": "sales-dashboard-1",
    "embedDataAppAccessSetting": {
      "isAllowEmailReports": true,
      "isAllowManageMetrics": true,
      "isAllowCreateDashboardView": true,
      "isAllowMetricCreation": true,
      "isAllowMetricDeletion": false,
      "isAllowMetricLayoutChange": true,
      "isAllowMetricUpdate": true,
      "isAllowUnderlyingData": false,
      "metricCreationMode": "DRAG_DROP",
      "isIncrementalJoin": true
    }
  },
  "data": {
    "layout": [...],
    "filters": [...],
    "metrics": [...],
    "...": "additional dashboard configuration"
  }
}
GET
/
api
/
v2
/
data-app
/
embeds
/
export
curl --request GET \
  --url 'https://api.usedatabrain.com/api/v2/data-app/embeds/export?embedId=embed_abc123' \
  --header 'Authorization: Bearer dbn_live_abc123...' \
  --output dashboard-embed_abc123.json
{
  "_meta": {
    "exportedAt": "2026-03-11T10:00:00.000Z",
    "embedId": "embed_abc123",
    "name": "Customer Analytics Embed",
    "embedType": "dashboard",
    "dashboardId": "sales-dashboard-1",
    "embedDataAppAccessSetting": {
      "isAllowEmailReports": true,
      "isAllowManageMetrics": true,
      "isAllowCreateDashboardView": true,
      "isAllowMetricCreation": true,
      "isAllowMetricDeletion": false,
      "isAllowMetricLayoutChange": true,
      "isAllowMetricUpdate": true,
      "isAllowUnderlyingData": false,
      "metricCreationMode": "DRAG_DROP",
      "isIncrementalJoin": true
    }
  },
  "data": {
    "layout": [...],
    "filters": [...],
    "metrics": [...],
    "...": "additional dashboard configuration"
  }
}
Export the dashboard and its configuration (layout, metrics, filters) associated with a specific embed configuration. This endpoint is useful when you want to:
  • Clone an embedded dashboard into another workspace or client
  • Back up the configuration behind an embed
  • Feed the exported configuration into the Create Empty Dashboard Embed API via importDashboardData
Endpoint Migration Notice: We’re transitioning to kebab-case endpoints. The new endpoint is /api/v2/data-app/embeds/export. The old endpoint /api/v2/dataApp/embeds/export will be deprecated soon. Please update your integrations to use the new endpoint format.

Authentication

All API requests must include your data app API token in the Authorization header. This is the same token you use for other data app embedding APIs. Finding your API token: For detailed instructions, see the API Token guide.

Headers

Authorization
string
required
Bearer token for API authentication. Use your data app API token.
Authorization: Bearer dbn_live_abc123...

Query Parameters

embedId
string
required
The embed configuration ID to export. This identifies which embedded dashboard’s configuration should be exported.

Response

On success, the API returns 200 with:
  • Content-Type: application/json
  • Content-Disposition: attachment; filename="dashboard-{embedId}.json"
The response body is a JSON object with this structure:
_meta
object
Metadata about the export and the embed configuration.
_meta.exportedAt
string
ISO 8601 timestamp when the export was performed.
_meta.embedId
string
The embed ID that was exported.
_meta.name
string
Human-readable name of the embed configuration.
_meta.embedType
string
Type of embed configuration: typically "dashboard" or "metric".
_meta.dashboardId
string
External dashboard ID associated with this embed. This is the dashboard that the export is based on.
_meta.embedDataAppAccessSetting
object
Access settings associated with the embed, including flags like isAllowEmailReports, isAllowManageMetrics, and other permissions.
data
object
The dashboard configuration and content (layout, metrics, filters, etc.). Structure matches what the Import Dashboard API expects as importDashboardData, and what the Create Empty Dashboard Embed API expects when you pass importDashboardData in the request body.
On error, the API returns a JSON error object with error.code, error.message, and error.status. Possible errors include:
  • INVALID_REQUEST_BODY – Request validation failed (for example, missing or invalid embedId)
  • INVALID_DATA_APP_API_KEY – Invalid or missing data app API token
  • EMBED_PARAM_ERROR – Invalid or unknown embed ID for the current data app
  • INVALID_EMBED_ID – Embed not found
  • INTERNAL_SERVER_ERROR – Unexpected server error

Examples

Common Workflow: Clone an Embed Dashboard

  1. Export the embed dashboard configuration Use this endpoint to export the configuration for an existing embed:
    curl --request GET \
      --url 'https://api.usedatabrain.com/api/v2/data-app/embeds/export?embedId=embed_abc123' \
      --header 'Authorization: Bearer dbn_live_abc123...'
    
  2. Create a new client dashboard using importDashboardData Pass the exported data payload into the Create Empty Dashboard Embed API:
    {
      "dashboardId": "client-acme-analytics",
      "clientId": "acme-corp-123",
      "workspaceName": "analytics-workspace",
      "name": "ACME Analytics Dashboard",
      "isRenameDashboard": true,
      "importDashboardData": exported.data,
      "accessSettings": {
        "datamartName": "customer-analytics",
        "isAllowEmailReports": false,
        "isAllowManageMetrics": true,
        "isAllowCreateDashboardView": true,
        "isAllowMetricCreation": true,
        "isAllowMetricDeletion": false,
        "isAllowMetricLayoutChange": true,
        "isAllowMetricUpdate": true,
        "isAllowUnderlyingData": false,
        "metricCreationMode": "DRAG_DROP"
      }
    }
    
This flow lets you reuse an existing embedded dashboard as a starting point for new client dashboards while keeping the configuration in sync.