Skip to main content

Lightdash API (0.1071.1)

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

My Account

These routes allow users to manage their own user account.

GetAuthenticatedUser

Get authenticated user

Responses

Response samples

Content type
application/json
{
  • "results": {
    },
  • "status": "ok"
}

RegisterUser

Register user

Request Body schema: application/json
required
Any of
password
required
string
lastName
required
string
firstName
required
string
inviteCode
required
string

Responses

Request samples

Content type
application/json
Example
{
  • "password": "string",
  • "lastName": "string",
  • "firstName": "string",
  • "inviteCode": "string"
}

Response samples

Content type
application/json
{
  • "results": {
    },
  • "status": "ok"
}

CreateEmailOneTimePasscode

Create a new one-time passcode for the current user's primary email. The user will receive an email with the passcode.

Responses

Response samples

Content type
application/json
{
  • "results": {
    },
  • "status": "ok"
}

GetEmailVerificationStatus

Get the verification status for the current user's primary email

query Parameters
passcode
string

the one-time passcode sent to the user's primary email

Responses

Response samples

Content type
application/json
{
  • "results": {
    },
  • "status": "ok"
}

ListMyAvailableOrganizations

List the organizations that the current user can join. This is based on the user's primary email domain and the organization's allowed email domains.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "status": "ok"
}

JoinOrganization

Add the current user to an organization that accepts users with a verified email domain. This will fail if the organization email domain does not match the user's primary email domain.

path Parameters
organizationUuid
required
string

the uuid of the organization to join

Responses

Response samples

Content type
application/json
{
  • "results": null,
  • "status": "ok"
}

DeleteMe

Delete user

Responses

Response samples

Content type
application/json
{
  • "results": null,
  • "status": "ok"
}

getWarehouseCredentials

Get user warehouse credentials

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "status": "ok"
}

createWarehouseCredentials

Create user warehouse credentials

Request Body schema: application/json
required
required
Pick_CreateRedshiftCredentials.type-or-user-or-password_ (object) or Pick_CreatePostgresCredentials.type-or-user-or-password_ (object) or Pick_CreateSnowflakeCredentials.type-or-user-or-password_ (object) or Pick_CreateTrinoCredentials.type-or-user-or-password_ (object) or Pick_CreateBigqueryCredentials.type-or-keyfileContents_ (object) or Pick_CreateDatabricksCredentials.type-or-personalAccessToken_ (object)
name
required
string

Responses

Request samples

Content type
application/json
{
  • "credentials": {
    },
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "results": {
    },
  • "status": "ok"
}

updateWarehouseCredentials

Update user warehouse credentials

path Parameters
uuid
required
string
Request Body schema: application/json
required
required
Pick_CreateRedshiftCredentials.type-or-user-or-password_ (object) or Pick_CreatePostgresCredentials.type-or-user-or-password_ (object) or Pick_CreateSnowflakeCredentials.type-or-user-or-password_ (object) or Pick_CreateTrinoCredentials.type-or-user-or-password_ (object) or Pick_CreateBigqueryCredentials.type-or-keyfileContents_ (object) or Pick_CreateDatabricksCredentials.type-or-personalAccessToken_ (object)
name
required
string

Responses

Request samples

Content type
application/json
{
  • "credentials": {
    },
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "results": {
    },
  • "status": "ok"
}

deleteWarehouseCredentials

Delete user warehouse credentials

path Parameters
uuid
required
string

Responses

Response samples

Content type
application/json
{
  • "results": null,
  • "status": "ok"
}

getLoginOptions

Get login options for email

query Parameters
email
required
string

Responses

Response samples

Content type
application/json
{
  • "results": {
    },
  • "status": "ok"
}

Organizations

Each user is a member of a single organization. These routes allow users to manage their organization. Most actions are only available to admin users.

GetMyOrganization

Get the current user's organization

Responses

Response samples

Content type
application/json
{
  • "results": {
    },
  • "status": "ok"
}

CreateOrganization

Creates a new organization, the current user becomes the Admin of the new organization. This is only available to users that are not already in an organization.

Request Body schema: application/json
required

the new organization settings

name
required
string

The name of the organization

Responses

Request samples

Content type
application/json
{
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "results": null,
  • "status": "ok"
}

UpdateMyOrganization

Update the current user's organization

Request Body schema: application/json
required

the new organization settings

name
string

The name of the organization

chartColors
Array of strings

The default color palette for all projects in the organization

defaultProjectUuid
string

The project a user sees when they first log in to the organization

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "chartColors": [
    ],
  • "defaultProjectUuid": "string"
}

Response samples

Content type
application/json
{
  • "results": null,
  • "status": "ok"
}

DeleteMyOrganization

Deletes an organization and all users inside that organization

path Parameters
organizationUuid
required
string

the uuid of the organization to delete

Responses

Response samples

Content type
application/json
{
  • "results": null,
  • "status": "ok"
}

ListOrganizationProjects

Gets all projects of the current user's organization

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "status": "ok"
}

ListOrganizationMembers

Gets all the members of the current user's organization

query Parameters
includeGroups
number <double>

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "status": "ok"
}

GetOrganizationMemberByUuid

Get the member profile for a user in the current user's organization by uuid

