Skip to main content

Lightdash API (0.1411.0)

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

query Parameters
email
string

Responses

Response samples

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

Rotate personal access token

Rotate personal access token

path Parameters
personalAccessTokenUuid
required
string
Request Body schema: application/json
required
expiresAt
required
string <date-time>

Responses

Request samples

Content type
application/json
{
  • "expiresAt": "2019-08-24T14:15:22Z"
}

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>
pageSize
number <double>
page
number <double>
searchQuery
string
projectUuid
string

filter users who can view this project

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
page
number <double>
pageSize
number <double>
includeMembers
number <double>

number of members to include

searchQuery
string

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 CustomBinDimension (object) or CustomSqlDimension (object) (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 CustomBinDimension (object) or CustomSqlDimension (object) (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
pivotColumns
Array of strings
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",
  • "pivotColumns": [
    ],
  • "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 Deprecated

List all charts summaries in a project

path Parameters
projectUuid
required
string

The uuid of the project to get charts for

query Parameters
excludeChartsSavedInDashboard
boolean

Whether to exclude charts that are saved in dashboards

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"
}

updateProjectMetadata

Update project metadata like upstreamProjectUuid we don't trigger a compile, so not for updating warehouse or credentials

path Parameters
projectUuid
required
string
Request Body schema: application/json
required
upstreamProjectUuid
string or null

Responses

Request samples

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

Response samples

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

updateProjectSemanticLayerConnection

path Parameters
projectUuid
required
string
Request Body schema: application/json
required
Any of
type
required
string
Value: "DBT"
environmentId
string
domain
string
token
string

Responses

Request samples

Content type
application/json
{
  • "type": "CUBE",
  • "domain": "string",
  • "token": "string"
}

Response samples

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

deleteProjectSemanticLayerConnection

path Parameters
projectUuid
required
string

Responses

Response samples

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

getDashboards

path Parameters
projectUuid
required
string

Responses

Response samples

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

createDashboard

path Parameters
projectUuid
required
string
query Parameters
duplicateFrom
string
Request Body schema: application/json
required
Any of
dashboardDesc
required
string
dashboardName
required
string

Responses

Request samples

Content type
application/json
Example
{
  • "dashboardDesc": "string",
  • "dashboardName": "string"
}

Response samples

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

updateDashboards

path Parameters
projectUuid
required
string
Request Body schema: application/json
required
Array
name
required
string
description
string
uuid
required
string
spaceUuid
required
string

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

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

createPreview

path Parameters
projectUuid
required
string
Request Body schema: application/json
required
copyContent
required
boolean
name
required
string

Responses

Request samples

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

Response samples

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

updateSchedulerSettings

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

Responses

Request samples

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

Response samples

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

createTag

path Parameters
projectUuid
required
string
Request Body schema: application/json
required
name
required
string
color
required
string

Responses

Request samples

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

Response samples

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

getTags

path Parameters
projectUuid
required
string

Responses

Response samples

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

deleteTag

path Parameters
tagUuid
required
string

Responses

Response samples

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

updateTag

path Parameters
tagUuid
required
string
Request Body schema: application/json
required
name
string
color
string

Responses

Request samples

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

Response samples

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

getChartsAsCode

Charts as code

path Parameters
projectUuid
required
string

Responses

Response samples

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

getDashboardsAsCode

path Parameters
projectUuid
required
string

Responses

Response samples

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

upsertChartAsCode

path Parameters
projectUuid
required
string
slug
required
string
Request Body schema: application/json
required
name
required
string
description
string
dashboardUuid
required
string or null
slug
required
string
tableName
required
string
updatedAt
required
string <date-time>
required
object
version
required
number <double>
spaceSlug
required
string
downloadedAt
string <date-time>
metricQuery
required
any
chartConfig
required
any

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "dashboardUuid": "string",
  • "slug": "string",
  • "tableName": "string",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "tableConfig": {
    },
  • "version": 0.1,
  • "spaceSlug": "string",
  • "downloadedAt": "2019-08-24T14:15:22Z",
  • "metricQuery": null,
  • "chartConfig": null
}

