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.