Lightdash Projects API

Projects belong to a single organization. These routes allow users to manage their projects, browse content, and execute queries. Users inside an organization might have access to a project from an organization-level role or they might be granted access to a project directly.

Operations 137

GET /api/v1/snowflake/sso/is-authenticated Check Snowflake SSO authentication #
GET /api/v1/databricks/sso/is-authenticated Check Databricks OAuth authentication #
GET /api/v1/projects/{projectUuid}/aiAgents List agents #
POST /api/v1/projects/{projectUuid}/aiAgents Create agent #
GET /api/v1/projects/{projectUuid}/aiAgents/preferences Get user agent preferences #
POST /api/v1/projects/{projectUuid}/aiAgents/preferences Update user agent preferences #
DELETE /api/v1/projects/{projectUuid}/aiAgents/preferences Delete user agent preferences #
GET /api/v1/projects/{projectUuid}/aiAgents/mcpServers List mcp servers #
POST /api/v1/projects/{projectUuid}/aiAgents/mcpServers Create mcp server #
GET /api/v1/projects/{projectUuid}/aiAgents/mcpServers/github/availability Get github mcp availability #
POST /api/v1/projects/{projectUuid}/aiAgents/mcpServers/github/connect Connect github mcp server #
GET /api/v1/projects/{projectUuid}/aiAgents/mcpServers/{mcpServerUuid}/tools List mcp server tools #
POST /api/v1/projects/{projectUuid}/aiAgents/mcpServers/{mcpServerUuid}/tools/refresh Refresh mcp server tools #
POST /api/v1/projects/{projectUuid}/aiAgents/mcpServers/{mcpServerUuid}/oauth/start Start mcp OAuth connection #
POST /api/v1/projects/{projectUuid}/aiAgents/mcpServers/{mcpServerUuid}/oauth/disconnect Disconnect mcp OAuth connection #
GET /api/v1/projects/{projectUuid}/aiAgents/threads List project threads #
GET /api/v1/projects/{projectUuid}/aiAgents/{agentUuid} Get agent #
PATCH /api/v1/projects/{projectUuid}/aiAgents/{agentUuid} Update agent #
DELETE /api/v1/projects/{projectUuid}/aiAgents/{agentUuid} Delete agent #
GET /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/mcpServers List agent mcp servers #
GET /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/mcpServers/{mcpServerUuid}/tools List agent mcp server tools #
PATCH /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/mcpServers/{mcpServerUuid}/tools Update agent mcp server tools #
GET /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/models Get model options #
GET /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/suggestions Get agent suggestions #
POST /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/evaluateReadiness Evaluate agent readiness #
GET /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/verified-artifacts Get verified artifacts #
GET /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/verified-questions Get verified questions #
GET /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/threads List agent threads #
POST /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/threads Create agent thread #
GET /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/threads/{threadUuid} Get agent thread #
GET /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/threads/{threadUuid}/pull-request Get AI agent thread pull request #
POST /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/threads/{threadUuid}/messages Create agent thread message #
POST /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/threads/{threadUuid}/tool-calls/{toolCallId}/sql-approval Decide agent sql approval #
POST /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/threads/{threadUuid}/stream Stream agent thread response #
POST /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/threads/{threadUuid}/generate Generate agent thread response #
POST /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/threads/{threadUuid}/generate-title Generate agent thread title #
POST /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/threads/{threadUuid}/clone/{promptUuid} Clone agent thread #
PATCH /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/threads/{threadUuid}/messages/{messageUuid}/savedQuery Update agent thread message saved query #
PATCH /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/threads/{threadUuid}/messages/{messageUuid}/feedback Update prompt feedback #
POST /api/v1/projects/{projectUuid}/aiAgents/explore-access-summary Get agent explore access summary #
GET /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/artifacts/{artifactUuid} Get artifact #
GET /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/artifacts/{artifactUuid}/versions/{versionUuid} Get artifact version #
GET /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/artifacts/{artifactUuid}/versions/{versionUuid}/viz-query Get artifact viz query #
POST /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/threads/{threadUuid}/shares Create ai agent thread share #
POST /api/v1/projects/{projectUuid}/aiAgents/thread-shares/{aiThreadShareUuid}/clone Clone ai agent thread share #
GET /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/artifacts/{artifactUuid}/versions/{versionUuid}/charts/{chartIndex}/viz-query Get dashboard artifact chart viz query #
PATCH /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/artifacts/{artifactUuid}/versions/{versionUuid}/savedDashboard Update artifact version saved dashboard #
PATCH /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/artifacts/{artifactUuid}/versions/{versionUuid}/verified Set artifact version verified #
POST /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/evaluations Create evaluation #
GET /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/evaluations Get evaluations #
POST /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/evaluations/{evalUuid}/run Run evaluation #
GET /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/evaluations/{evalUuid} Get evaluation #
PATCH /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/evaluations/{evalUuid} Update evaluation #
DELETE /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/evaluations/{evalUuid} Delete evaluation #
GET /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/evaluations/{evalUuid}/runs Get evaluation runs #
GET /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/evaluations/{evalUuid}/runs/{runUuid} Get evaluation run results #
POST /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/evaluations/{evalUuid}/append Append to evaluation #
POST /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/append-instruction Append instruction #
POST /api/v1/projects/{projectUuid}/aiAgents/{agentUuid}/threads/{threadUuid}/messages/{promptUuid}/revert-change Revert change #
POST /api/v1/projects/{projectUuid}/validate Validate project #
GET /api/v1/projects/{projectUuid}/validate Get validation results #
DELETE /api/v1/projects/{projectUuid}/validate/{validationIdOrUuid} Dismiss validation error #
POST /api/v1/projects/{projectUuid}/validate/chart/{chartUuid} Validate specific chart #
POST /api/v1/projects/{projectUuid}/validate/dashboard/{dashboardUuid} Validate specific dashboard #
GET /api/v1/analytics/user-activity/{projectUuid} Get user activity #
POST /api/v1/analytics/user-activity/{projectUuid}/download Download user activity CSV #
GET /api/v1/analytics/user-activity/{projectUuid}/download-activity Get download activity log #
GET /api/v1/projects/{projectUuid}/spaces List spaces in project #
POST /api/v1/projects/{projectUuid}/rename Rename resources #
POST /api/v1/projects/{projectUuid}/rename/preview Preview rename #
POST /api/v1/projects/{projectUuid}/rename/chart/{chartUuid} Rename chart #
GET /api/v1/projects/{projectUuid}/rename/chart/{chartUuid}/fields Get chart fields for rename #
POST /api/v1/projects/{projectUuid}/rename/dashboard/{dashboardUuid} Rename dashboard filter #
GET /api/v1/projects/{projectUuid}/rename/dashboard/{dashboardUuid}/fields Get dashboard fields for rename #
GET /api/v1/projects/{projectUuid} Get project #
GET /api/v1/projects/{projectUuid}/charts List charts in project #
GET /api/v1/projects/{projectUuid}/chart-summaries List chart summaries in project #
GET /api/v1/projects/{projectUuid}/access List project access #
POST /api/v1/projects/{projectUuid}/access Grant project access to user #
GET /api/v1/projects/{projectUuid}/user/{userUuid} Get project member access #
POST /api/v1/projects/preview-data-timezone Preview data timezone #
PATCH /api/v1/projects/{projectUuid}/access/{userUuid} Update project access for user #
DELETE /api/v1/projects/{projectUuid}/access/{userUuid} Revoke project access for user #
GET /api/v1/projects/{projectUuid}/groupAccesses List project group accesses #
POST /api/v1/projects/{projectUuid}/sqlQuery Run SQL query #
POST /api/v1/projects/{projectUuid}/calculate-total Calculate total from query #
POST /api/v1/projects/{projectUuid}/calculate-subtotals Calculate subtotals from query #
GET /api/v1/projects/{projectUuid}/user-credentials Get user warehouse credentials preference #
GET /api/v1/projects/{projectUuid}/user-warehouse-credentials List project user warehouse credentials #
PATCH /api/v1/projects/{projectUuid}/user-credentials/{userWarehouseCredentialsUuid} Update user warehouse credentials preference #
GET /api/v1/projects/{projectUuid}/custom-metrics List custom metrics #
PATCH /api/v1/projects/{projectUuid}/metadata Update project metadata #
PATCH /api/v1/projects/{projectUuid}/hasDefaultUserSpaces Update default user spaces setting #
GET /api/v1/projects/{projectUuid}/table-groups Get project color palette #
PUT /api/v1/projects/{projectUuid}/table-groups Replace project table groups #
GET /api/v1/projects/{projectUuid}/colorPalette Get project color palette #
PATCH /api/v1/projects/{projectUuid}/colorPalette Update project color palette #
GET /api/v1/projects/{projectUuid}/dashboards List dashboards #
POST /api/v1/projects/{projectUuid}/dashboards Create dashboard #
PATCH /api/v1/projects/{projectUuid}/dashboards Update dashboards #
POST /api/v1/projects/{projectUuid}/dashboards/with-charts Create dashboard with charts #
POST /api/v1/projects/{projectUuid}/createPreview Create project preview #
GET /api/v1/projects/{projectUuid}/upstreamDiff Get upstream diff #
GET /api/v1/projects/{projectUuid}/previews-config Get preview expiration settings #
PATCH /api/v1/projects/{projectUuid}/previews-config Update preview expiration settings #
PATCH /api/v1/projects/{projectUuid}/schedulerSettings Update scheduler settings #
PATCH /api/v1/projects/{projectUuid}/queryTimezoneSettings Update query timezone settings #
POST /api/v1/projects/{projectUuid}/tags Create tag #
GET /api/v1/projects/{projectUuid}/tags List tags #
DELETE /api/v1/projects/{projectUuid}/tags/{tagUuid} Delete tag #
PATCH /api/v1/projects/{projectUuid}/tags/{tagUuid} Update tag #
PUT /api/v1/projects/{projectUuid}/tags/yaml Replace YAML tags #
GET /api/v1/projects/{projectUuid}/charts/code List charts as code #
GET /api/v1/projects/{projectUuid}/dashboards/code List dashboards as code #
POST /api/v1/projects/{projectUuid}/charts/{slug}/code Upsert chart as code #
GET /api/v1/projects/{projectUuid}/sqlCharts/code Get SQL charts as code #
POST /api/v1/projects/{projectUuid}/sqlCharts/{slug}/code Upsert SQL chart as code #
POST /api/v1/projects/{projectUuid}/dashboards/{slug}/code Upsert dashboard as code #
POST /api/v1/projects/{projectUuid}/dbt-cloud/webhook Handle dbt Cloud webhook #
POST /api/v1/projects/{projectUuid}/refresh Refresh project #
POST /api/v1/projects/{projectUuid}/pre-aggregates/refresh Refresh project pre-aggregates #
POST /api/v1/projects/{projectUuid}/pre-aggregates/definitions/{preAggregateDefinitionName}/refresh Refresh pre-aggregate by definition name #
GET /api/v1/projects/{projectUuid}/content-verification List verified content #
GET /api/v1/projects/{projectUuid}/compile-logs Get project compilation logs #
GET /api/v1/projects/{projectUuid}/compile-logs/job/{jobUuid} Get compilation log for a specific job #
PUT /api/v1/projects/{projectUuid}/explores Set explores #
GET /api/v1/projects/{projectUuid}/explores List explores #
GET /api/v1/projects/{projectUuid}/explores/{exploreId} Get explore #
POST /api/v1/projects/{projectUuid}/explores/{exploreId}/compileQuery Compile query #
POST /api/v1/projects/{projectUuid}/explores/{exploreId}/preAggregateCheck Check pre-aggregate #
POST /api/v1/projects/{projectUuid}/explores/{exploreId}/validateFormula Validate formula #
GET /api/v1/projects/{projectUuid}/explores/{exploreId}/charts List charts by explore #
GET /api/v1/bigquery/sso/datasets Get BigQuery datasets #
GET /api/v1/bigquery/sso/projects Get BigQuery projects #
GET /api/v1/bigquery/sso/is-authenticated Check BigQuery authentication #
GET /api/v2/projects/{projectUuid}/defaults Get project defaults #
PUT /api/v2/projects/{projectUuid}/defaults Replace project defaults #

Documentation

Specifications

Schemas & Data

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/lightdash-projects-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

lightdash-projects-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Lightdash Projects API
  version: 0.3156.1
  description: 'Open API documentation for all public Lightdash API endpoints. # Authentication Before you get started, you might need to create a Personal Access Token to authenticate via the API. You can create a token by following this guide: https://docs.lightdash.com/references/personal_tokens'
  license:
    name: MIT
  contact:
    name: Lightdash Support
    email: support@lightdash.com
    url: https://docs.lightdash.com/help-and-contact/contact/contact_info/
servers:
- url: /
tags:


# --- truncated at 32 KB (527 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/lightdash/refs/heads/main/openapi/lightdash-projects-api-openapi.yml