path Parameters
userUuid
required
string <uuid> (UUID) [0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-4[0-9A-Fa-f]{3}...

the uuid of the user

Responses

Response samples

Content type
application/json
{
  • "results": {
    },
  • "status": "ok"
}

UpdateOrganizationMember

Updates the membership profile for a user in the current user's organization

path Parameters
userUuid
required
string

the uuid of the user to update

Request Body schema: application/json
required

the new membership profile

role
required
string (OrganizationMemberRole)
Enum: "member" "viewer" "interactive_viewer" "editor" "developer" "admin"

Responses

Request samples

Content type
application/json
{
  • "role": "member"
}

Response samples

Content type
application/json
{
  • "results": {
    },
  • "status": "ok"
}

DeleteOrganizationMember

Deletes a user from the current user's organization

path Parameters
userUuid
required
string

the uuid of the user to delete

Responses

Response samples

Content type
application/json
{
  • "results": null,
  • "status": "ok"
}

ListOrganizationEmailDomains

Gets the allowed email domains for the current user's organization

Responses

Response samples

Content type
application/json
{
  • "results": {
    },
  • "status": "ok"
}

UpdateOrganizationEmailDomains

Updates the allowed email domains for the current user's organization

Request Body schema: application/json
required

the new allowed email domains

required
OrganizationMemberRole.EDITOR (string) or OrganizationMemberRole.INTERACTIVE_VIEWER (string) or OrganizationMemberRole.VIEWER (string) or OrganizationMemberRole.MEMBER (string) (AllowedEmailDomainsRole)
emailDomains
required
Array of strings
required
Array of objects

Responses

Request samples

Content type
application/json
{
  • "role": "editor",
  • "emailDomains": [
    ],
  • "projects": [
    ]
}

Response samples

Content type
application/json
{
  • "results": {
    },
  • "status": "ok"
}

CreateGroupInOrganization

Creates a new group in the current user's organization

Request Body schema: application/json
required

the new group details

name
required
string

A friendly name for the group

Array of objects (Pick_GroupMember.userUuid_)

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "members": [
    ]
}

Response samples

Content type
application/json
{
  • "results": {
    },
  • "status": "ok"
}

ListGroupsInOrganization

Gets all the groups in the current user's organization

query Parameters
includeMembers
number <double>

number of members to include

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "status": "ok"
}

Projects

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.

SetExplores

path Parameters
projectUuid
required
string
Request Body schema: application/json
required
Array
any

Responses

Request samples

Content type
application/json
[
  • null
]

Response samples

Content type
application/json
{
  • "results": null,
  • "status": "ok"
}

GetExplores

path Parameters
projectUuid
required
string

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "status": "ok"
}

GetExplore

path Parameters
exploreId
required
string
projectUuid
required
string

Responses

Response samples

Content type
application/json
{
  • "results": {
    },
  • "status": "ok"
}

CompileQuery

path Parameters
exploreId
required
string
projectUuid
required
string
Request Body schema: application/json
required
object
timezone
string
Array of objects (CustomDimension)
Array of objects (AdditionalMetric)
required
Array of objects (TableCalculation)
limit
required
number <double>
required
Array of objects (SortField)
required
object (Filters)
metrics
required
Array of strings (FieldId)
dimensions
required
Array of strings (FieldId)
exploreName
required
string

Responses

Request samples

Content type
application/json
{
  • "metadata": {
    },
  • "timezone": "string",
  • "customDimensions": [
    ],
  • "additionalMetrics": [
    ],
  • "tableCalculations": [
    ],
  • "limit": 0.1,
  • "sorts": [
    ],
  • "filters": {
    },
  • "metrics": [
    ],
  • "dimensions": [
    ],
  • "exploreName": "string"
}

Response samples

Content type
application/json
{
  • "results": "string",
  • "status": "ok"
}

DownloadCsvFromExplore

path Parameters
exploreId
required
string
projectUuid
required
string
Request Body schema: application/json
required
object
timezone
string
Array of objects (CustomDimension)
Array of objects (AdditionalMetric)
required
Array of objects (TableCalculation)
limit
required
number <double>
required
Array of objects (SortField)
required
object (Filters)
metrics
required
Array of strings (FieldId)
dimensions
required
Array of strings (FieldId)
exploreName
required
string
chartName
string
hiddenFields
Array of strings
columnOrder
required
Array of strings
customLabels
object
showTableNames
required
boolean
csvLimit
number or null <double>
onlyRaw
required
boolean

Responses

Request samples

Content type
application/json
{
  • "metadata": {
    },
  • "timezone": "string",
  • "customDimensions": [
    ],
  • "additionalMetrics": [
    ],
  • "tableCalculations": [
    ],
  • "limit": 0.1,
  • "sorts": [
    ],
  • "filters": {
    },
  • "metrics": [
    ],
  • "dimensions": [
    ],
  • "exploreName": "string",
  • "chartName": "string",
  • "hiddenFields": [
    ],
  • "columnOrder": [
    ],
  • "customLabels": {
    },
  • "showTableNames": true,
  • "csvLimit": 0.1,
  • "onlyRaw": true
}

Response samples