Response samples

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

upsertDashboardAsCode

path Parameters
projectUuid
required
string
slug
required
string
Request Body schema: application/json
required
name
required
string
slug
required
string
updatedAt
required
string <date-time>
required
Array of objects (DashboardTab)
version
required
number <double>
spaceSlug
required
string
downloadedAt
string <date-time>
description
string or null
tiles
required
any
filters
required
any

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "slug": "string",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "tabs": [
    ],
  • "version": 0.1,
  • "spaceSlug": "string",
  • "downloadedAt": "2019-08-24T14:15:22Z",
  • "description": "string",
  • "tiles": null,
  • "filters": null
}

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

validationTargets
Array of strings (ValidationTarget)
Items Enum: "charts" "dashboards" "tables"
explores
Array of any

Responses

Request samples

Content type
application/json
{
  • "validationTargets": [
    ],
  • "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"
}

AddSpaceGroupAccess

Grant a group 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

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

Responses

Request samples

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

Response samples

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

RevokeGroupSpaceAccess

Remove a group'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

groupUuid
required
string

The uuid of the group 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"
}

AddSpaceGroupAccess

Grant a group 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

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

Responses

Request samples

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

Response samples

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

RevokeGroupSpaceAccess

Remove a group'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

groupUuid
required
string

The uuid of the group to revoke access from

Responses

Response samples

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

Catalog

getCatalog

Get catalog items

path Parameters
projectUuid
required
string
query Parameters
search
string
type
string (CatalogType)
Enum: "table" "field"
filter
string (CatalogFilter)
Enum: "tables" "dimensions" "metrics"

Responses

Response samples

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

getMetadata

Get catalog metadata for tables

path Parameters
projectUuid
required
string
table
required
string

Table name to get metadata for

Responses

Response samples

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

getAnalytics

Get catalog analytics for tables

path Parameters
projectUuid
required
string
table
required
string

Table name to get analytics for

Responses

Response samples

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

getAnalyticsField

Get catalog analytics for fields

path Parameters
projectUuid
required
string
table
required
string

Table where this field belongs

field
required
string

Field name to get analytics for

Responses

Response samples

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

getMetricsCatalog

Get metrics catalog

path Parameters
projectUuid
required
string
query Parameters
search
string
page
number <double>
pageSize
number <double>
sort
string
order
string (ApiSortDirection)
Enum: "asc" "desc"
categories
Array of strings

Responses

Response samples

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

getMetric

Get metric by table and metric name

path Parameters
projectUuid
required
string
tableName
required
string
metricName
required
string

Responses

Response samples

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

getMetricsWithTimeDimensions

Get metrics with time dimensions

path Parameters
projectUuid
required
string

Responses

Response samples

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

getSegmentDimensions

Get dimensions that can be used to segment metrics

path Parameters
projectUuid
required
string
tableName
required
string

Responses

Response samples

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

addCategoryToCatalogItem

path Parameters
catalogSearchUuid
required
string
Request Body schema: application/json
required
tagUuid
required
string

Responses

Request samples

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

Response samples

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

removeCategoryFromCatalogItem

path Parameters
catalogSearchUuid
required
string
tagUuid
required
string

Responses

Response samples

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

updateCatalogItemIcon

path Parameters
projectUuid
required
string
catalogSearchUuid
required
string
Request Body schema: application/json
required
required
(EmojiIcon (object or null)) or (CustomIcon (object or null))
Any of
unicode
required
string

Responses

Request samples

Content type
application/json
{
  • "icon": {
    }
}

Response samples

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

getMetricsTree

path Parameters
projectUuid
required
string
query Parameters
metricUuids
required
Array of strings

Responses

Response samples

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

createMetricsTreeEdge

path Parameters
projectUuid
required
string
Request Body schema: application/json
required
targetCatalogSearchUuid
required
string
sourceCatalogSearchUuid
required
string

