GET /v1/services/dashboardServices/name/{fqn}/export
from metadata.sdk import configure
import requests
configure(
host="https://your-company.open-metadata.org/api",
jwt_token="your-jwt-token"
)
# Synchronous export
response = requests.get(
"https://your-company.open-metadata.org/api/v1/services/dashboardServices/name/sample_looker/export",
headers={"Authorization": "Bearer your-jwt-token"}
)
csv_data = response.text
print(csv_data)
# Async export
response = requests.get(
"https://your-company.open-metadata.org/api/v1/services/dashboardServices/name/sample_looker/exportAsync",
headers={"Authorization": "Bearer your-jwt-token"}
)
print(f"Export job: {response.json()}")
# Import CSV (dry run first)
response = requests.put(
"https://your-company.open-metadata.org/api/v1/services/dashboardServices/name/sample_looker/import?dryRun=true",
headers={
"Authorization": "Bearer your-jwt-token",
"Content-Type": "text/plain"
},
data=csv_data
)
print(f"Dry run result: {response.json()}")
# Apply the import
response = requests.put(
"https://your-company.open-metadata.org/api/v1/services/dashboardServices/name/sample_looker/import?dryRun=false",
headers={
"Authorization": "Bearer your-jwt-token",
"Content-Type": "text/plain"
},
data=csv_data
)
import org.openmetadata.sdk.fluent.DashboardServices;
// Synchronous export
String csvData = DashboardServices.exportCsv("sample_looker")
.execute();
// Async export
String jobId = DashboardServices.exportCsv("sample_looker")
.async()
.execute();
// Synchronous import (dry run)
String result = DashboardServices.importCsv("sample_looker")
.withData(csvData)
.dryRun(true)
.execute();
// Apply import
String result = DashboardServices.importCsv("sample_looker")
.withData(csvData)
.dryRun(false)
.execute();
// Async import
String jobId = DashboardServices.importCsv("sample_looker")
.withData(csvData)
.dryRun(false)
.async()
.execute();
# Export to CSV
curl "{base_url}/api/v1/services/dashboardServices/name/sample_looker/export" \
-H "Authorization: Bearer {access_token}"
# Async export
curl "{base_url}/api/v1/services/dashboardServices/name/sample_looker/exportAsync" \
-H "Authorization: Bearer {access_token}"
# Import CSV (dry run)
curl -X PUT "{base_url}/api/v1/services/dashboardServices/name/sample_looker/import?dryRun=true" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: text/plain" \
--data-binary @service_export.csv
# Import CSV (apply)
curl -X PUT "{base_url}/api/v1/services/dashboardServices/name/sample_looker/import?dryRun=false" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: text/plain" \
--data-binary @service_export.csv
# Async import
curl -X PUT "{base_url}/api/v1/services/dashboardServices/name/sample_looker/importAsync?dryRun=false" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: text/plain" \
--data-binary @service_export.csv
"name,displayName,description,owner,tags,domain\ndeck.gl Demo,deck.gl Demo,Dashboard for deck.gl visualizations,team:data-engineering,Tier.Tier1,,"
Import & Export Dashboard Services
Import and export dashboard service metadata as CSV
GET
/
v1
/
services
/
dashboardServices
/
name
/
{fqn}
/
export
GET /v1/services/dashboardServices/name/{fqn}/export
from metadata.sdk import configure
import requests
configure(
host="https://your-company.open-metadata.org/api",
jwt_token="your-jwt-token"
)
# Synchronous export
response = requests.get(
"https://your-company.open-metadata.org/api/v1/services/dashboardServices/name/sample_looker/export",
headers={"Authorization": "Bearer your-jwt-token"}
)
csv_data = response.text
print(csv_data)
# Async export
response = requests.get(
"https://your-company.open-metadata.org/api/v1/services/dashboardServices/name/sample_looker/exportAsync",
headers={"Authorization": "Bearer your-jwt-token"}
)
print(f"Export job: {response.json()}")
# Import CSV (dry run first)
response = requests.put(
"https://your-company.open-metadata.org/api/v1/services/dashboardServices/name/sample_looker/import?dryRun=true",
headers={
"Authorization": "Bearer your-jwt-token",
"Content-Type": "text/plain"
},
data=csv_data
)
print(f"Dry run result: {response.json()}")
# Apply the import
response = requests.put(
"https://your-company.open-metadata.org/api/v1/services/dashboardServices/name/sample_looker/import?dryRun=false",
headers={
"Authorization": "Bearer your-jwt-token",
"Content-Type": "text/plain"
},
data=csv_data
)
import org.openmetadata.sdk.fluent.DashboardServices;
// Synchronous export
String csvData = DashboardServices.exportCsv("sample_looker")
.execute();
// Async export
String jobId = DashboardServices.exportCsv("sample_looker")
.async()
.execute();
// Synchronous import (dry run)
String result = DashboardServices.importCsv("sample_looker")
.withData(csvData)
.dryRun(true)
.execute();
// Apply import
String result = DashboardServices.importCsv("sample_looker")
.withData(csvData)
.dryRun(false)
.execute();
// Async import
String jobId = DashboardServices.importCsv("sample_looker")
.withData(csvData)
.dryRun(false)
.async()
.execute();
# Export to CSV
curl "{base_url}/api/v1/services/dashboardServices/name/sample_looker/export" \
-H "Authorization: Bearer {access_token}"
# Async export
curl "{base_url}/api/v1/services/dashboardServices/name/sample_looker/exportAsync" \
-H "Authorization: Bearer {access_token}"
# Import CSV (dry run)
curl -X PUT "{base_url}/api/v1/services/dashboardServices/name/sample_looker/import?dryRun=true" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: text/plain" \
--data-binary @service_export.csv
# Import CSV (apply)
curl -X PUT "{base_url}/api/v1/services/dashboardServices/name/sample_looker/import?dryRun=false" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: text/plain" \
--data-binary @service_export.csv
# Async import
curl -X PUT "{base_url}/api/v1/services/dashboardServices/name/sample_looker/importAsync?dryRun=false" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: text/plain" \
--data-binary @service_export.csv
"name,displayName,description,owner,tags,domain\ndeck.gl Demo,deck.gl Demo,Dashboard for deck.gl visualizations,team:data-engineering,Tier.Tier1,,"
Import & Export
Export dashboard service metadata (dashboards, charts, owners, tags) to CSV and import changes back. Supports both synchronous and asynchronous operations.Export to CSV
GET /v1/services/dashboardServices/name/{fqn}/export
Fully qualified name of the dashboard service (e.g.,
sample_looker).Export Async
GET /v1/services/dashboardServices/name/{fqn}/exportAsync
Returns a job ID for large exports that can be polled for completion.
Import from CSV
PUT /v1/services/dashboardServices/name/{fqn}/import
Fully qualified name of the dashboard service.
If
true, validates the CSV without applying changes. Set to false to apply.Import Async
PUT /v1/services/dashboardServices/name/{fqn}/importAsync
For large imports, use the async variant which returns a job ID.
GET /v1/services/dashboardServices/name/{fqn}/export
from metadata.sdk import configure
import requests
configure(
host="https://your-company.open-metadata.org/api",
jwt_token="your-jwt-token"
)
# Synchronous export
response = requests.get(
"https://your-company.open-metadata.org/api/v1/services/dashboardServices/name/sample_looker/export",
headers={"Authorization": "Bearer your-jwt-token"}
)
csv_data = response.text
print(csv_data)
# Async export
response = requests.get(
"https://your-company.open-metadata.org/api/v1/services/dashboardServices/name/sample_looker/exportAsync",
headers={"Authorization": "Bearer your-jwt-token"}
)
print(f"Export job: {response.json()}")
# Import CSV (dry run first)
response = requests.put(
"https://your-company.open-metadata.org/api/v1/services/dashboardServices/name/sample_looker/import?dryRun=true",
headers={
"Authorization": "Bearer your-jwt-token",
"Content-Type": "text/plain"
},
data=csv_data
)
print(f"Dry run result: {response.json()}")
# Apply the import
response = requests.put(
"https://your-company.open-metadata.org/api/v1/services/dashboardServices/name/sample_looker/import?dryRun=false",
headers={
"Authorization": "Bearer your-jwt-token",
"Content-Type": "text/plain"
},
data=csv_data
)
import org.openmetadata.sdk.fluent.DashboardServices;
// Synchronous export
String csvData = DashboardServices.exportCsv("sample_looker")
.execute();
// Async export
String jobId = DashboardServices.exportCsv("sample_looker")
.async()
.execute();
// Synchronous import (dry run)
String result = DashboardServices.importCsv("sample_looker")
.withData(csvData)
.dryRun(true)
.execute();
// Apply import
String result = DashboardServices.importCsv("sample_looker")
.withData(csvData)
.dryRun(false)
.execute();
// Async import
String jobId = DashboardServices.importCsv("sample_looker")
.withData(csvData)
.dryRun(false)
.async()
.execute();
# Export to CSV
curl "{base_url}/api/v1/services/dashboardServices/name/sample_looker/export" \
-H "Authorization: Bearer {access_token}"
# Async export
curl "{base_url}/api/v1/services/dashboardServices/name/sample_looker/exportAsync" \
-H "Authorization: Bearer {access_token}"
# Import CSV (dry run)
curl -X PUT "{base_url}/api/v1/services/dashboardServices/name/sample_looker/import?dryRun=true" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: text/plain" \
--data-binary @service_export.csv
# Import CSV (apply)
curl -X PUT "{base_url}/api/v1/services/dashboardServices/name/sample_looker/import?dryRun=false" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: text/plain" \
--data-binary @service_export.csv
# Async import
curl -X PUT "{base_url}/api/v1/services/dashboardServices/name/sample_looker/importAsync?dryRun=false" \
-H "Authorization: Bearer {access_token}" \
-H "Content-Type: text/plain" \
--data-binary @service_export.csv
"name,displayName,description,owner,tags,domain\ndeck.gl Demo,deck.gl Demo,Dashboard for deck.gl visualizations,team:data-engineering,Tier.Tier1,,"
Returns
Export returns CSV text with headers and rows for each child entity. Import returns a summary of changes applied (or validation results for dry run).Error Handling
| Code | Error Type | Description |
|---|---|---|
401 | UNAUTHORIZED | Invalid or missing authentication token |
403 | FORBIDDEN | User lacks permission for import/export |
404 | NOT_FOUND | Dashboard service with given FQN does not exist |
400 | BAD_REQUEST | Invalid CSV format or content |
Was this page helpful?
⌘I