Skip to main content
Version: 0.5.x

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.