Responses

Request samples

Content type
application/json
{
  • "targetCatalogSearchUuid": "string",
  • "sourceCatalogSearchUuid": "string"
}

Response samples

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

deleteMetricsTreeEdge

path Parameters
projectUuid
required
string
sourceCatalogSearchUuid
required
string
targetCatalogSearchUuid
required
string

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"
}

Dashboards

promoteDashboard

Promote dashboard to its upstream project

path Parameters
dashboardUuid
required
string

dashboardUuid for the dashboard to run

Responses

Response samples

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

promoteDashboardDiff

Get diff from dashboard to promote

path Parameters
dashboardUuid
required
string

dashboardUuid for the dashboard to check diff

Responses

Response samples

Content type
application/json
{
  • "results": {
    },
  • "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"
}

CreatePullRequestForCustomMetrics

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"
}

Integrations

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
object (PivotConfig)
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
{
  • "pivotConfig": {
    },
  • "hiddenFields": [
    ],
  • "customLabels": {
    },
  • "columnOrder": [
    ],
  • "showTableNames": true,
  • "metricQuery": {
    },
  • "exploreId": "string",
  • "projectUuid": "string"
}

Response samples

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

getSlackChannels

Get slack channels

query Parameters
search
string

Responses

Response samples

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

UpdateCustomSettings

Update slack notification channel to send notifications to scheduled jobs fail

Request Body schema: application/json
required
Array of objects (SlackChannelProjectMapping)
appProfilePhotoUrl
required
string or null
notificationChannel
required
string or null

Responses

Request samples

Content type
application/json
{
  • "slackChannelProjectMappings": [
    ],
  • "appProfilePhotoUrl": "string",
  • "notificationChannel": "string"
}

Response samples

Content type
application/json
{
  • "results": null,
  • "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"
}

Metrics Explorer

runMetricExplorerQuery

Run a metrics explorer query

path Parameters
projectUuid
required
string

The project UUID

explore
required
string

The explore name

metric
required
string

The metric name

query Parameters
startDate
required
string
endDate
required
string
Request Body schema: application/json
required
required
object or object or object (MetricExplorerQuery)
object (TimeDimensionConfig)

Responses

Request samples

Content type
application/json
{
  • "query": {
    },
  • "timeDimensionOverride": {
    }
}

Response samples

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

runMetricTotal

path Parameters
projectUuid
required
string
explore
required
string
metric
required
string
query Parameters
timeFrame
required
string (TimeFrames)
Enum: "RAW" "YEAR" "QUARTER" "MONTH" "WEEK" "DAY" "HOUR" "MINUTE" "SECOND" "MILLISECOND" "DAY_OF_WEEK_INDEX" "DAY_OF_MONTH_NUM" "DAY_OF_YEAR_NUM" "WEEK_NUM" "MONTH_NUM" "QUARTER_NUM" "YEAR_NUM" "DAY_OF_WEEK_NAME" "MONTH_NAME" "QUARTER_NAME" "HOUR_OF_DAY_NUM" "MINUTE_OF_HOUR_NUM"
Request Body schema: application/json
optional
comparisonType
string (MetricTotalComparisonType)
Enum: "none" "previous_period"

Responses

Request samples

Content type
application/json
{
  • "comparisonType": "none"
}

Response samples

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

Metrics

runMetricExplorerQuery

Run a metrics explorer query

path Parameters
projectUuid
required
string

The project UUID

explore
required
string

The explore name

metric
required
string

The metric name

query Parameters
startDate
required
string
endDate
required
string
Request Body schema: application/json
required
required
object or object or object (MetricExplorerQuery)
object (TimeDimensionConfig)

Responses

Request samples

Content type
application/json
{
  • "query": {
    },
  • "timeDimensionOverride": {
    }
}

Response samples

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

runMetricTotal

