For the complete documentation index, see llms.txt. This page is also available as Markdown.

Dashboards

List Dashboards

get
Authorizations
AuthorizationstringRequired

API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.

Path parameters
workspace_idstring · uuidRequired
Query parameters
limitinteger · max: 200OptionalDefault: 50
continuation_tokenanyOptional
page_contextstring · enum · nullableOptionalPossible values:
Responses
200

Successful Response

application/json
has_morebooleanRequired
continuation_tokenanyOptional
get/v1/{workspace_id}/dashboards
GET /v1/{workspace_id}/dashboards HTTP/1.1
Host: api.platform.amigo.ai
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "items": [
    {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "workspace_id": "123e4567-e89b-12d3-a456-426614174000",
      "slug": "text",
      "title": "text",
      "description": "text",
      "page_context": "text",
      "panels": [
        {
          "ANY_ADDITIONAL_PROPERTY": "anything"
        }
      ],
      "filters": [
        {
          "ANY_ADDITIONAL_PROPERTY": "anything"
        }
      ],
      "refresh_interval": 1,
      "is_active": true,
      "created_by": "text",
      "created_at": "2026-01-01T00:00:00.000Z",
      "updated_at": "2026-01-01T00:00:00.000Z"
    }
  ],
  "has_more": true,
  "continuation_token": null
}

Create Dashboard

post
Authorizations
AuthorizationstringRequired

API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.

Path parameters
workspace_idstring · uuidRequired
Body
slugstring · min: 2 · max: 128RequiredPattern: ^[a-z0-9][a-z0-9\-]*$
titlestring · min: 1 · max: 256Required
descriptionstring · max: 2000 · nullableOptional
page_contextstring · enum · nullableOptionalPossible values:
refresh_intervalinteger · min: 10 · max: 86400OptionalDefault: 300
Responses
201

Successful Response

application/json
idstring · uuidRequired
workspace_idstring · uuid · nullableOptional
slugstringRequired

URL-safe identifier

titlestringRequired

Dashboard display title

descriptionstring · nullableOptional

Human-readable description

page_contextstring · nullableOptional

Developer console page where this dashboard renders

refresh_intervalintegerRequired

Auto-refresh interval in seconds

is_activebooleanRequired

Whether the dashboard is active

created_bystring · nullableOptional

Creator identifier

created_atstring · date-time · nullableOptional

When the dashboard was created

updated_atstring · date-time · nullableOptional

When the dashboard was last updated

post/v1/{workspace_id}/dashboards
POST /v1/{workspace_id}/dashboards HTTP/1.1
Host: api.platform.amigo.ai
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 197

{
  "slug": "text",
  "title": "text",
  "description": "text",
  "page_context": "home",
  "panels": [
    {
      "ANY_ADDITIONAL_PROPERTY": "anything"
    }
  ],
  "filters": [
    {
      "ANY_ADDITIONAL_PROPERTY": "anything"
    }
  ],
  "refresh_interval": 300
}
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "workspace_id": "123e4567-e89b-12d3-a456-426614174000",
  "slug": "text",
  "title": "text",
  "description": "text",
  "page_context": "text",
  "panels": [
    {
      "ANY_ADDITIONAL_PROPERTY": "anything"
    }
  ],
  "filters": [
    {
      "ANY_ADDITIONAL_PROPERTY": "anything"
    }
  ],
  "refresh_interval": 1,
  "is_active": true,
  "created_by": "text",
  "created_at": "2026-01-01T00:00:00.000Z",
  "updated_at": "2026-01-01T00:00:00.000Z"
}

Get Dashboard

get
Authorizations
AuthorizationstringRequired

API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.

Path parameters
workspace_idstring · uuidRequired
dashboard_idstring · uuidRequired
Responses
200

Successful Response

application/json
idstring · uuidRequired
workspace_idstring · uuid · nullableOptional
slugstringRequired

URL-safe identifier

titlestringRequired

Dashboard display title

descriptionstring · nullableOptional

Human-readable description

page_contextstring · nullableOptional

Developer console page where this dashboard renders

refresh_intervalintegerRequired

Auto-refresh interval in seconds

is_activebooleanRequired

Whether the dashboard is active

created_bystring · nullableOptional

Creator identifier

created_atstring · date-time · nullableOptional

When the dashboard was created

updated_atstring · date-time · nullableOptional

When the dashboard was last updated

get/v1/{workspace_id}/dashboards/{dashboard_id}
GET /v1/{workspace_id}/dashboards/{dashboard_id} HTTP/1.1
Host: api.platform.amigo.ai
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "workspace_id": "123e4567-e89b-12d3-a456-426614174000",
  "slug": "text",
  "title": "text",
  "description": "text",
  "page_context": "text",
  "panels": [
    {
      "ANY_ADDITIONAL_PROPERTY": "anything"
    }
  ],
  "filters": [
    {
      "ANY_ADDITIONAL_PROPERTY": "anything"
    }
  ],
  "refresh_interval": 1,
  "is_active": true,
  "created_by": "text",
  "created_at": "2026-01-01T00:00:00.000Z",
  "updated_at": "2026-01-01T00:00:00.000Z"
}

Update Dashboard

put
Authorizations
AuthorizationstringRequired

API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.

