update_dashboard_details

DashboardsApi.update_dashboard_details(dashboard_id, role_id, update_dashboard_request, content_type=None, _request_timeout=None, _request_auth=None, _content_type=None, _headers=None, _host_index=0)

Update dashboard details

Updates dashboard metadata and widgets. Caller needs dashboards.manage on role_id and at least editor AccessType on the dashboard. Widgets is required. On success returns Message “Successfully updated dashboard metadata” with DashboardId and CustomUrlPath ({CurrentSlug}-{CustomId}, for example SalesOverview-3c4d5e6f). Renaming updates CurrentSlug/CustomUrlPath. QuickSight widget Configuration must use QuicksightDashboardId.Value. This Lambda maps InvalidInputException to HTTP 422, UnauthorizedUserException (resource ACL) to HTTP 401, RequestValidationError to HTTP 400, and unhandled/GenericFailure to HTTP 500.

Parameters:
  • dashboard_id (str) – DashboardId UUID or {CurrentSlug}-{CustomId} CustomUrlPath value. (required)

  • role_id (str) – Amorphic role ID used to authorize the request. Must belong to the user and hold dashboards.manage. (required)

  • update_dashboard_request (UpdateDashboardRequest) – (required)

  • content_type (str) – Must be application/json.

  • _request_timeout (int, tuple(int, int), optional) – timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of (connection, read) timeouts.

  • _request_auth (dict, optional) – set to override the auth_settings for an a single request; this effectively ignores the authentication in the spec for a single request.

  • _content_type (str, Optional) – force content-type for the request.

  • _headers (dict, optional) – set to override the headers for a single request; this effectively ignores the headers in the spec for a single request.

  • _host_index (int, optional) – set to override the host_index for a single request; this effectively ignores the host_index in the spec for a single request.

Return type:

UpdateDashboardResponse

Returns:

Returns the result object.

Request and Response Examples

HTTP: PUT /dashboards/{dashboard_id}

Parameter examples

Name

In

Example

Content-Type

header

"application/json"

dashboard_id

path

"SalesOverview-3c4d5e6f"

role_id

header

"custom-role-123e4567-e89b-12d3-a456-426614174000"

Request

Request / response example

{
  "DashboardName": "Sales Overview v2",
  "DashboardDescription": "Updated monthly sales KPIs",
  "Keywords": [
    "sales"
  ],
  "Widgets": [
    {
      "RefId": "qs-widget-1",
      "Version": "1",
      "WidgetServiceCategory": "quicksight",
      "Configuration": {
        "QuicksightDashboardId": {
          "Value": "11111111-2222-3333-4444-555555555555"
        }
      }
    }
  ]
}

Success (HTTP 200)

Dashboard updated successfully.

Request / response example

{
  "Message": "Successfully updated dashboard metadata",
  "DashboardId": "b1e6c2a0-9f4d-4c7a-8f2e-1a2b3c4d5e6f",
  "CustomUrlPath": "SalesOverview-3c4d5e6f"
}

Errors

Documented error codes: AUTH-1012, AUTH-1001, AUTH-1030, IPV-1002, DASH-1006, DASH-1007, DB-1002.

HTTP 400

RequestValidationError (Pydantic) for body/header constraints. Body is {“Message”: “<CODE> - <text>”} (IPV-*).

HTTP 401

Insufficient resource AccessType (need editor or higher). Body is {“Message”: “AUTH-1012 - …”}.

HTTP 422

InvalidInputException. Codes include AUTH-1001, AUTH-1030 (missing dashboards.manage), IPV-1002, DASH-1006/1007.

missingQuicksightId

{
  "Message": "DASH-1007 - Quicksight Dashboard ID is a mandatory field for the QuickSight widget"
}

HTTP 500

Backend/generic failure (for example DB-1002 update failures). Body is {“Message”: “<CODE> - <text>”}.