Skip to main content
Version: 0.0.42

Analytics API

The Analytics API manages charts and dashboards within the Lakehousecat platform. It bridges the Lakehousecat workspace with the underlying visualization engine (Apache Superset), handling lifecycle management, access control, and embedding.

Base URL: http://<host>:42014

What you can do​

  • Create, read, update, and delete charts and dashboards
  • Search and paginate charts and dashboards by model
  • Share charts and dashboards with individual users or groups
  • Generate guest tokens for embedding visualizations in external applications
  • Lock, unlock, hide, show, enable, disable, and clone items

Authentication​

All endpoints require a Bearer token. Generate your API key in the Lakehousecat UI:

Account Settings → Security → API Keys → Generate API Key

Authorization: Bearer <your-api-key>

Quick Start​

List your charts​

curl -X GET "http://localhost:42014/api/v1/analytics/charts/paginated?page=1&page_size=10" \
-H "Authorization: Bearer <your-api-key>"
import requests

BASE_URL = "http://localhost:42014"
HEADERS = {"Authorization": "Bearer <your-api-key>"}

response = requests.get(
f"{BASE_URL}/api/v1/analytics/charts/paginated",
params={"page": 1, "page_size": 10},
headers=HEADERS,
)
charts = response.json()
const response = await fetch(
"http://localhost:42014/api/v1/analytics/charts/paginated?page=1&page_size=10",
{ headers: { Authorization: "Bearer <your-api-key>" } }
);
const charts = await response.json();

Get a specific chart​

curl -X GET "http://localhost:42014/api/v1/analytics/charts/{chart_id}" \
-H "Authorization: Bearer <your-api-key>"
chart_id = "abc123"
response = requests.get(
f"{BASE_URL}/api/v1/analytics/charts/{chart_id}",
headers=HEADERS,
)
chart = response.json()

Share a chart with a user​

curl -X POST "http://localhost:42014/api/v1/analytics/charts/{chart_id}/share/user" \
-H "Authorization: Bearer <your-api-key>" \
-H "Content-Type: application/json" \
-d '{"user_id": "user-456"}'
response = requests.post(
f"{BASE_URL}/api/v1/analytics/charts/{chart_id}/share/user",
json={"user_id": "user-456"},
headers=HEADERS,
)

Generate a guest token for embedding​

curl -X POST "http://localhost:42014/api/v1/analytics/auth/guest-token" \
-H "Authorization: Bearer <your-api-key>" \
-H "Content-Type: application/json" \
-d '{"dashboard_id": "dashboard-789"}'
response = requests.post(
f"{BASE_URL}/api/v1/analytics/auth/guest-token",
json={"dashboard_id": "dashboard-789"},
headers=HEADERS,
)
guest_token = response.json()["token"]

Endpoint Groups​

  • Charts — /api/v1/analytics/charts — full lifecycle management
  • Dashboards — /api/v1/analytics/dashboards — full lifecycle management
  • Authentication — /api/v1/analytics/auth — guest tokens for embedding

UI Equivalent​

Charts and dashboards created or managed via this API are visible in the Lakehousecat Analytics workspace. Changes made via API are reflected in the UI immediately.