Path parameters
workspace_idstring · uuidRequired
dashboard_idstring · uuidRequired
Body
slugstring · min: 2 · max: 128 · nullableOptionalPattern: ^[a-z0-9][a-z0-9\-]*$
titlestring · min: 1 · max: 256 · nullableOptional
descriptionstring · max: 2000 · nullableOptional
page_contextstring · enum · nullableOptionalPossible values:
refresh_intervalinteger · min: 10 · max: 86400 · nullableOptional
Responses
200

Successful Response

application/json
idstring · uuidRequired
workspace_idstring · uuid · nullableOptional
slugstringRequired

URL-safe identifier

titlestringRequired

Dashboard display title

descriptionstring · nullableOptional

Human-readable description

page_contextstring · nullableOptional

Developer console page where this dashboard renders

refresh_intervalintegerRequired

Auto-refresh interval in seconds

is_activebooleanRequired

Whether the dashboard is active

created_bystring · nullableOptional

Creator identifier

created_atstring · date-time · nullableOptional

When the dashboard was created

updated_atstring · date-time · nullableOptional

When the dashboard was last updated

put/v1/{workspace_id}/dashboards/{dashboard_id}
PUT /v1/{workspace_id}/dashboards/{dashboard_id} HTTP/1.1
Host: api.platform.amigo.ai
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 195

{
  "slug": "text",
  "title": "text",
  "description": "text",
  "page_context": "home",
  "panels": [
    {
      "ANY_ADDITIONAL_PROPERTY": "anything"
    }
  ],
  "filters": [
    {
      "ANY_ADDITIONAL_PROPERTY": "anything"
    }
  ],
  "refresh_interval": 1
}
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "workspace_id": "123e4567-e89b-12d3-a456-426614174000",
  "slug": "text",
  "title": "text",
  "description": "text",
  "page_context": "text",
  "panels": [
    {
      "ANY_ADDITIONAL_PROPERTY": "anything"
    }
  ],
  "filters": [
    {
      "ANY_ADDITIONAL_PROPERTY": "anything"
    }
  ],
  "refresh_interval": 1,
  "is_active": true,
  "created_by": "text",
  "created_at": "2026-01-01T00:00:00.000Z",
  "updated_at": "2026-01-01T00:00:00.000Z"
}

Delete Dashboard

delete
Authorizations
AuthorizationstringRequired

API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.

Path parameters
workspace_idstring · uuidRequired
dashboard_idstring · uuidRequired
Responses
204

Successful Response

No content

delete/v1/{workspace_id}/dashboards/{dashboard_id}
DELETE /v1/{workspace_id}/dashboards/{dashboard_id} HTTP/1.1
Host: api.platform.amigo.ai
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

Get Dashboard By Slug

get
Authorizations
AuthorizationstringRequired

API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.

Path parameters
workspace_idstring · uuidRequired
slugstringRequired
Responses
200

Successful Response

application/json
idstring · uuidRequired
workspace_idstring · uuid · nullableOptional
slugstringRequired

URL-safe identifier

titlestringRequired

Dashboard display title

descriptionstring · nullableOptional

Human-readable description

page_contextstring · nullableOptional

Developer console page where this dashboard renders

refresh_intervalintegerRequired

Auto-refresh interval in seconds

is_activebooleanRequired

Whether the dashboard is active

created_bystring · nullableOptional

Creator identifier

created_atstring · date-time · nullableOptional

When the dashboard was created

updated_atstring · date-time · nullableOptional

When the dashboard was last updated

get/v1/{workspace_id}/dashboards/by-slug/{slug}
GET /v1/{workspace_id}/dashboards/by-slug/{slug} HTTP/1.1
Host: api.platform.amigo.ai
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "workspace_id": "123e4567-e89b-12d3-a456-426614174000",
  "slug": "text",
  "title": "text",
  "description": "text",
  "page_context": "text",
  "panels": [
    {
      "ANY_ADDITIONAL_PROPERTY": "anything"
    }
  ],
  "filters": [
    {
      "ANY_ADDITIONAL_PROPERTY": "anything"
    }
  ],
  "refresh_interval": 1,
  "is_active": true,
  "created_by": "text",
  "created_at": "2026-01-01T00:00:00.000Z",
  "updated_at": "2026-01-01T00:00:00.000Z"
}

Execute Dashboard

post

Execute all panel queries and return results for rendering.

SQL injection is mitigated by ResearchQueryService.execute_sql, which calls _validate_read_only_sql to block DROP/TRUNCATE/ALTER/CREATE/GRANT/REVOKE/ DELETE/UPDATE/INSERT statements. Catalog-level access is further restricted by the service principal's Databricks grants (read-only on analytics catalog).

Every panel query MUST reference the :ws_id parameter so that ResearchQueryService binds it to the requesting workspace. Queries without this binding are rejected to prevent cross-tenant data access.

Authorizations
AuthorizationstringRequired

API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.

Path parameters
workspace_idstring · uuidRequired
dashboard_idstring · uuidRequired
Body
Responses
200

Successful Response

application/json
dashboard_idstring · uuidRequired
post/v1/{workspace_id}/dashboards/{dashboard_id}/execute
POST /v1/{workspace_id}/dashboards/{dashboard_id}/execute HTTP/1.1
Host: api.platform.amigo.ai
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 56

{
  "filter_values": {
    "ANY_ADDITIONAL_PROPERTY": "anything"
  }
}
{
  "dashboard_id": "123e4567-e89b-12d3-a456-426614174000",
  "results": [
    {
      "panel_id": "text",
      "columns": [
        "text"
      ],
      "rows": [
        []
      ],
      "error": "text"
    }
  ]
}

Last updated

Was this helpful?