Here are some of the most common use cases of Select Star API. We recommend using the API for understanding multi-level downstream lineage of a table, table/dashboard usage and many such use cases.
When you want to identify most frequent users of a given dashboard, you can use the endpoint.
frequent-dsusers - This endpoint is only available for dashboards.
Path Parameters
Name
Type
Description
guid*
String
GUID of the dashboard
{
"count": 1, #Number of users
"next": null,
"previous": null,
"results": [
{
"guid": "du_kJEyvzXcGEkLGzCjWQ5DZp", #GUID of the user
"name": "product@getselectstar.com",
"display_name": "product@getselectstar.com", #The username field for the user used by the datasource
"user": null,
"query_count": 7, #Number of times user executed the dashboard
"last_queried": "2022-10-28",
"data_source": {
"guid": "ds_HPqMxFcUsNmNmhQNPbiEEJ",
"type": "tableau",
"name": "Tableau",
"last_ingested_on": "2022-11-22T20:00:59.761699Z"
}
}
]
}
{
"detail": "You do not have permission to perform this action."
}
<!doctype html>
<html lang="en">
<head>
<title>Not Found</title>
</head>
<body>
<h1>Not Found</h1>
<p>The requested resource was not found on this server.</p>
</body>
</html>
Get a list of related dashboard used in a Looker Explore
{
"detail": "You do not have permission to perform this action."
}
<!doctype html>
<html lang="en">
<head>
<title>Not Found</title>
</head>
<body>
<h1>Not Found</h1>
<p>The requested resource was not found on this server.</p>
</body>
</html>
Databases/Tables
Get GUID for a table using full path of the object
If you want to get the GUID of a specific column, use the columns API command with the search_name parameter and provide the full path of the object, including the column name.
search_name - Please specify a search term i.e. full path of the object.
{
"detail": "You do not have permission to perform this action."
}
<!doctype html>
<html lang="en">
<head>
<title>Not Found</title>
</head>
<body>
<h1>Not Found</h1>
<p>The requested resource was not found on this server.</p>
</body>
</html>
Get GUIDs for the tables with popularity over 90% (Top 10 percent of most used tables)
popularity - If you want to search for tables based on popularity, include this parameter. You will need to provide a comma separated list of popularity ranges (inclusive), which can include integers from 1-100, like 1-10,90-100 , which in this case would be the bottom 10 percent and the top 10 percent, respectively. In the example above, popularity=90-100 will search for tables with popularity 90% or higher, i.e. in the top 10 percent.
order - If you want to specify the ordering for the results, include this parameter. Provide a comma separated list for ordering by multiple fields and a preceding - indicates reverse order. Supported fields: ['description', 'name', 'popularity']. In the example above, -popularity will sort results in desc order by popularity.
search_name - If you want to specify a search term i.e. table name, include this parameter.
If you want to filter objects by last_queried_on, use these parameters -
last_queried_on__gte - gte stands for greater than or equal. You can also use gt, which is greater than.
last_queried_on__lte - lte stands for less than or equal. You can also use lt, which is less than.
Query Parameters
Name
Type
Description
popularity
String
A comma separated list of popularity ranges (inclusive) can include integers from 1-100.
{
"detail": "You do not have permission to perform this action."
}
<!doctype html>
<html lang="en">
<head>
<title>Not Found</title>
</head>
<body>
<h1>Not Found</h1>
<p>The requested resource was not found on this server.</p>
</body>
</html>
no_popularity - If you want to search for tables with no usage, include this parameter. No popularity (popularity: null) means the table was not queried in the last 90 days or since the day Select Star started ingesting usage data.
search_name - If you want to specify a search term i.e. table name, include this parameter.
If you want to filter objects by updated_on, use these parameters -
updated_on__gte - gte stands for greater than or equal. You can also use gt, which is greater than.
updated_on__lte - lte stands for less than or equal. You can also use lt, which is less than.
{
"detail": "You do not have permission to perform this action."
}
<!doctype html>
<html lang="en">
<head>
<title>Not Found</title>
</head>
<body>
<h1>Not Found</h1>
<p>The requested resource was not found on this server.</p>
</body>
</html>
max_depth - If you want to specify depth of lineage to load, use this parameter. Range includes 1 to 20 or you can specify the value as max. max is a special value that is used as alias for 20.
direction - If you want to specify which direction of lineage to load, use this parameter. If this field is skipped, source & downstream lineage will be calculated. In the example above, direction=right will display all the downstream lineage for the given table.
mode - If you want to limit lineage calculation to table or column only, use this parameter. This should reduce payload size as well as computation time but is not fully supported in all Lineage objects (e.g. Looker Lineage doesn't support it fully).
{
"detail": "You do not have permission to perform this action."
}
<!doctype html>
<html lang="en">
<head>
<title>Not Found</title>
</head>
<body>
<h1>Not Found</h1>
<p>The requested resource was not found on this server.</p>
</body>
</html>
To create a user using the API, you must include userName, password, name and active. There are a number of optional parameters that can be set as well.
Query Parameters
Name
Type
Description
userName*
String
User's unique login identifier (email)
password*
String
Human readable password given by the customer and after being hashed by our system is stored as the user password.
name*
Object
contains a users's givenName and familyName
role
String
The role of the user, can be user, data_manager or admin
active*
Boolean
This should generally be set to true. If false, the user will not be able to login.
{
"detail": "You do not have permission to perform this action."
}
<!doctype html>
<html lang="en">
<head>
<title>Not Found</title>
</head>
<body>
<h1>Not Found</h1>
<p>The requested resource was not found on this server.</p>
</body>
</html>
kind - If you want to see tagged items either defined by user or suggested, use this parameter.Items that are tagged by Select Stars users, are considered user(Response displays as user-defined) tagged items, while items that are automatically tagged by Select Star, are considered suggested tagged items.
Path Parameters
Name
Type
Description
guid*
String
GUID of the Tag
Query Parameters
Name
Type
Description
kind
String
Values: ['user' or 'suggestion']
{
"count":1,
"next":null,
"previous":null,
"results":[
{
"tag":{
"guid":"tg_mkncj9iar9NWKbYeL64TvR", #GUID of the tag
"type":"dbt",
"name":"pii",
"icon":"dbt",
"color":"",
"visible":true,
"links_to":null,
"breadcrumbs":[...]
},
"kind":"user-defined",
"suggested_source_kind":"unknown",
"suggestion_source":null,
"item":{
"object_type":"column",
"obj":{
"suggested_description":null,
"object_type":"column",
"guid":"co_HVMK94dHVZT7RFj2S6jvUY", #GUID of the tagged Column
"name":"ALIASED_ID",
"breadcrumbs":[...]
"description":"The primary key for this table",
"richtext_description":null,
"search_name":"selectstar_dbt.datasets.spiked.ALIASED_ID",
"data_type":"string",
"data_source_type":"dbt",
"parent_guid":"ta_h3YvNkhiUYvbox6ALyU3Eo", #GUID of the table for the column
"popularity":null,
"raw_popularity":null,
"downstream_objects_counts":{...}
"upstream_objects_counts":{...}
"tags":{...}
"tagged_items":[...]
}
}
}
]
}
{
"detail": "You do not have permission to perform this action."
}
<!doctype html>
<html lang="en">
<head>
<title>Not Found</title>
</head>
<body>
<h1>Not Found</h1>
<p>The requested resource was not found on this server.</p>
</body>
</html>
When you want to identify the list of for a Looker Explore, you can use the endpoint.
When you want to get the GUID for a specific table, you can use the API command.
When you want to get the GUID for a list of tables with popularity over 90%, you can use the API command with popularity parameter.
To learn about popularity, see .
When you want to get the GUID for a list of tables with no usage, you can use the API command with no_popularity parameter.
To learn more about data lineage, see .
When you want to run an impact analysis for all the downstream tables and dashboards, prior to a code change in your ETL job, you can use the API command.
To learn more about managing users, see .
To learn more about teams, see .
To learn more about Tags, see .
To learn about PII tags, see .
When you want to get GUIDs for all dbt tags, use API command.
All dbt tags are automatically ingested into Select Star, as part of the ingestion. To learn more, see .
When you want to get the list of all the items tagged as PII, you can use the API command.