path Parameters
projectUuid
required
string
explore
required
string
metric
required
string
query Parameters
timeFrame
required
string (TimeFrames)
Enum: "RAW" "YEAR" "QUARTER" "MONTH" "WEEK" "DAY" "HOUR" "MINUTE" "SECOND" "MILLISECOND" "DAY_OF_WEEK_INDEX" "DAY_OF_MONTH_NUM" "DAY_OF_YEAR_NUM" "WEEK_NUM" "MONTH_NUM" "QUARTER_NUM" "YEAR_NUM" "DAY_OF_WEEK_NAME" "MONTH_NAME" "QUARTER_NAME" "HOUR_OF_DAY_NUM" "MINUTE_OF_HOUR_NUM"
Request Body schema: application/json
optional
comparisonType
string (MetricTotalComparisonType)
Enum: "none" "previous_period"

Responses

Request samples

Content type
application/json
{
  • "comparisonType": "none"
}

Response samples

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

Explorer

runMetricExplorerQuery

Run a metrics explorer query

path Parameters
projectUuid
required
string

The project UUID

explore
required
string

The explore name

metric
required
string

The metric name

query Parameters
startDate
required
string
endDate
required
string
Request Body schema: application/json
required
required
object or object or object (MetricExplorerQuery)
object (TimeDimensionConfig)

Responses

Request samples

Content type
application/json
{
  • "query": {
    },
  • "timeDimensionOverride": {
    }
}

Response samples

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

runMetricTotal

path Parameters
projectUuid
required
string
explore
required
string
metric
required
string
query Parameters
timeFrame
required
string (TimeFrames)
Enum: "RAW" "YEAR" "QUARTER" "MONTH" "WEEK" "DAY" "HOUR" "MINUTE" "SECOND" "MILLISECOND" "DAY_OF_WEEK_INDEX" "DAY_OF_MONTH_NUM" "DAY_OF_YEAR_NUM" "WEEK_NUM" "MONTH_NUM" "QUARTER_NUM" "YEAR_NUM" "DAY_OF_WEEK_NAME" "MONTH_NAME" "QUARTER_NAME" "HOUR_OF_DAY_NUM" "MINUTE_OF_HOUR_NUM"
Request Body schema: application/json
optional
comparisonType
string (MetricTotalComparisonType)
Enum: "none" "previous_period"

Responses

Request samples

Content type
application/json
{
  • "comparisonType": "none"
}

Response samples

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

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
object
granularity
string (DateGranularity)
Enum: "Day" "Week" "Month" "Quarter" "Year"
Array of CustomBinDimension (object) or CustomSqlDimension (object) (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": "string",
  • "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
object
granularity
string (DateGranularity)
Enum: "Day" "Week" "Month" "Quarter" "Year"
Array of CustomBinDimension (object) or CustomSqlDimension (object) (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": "string",
  • "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"
}

PostDashboardTile

path Parameters
chartUuid
required
string
Request Body schema: application/json
required
autoRefresh
boolean
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
{
  • "autoRefresh": true,
  • "granularity": "Day",
  • "dashboardUuid": "string",
  • "dashboardSorts": [
    ],
  • "invalidateCache": true,
  • "dashboardFilters": null
}

Response samples

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

GetChartHistory

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"
}

GetChartVersion

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"
}

promoteChart

Promote chart to its upstream project

path Parameters
chartUuid
required
string

chartUuid for the chart to run

Responses

Response samples

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

promoteChartDiff

Get diff from chart to promote

path Parameters
chartUuid
required
string

chartUuid for the chart to check diff

Responses

Response samples

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

DownloadCsvFromSavedChart

Download a CSV from a saved chart uuid

path Parameters
chartUuid
required
string
Request Body schema: application/json
required
csvLimit
number or null <double>
onlyRaw
required
boolean
tileUuid
string
dashboardFilters
required
any

Responses

Request samples

Content type
application/json
{
  • "csvLimit": 0.1,
  • "onlyRaw": true,
  • "tileUuid": "string",
  • "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"
}