Content type
application/json
{
  • "results": {
    },
  • "status": "ok"
}

GetProject

Get a project of an organiztion

path Parameters
projectUuid
required
string

Responses

Response samples

Content type
application/json
{
  • "results": {
    },
  • "status": "ok"
}

ListChartsInProject

List all charts in a project

path Parameters
projectUuid
required
string

The uuid of the project to get charts for

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "status": "ok"
}

ListChartSummariesInProject

List all charts summaries in a project

path Parameters
projectUuid
required
string

The uuid of the project to get charts for

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "status": "ok"
}

ListSpacesInProject

List all spaces in a project

path Parameters
projectUuid
required
string

The uuid of the project to get spaces for

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "status": "ok"
}

GetProjectAccessList

Get access list for a project. This is a list of users that have been explictly granted access to the project. There may be other users that have access to the project via their organization membership.

path Parameters
projectUuid
required
string

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "status": "ok"
}

GrantProjectAccessToUser

Grant a user access to a project

path Parameters
projectUuid
required
string
Request Body schema: application/json
required
sendEmail
required
boolean
role
required
string (ProjectMemberRole)
Enum: "viewer" "interactive_viewer" "editor" "developer" "admin"
email
required
string

Responses

Request samples

Content type
application/json
{
  • "sendEmail": true,
  • "role": "viewer",
  • "email": "string"
}

Response samples

Content type
application/json
{
  • "results": null,
  • "status": "ok"
}

GetProjectMemberAccess

Get a project explicit member's access. There may be users that have access to the project via their organization membership.

NOTE: We don't use the API on the frontend. Instead, we can call the API so that we make sure of the user's access to the project.

path Parameters
projectUuid
required
string
userUuid
required
string

Responses

Response samples

Content type
application/json
{
  • "results": {
    },
  • "status": "ok"
}

UpdateProjectAccessForUser

Update a user's access to a project

path Parameters
projectUuid
required
string
userUuid
required
string
Request Body schema: application/json
required
role
required
string (ProjectMemberRole)
Enum: "viewer" "interactive_viewer" "editor" "developer" "admin"

Responses

Request samples

Content type
application/json
{
  • "role": "viewer"
}

Response samples

Content type
application/json
{
  • "results": null,
  • "status": "ok"
}

RevokeProjectAccessForUser

Remove a user's access to a project

path Parameters
projectUuid
required
string
userUuid
required
string

Responses

Response samples

Content type
application/json
{
  • "results": null,
  • "status": "ok"
}

GetProjectGroupAccesses

List group access for projects

path Parameters
projectUuid
required
string

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "status": "ok"
}

RunSqlQuery

Run a raw sql query against the project's warehouse connection

path Parameters
projectUuid
required
string

The uuid of the project to run the query against

Request Body schema: application/json
required

The query to run

sql
required
string

Responses

Request samples

Content type
application/json
{
  • "sql": "string"
}

Response samples

Content type
application/json
{
  • "results": {
    },
  • "status": "ok"
}

CalculateTotalFromQuery

Calculate all metric totals from a metricQuery

path Parameters
projectUuid
required
string

The uuid of the project to get charts for

Request Body schema: application/json
required

The metric query to calculate totals for

explore
required
string
required
object (MetricQueryRequest)

Responses

Request samples

Content type
application/json
{
  • "explore": "string",
  • "metricQuery": {
    }
}

Response samples

Content type
application/json
{
  • "results": { },
  • "status": "ok"
}

getUserWarehouseCredentialsPreference

path Parameters
projectUuid
required
string

Responses

Response samples

Content type
application/json
{
  • "results": {
    },
  • "status": "ok"
}

updateUserWarehouseCredentialsPreference

path Parameters
projectUuid
required
string
userWarehouseCredentialsUuid
required
string

Responses

Response samples

Content type
application/json
{
  • "results": null,
  • "status": "ok"
}

getCustomMetrics

path Parameters
projectUuid
required
string

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "status": "ok"
}

ValidateProject

Validate content inside a project. This will start a validation job and return the job id.

Validation jobs scan all charts and dashboards inside a project to find any broken references to metrics or dimensions that aren't available. Results are available after the job is completed.

path Parameters
projectUuid
required
string

the projectId for the validation

Request Body schema: application/json
required

the compiled explores to validate against an existing project, this is used in the CLI to validate a project without creating a preview

explores
Array of any

Responses

Request samples

Content type
application/json
{
  • "explores": [
    ]
}

Response samples

Content type
application/json
{
  • "results": {
    },
  • "status": "ok"
}

GetLatestValidationResults

Get validation results for a project. This will return the results of the latest validation job.

path Parameters
projectUuid
required
string

the projectId for the validation

query Parameters
fromSettings
boolean

boolean to know if this request is made from the settings page, for analytics

jobId
string

optional jobId to get results for a specific job, used on CLI

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "status": "ok"
}

DeleteValidationDismiss

Deletes a single validation error.

path Parameters
projectUuid
required
string
validationId
required
number <double>

the projectId for the validation

Responses

Response samples

Content type
application/json
{
  • "status": "ok"
}

Spaces

Spaces allow you to organize charts and dashboards within a project. They also allow granular access to content by allowing you to create private spaces, which are only accessible to the creator and admins.

