Project Metadata
The Project Metadata APIs provide information about the project configuration, available datasets, dashboards, and other project-related metadata.
Get Project Information
Get basic information about the project.
Endpoint: GET /api/squirrels-v0/project/{name}/{version}
Response
Success Response (200 OK)
{
"name": "myproject",
"version": "v1",
"label": "My Project",
"description": "My project description",
"squirrels_version": "0.1.0"
}
Get Data Catalog 🔒
Get a catalog of all available datasets and dashboards for the authenticated user.
Endpoint: GET /api/squirrels-v0/project/{name}/{version}/data-catalog
Response
Success Response (200 OK)
{
"parameters": [
{
"widget_type": "single_select",
"name": "my_unique_param_name",
"label": "My Parameter",
"description": "",
"options": [
{
"id": "my_option_id",
"label": "My Option"
}
],
"trigger_refresh": false,
"selected_id": "my_option_id"
},
],
"datasets": [
{
"name": "dataset_name",
"label": "Dataset Label",
"description": "Dataset description",
"schema": {
"fields": [
{
"name": "mycol",
"type": "string",
"description": "My column description",
"category": "dimension",
"condition": "My condition"
}
]
},
"parameters": ["param1", "param2"],
"parameters_path": "/api/squirrels-v0/project/{name}/{version}/datasets/dataset_name/parameters",
"result_path": "/api/squirrels-v0/project/{name}/{version}/datasets/dataset_name/results"
}
],
"dashboards": [
{
"name": "dashboard_name",
"label": "Dashboard Label",
"description": "Dashboard description",
"result_format": "html",
"parameters": ["param1", "param2"],
"parameters_path": "/api/squirrels-v0/project/{name}/{version}/dashboards/dashboard_name/parameters",
"result_path": "/api/squirrels-v0/project/{name}/{version}/dashboards/dashboard_name/results"
}
],
"connections": [],
"models": [],
"lineage": []
}
Notes:
- For admin users, the response includes additional information about connections, data models, and data lineage
- The
parameters
section lists all available parameters that can be used with datasets and dashboards - Each dataset and dashboard entry includes endpoint URLs for their parameters and results API endpoints
- See Working with Parameters for a full example of the "parameters" field in the response that includes all widget types
Get Project Parameters 🔒
Get the available parameter options for the project. Parameter selections may cascade, meaning the selection of one parameter may affect the available options for other parameters.
Endpoint: GET /api/squirrels-v0/project/{name}/{version}/parameters
Query Parameters
Any parameter name can be used as a query parameter to filter the options of other parameters. See Working with Parameters for more details on how to pass parameter selections to this endpoint.
Response
Success Response (200 OK)
{
"parameters": [
{
"widget_type": "single_select",
"name": "my_unique_param_name",
"label": "My Parameter",
"description": "",
"options": [
{
"id": "my_option_id",
"label": "My Option"
}
],
"trigger_refresh": false,
"selected_id": "my_option_id"
},
]
}
Notes:
- If a parameter has
trigger_refresh
as true, provide the parameter selection to this endpoint whenever it changes to refresh the parameter options of dependent parameters - See Working with Parameters for a full example of the response that includes all widget types, and more details on triggering parameter refresh
POST Method (Alternative)
You can also use POST method to submit parameter selections in the request body instead of query parameters:
Endpoint: POST /api/squirrels-v0/project/{name}/{version}/parameters
Request
Content-Type: application/json
{
"param_name": "selected_value"
}
See Working with Parameters for more details on how to pass parameter selections to this endpoint.
The response format is the same as the GET method.