The Select Star API is a versatile tool that can be used in various scenarios. Here are some of the most common use cases where this API is beneficial.
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.
Check out the examples below:
BI/Dashboards
To learn more about Dashboard metadata, see Dashboard.
When you want to identify most frequent users of a given dashboard, you can use the frequent_dsusers endpoint.
frequent-dsusers - This endpoint is only available for dashboards.
Path Parameters
Name
Type
Description
guid*
String
GUID of the dashboard
{"count": 1, #Numberofusers"next": null,"previous": null,"results": [{"guid":"du_kJEyvzXcGEkLGzCjWQ5DZp", #GUID of the user"name":"[email protected]","display_name":"[email protected]", #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"}} ]}
Get a list of related dashboard used in a Looker Explore
When you want to get the GUID for a specific table, you can use the tables API command.
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.
Query Parameters
Name
Type
Description
search_name*
String
Enter the full path of the object. {Select Star Data Source Name}.{Database}.{Schema}.{Table}
query*
String
Values: ['guid']
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.
When you want to get the GUID for a list of tables with no usage, you can use the tables API command with no_popularity parameter.
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.
Query Parameters
Name
Type
Description
no_popularity
Boolean
No value needed
search_name
String
Enter the table name
updated_on__gte
String
Enter upper bound Date/Datetime (in UTC)
updated_on__lte
String
Enter lower bound Date/Datetime (in UTC)
Lineage
To learn more about data lineage, see Data Lineage.
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 lineage API command.
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).
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.
When you want to get the list of all the items tagged as PII, you can use the tags_items_list API command.
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.
{
"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>
{
"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>
{
"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>
{
"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>
{
"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>
{
"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>
{
"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>
{
"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>