CreateSpaceInProject

Create a new space inside a project

path Parameters
projectUuid
required
string

The uuid of the space's parent project

Request Body schema: application/json
required
Array of objects (Pick_SpaceShare.userUuid-or-role_)
isPrivate
boolean
name
required
string

Responses

Request samples

Content type
application/json
{
  • "access": [
    ],
  • "isPrivate": true,
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "results": {
    },
  • "status": "ok"
}

GetSpace

Get details for a space in a project

path Parameters
projectUuid
required
string

The uuid of the space's parent project

spaceUuid
required
string

The uuid of the space to get

Responses

Response samples

Content type
application/json
{
  • "results": {
    },
  • "status": "ok"
}

DeleteSpace

Delete a space from a project

path Parameters
projectUuid
required
string

The uuid of the space's parent project

spaceUuid
required
string

The uuid of the space to delete

Responses

Response samples

Content type
application/json
{
  • "results": null,
  • "status": "ok"
}

UpdateSpace

Update a space in a project

path Parameters
projectUuid
required
string

The uuid of the space's parent project

spaceUuid
required
string

The uuid of the space to update

Request Body schema: application/json
required
isPrivate
required
boolean
name
required
string

Responses

Request samples

Content type
application/json
{
  • "isPrivate": true,
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "results": {
    },
  • "status": "ok"
}

AddSpaceUserAccess

Grant a user access to a space

path Parameters
projectUuid
required
string

The uuid of the space's parent project

spaceUuid
required
string
Request Body schema: application/json
required
spaceRole
required
string (SpaceMemberRole)
Enum: "viewer" "editor" "admin"
userUuid
required
string

Responses

Request samples

Content type
application/json
{
  • "spaceRole": "viewer",
  • "userUuid": "string"
}

Response samples

Content type
application/json
{
  • "results": null,
  • "status": "ok"
}

RevokeSpaceAccessForUser

Remove a user's access to a space

path Parameters
projectUuid
required
string

The uuid of the space's parent project

spaceUuid
required
string

The uuid of the space to update

userUuid
required
string

The uuid of the user to revoke access from

Responses

Response samples

Content type
application/json
{
  • "results": null,
  • "status": "ok"
}

Roles & Permissions

These routes allow users to manage roles and permissions for their organization.

UpdateOrganizationMember

Updates the membership profile for a user in the current user's organization

path Parameters
userUuid
required
string

the uuid of the user to update

Request Body schema: application/json
required

the new membership profile

role
required
string (OrganizationMemberRole)
Enum: "member" "viewer" "interactive_viewer" "editor" "developer" "admin"

Responses

Request samples

Content type
application/json
{
  • "role": "member"
}

Response samples

Content type
application/json
{
  • "results": {
    },
  • "status": "ok"
}

CreateSpaceInProject

Create a new space inside a project

path Parameters
projectUuid
required
string

The uuid of the space's parent project

Request Body schema: application/json
required
Array of objects (Pick_SpaceShare.userUuid-or-role_)
isPrivate
boolean
name
required
string

Responses

Request samples

Content type
application/json
{
  • "access": [
    ],
  • "isPrivate": true,
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "results": {
    },
  • "status": "ok"
}

GetProjectAccessList

Get access list for a project. This is a list of users that have been explictly granted access to the project. There may be other users that have access to the project via their organization membership.

path Parameters
projectUuid
required
string

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "status": "ok"
}

GrantProjectAccessToUser

Grant a user access to a project

path Parameters
projectUuid
required
string
Request Body schema: application/json
required
sendEmail
required
boolean
role
required
string (ProjectMemberRole)
Enum: "viewer" "interactive_viewer" "editor" "developer" "admin"
email
required
string

Responses

Request samples

Content type
application/json
{
  • "sendEmail": true,
  • "role": "viewer",
  • "email": "string"
}

Response samples

Content type
application/json
{
  • "results": null,
  • "status": "ok"
}

GetProjectMemberAccess

Get a project explicit member's access. There may be users that have access to the project via their organization membership.

NOTE: We don't use the API on the frontend. Instead, we can call the API so that we make sure of the user's access to the project.

path Parameters
projectUuid
required
string
userUuid
required
string

Responses

Response samples

Content type
application/json
{
  • "results": {
    },
  • "status": "ok"
}

UpdateProjectAccessForUser

Update a user's access to a project

path Parameters
projectUuid
required
string
userUuid
required
string
Request Body schema: application/json
required
role
required
string (ProjectMemberRole)
Enum: "viewer" "interactive_viewer" "editor" "developer" "admin"

Responses

Request samples

Content type
application/json
{
  • "role": "viewer"
}

Response samples

Content type
application/json
{
  • "results": null,
  • "status": "ok"
}

RevokeProjectAccessForUser

Remove a user's access to a project

path Parameters
projectUuid
required
string
userUuid
required
string

Responses

Response samples

Content type
application/json
{
  • "results": null,
  • "status": "ok"
}

UpdateSpace

Update a space in a project

path Parameters
projectUuid
required
string

The uuid of the space's parent project

spaceUuid
required
string

The uuid of the space to update

Request Body schema: application/json
required
isPrivate
required
boolean
name
required
string

