Lightdash API (0.1340.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
Response samples
- 200
- default
{- "results": {
- "userUuid": "string",
- "email": "string",
- "firstName": "string",
- "lastName": "string",
- "organizationUuid": "string",
- "organizationName": "string",
- "organizationCreatedAt": "2019-08-24T14:15:22Z",
- "isTrackingAnonymized": true,
- "isMarketingOptedIn": true,
- "isSetupComplete": true,
- "role": "member",
- "isActive": true
}, - "status": "ok"
}
RegisterUser
Register user
Request Body schema: application/jsonrequired
password required | string |
lastName required | string |
firstName required | string |
inviteCode required | string |
Responses
Request samples
- Payload
{- "password": "string",
- "lastName": "string",
- "firstName": "string",
- "inviteCode": "string"
}
Response samples
- 200
- default
{- "results": {
- "userUuid": "string",
- "email": "string",
- "firstName": "string",
- "lastName": "string",
- "organizationUuid": "string",
- "organizationName": "string",
- "organizationCreatedAt": "2019-08-24T14:15:22Z",
- "isTrackingAnonymized": true,
- "isMarketingOptedIn": true,
- "isSetupComplete": true,
- "role": "member",
- "isActive": true
}, - "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
- 200
- default
{- "results": {
- "otp": {
- "numberOfAttempts": 0.1,
- "createdAt": "2019-08-24T14:15:22Z",
- "isMaxAttempts": true,
- "isExpired": true,
- "expiresAt": "2019-08-24T14:15:22Z"
}, - "isVerified": true,
- "email": "string"
}, - "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
- 200
- default
{- "results": {
- "otp": {
- "numberOfAttempts": 0.1,
- "createdAt": "2019-08-24T14:15:22Z",
- "isMaxAttempts": true,
- "isExpired": true,
- "expiresAt": "2019-08-24T14:15:22Z"
}, - "isVerified": true,
- "email": "string"
}, - "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
- 200
- default
{- "results": [
- {
- "membersCount": 0.1,
- "name": "string",
- "organizationUuid": "string"
}
], - "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
- 200
- default
{- "results": null,
- "status": "ok"
}
Response samples
- 200
- default
{- "results": [
- {
- "credentials": {
- "type": "snowflake",
- "user": "string"
}, - "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "name": "string",
- "userUuid": "string",
- "uuid": "string"
}
], - "status": "ok"
}
createWarehouseCredentials
Create user warehouse credentials
Request Body schema: application/jsonrequired
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
- Payload
{- "credentials": {
- "type": "redshift",
- "user": "string",
- "password": "string"
}, - "name": "string"
}
Response samples
- 200
- default
{- "results": {
- "credentials": {
- "type": "snowflake",
- "user": "string"
}, - "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "name": "string",
- "userUuid": "string",
- "uuid": "string"
}, - "status": "ok"
}
updateWarehouseCredentials
Update user warehouse credentials
path Parameters
uuid required | string |
Request Body schema: application/jsonrequired
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
- Payload
{- "credentials": {
- "type": "redshift",
- "user": "string",
- "password": "string"
}, - "name": "string"
}
Response samples
- 200
- default
{- "results": {
- "credentials": {
- "type": "snowflake",
- "user": "string"
}, - "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "name": "string",
- "userUuid": "string",
- "uuid": "string"
}, - "status": "ok"
}
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.
Response samples
- 200
- default
{- "results": {
- "defaultProjectUuid": "string",
- "needsProject": true,
- "chartColors": [
- "string"
], - "name": "string",
- "organizationUuid": "bc554ded-7e40-44a7-b397-48480793ad03"
}, - "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/jsonrequired
the new organization settings
name required | string The name of the organization |
Responses
Request samples
- Payload
{- "name": "string"
}
Response samples
- 200
- default
{- "results": null,
- "status": "ok"
}
UpdateMyOrganization
Update the current user's organization
Request Body schema: application/jsonrequired
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
- Payload
{- "name": "string",
- "chartColors": [
- "string"
], - "defaultProjectUuid": "string"
}
Response samples
- 200
- default
{- "results": null,
- "status": "ok"
}
Response samples
- 200
- default
{- "results": [
- {
- "requireUserCredentials": true,
- "warehouseType": "bigquery",
- "type": "DEFAULT",
- "name": "string",
- "projectUuid": "5ceb816d-7745-4503-b2ba-21adffa72476"
}
], - "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 |
Responses
Response samples
- 200
- default
{- "results": {
- "pagination": {
- "page": 0.1,
- "pageSize": 0.1,
- "totalResults": 0.1,
- "totalPageCount": 0.1
}, - "data": [
- {
- "isPending": true,
- "isInviteExpired": true,
- "isActive": true,
- "role": "member",
- "organizationUuid": "string",
- "email": "string",
- "lastName": "string",
- "firstName": "string",
- "userUuid": "dcbf2986-7a6c-4291-9074-6441a23e4826"
}
]
}, - "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
- 200
- default
{- "results": {
- "isPending": true,
- "isInviteExpired": true,
- "isActive": true,
- "role": "member",
- "organizationUuid": "string",
- "email": "string",
- "lastName": "string",
- "firstName": "string",
- "userUuid": "dcbf2986-7a6c-4291-9074-6441a23e4826"
}, - "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/jsonrequired
the new membership profile
role required | string (OrganizationMemberRole) Enum: "member" "viewer" "interactive_viewer" "editor" "developer" "admin" |
Responses
Request samples
- Payload
{- "role": "member"
}
Response samples
- 200
- default
{- "results": {
- "isPending": true,
- "isInviteExpired": true,
- "isActive": true,
- "role": "member",
- "organizationUuid": "string",
- "email": "string",
- "lastName": "string",
- "firstName": "string",
- "userUuid": "dcbf2986-7a6c-4291-9074-6441a23e4826"
}, - "status": "ok"
}
ListOrganizationEmailDomains
Gets the allowed email domains for the current user's organization
Responses
Response samples
- 200
- default
{- "results": {
- "projects": [
- {
- "role": "editor",
- "projectUuid": "string"
}
], - "role": "editor",
- "emailDomains": [
- "string"
], - "organizationUuid": "string"
}, - "status": "ok"
}
UpdateOrganizationEmailDomains
Updates the allowed email domains for the current user's organization
Request Body schema: application/jsonrequired
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
- Payload
{- "role": "editor",
- "emailDomains": [
- "string"
], - "projects": [
- {
- "role": "editor",
- "projectUuid": "string"
}
]
}
Response samples
- 200
- default
{- "results": {
- "projects": [
- {
- "role": "editor",
- "projectUuid": "string"
}
], - "role": "editor",
- "emailDomains": [
- "string"
], - "organizationUuid": "string"
}, - "status": "ok"
}
CreateGroupInOrganization
Creates a new group in the current user's organization
Request Body schema: application/jsonrequired
the new group details
name required | string A friendly name for the group |
Array of objects (Pick_GroupMember.userUuid_) |
Responses
Request samples
- Payload
{- "name": "string",
- "members": [
- {
- "userUuid": "dcbf2986-7a6c-4291-9074-6441a23e4826"
}
]
}
Response samples
- 200
- default
{- "results": {
- "organizationUuid": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "name": "string",
- "uuid": "string",
- "memberUuids": [
- "string"
], - "members": [
- {
- "lastName": "string",
- "firstName": "string",
- "email": "string",
- "userUuid": "dcbf2986-7a6c-4291-9074-6441a23e4826"
}
]
}, - "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
- 200
- default
{- "results": {
- "pagination": {
- "page": 0.1,
- "pageSize": 0.1,
- "totalResults": 0.1,
- "totalPageCount": 0.1
}, - "data": [
- {
- "organizationUuid": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "name": "string",
- "uuid": "string"
}
]
}, - "status": "ok"
}
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.
Response samples
- 200
- default
{- "results": [
- {
- "name": "string",
- "label": "string",
- "groupLabel": "string",
- "type": "virtual",
- "tags": [
- "string"
], - "databaseName": "string",
- "schemaName": "string",
- "description": "string"
}
], - "status": "ok"
}
Response samples
- 200
- default
{- "results": {
- "type": "virtual",
- "sqlPath": "string",
- "ymlPath": "string",
- "warehouse": "string",
- "targetDatabase": "bigquery",
- "tables": {
- "property1": {
- "groupDetails": { },
- "requiredAttributes": { },
- "hidden": true,
- "requiredFilters": [
- {
- "values": [
- null
], - "operator": "isNull",
- "id": "string",
- "target": {
- "fieldRef": "string"
}, - "settings": null,
- "disabled": true,
- "required": true
}
], - "sqlWhere": "string",
- "groupLabel": "string",
- "orderFieldsBy": "LABEL",
- "sqlTable": "string",
- "schema": "string",
- "database": "string",
- "description": "string",
- "originalName": "string",
- "label": "string",
- "name": "string",
- "uncompiledSqlWhere": "string",
- "source": {
- "content": "string",
- "highlight": {
- "end": {
- "character": 0.1,
- "line": 0.1
}, - "start": {
- "character": 0.1,
- "line": 0.1
}
}, - "range": {
- "end": {
- "character": 0.1,
- "line": 0.1
}, - "start": {
- "character": 0.1,
- "line": 0.1
}
}, - "path": "string"
}, - "lineageGraph": { },
- "metrics": { },
- "dimensions": { }
}, - "property2": {
- "groupDetails": { },
- "requiredAttributes": { },
- "hidden": true,
- "requiredFilters": [
- {
- "values": [
- null
], - "operator": "isNull",
- "id": "string",
- "target": {
- "fieldRef": "string"
}, - "settings": null,
- "disabled": true,
- "required": true
}
], - "sqlWhere": "string",
- "groupLabel": "string",
- "orderFieldsBy": "LABEL",
- "sqlTable": "string",
- "schema": "string",
- "database": "string",
- "description": "string",
- "originalName": "string",
- "label": "string",
- "name": "string",
- "uncompiledSqlWhere": "string",
- "source": {
- "content": "string",
- "highlight": {
- "end": {
- "character": 0.1,
- "line": 0.1
}, - "start": {
- "character": 0.1,
- "line": 0.1
}
}, - "range": {
- "end": {
- "character": 0.1,
- "line": 0.1
}, - "start": {
- "character": 0.1,
- "line": 0.1
}
}, - "path": "string"
}, - "lineageGraph": { },
- "metrics": { },
- "dimensions": { }
}
}, - "joinedTables": [
- {
- "table": "string",
- "sqlOn": "string",
- "type": "inner",
- "hidden": true,
- "always": true,
- "compiledSqlOn": "string"
}
], - "baseTable": "string",
- "groupLabel": "string",
- "tags": [
- "string"
], - "label": "string",
- "name": "string"
}, - "status": "ok"
}
CompileQuery
path Parameters
exploreId required | string |
projectUuid required | string |
Request Body schema: application/jsonrequired
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
- Payload
{- "metadata": {
- "hasADateDimension": {
- "name": "string",
- "label": "string"
}
}, - "timezone": "string",
- "customDimensions": [
- {
- "id": "string",
- "name": "string",
- "table": "string",
- "type": "bin",
- "dimensionId": "string",
- "binType": "fixed_number",
- "binNumber": 0.1,
- "binWidth": 0.1,
- "customRange": [
- {
- "to": 0.1,
- "from": 0.1
}
]
}
], - "additionalMetrics": [
- {
- "label": "string",
- "type": "percentile",
- "description": "string",
- "sql": "string",
- "hidden": true,
- "round": 0.1,
- "compact": "thousands",
- "format": "km",
- "table": "string",
- "name": "string",
- "index": 0.1,
- "filters": [
- {
- "values": [
- null
], - "operator": "isNull",
- "id": "string",
- "target": {
- "fieldRef": "string"
}, - "settings": null,
- "disabled": true,
- "required": true
}
], - "baseDimensionName": "string",
- "uuid": "string",
- "percentile": 0.1,
- "formatOptions": {
- "type": "default",
- "round": 0.1,
- "separator": "default",
- "currency": "string",
- "compact": "thousands",
- "prefix": "string",
- "suffix": "string",
- "timeInterval": "RAW"
}
}
], - "tableCalculations": [
- {
- "type": "number",
- "format": {
- "type": "default",
- "round": 0.1,
- "separator": "default",
- "currency": "string",
- "compact": "thousands",
- "prefix": "string",
- "suffix": "string",
- "timeInterval": "RAW"
}, - "sql": "string",
- "displayName": "string",
- "name": "string",
- "index": 0.1
}
], - "limit": 0.1,
- "sorts": [
- {
- "descending": true,
- "fieldId": "string"
}
], - "filters": {
- "tableCalculations": {
- "or": [
- null
], - "id": "string"
}, - "metrics": {
- "or": [
- null
], - "id": "string"
}, - "dimensions": {
- "or": [
- null
], - "id": "string"
}
}, - "metrics": [
- "string"
], - "dimensions": [
- "string"
], - "exploreName": "string"
}
Response samples
- 200
- default
{- "results": "string",
- "status": "ok"
}
DownloadCsvFromExplore
path Parameters
exploreId required | string |
projectUuid required | string |
Request Body schema: application/jsonrequired
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 |
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
- Payload
{- "metadata": {
- "hasADateDimension": {
- "name": "string",
- "label": "string"
}
}, - "timezone": "string",
- "customDimensions": [
- {
- "id": "string",
- "name": "string",
- "table": "string",
- "type": "bin",
- "dimensionId": "string",
- "binType": "fixed_number",
- "binNumber": 0.1,
- "binWidth": 0.1,
- "customRange": [
- {
- "to": 0.1,
- "from": 0.1
}
]
}
], - "additionalMetrics": [
- {
- "label": "string",
- "type": "percentile",
- "description": "string",
- "sql": "string",
- "hidden": true,
- "round": 0.1,
- "compact": "thousands",
- "format": "km",
- "table": "string",
- "name": "string",
- "index": 0.1,
- "filters": [
- {
- "values": [
- null
], - "operator": "isNull",
- "id": "string",
- "target": {
- "fieldRef": "string"
}, - "settings": null,
- "disabled": true,
- "required": true
}
], - "baseDimensionName": "string",
- "uuid": "string",
- "percentile": 0.1,
- "formatOptions": {
- "type": "default",
- "round": 0.1,
- "separator": "default",
- "currency": "string",
- "compact": "thousands",
- "prefix": "string",
- "suffix": "string",
- "timeInterval": "RAW"
}
}
], - "tableCalculations": [
- {
- "type": "number",
- "format": {
- "type": "default",
- "round": 0.1,
- "separator": "default",
- "currency": "string",
- "compact": "thousands",
- "prefix": "string",
- "suffix": "string",
- "timeInterval": "RAW"
}, - "sql": "string",
- "displayName": "string",
- "name": "string",
- "index": 0.1
}
], - "limit": 0.1,
- "sorts": [
- {
- "descending": true,
- "fieldId": "string"
}
], - "filters": {
- "tableCalculations": {
- "or": [
- null
], - "id": "string"
}, - "metrics": {
- "or": [
- null
], - "id": "string"
}, - "dimensions": {
- "or": [
- null
], - "id": "string"
}
}, - "metrics": [
- "string"
], - "dimensions": [
- "string"
], - "exploreName": "string",
- "chartName": "string",
- "hiddenFields": [
- "string"
], - "columnOrder": [
- "string"
], - "customLabels": {
- "property1": "string",
- "property2": "string"
}, - "showTableNames": true,
- "csvLimit": 0.1,
- "onlyRaw": true
}
Response samples
- 200
- default
{- "results": {
- "jobId": "string"
}, - "status": "ok"
}
Response samples
- 200
- default
{- "results": {
- "schedulerTimezone": "string",
- "semanticLayerConnection": {
- "token": "string",
- "domain": "string",
- "environmentId": "string",
- "type": "DBT"
}, - "dbtVersion": "v1.4",
- "upstreamProjectUuid": "string",
- "pinnedListUuid": "string",
- "warehouseConnection": {
- "type": "snowflake",
- "warehouse": "string",
- "role": "string",
- "account": "string",
- "requireUserCredentials": true,
- "database": "string",
- "schema": "string",
- "threads": 0.1,
- "clientSessionKeepAlive": true,
- "queryTag": "string",
- "accessUrl": "string",
- "startOfWeek": 0,
- "quotedIdentifiersIgnoreCase": true,
- "override": "string"
}, - "dbtConnection": {
- "type": "dbt",
- "target": "string",
- "environment": [
- {
- "value": "string",
- "key": "string"
}
], - "profiles_dir": "string",
- "project_dir": "string"
}, - "type": "DEFAULT",
- "name": "string",
- "projectUuid": "string",
- "organizationUuid": "string"
}, - "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
- 200
- default
{- "results": [
- {
- "name": "string",
- "description": "string",
- "uuid": "string",
- "spaceName": "string",
- "spaceUuid": "string",
- "projectUuid": "string",
- "organizationUuid": "string",
- "pinnedListUuid": "string",
- "dashboardUuid": "string",
- "dashboardName": "string",
- "slug": "string",
- "source": "dbt_explore",
- "chartKind": "line",
- "chartType": "cartesian",
- "updatedAt": "2019-08-24T14:15:22Z",
- "updatedByUser": {
- "userUuid": "string",
- "firstName": "string",
- "lastName": "string"
}, - "pinnedListOrder": 0.1,
- "firstViewedAt": "2019-08-24T14:15:22Z",
- "views": 0.1,
- "validationErrors": [
- {
- "validationId": 0.1,
- "createdAt": "2019-08-24T14:15:22Z",
- "error": "string"
}
]
}
], - "status": "ok"
}
ListChartSummariesInProject
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
- 200
- default
{- "results": [
- {
- "name": "string",
- "description": "string",
- "uuid": "string",
- "spaceName": "string",
- "spaceUuid": "string",
- "projectUuid": "string",
- "organizationUuid": "string",
- "pinnedListUuid": "string",
- "dashboardUuid": "string",
- "dashboardName": "string",
- "slug": "string",
- "source": "dbt_explore",
- "chartKind": "line",
- "chartType": "cartesian"
}
], - "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
- 200
- default
{- "results": [
- {
- "name": "string",
- "uuid": "string",
- "projectUuid": "string",
- "organizationUuid": "string",
- "pinnedListUuid": "string",
- "slug": "string",
- "isPrivate": true,
- "pinnedListOrder": 0.1,
- "dashboardCount": 0.1,
- "chartCount": 0.1,
- "access": [
- "string"
], - "userAccess": {
- "inheritedFrom": "organization",
- "inheritedRole": "member",
- "projectRole": "viewer",
- "hasDirectAccess": true,
- "role": "viewer",
- "email": "string",
- "lastName": "string",
- "firstName": "string",
- "userUuid": "string"
}
}
], - "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
- 200
- default
{- "results": [
- {
- "lastName": "string",
- "firstName": "string",
- "email": "string",
- "role": "viewer",
- "projectUuid": "string",
- "userUuid": "string"
}
], - "status": "ok"
}
GrantProjectAccessToUser
Grant a user access to a project
path Parameters
projectUuid required | string |
Request Body schema: application/jsonrequired
sendEmail required | boolean |
role required | string (ProjectMemberRole) Enum: "viewer" "interactive_viewer" "editor" "developer" "admin" |
email required | string |
Responses
Request samples
- Payload
{- "sendEmail": true,
- "role": "viewer",
- "email": "string"
}
Response samples
- 200
- default
{- "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
- 200
- default
{- "results": {
- "lastName": "string",
- "firstName": "string",
- "email": "string",
- "role": "viewer",
- "projectUuid": "string",
- "userUuid": "string"
}, - "status": "ok"
}
UpdateProjectAccessForUser
Update a user's access to a project
path Parameters
projectUuid required | string |
userUuid required | string |
Request Body schema: application/jsonrequired
role required | string (ProjectMemberRole) Enum: "viewer" "interactive_viewer" "editor" "developer" "admin" |
Responses
Request samples
- Payload
{- "role": "viewer"
}
Response samples
- 200
- default
{- "results": null,
- "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/jsonrequired
The query to run
sql required | string |
Responses
Request samples
- Payload
{- "sql": "string"
}
Response samples
- 200
- default
{- "results": {
- "rows": [
- { }
], - "fields": { }
}, - "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/jsonrequired
The metric query to calculate totals for
explore required | string |
required | object (MetricQueryRequest) |
Responses
Request samples
- Payload
{- "explore": "string",
- "metricQuery": {
- "timezone": "string",
- "metadata": {
- "hasADateDimension": {
- "name": "string",
- "label": "string"
}
}, - "granularity": "Day",
- "customDimensions": [
- {
- "id": "string",
- "name": "string",
- "table": "string",
- "type": "bin",
- "dimensionId": "string",
- "binType": "fixed_number",
- "binNumber": 0.1,
- "binWidth": 0.1,
- "customRange": [
- {
- "to": 0.1,
- "from": 0.1
}
]
}
], - "csvLimit": 0.1,
- "additionalMetrics": [
- {
- "label": "string",
- "type": "percentile",
- "description": "string",
- "sql": "string",
- "hidden": true,
- "round": 0.1,
- "compact": "thousands",
- "format": "km",
- "table": "string",
- "name": "string",
- "index": 0.1,
- "filters": [
- {
- "values": [
- null
], - "operator": "isNull",
- "id": "string",
- "target": {
- "fieldRef": "string"
}, - "settings": null,
- "disabled": true,
- "required": true
}
], - "baseDimensionName": "string",
- "uuid": "string",
- "percentile": 0.1,
- "formatOptions": {
- "type": "default",
- "round": 0.1,
- "separator": "default",
- "currency": "string",
- "compact": "thousands",
- "prefix": "string",
- "suffix": "string",
- "timeInterval": "RAW"
}
}
], - "tableCalculations": [
- {
- "type": "number",
- "format": {
- "type": "default",
- "round": 0.1,
- "separator": "default",
- "currency": "string",
- "compact": "thousands",
- "prefix": "string",
- "suffix": "string",
- "timeInterval": "RAW"
}, - "sql": "string",
- "displayName": "string",
- "name": "string",
- "index": 0.1
}
], - "limit": 0.1,
- "sorts": [
- {
- "descending": true,
- "fieldId": "string"
}
], - "filters": {
- "tableCalculations": null,
- "metrics": null,
- "dimensions": null
}, - "metrics": [
- "string"
], - "dimensions": [
- "string"
], - "exploreName": "string"
}
}
Response samples
- 200
- default
{- "results": { },
- "status": "ok"
}
Response samples
- 200
- default
{- "results": {
- "credentials": {
- "type": "snowflake",
- "user": "string"
}, - "updatedAt": "2019-08-24T14:15:22Z",
- "createdAt": "2019-08-24T14:15:22Z",
- "name": "string",
- "userUuid": "string",
- "uuid": "string"
}, - "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/jsonrequired
upstreamProjectUuid | string or null |
Responses
Request samples
- Payload
{- "upstreamProjectUuid": "string"
}
Response samples
- 200
- default
{- "results": null,
- "status": "ok"
}
updateProjectSemanticLayerConnection
path Parameters
projectUuid required | string |
Request Body schema: application/jsonrequired
type required | string Value: "DBT" |
environmentId | string |
domain | string |
token | string |
Responses
Request samples
- Payload
{- "type": "CUBE",
- "domain": "string",
- "token": "string"
}
Response samples
- 200
- default
{- "results": null,
- "status": "ok"
}
Response samples
- 200
- default
{- "results": [
- {
- "name": "string",
- "description": "string",
- "uuid": "string",
- "spaceUuid": "string",
- "projectUuid": "string",
- "organizationUuid": "string",
- "pinnedListUuid": "string",
- "updatedAt": "2019-08-24T14:15:22Z",
- "updatedByUser": {
- "userUuid": "string",
- "firstName": "string",
- "lastName": "string"
}, - "views": 0.1,
- "firstViewedAt": "2019-08-24T14:15:22Z",
- "pinnedListOrder": 0.1,
- "validationErrors": [
- {
- "validationId": 0.1,
- "createdAt": "2019-08-24T14:15:22Z",
- "error": "string"
}
], - "tileTypes": [
- "saved_chart"
]
}
], - "status": "ok"
}
createDashboard
path Parameters
projectUuid required | string |
query Parameters
duplicateFrom | string |
Request Body schema: application/jsonrequired
dashboardDesc required | string |
dashboardName required | string |
Responses
Request samples
- Payload
{- "dashboardDesc": "string",
- "dashboardName": "string"
}
Response samples
- 201
- default
{- "results": {
- "slug": "string",
- "access": [
- {
- "inheritedFrom": "organization",
- "inheritedRole": "member",
- "projectRole": "viewer",
- "hasDirectAccess": true,
- "role": "viewer",
- "email": "string",
- "lastName": "string",
- "firstName": "string",
- "userUuid": "string"
}
], - "isPrivate": true,
- "tabs": [
- {
- "order": 0.1,
- "name": "string",
- "uuid": "string"
}
], - "pinnedListOrder": 0.1,
- "pinnedListUuid": "string",
- "firstViewedAt": "2019-08-24T14:15:22Z",
- "views": 0.1,
- "spaceName": "string",
- "spaceUuid": "string",
- "updatedByUser": {
- "userUuid": "string",
- "firstName": "string",
- "lastName": "string"
}, - "filters": {
- "tableCalculations": [
- {
- "values": [
- null
], - "operator": "isNull",
- "id": "string",
- "target": {
- "tableName": "string",
- "fieldId": "string"
}, - "settings": null,
- "disabled": true,
- "required": true,
- "label": "string",
- "tileTargets": { }
}
], - "metrics": [
- {
- "values": [
- null
], - "operator": "isNull",
- "id": "string",
- "target": {
- "tableName": "string",
- "fieldId": "string"
}, - "settings": null,
- "disabled": true,
- "required": true,
- "label": "string",
- "tileTargets": { }
}
], - "dimensions": [
- {
- "values": [
- null
], - "operator": "isNull",
- "id": "string",
- "target": {
- "tableName": "string",
- "fieldId": "string"
}, - "settings": null,
- "disabled": true,
- "required": true,
- "label": "string",
- "tileTargets": { }
}
]
}, - "tiles": [
- {
- "uuid": "string",
- "type": "saved_chart",
- "x": 0.1,
- "y": 0.1,
- "h": 0.1,
- "w": 0.1,
- "tabUuid": "string",
- "properties": {
- "lastVersionChartKind": "line",
- "chartName": "string",
- "belongsToDashboard": true,
- "savedChartUuid": "string",
- "hideTitle": true,
- "title": "string"
}
}
], - "updatedAt": "2019-08-24T14:15:22Z",
- "description": "string",
- "name": "string",
- "uuid": "string",
- "dashboardVersionId": 0.1,
- "projectUuid": "string",
- "organizationUuid": "string"
}, - "status": "ok"
}
updateDashboards
path Parameters
projectUuid required | string |
Request Body schema: application/jsonrequired
name required | string |
description | string |
uuid required | string |
spaceUuid required | string |
Responses
Request samples
- Payload
[- {
- "name": "string",
- "description": "string",
- "uuid": "string",
- "spaceUuid": "string"
}
]
Response samples
- 200
- default
{- "results": [
- {
- "slug": "string",
- "access": [
- {
- "inheritedFrom": "organization",
- "inheritedRole": "member",
- "projectRole": "viewer",
- "hasDirectAccess": true,
- "role": "viewer",
- "email": "string",
- "lastName": "string",
- "firstName": "string",
- "userUuid": "string"
}
], - "isPrivate": true,
- "tabs": [
- {
- "order": 0.1,
- "name": "string",
- "uuid": "string"
}
], - "pinnedListOrder": 0.1,
- "pinnedListUuid": "string",
- "firstViewedAt": "2019-08-24T14:15:22Z",
- "views": 0.1,
- "spaceName": "string",
- "spaceUuid": "string",
- "updatedByUser": {
- "userUuid": "string",
- "firstName": "string",
- "lastName": "string"
}, - "filters": {
- "tableCalculations": [
- {
- "values": [
- null
], - "operator": "isNull",
- "id": "string",
- "target": {
- "tableName": "string",
- "fieldId": "string"
}, - "settings": null,
- "disabled": true,
- "required": true,
- "label": "string",
- "tileTargets": { }
}
], - "metrics": [
- {
- "values": [
- null
], - "operator": "isNull",
- "id": "string",
- "target": {
- "tableName": "string",
- "fieldId": "string"
}, - "settings": null,
- "disabled": true,
- "required": true,
- "label": "string",
- "tileTargets": { }
}
], - "dimensions": [
- {
- "values": [
- null
], - "operator": "isNull",
- "id": "string",
- "target": {
- "tableName": "string",
- "fieldId": "string"
}, - "settings": null,
- "disabled": true,
- "required": true,
- "label": "string",
- "tileTargets": { }
}
]
}, - "tiles": [
- {
- "uuid": "string",
- "type": "saved_chart",
- "x": 0.1,
- "y": 0.1,
- "h": 0.1,
- "w": 0.1,
- "tabUuid": "string",
- "properties": {
- "lastVersionChartKind": "line",
- "chartName": "string",
- "belongsToDashboard": true,
- "savedChartUuid": "string",
- "hideTitle": true,
- "title": "string"
}
}
], - "updatedAt": "2019-08-24T14:15:22Z",
- "description": "string",
- "name": "string",
- "uuid": "string",
- "dashboardVersionId": 0.1,
- "projectUuid": "string",
- "organizationUuid": "string"
}
], - "status": "ok"
}
createPreview
path Parameters
projectUuid required | string |
Request Body schema: application/jsonrequired
copyContent required | boolean |
name required | string |
Responses
Request samples
- Payload
{- "copyContent": true,
- "name": "string"
}
Response samples
- 200
- default
{- "results": "string",
- "status": "ok"
}
updateSchedulerSettings
path Parameters
projectUuid required | string |
Request Body schema: application/jsonrequired
schedulerTimezone required | string |
Responses
Request samples
- Payload
{- "schedulerTimezone": "string"
}
Response samples
- 200
- default
{- "results": null,
- "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/jsonrequired
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
- Payload
{- "validationTargets": [
- "charts"
], - "explores": [
- null
]
}
Response samples
- 200
- default
{- "results": {
- "jobId": "string"
}, - "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
- 200
- default
{- "results": [
- {
- "source": "chart",
- "spaceUuid": "string",
- "projectUuid": "string",
- "errorType": "chart",
- "error": "string",
- "name": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "validationId": 0.1,
- "chartName": "string",
- "chartViews": 0.1,
- "lastUpdatedAt": "2019-08-24T14:15:22Z",
- "lastUpdatedBy": "string",
- "fieldName": "string",
- "chartKind": "line",
- "chartUuid": "string"
}
], - "status": "ok"
}
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/jsonrequired
Array of objects (Pick_SpaceShare.userUuid-or-role_) | |
isPrivate | boolean |
name required | string |
Responses
Request samples
- Payload
{- "access": [
- {
- "userUuid": "string",
- "role": "viewer"
}
], - "isPrivate": true,
- "name": "string"
}
Response samples
- 200
- default
{- "results": {
- "slug": "string",
- "pinnedListOrder": 0.1,
- "pinnedListUuid": "string",
- "groupsAccess": [
- {
- "spaceRole": "viewer",
- "groupName": "string",
- "groupUuid": "string"
}
], - "access": [
- {
- "inheritedFrom": "organization",
- "inheritedRole": "member",
- "projectRole": "viewer",
- "hasDirectAccess": true,
- "role": "viewer",
- "email": "string",
- "lastName": "string",
- "firstName": "string",
- "userUuid": "string"
}
], - "dashboards": [
- {
- "name": "string",
- "description": "string",
- "uuid": "string",
- "spaceUuid": "string",
- "projectUuid": "string",
- "organizationUuid": "string",
- "pinnedListUuid": "string",
- "updatedAt": "2019-08-24T14:15:22Z",
- "updatedByUser": {
- "userUuid": "string",
- "firstName": "string",
- "lastName": "string"
}, - "views": 0.1,
- "firstViewedAt": "2019-08-24T14:15:22Z",
- "pinnedListOrder": 0.1,
- "validationErrors": [
- {
- "validationId": 0.1,
- "createdAt": "2019-08-24T14:15:22Z",
- "error": "string"
}
]
}
], - "projectUuid": "string",
- "queries": [
- {
- "name": "string",
- "description": "string",
- "uuid": "string",
- "spaceName": "string",
- "spaceUuid": "string",
- "projectUuid": "string",
- "organizationUuid": "string",
- "pinnedListUuid": "string",
- "dashboardUuid": "string",
- "dashboardName": "string",
- "slug": "string",
- "source": "dbt_explore",
- "chartKind": "line",
- "chartType": "cartesian",
- "updatedAt": "2019-08-24T14:15:22Z",
- "updatedByUser": {
- "userUuid": "string",
- "firstName": "string",
- "lastName": "string"
}, - "pinnedListOrder": 0.1,
- "firstViewedAt": "2019-08-24T14:15:22Z",
- "views": 0.1,
- "validationErrors": [
- {
- "validationId": 0.1,
- "createdAt": "2019-08-24T14:15:22Z",
- "error": "string"
}
]
}
], - "isPrivate": true,
- "name": "string",
- "uuid": "string",
- "organizationUuid": "string"
}, - "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
- 200
- default
{- "results": {
- "slug": "string",
- "pinnedListOrder": 0.1,
- "pinnedListUuid": "string",
- "groupsAccess": [
- {
- "spaceRole": "viewer",
- "groupName": "string",
- "groupUuid": "string"
}
], - "access": [
- {
- "inheritedFrom": "organization",
- "inheritedRole": "member",
- "projectRole": "viewer",
- "hasDirectAccess": true,
- "role": "viewer",
- "email": "string",
- "lastName": "string",
- "firstName": "string",
- "userUuid": "string"
}
], - "dashboards": [
- {
- "name": "string",
- "description": "string",
- "uuid": "string",
- "spaceUuid": "string",
- "projectUuid": "string",
- "organizationUuid": "string",
- "pinnedListUuid": "string",
- "updatedAt": "2019-08-24T14:15:22Z",
- "updatedByUser": {
- "userUuid": "string",
- "firstName": "string",
- "lastName": "string"
}, - "views": 0.1,
- "firstViewedAt": "2019-08-24T14:15:22Z",
- "pinnedListOrder": 0.1,
- "validationErrors": [
- {
- "validationId": 0.1,
- "createdAt": "2019-08-24T14:15:22Z",
- "error": "string"
}
]
}
], - "projectUuid": "string",
- "queries": [
- {
- "name": "string",
- "description": "string",
- "uuid": "string",
- "spaceName": "string",
- "spaceUuid": "string",
- "projectUuid": "string",
- "organizationUuid": "string",
- "pinnedListUuid": "string",
- "dashboardUuid": "string",
- "dashboardName": "string",
- "slug": "string",
- "source": "dbt_explore",
- "chartKind": "line",
- "chartType": "cartesian",
- "updatedAt": "2019-08-24T14:15:22Z",
- "updatedByUser": {
- "userUuid": "string",
- "firstName": "string",
- "lastName": "string"
}, - "pinnedListOrder": 0.1,
- "firstViewedAt": "2019-08-24T14:15:22Z",
- "views": 0.1,
- "validationErrors": [
- {
- "validationId": 0.1,
- "createdAt": "2019-08-24T14:15:22Z",
- "error": "string"
}
]
}
], - "isPrivate": true,
- "name": "string",
- "uuid": "string",
- "organizationUuid": "string"
}, - "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/jsonrequired
isPrivate required | boolean |
name required | string |
Responses
Request samples
- Payload
{- "isPrivate": true,
- "name": "string"
}
Response samples
- 200
- default
{- "results": {
- "slug": "string",
- "pinnedListOrder": 0.1,
- "pinnedListUuid": "string",
- "groupsAccess": [
- {
- "spaceRole": "viewer",
- "groupName": "string",
- "groupUuid": "string"
}
], - "access": [
- {
- "inheritedFrom": "organization",
- "inheritedRole": "member",
- "projectRole": "viewer",
- "hasDirectAccess": true,
- "role": "viewer",
- "email": "string",
- "lastName": "string",
- "firstName": "string",
- "userUuid": "string"
}
], - "dashboards": [
- {
- "name": "string",
- "description": "string",
- "uuid": "string",
- "spaceUuid": "string",
- "projectUuid": "string",
- "organizationUuid": "string",
- "pinnedListUuid": "string",
- "updatedAt": "2019-08-24T14:15:22Z",
- "updatedByUser": {
- "userUuid": "string",
- "firstName": "string",
- "lastName": "string"
}, - "views": 0.1,
- "firstViewedAt": "2019-08-24T14:15:22Z",
- "pinnedListOrder": 0.1,
- "validationErrors": [
- {
- "validationId": 0.1,
- "createdAt": "2019-08-24T14:15:22Z",
- "error": "string"
}
]
}
], - "projectUuid": "string",
- "queries": [
- {
- "name": "string",
- "description": "string",
- "uuid": "string",
- "spaceName": "string",
- "spaceUuid": "string",
- "projectUuid": "string",
- "organizationUuid": "string",
- "pinnedListUuid": "string",
- "dashboardUuid": "string",
- "dashboardName": "string",
- "slug": "string",
- "source": "dbt_explore",
- "chartKind": "line",
- "chartType": "cartesian",
- "updatedAt": "2019-08-24T14:15:22Z",
- "updatedByUser": {
- "userUuid": "string",
- "firstName": "string",
- "lastName": "string"
}, - "pinnedListOrder": 0.1,
- "firstViewedAt": "2019-08-24T14:15:22Z",
- "views": 0.1,
- "validationErrors": [
- {
- "validationId": 0.1,
- "createdAt": "2019-08-24T14:15:22Z",
- "error": "string"
}
]
}
], - "isPrivate": true,
- "name": "string",
- "uuid": "string",
- "organizationUuid": "string"
}, - "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/jsonrequired
spaceRole required | string (SpaceMemberRole) Enum: "viewer" "editor" "admin" |
userUuid required | string |
Responses
Request samples
- Payload
{- "spaceRole": "viewer",
- "userUuid": "string"
}
Response samples
- 200
- default
{- "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
- 200
- default
{- "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/jsonrequired
spaceRole required | string (SpaceMemberRole) Enum: "viewer" "editor" "admin" |
groupUuid required | string |
Responses
Request samples
- Payload
{- "spaceRole": "viewer",
- "groupUuid": "string"
}
Response samples
- 200
- default
{- "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
- 200
- default
{- "results": null,
- "status": "ok"
}
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/jsonrequired
the new membership profile
role required | string (OrganizationMemberRole) Enum: "member" "viewer" "interactive_viewer" "editor" "developer" "admin" |
Responses
Request samples
- Payload
{- "role": "member"
}
Response samples
- 200
- default
{- "results": {
- "isPending": true,
- "isInviteExpired": true,
- "isActive": true,
- "role": "member",
- "organizationUuid": "string",
- "email": "string",
- "lastName": "string",
- "firstName": "string",
- "userUuid": "dcbf2986-7a6c-4291-9074-6441a23e4826"
}, - "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/jsonrequired
Array of objects (Pick_SpaceShare.userUuid-or-role_) | |
isPrivate | boolean |
name required | string |
Responses
Request samples
- Payload
{- "access": [
- {
- "userUuid": "string",
- "role": "viewer"
}
], - "isPrivate": true,
- "name": "string"
}
Response samples
- 200
- default
{- "results": {
- "slug": "string",
- "pinnedListOrder": 0.1,
- "pinnedListUuid": "string",
- "groupsAccess": [
- {
- "spaceRole": "viewer",
- "groupName": "string",
- "groupUuid": "string"
}
], - "access": [
- {
- "inheritedFrom": "organization",
- "inheritedRole": "member",
- "projectRole": "viewer",
- "hasDirectAccess": true,
- "role": "viewer",
- "email": "string",
- "lastName": "string",
- "firstName": "string",
- "userUuid": "string"
}
], - "dashboards": [
- {
- "name": "string",
- "description": "string",
- "uuid": "string",
- "spaceUuid": "string",
- "projectUuid": "string",
- "organizationUuid": "string",
- "pinnedListUuid": "string",
- "updatedAt": "2019-08-24T14:15:22Z",
- "updatedByUser": {
- "userUuid": "string",
- "firstName": "string",
- "lastName": "string"
}, - "views": 0.1,
- "firstViewedAt": "2019-08-24T14:15:22Z",
- "pinnedListOrder": 0.1,
- "validationErrors": [
- {
- "validationId": 0.1,
- "createdAt": "2019-08-24T14:15:22Z",
- "error": "string"
}
]
}
], - "projectUuid": "string",
- "queries": [
- {
- "name": "string",
- "description": "string",
- "uuid": "string",
- "spaceName": "string",
- "spaceUuid": "string",
- "projectUuid": "string",
- "organizationUuid": "string",
- "pinnedListUuid": "string",
- "dashboardUuid": "string",
- "dashboardName": "string",
- "slug": "string",
- "source": "dbt_explore",
- "chartKind": "line",
- "chartType": "cartesian",
- "updatedAt": "2019-08-24T14:15:22Z",
- "updatedByUser": {
- "userUuid": "string",
- "firstName": "string",
- "lastName": "string"
}, - "pinnedListOrder": 0.1,
- "firstViewedAt": "2019-08-24T14:15:22Z",
- "views": 0.1,
- "validationErrors": [
- {
- "validationId": 0.1,
- "createdAt": "2019-08-24T14:15:22Z",
- "error": "string"
}
]
}
], - "isPrivate": true,
- "name": "string",
- "uuid": "string",
- "organizationUuid": "string"
}, - "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
- 200
- default
{- "results": [
- {
- "lastName": "string",
- "firstName": "string",
- "email": "string",
- "role": "viewer",
- "projectUuid": "string",
- "userUuid": "string"
}
], - "status": "ok"
}
GrantProjectAccessToUser
Grant a user access to a project
path Parameters
projectUuid required | string |
Request Body schema: application/jsonrequired
sendEmail required | boolean |
role required | string (ProjectMemberRole) Enum: "viewer" "interactive_viewer" "editor" "developer" "admin" |
email required | string |
Responses
Request samples
- Payload
{- "sendEmail": true,
- "role": "viewer",
- "email": "string"
}
Response samples
- 200
- default
{- "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
- 200
- default
{- "results": {
- "lastName": "string",
- "firstName": "string",
- "email": "string",
- "role": "viewer",
- "projectUuid": "string",
- "userUuid": "string"
}, - "status": "ok"
}
UpdateProjectAccessForUser
Update a user's access to a project
path Parameters
projectUuid required | string |
userUuid required | string |
Request Body schema: application/jsonrequired
role required | string (ProjectMemberRole) Enum: "viewer" "interactive_viewer" "editor" "developer" "admin" |
Responses
Request samples
- Payload
{- "role": "viewer"
}
Response samples
- 200
- default
{- "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/jsonrequired
isPrivate required | boolean |
name required | string |
Responses
Request samples
- Payload
{- "isPrivate": true,
- "name": "string"
}
Response samples
- 200
- default
{- "results": {
- "slug": "string",
- "pinnedListOrder": 0.1,
- "pinnedListUuid": "string",
- "groupsAccess": [
- {
- "spaceRole": "viewer",
- "groupName": "string",
- "groupUuid": "string"
}
], - "access": [
- {
- "inheritedFrom": "organization",
- "inheritedRole": "member",
- "projectRole": "viewer",
- "hasDirectAccess": true,
- "role": "viewer",
- "email": "string",
- "lastName": "string",
- "firstName": "string",
- "userUuid": "string"
}
], - "dashboards": [
- {
- "name": "string",
- "description": "string",
- "uuid": "string",
- "spaceUuid": "string",
- "projectUuid": "string",
- "organizationUuid": "string",
- "pinnedListUuid": "string",
- "updatedAt": "2019-08-24T14:15:22Z",
- "updatedByUser": {
- "userUuid": "string",
- "firstName": "string",
- "lastName": "string"
}, - "views": 0.1,
- "firstViewedAt": "2019-08-24T14:15:22Z",
- "pinnedListOrder": 0.1,
- "validationErrors": [
- {
- "validationId": 0.1,
- "createdAt": "2019-08-24T14:15:22Z",
- "error": "string"
}
]
}
], - "projectUuid": "string",
- "queries": [
- {
- "name": "string",
- "description": "string",
- "uuid": "string",
- "spaceName": "string",
- "spaceUuid": "string",
- "projectUuid": "string",
- "organizationUuid": "string",
- "pinnedListUuid": "string",
- "dashboardUuid": "string",
- "dashboardName": "string",
- "slug": "string",
- "source": "dbt_explore",
- "chartKind": "line",
- "chartType": "cartesian",
- "updatedAt": "2019-08-24T14:15:22Z",
- "updatedByUser": {
- "userUuid": "string",
- "firstName": "string",
- "lastName": "string"
}, - "pinnedListOrder": 0.1,
- "firstViewedAt": "2019-08-24T14:15:22Z",
- "views": 0.1,
- "validationErrors": [
- {
- "validationId": 0.1,
- "createdAt": "2019-08-24T14:15:22Z",
- "error": "string"
}
]
}
], - "isPrivate": true,
- "name": "string",
- "uuid": "string",
- "organizationUuid": "string"
}, - "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/jsonrequired
spaceRole required | string (SpaceMemberRole) Enum: "viewer" "editor" "admin" |
userUuid required | string |
Responses
Request samples
- Payload
{- "spaceRole": "viewer",
- "userUuid": "string"
}
Response samples
- 200
- default
{- "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
- 200
- default
{- "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/jsonrequired
spaceRole required | string (SpaceMemberRole) Enum: "viewer" "editor" "admin" |
groupUuid required | string |
Responses
Request samples
- Payload
{- "spaceRole": "viewer",
- "groupUuid": "string"
}
Response samples
- 200
- default
{- "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
- 200
- default
{- "results": null,
- "status": "ok"
}
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
- 200
- default
{- "results": [
- {
- "name": "string",
- "label": "string",
- "fieldType": "metric",
- "tableLabel": "string",
- "description": "string",
- "requiredAttributes": { },
- "chartUsage": 0.1,
- "tags": [
- "string"
], - "tableGroupLabel": "string",
- "tableName": "string",
- "basicType": "string",
- "type": "field"
}
], - "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
- 200
- default
{- "results": {
- "fieldType": "metric",
- "tableLabel": "string",
- "joinedTables": [
- "string"
], - "fields": [
- {
- "name": "string",
- "label": "string",
- "fieldType": "metric",
- "tableLabel": "string",
- "description": "string",
- "requiredAttributes": { },
- "chartUsage": 0.1,
- "tags": [
- "string"
], - "tableGroupLabel": "string",
- "tableName": "string",
- "basicType": "string",
- "type": "field"
}
], - "source": "string",
- "modelName": "string",
- "label": "string",
- "description": "string",
- "name": "string"
}, - "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
- 200
- default
{- "results": {
- "charts": [
- {
- "name": "string",
- "uuid": "string",
- "spaceName": "string",
- "spaceUuid": "string",
- "dashboardUuid": "string",
- "dashboardName": "string",
- "chartKind": "line"
}
]
}, - "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
- 200
- default
{- "results": {
- "charts": [
- {
- "name": "string",
- "uuid": "string",
- "spaceName": "string",
- "spaceUuid": "string",
- "dashboardUuid": "string",
- "dashboardName": "string",
- "chartKind": "line"
}
]
}, - "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" |
Responses
Response samples
- 200
- default
{- "results": {
- "pagination": {
- "page": 0.1,
- "pageSize": 0.1,
- "totalResults": 0.1,
- "totalPageCount": 0.1
}, - "data": [
- {
- "name": "string",
- "label": "string",
- "fieldType": "metric",
- "tableLabel": "string",
- "description": "string",
- "requiredAttributes": { },
- "chartUsage": 0.1,
- "tags": [
- "string"
], - "tableGroupLabel": "string",
- "tableName": "string",
- "basicType": "string",
- "type": "field"
}
]
}, - "status": "ok"
}
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/jsonrequired
the comment to create
text required | string |
replyTo | string |
mentions required | Array of strings |
textHtml required | string |
Responses
Request samples
- Payload
{- "text": "string",
- "replyTo": "string",
- "mentions": [
- "string"
], - "textHtml": "string"
}
Response samples
- 200
- default
{- "results": "string",
- "status": "ok"
}
getComments
Gets all comments for a dashboard
path Parameters
dashboardUuid required | string the uuid of the dashboard |
Responses
Response samples
- 200
- default
{- "results": {
- "property1": [
- {
- "mentions": [
- "string"
], - "canRemove": true,
- "resolved": true,
- "replies": [
- { }
], - "replyTo": "string",
- "user": {
- "name": "string"
}, - "createdAt": "2019-08-24T14:15:22Z",
- "textHtml": "string",
- "text": "string",
- "commentId": "string"
}
], - "property2": [
- {
- "mentions": [
- "string"
], - "canRemove": true,
- "resolved": true,
- "replies": [
- { }
], - "replyTo": "string",
- "user": {
- "name": "string"
}, - "createdAt": "2019-08-24T14:15:22Z",
- "textHtml": "string",
- "text": "string",
- "commentId": "string"
}
]
}, - "status": "ok"
}