Responses

Request samples

Content type
application/json
{
  • "isPrivate": true,
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "results": {
    },
  • "status": "ok"
}

AddSpaceUserAccess

Grant a user access to a space

path Parameters
projectUuid
required
string

The uuid of the space's parent project

spaceUuid
required
string
Request Body schema: application/json
required
spaceRole
required
string (SpaceMemberRole)
Enum: "viewer" "editor" "admin"
userUuid
required
string

Responses

Request samples

Content type
application/json
{
  • "spaceRole": "viewer",
  • "userUuid": "string"
}

Response samples

Content type
application/json
{
  • "results": null,
  • "status": "ok"
}

RevokeSpaceAccessForUser

Remove a user's access to a space

path Parameters
projectUuid
required
string

The uuid of the space's parent project

spaceUuid
required
string

The uuid of the space to update

userUuid
required
string

The uuid of the user to revoke access from

Responses

Response samples

Content type
application/json
{
  • "results": null,
  • "status": "ok"
}

Comments

createComment

Creates a comment on a dashboard tile

path Parameters
dashboardUuid
required
string

the uuid of the dashboard

dashboardTileUuid
required
string

the uuid of the dashboard tile

Request Body schema: application/json
required

the comment to create

text
required
string
replyTo
string
mentions
required
Array of strings
textHtml
required
string

Responses

Request samples

Content type
application/json
{
  • "text": "string",
  • "replyTo": "string",
  • "mentions": [
    ],
  • "textHtml": "string"
}

Response samples

Content type
application/json
{
  • "results": "string",
  • "status": "ok"
}

getComments

Gets all comments for a dashboard

path Parameters
dashboardUuid
required
string

the uuid of the dashboard

Responses

Response samples

Content type
application/json
{
  • "results": {
    },
  • "status": "ok"
}

resolveComment

Resolves a comment on a dashboard

path Parameters
dashboardUuid
required
string

the uuid of the dashboard

commentId
required
string

the uuid of the comment

Responses

Response samples

Content type
application/json
{
  • "status": "ok"
}

deleteComment

Deletes a comment on a dashboard

path Parameters
dashboardUuid
required
string

the uuid of the dashboard

commentId
required
string

the uuid of the comment

Responses

Response samples

Content type
application/json
{
  • "status": "ok"
}

Exports

getCsvUrl

Get a Csv

path Parameters
jobId
required
string

the jobId for the CSV

Responses

Response samples

Content type
application/json
{
  • "results": {
    },
  • "status": "ok"
}

Integrations

getDbtCloudIntegrationSettings

Get the current dbt Cloud integration settings for a project

path Parameters
projectUuid
required
string

the uuid of the project

Responses

Response samples

Content type
application/json
{
  • "results": {
    },
  • "status": "ok"
}

updateDbtCloudIntegrationSettings

Update the dbt Cloud integration settings for a project

path Parameters
projectUuid
required
string

the uuid of the project

Responses

Response samples

Content type
application/json
{
  • "results": {
    },
  • "status": "ok"
}

deleteDbtCloudIntegrationSettings

Remove the dbt Cloud integration settings for a project

path Parameters
projectUuid
required
string

Responses

Response samples

Content type
application/json
{
  • "results": null,
  • "status": "ok"
}

getAccessToken

Get access token for google drive

Responses

Response samples

Content type
application/json
{
  • "results": "string",
  • "status": "ok"
}

uploadGsheet

Upload results from query to Google Sheet

Request Body schema: application/json
required
hiddenFields
Array of strings
customLabels
object (CustomLabel)
columnOrder
required
Array of strings
showTableNames
required
boolean
required
object (MetricQueryResponse)
exploreId
required
string
projectUuid
required
string

Responses

Request samples

Content type
application/json
{
  • "hiddenFields": [
    ],
  • "customLabels": {
    },
  • "columnOrder": [
    ],
  • "showTableNames": true,
  • "metricQuery": {
    },
  • "exploreId": "string",
  • "projectUuid": "string"
}

Response samples

Content type
application/json
{
  • "results": {
    },
  • "status": "ok"
}

getSlackChannels

Get slack channels

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "status": "ok"
}

UpdateNotificationChannel

Update slack notification channel to send notifications to scheduled jobs fail

Request Body schema: application/json
required
channelId
required
string or null

Responses

Request samples

Content type
application/json
{
  • "channelId": "string"
}

Response samples

Content type
application/json
{
  • "results": null,
  • "status": "ok"
}

installGithubAppForOrganization

Install the Lightdash GitHub App and link to an organization

Responses

githubOauthCallback

Callback URL for GitHub App Authorization also used for GitHub App Installation with combined Authorization

query Parameters
code
string

authorization code from GitHub

state
string

oauth state parameter

installation_id
string

installation id from GitHub

setup_action
string

setup action from GitHub

Responses

uninstallGithubAppForOrganization

Responses

Response samples

Content type
application/json
{
  • "results": null,
  • "status": "ok"
}

getGithubListRepositories

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "status": "ok"
}

Git Integration

GetConfiguration

path Parameters
projectUuid
required
string

Responses

Response samples

Content type
application/json
{
  • "results": {
    },
  • "status": "ok"
}

CreatePullRequestForChartFields

path Parameters
projectUuid
required
string
chartUuid
required
string

Responses

Response samples

Content type
application/json
{
  • "results": {
    },
  • "status": "ok"
}

CreatePullRequestForChartFields

path Parameters
projectUuid
required
string
Request Body schema: application/json
required
quoteChar
required
string
Enum: "\"" "'"
customMetrics
required
Array of strings

Responses

Request samples

Content type
application/json
{
  • "quoteChar": "\"",
  • "customMetrics": [
    ]
}

Response samples

Content type
application/json
{
  • "results": {
    },
  • "status": "ok"
}

User Groups

getGroup

Get group details

path Parameters
groupUuid
required
string

unique id of the group

query Parameters
includeMembers
number <double>

number of members to include

offset
number <double>

offset of members to include

Responses

Response samples

Content type
application/json
{
  • "results": {
    },
  • "status": "ok"
}

deleteGroup

Delete a group

path Parameters
groupUuid
required
string

Responses

Response samples

Content type
application/json
{
  • "results": null,
  • "status": "ok"
}

updateGroup

Update a group

path Parameters
groupUuid
required
string
Request Body schema: application/json
required
Array of objects (Pick_GroupMember.userUuid_)
name
string

Responses

Request samples

Content type
application/json
{
  • "members": [
    ],
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "results": {
    },
  • "status": "ok"
}

addUserToGroup

Add a Lightdash user to a group

path Parameters
groupUuid
required
string

the UUID for the group to add the user to

userUuid
required
string

the UUID for the user to add to the group

Responses

Response samples

Content type
application/json
{
  • "results": null,
  • "status": "ok"
}

removeUserFromGroup

Remove a user from a group

path Parameters
groupUuid
required
string

the UUID for the group to remove the user from

userUuid
required
string

the UUID for the user to remove from the group

Responses

Response samples

Content type
application/json
{
  • "results": null,
  • "status": "ok"
}

getGroupMembers

View members of a group

path Parameters
groupUuid
required
string

the UUID for the group to view the members of

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "status": "ok"
}

addProjectAccessToGroup

Add project access to a group

path Parameters
groupUuid
required
string
projectUuid
required
string
Request Body schema: application/json
required
role
required
string (ProjectMemberRole)
Enum: "viewer" "interactive_viewer" "editor" "developer" "admin"

Responses

Request samples

Content type
application/json
{
  • "role": "viewer"
}

Response samples

Content type
application/json
{
  • "results": {
    },
  • "status": "ok"
}

updateProjectAccessForGroup

Update project access for a group

path Parameters
groupUuid
required
string
projectUuid
required
string
Request Body schema: application/json
required
role
required
string (ProjectMemberRole)
Enum: "viewer" "interactive_viewer" "editor" "developer" "admin"

Responses

Request samples

Content type
application/json
{
  • "role": "viewer"
}

Response samples

Content type
application/json
{
  • "results": {
    },
  • "status": "ok"
}

removeProjectAccessFromGroup

Remove project access from a group

path Parameters
groupUuid
required
string
projectUuid
required
string

Responses

Response samples

Content type
application/json
{
  • "results": null,
  • "status": "ok"
}

DbtSemanticLayer

GetDbtSemanticLayerData

Get DbtSemanticLayer data

path Parameters
projectUuid
required
string

the projectId

Request Body schema: application/json
required

graphql query

operationName
string
Enum: "GetFields" "CreateQuery" "GetQueryResults"
query
required
string

Responses

Request samples

Content type
application/json
{
  • "operationName": "GetFields",
  • "query": "string"
}

Response samples

Content type
application/json
null

Notifications

getNotifications

Gets notifications for a user based on the type

query Parameters
type
required
string (ApiNotificationResourceType)
Value: "dashboardComments"

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "status": "ok"
}

updateNotification

Update notification

path Parameters
notificationId
required
string

the id of the notification

Request Body schema: application/json
required
viewed
required
boolean

Responses

Request samples

Content type
application/json
{
  • "viewed": true
}

Response samples

Content type
application/json
{
  • "results": null,
  • "status": "ok"
}

Content

getPinnedItems

Get pinned items

path Parameters
projectUuid
required
string

project uuid

pinnedListUuid
required
string

the list uuid for the pinned items

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "status": "ok"
}

updatePinnedItemsOrder

Update pinned items order

path Parameters
projectUuid
required
string

project uuid

pinnedListUuid
required
string

the list uuid for the pinned items

Request Body schema: application/json
required

the new order of the pinned items

Array
required
object (Pick_ResourceViewItem-at-data.uuid-or-pinnedListOrder_)

From T, pick a set of properties whose keys are in the union K

type
required
string (ResourceViewItemType)
Enum: "chart" "dashboard" "space"

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "status": "ok"
}

Exploring

RunSqlQuery

Run a raw sql query against the project's warehouse connection

path Parameters
projectUuid
required
string

The uuid of the project to run the query against

Request Body schema: application/json
required

The query to run

sql
required
string

Responses

Request samples

Content type
application/json
{
  • "sql": "string"
}

Response samples

Content type
application/json
{
  • "results": {
    },
  • "status": "ok"
}

postRunUnderlyingDataQuery

Run a query for underlying data results

path Parameters
projectUuid
required
string

The uuid of the project

exploreId
required
string

table name

Request Body schema: application/json
required

metricQuery for the chart to run

timezone
string (TimeZone)
Enum: "UTC" "Pacific/Pago_Pago" "Pacific/Honolulu" "America/Anchorage" "America/Los_Angeles" "America/Denver" "America/Chicago" "America/New_York" "America/Santo_Domingo" "America/Buenos_Aires" "America/Noronha" "Atlantic/Cape_Verde" "Europe/Paris" "Europe/Athens" "Europe/Moscow" "Asia/Dubai" "Asia/Karachi" "Asia/Dhaka" "Asia/Bangkok" "Asia/Shanghai" "Asia/Tokyo" "Australia/Sydney" "Pacific/Noumea" "Pacific/Auckland" "Pacific/Apia" "Pacific/Kiritimati"
object
granularity
string (DateGranularity)
Enum: "Day" "Week" "Month" "Quarter" "Year"
Array of objects (CustomDimension)
csvLimit
number <double>
Array of objects (AdditionalMetric)
required
Array of objects (TableCalculation)
limit
required
number <double>
required
Array of objects (SortField)
required
object
metrics
required
Array of strings (FieldId)
dimensions
required
Array of strings (FieldId)
exploreName
required
string

Responses

Request samples

Content type
application/json
{
  • "timezone": "UTC",
  • "metadata": {
    },
  • "granularity": "Day",
  • "customDimensions": [
    ],
  • "csvLimit": 0.1,
  • "additionalMetrics": [
    ],
  • "tableCalculations": [
    ],
  • "limit": 0.1,
  • "sorts": [
    ],
  • "filters": {
    },
  • "metrics": [
    ],
  • "dimensions": [
    ],
  • "exploreName": "string"
}

Response samples

Content type
application/json
{
  • "results": {
    },
  • "status": "ok"
}

RunMetricQuery

Run a query for explore

path Parameters
projectUuid
required
string

The uuid of the project

exploreId
required
string

table name

Request Body schema: application/json
required

metricQuery for the chart to run

timezone
string (TimeZone)
Enum: "UTC" "Pacific/Pago_Pago" "Pacific/Honolulu" "America/Anchorage" "America/Los_Angeles" "America/Denver" "America/Chicago" "America/New_York" "America/Santo_Domingo" "America/Buenos_Aires" "America/Noronha" "Atlantic/Cape_Verde" "Europe/Paris" "Europe/Athens" "Europe/Moscow" "Asia/Dubai" "Asia/Karachi" "Asia/Dhaka" "Asia/Bangkok" "Asia/Shanghai" "Asia/Tokyo" "Australia/Sydney" "Pacific/Noumea" "Pacific/Auckland" "Pacific/Apia" "Pacific/Kiritimati"
object
granularity
string (DateGranularity)
Enum: "Day" "Week" "Month" "Quarter" "Year"
Array of objects (CustomDimension)
csvLimit
number <double>
Array of objects (AdditionalMetric)
required
Array of objects (TableCalculation)
limit
required
number <double>
required
Array of objects (SortField)
required
object
metrics
required
Array of strings (FieldId)
dimensions
required
Array of strings (FieldId)
exploreName
required
string

Responses

Request samples

Content type
application/json
{
  • "timezone": "UTC",
  • "metadata": {
    },
  • "granularity": "Day",
  • "customDimensions": [
    ],
  • "csvLimit": 0.1,
  • "additionalMetrics": [
    ],
  • "tableCalculations": [
    ],
  • "limit": 0.1,
  • "sorts": [
    ],
  • "filters": {
    },
  • "metrics": [
    ],
  • "dimensions": [
    ],
  • "exploreName": "string"
}

Response samples

Content type
application/json
{
  • "results": {
    },
  • "status": "ok"
}

Charts

postChartResults

Run a query for a chart

path Parameters
chartUuid
required
string

chartUuid for the chart to run

Request Body schema: application/json
required
invalidateCache
boolean

Responses

Request samples

Content type
application/json
{
  • "invalidateCache": true
}

Response samples

Content type
application/json
{
  • "results": {
    },
  • "status": "ok"
}

postChartResults

path Parameters
chartUuid
required
string
Request Body schema: application/json
required
granularity
string (DateGranularity)
Enum: "Day" "Week" "Month" "Quarter" "Year"
dashboardUuid
required
string
required
Array of objects (SortField)
invalidateCache
boolean
dashboardFilters
required
any

Responses

Request samples

Content type
application/json
{
  • "granularity": "Day",
  • "dashboardUuid": "string",
  • "dashboardSorts": [
    ],
  • "invalidateCache": true,
  • "dashboardFilters": null
}

Response samples

Content type
application/json
{
  • "results": {
    },
  • "status": "ok"
}

get

Get chart version history from last 30 days

path Parameters
chartUuid
required
string

chartUuid for the chart

Responses

Response samples

Content type
application/json
{
  • "results": {
    },
  • "status": "ok"
}

get

Get chart version

path Parameters
chartUuid
required
string

chartUuid for the chart

versionUuid
required
string

versionUuid for the chart version

Responses

Response samples

Content type
application/json
{
  • "results": {
    },
  • "status": "ok"
}

getChartVersionResults

Run a query for a chart version

path Parameters
chartUuid
required
string

chartUuid for the chart to run

versionUuid
required
string

versionUuid for the chart version

Responses

Response samples

Content type
application/json
{
  • "results": {
    },
  • "status": "ok"
}

postChartVersionRollback

Rollback chart to version

path Parameters
chartUuid
required
string

chartUuid for the chart to run

versionUuid
required
string

versionUuid for the chart version

Responses

Response samples

Content type
application/json
{
  • "results": null,
  • "status": "ok"
}

CalculateTotalFromSavedChart

Calculate metric totals from a saved chart

path Parameters
chartUuid
required
string

chartUuid for the chart to run

Request Body schema: application/json
required
invalidateCache
boolean
dashboardFilters
any

Responses

Request samples

Content type
application/json
{
  • "invalidateCache": true,
  • "dashboardFilters": null
}

Response samples

Content type
application/json
{
  • "results": { },
  • "status": "ok"
}

Schedulers

getSchedulerLogs

Get scheduled logs

path Parameters
projectUuid
required
string

Responses

Response samples

Content type
application/json
{
  • "results": {
    },
  • "status": "ok"
}

getScheduler

Get a scheduler

path Parameters
schedulerUuid
required
string

The uuid of the scheduler to update

Responses

Response samples

Content type
application/json
{
  • "results": {
    },
  • "status": "ok"
}

updateScheduler

Update a scheduler

path Parameters
schedulerUuid
required
string

The uuid of the scheduler to update

Request Body schema: application/json
required

the new scheduler data

any

the new scheduler data

Responses

Request samples

Content type
application/json
null

Response samples

Content type
application/json
{
  • "results": {
    },
  • "status": "ok"
}

deleteScheduler

Delete a scheduler

path Parameters
schedulerUuid
required
string

The uuid of the scheduler to delete

Responses

Response samples

Content type
application/json
{
  • "results": null,
  • "status": "ok"
}

updateSchedulerEnabled

Set scheduler enabled

path Parameters
schedulerUuid
required
string

The uuid of the scheduler to update

Request Body schema: application/json
required

the enabled flag

enabled
required
boolean

Responses

Request samples

Content type
application/json
{
  • "enabled": true
}

Response samples

Content type
application/json
{
  • "results": {
    },
  • "status": "ok"
}

getScheduledJobs

Get scheduled jobs

path Parameters
schedulerUuid
required
string

The uuid of the scheduler to update

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "status": "ok"
}

getSchedulerJobStatus

Get a generic job status This method can be used when polling from the frontend

path Parameters
jobId
required
string

the jobId for the status to check

Responses

Response samples

Content type
application/json
{
  • "results": {
    },
  • "status": "ok"
}

sendScheduler

Send a scheduler now before saving it

Request Body schema: application/json
required

the create scheduler data

any

the create scheduler data

Responses

Request samples

Content type
application/json
null

Response samples

Content type
application/json
{
  • "results": {
    },
  • "status": "ok"
}

getShareUrl

Get a share url from a short url id

path Parameters
nanoId
required
string

the short id for the share url

Responses

Response samples

Content type
application/json
{
  • "results": {
    },
  • "status": "ok"
}

CreateShareUrl

Given a full URL generates a short url id that can be used for sharing

Request Body schema: application/json
required

a full URL used to generate a short url id

path
required
string

The URL path of the full URL

params
required
string

Responses

Request samples

Content type
application/json
{
  • "path": "string",
  • "params": "string"
}

Response samples

Content type
application/json
{
  • "results": {
    },
  • "status": "ok"
}

SSH Keypairs

createSshKeyPair

Responses

Response samples

Content type
application/json
{
  • "results": {
    },
  • "status": "ok"
}

User attributes

getUserAttributes

Get all user attributes

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "status": "ok"
}

createUserAttribute

Creates new user attribute

Request Body schema: application/json
required

the user attribute to create

name
required
string
description
string
attributeDefault
required
string or null
required
Array of objects (CreateGroupAttributeValue)
required
Array of objects (CreateUserAttributeValue)

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "attributeDefault": "string",
  • "groups": [
    ],
  • "users": [
    ]
}

Response samples

Content type
application/json
{
  • "results": {
    },
  • "status": "ok"
}

updateUserAttribute

Updates a user attribute

path Parameters
userAttributeUuid
required
string

the UUID for the group to add the user to

Request Body schema: application/json
required

the user attribute to update

name
required
string
description
string
attributeDefault
required
string or null
required
Array of objects (CreateGroupAttributeValue)
required
Array of objects (CreateUserAttributeValue)

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "attributeDefault": "string",
  • "groups": [
    ],
  • "users": [
    ]
}

Response samples

Content type
application/json
{
  • "results": {
    },
  • "status": "ok"
}

removeUserAttribute

Remove a user attribute

path Parameters
userAttributeUuid
required
string

the user attribute UUID to remove

Responses

Response samples

Content type
application/json
{
  • "results": null,
  • "status": "ok"
}