Dashboards
22 Endpunkte. Basis-URL: https://xapi.ambertech.cloud/api/v1
List dashboards with optional filters#
/dashboardsTokenParameter
| Name | Ort | Typ | Beschreibung |
|---|---|---|---|
spaceId | Query | string | – |
includeOrgLevel | Query | string | – |
default | Query | string | – |
is_default | Query | string | – |
status | Query | string | – |
visibility | Query | string | – |
search | Query | string | – |
page | Query | string | – |
pageSize | Query | string | – |
Antworten
- 200Paginated dashboards returned
curl -X GET "https://xapi.ambertech.cloud/api/v1/dashboards" \
-H "Authorization: Bearer $XISUITE_TOKEN"Create a dashboard#
/dashboardsTokenRequest-Body
| Name | Typ | Beschreibung |
|---|---|---|
organizationId | string | Accepted for legacy Next route compatibility; ignored. |
namePflicht | string | |
description | string | – |
space_id | string | Space UUID — null for org-level dashboard |
is_default | boolean | |
layout_config | object | Grid layout config |
status | string | Werte: |
visibility | string | Werte: |
Antworten
- 201Dashboard created
curl -X POST "https://xapi.ambertech.cloud/api/v1/dashboards" \
-H "Authorization: Bearer $XISUITE_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name":"My Dashboard"}'Get a dashboard by ID#
/dashboards/{id}TokenParameter
| Name | Ort | Typ | Beschreibung |
|---|---|---|---|
idPflicht | Pfad | string | – |
Antworten
- 200Dashboard returned
curl -X GET "https://xapi.ambertech.cloud/api/v1/dashboards/{id}" \
-H "Authorization: Bearer $XISUITE_TOKEN"Update a dashboard#
/dashboards/{id}TokenParameter
| Name | Ort | Typ | Beschreibung |
|---|---|---|---|
idPflicht | Pfad | string | – |
Request-Body
| Name | Typ | Beschreibung |
|---|---|---|
organizationId | string | Accepted for legacy Next route compatibility; ignored. |
name | string | – |
description | string | – |
space_id | string | – |
is_default | boolean | – |
layout_config | object | – |
status | string | Werte: |
visibility | string | Werte: |
Antworten
- 200Dashboard updated
curl -X PUT "https://xapi.ambertech.cloud/api/v1/dashboards/{id}" \
-H "Authorization: Bearer $XISUITE_TOKEN" \
-H "Content-Type: application/json" \
-d '{"organizationId":"…","name":"…","description":"…"}'Dashboard actions: set_default or archive#
/dashboards/{id}TokenParameter
| Name | Ort | Typ | Beschreibung |
|---|---|---|---|
idPflicht | Pfad | string | – |
Request-Body
| Name | Typ | Beschreibung |
|---|---|---|
organizationId | string | Accepted for legacy Next route compatibility; ignored. |
actionPflicht | string | Action to perform Werte: |
Antworten
- 200Action applied
curl -X PATCH "https://xapi.ambertech.cloud/api/v1/dashboards/{id}" \
-H "Authorization: Bearer $XISUITE_TOKEN" \
-H "Content-Type: application/json" \
-d '{"action":"set_default"}'Soft-delete a dashboard (cannot delete default)#
/dashboards/{id}TokenParameter
| Name | Ort | Typ | Beschreibung |
|---|---|---|---|
idPflicht | Pfad | string | – |
Antworten
- 200Dashboard deleted
curl -X DELETE "https://xapi.ambertech.cloud/api/v1/dashboards/{id}" \
-H "Authorization: Bearer $XISUITE_TOKEN"List dashboard permissions#
/dashboards/{id}/permissionsTokenParameter
| Name | Ort | Typ | Beschreibung |
|---|---|---|---|
idPflicht | Pfad | string | – |
Antworten
- 200Permissions returned
curl -X GET "https://xapi.ambertech.cloud/api/v1/dashboards/{id}/permissions" \
-H "Authorization: Bearer $XISUITE_TOKEN"Grant a dashboard permission#
/dashboards/{id}/permissionsTokenParameter
| Name | Ort | Typ | Beschreibung |
|---|---|---|---|
idPflicht | Pfad | string | – |
Request-Body
| Name | Typ | Beschreibung |
|---|---|---|
organizationId | string | Accepted for legacy Next route compatibility; ignored. |
target_typePflicht | string | Werte: |
target_id | string | Target UUID — required when target_type is user|group|role |
base_role | string | Required when target_type is base_role Werte: |
permission_levelPflicht | string | Werte: |
Antworten
- 201Permission granted
curl -X POST "https://xapi.ambertech.cloud/api/v1/dashboards/{id}/permissions" \
-H "Authorization: Bearer $XISUITE_TOKEN" \
-H "Content-Type: application/json" \
-d '{"target_type":"user","permission_level":"view"}'Update a permission level#
/dashboards/{id}/permissions/{pid}TokenParameter
| Name | Ort | Typ | Beschreibung |
|---|---|---|---|
idPflicht | Pfad | string | – |
pidPflicht | Pfad | string | – |
Request-Body
| Name | Typ | Beschreibung |
|---|---|---|
organizationId | string | Accepted for legacy Next route compatibility; ignored. |
permission_levelPflicht | string | Werte: |
is_active | boolean | Accepted for legacy Next route compatibility. |
Antworten
- 200Permission updated
curl -X PUT "https://xapi.ambertech.cloud/api/v1/dashboards/{id}/permissions/{pid}" \
-H "Authorization: Bearer $XISUITE_TOKEN" \
-H "Content-Type: application/json" \
-d '{"permission_level":"view"}'Revoke a dashboard permission#
/dashboards/{id}/permissions/{pid}TokenParameter
| Name | Ort | Typ | Beschreibung |
|---|---|---|---|
idPflicht | Pfad | string | – |
pidPflicht | Pfad | string | – |
Antworten
- 200Permission revoked
curl -X DELETE "https://xapi.ambertech.cloud/api/v1/dashboards/{id}/permissions/{pid}" \
-H "Authorization: Bearer $XISUITE_TOKEN"List widgets for a dashboard#
/dashboards/{id}/widgetsTokenParameter
| Name | Ort | Typ | Beschreibung |
|---|---|---|---|
idPflicht | Pfad | string | – |
Antworten
- 200Widgets returned
curl -X GET "https://xapi.ambertech.cloud/api/v1/dashboards/{id}/widgets" \
-H "Authorization: Bearer $XISUITE_TOKEN"Add a widget to a dashboard#
/dashboards/{id}/widgetsTokenParameter
| Name | Ort | Typ | Beschreibung |
|---|---|---|---|
idPflicht | Pfad | string | – |
Request-Body
| Name | Typ | Beschreibung |
|---|---|---|
organizationId | string | Accepted for legacy Next route compatibility; ignored. |
widget_typePflicht | string | Werte: |
title | string | – |
positionPflicht | WidgetPositionDto | Grid position {x, y, w, h, minW?, minH?} |
config | object | Widget-specific config JSONB |
data_source_type | string | Werte: |
data_source_id | string | – |
auto_refresh | boolean | |
refresh_interval | number | Refresh interval in seconds |
sort_order | number |
Antworten
- 201Widget created
curl -X POST "https://xapi.ambertech.cloud/api/v1/dashboards/{id}/widgets" \
-H "Authorization: Bearer $XISUITE_TOKEN" \
-H "Content-Type: application/json" \
-d '{"widget_type":"heatmap","position":"…"}'Get a single widget#
/dashboards/{id}/widgets/{wid}TokenParameter
| Name | Ort | Typ | Beschreibung |
|---|---|---|---|
idPflicht | Pfad | string | – |
widPflicht | Pfad | string | – |
Antworten
- 200Widget returned
curl -X GET "https://xapi.ambertech.cloud/api/v1/dashboards/{id}/widgets/{wid}" \
-H "Authorization: Bearer $XISUITE_TOKEN"Update a widget#
/dashboards/{id}/widgets/{wid}TokenParameter
| Name | Ort | Typ | Beschreibung |
|---|---|---|---|
idPflicht | Pfad | string | – |
widPflicht | Pfad | string | – |
Request-Body
| Name | Typ | Beschreibung |
|---|---|---|
organizationId | string | Accepted for legacy Next route compatibility; ignored. |
widget_type | string | Werte: |
title | string | – |
position | WidgetPositionDto | – |
config | object | – |
data_source_type | string | Werte: |
data_source_id | string | – |
auto_refresh | boolean | – |
refresh_interval | number | – |
sort_order | number | – |
Antworten
- 200Widget updated
curl -X PUT "https://xapi.ambertech.cloud/api/v1/dashboards/{id}/widgets/{wid}" \
-H "Authorization: Bearer $XISUITE_TOKEN" \
-H "Content-Type: application/json" \
-d '{"organizationId":"…","widget_type":"heatmap","title":"…"}'Soft-delete a widget#
/dashboards/{id}/widgets/{wid}TokenParameter
| Name | Ort | Typ | Beschreibung |
|---|---|---|---|
idPflicht | Pfad | string | – |
widPflicht | Pfad | string | – |
Antworten
- 200Widget deleted
curl -X DELETE "https://xapi.ambertech.cloud/api/v1/dashboards/{id}/widgets/{wid}" \
-H "Authorization: Bearer $XISUITE_TOKEN"Fetch widget data (saved_filter / custom_query / simple modes)#
/dashboards/{id}/widgets/{wid}/dataTokenParameter
| Name | Ort | Typ | Beschreibung |
|---|---|---|---|
idPflicht | Pfad | string | – |
widPflicht | Pfad | string | – |
spaceId | Query | string | – |
offsetPflicht | Query | string | – |
Antworten
- 200Widget data returned
curl -X GET "https://xapi.ambertech.cloud/api/v1/dashboards/{id}/widgets/{wid}/data" \
-H "Authorization: Bearer $XISUITE_TOKEN"Set filter widget targets#
/dashboards/{id}/widgets/{wid}/filter-targetsTokenParameter
| Name | Ort | Typ | Beschreibung |
|---|---|---|---|
idPflicht | Pfad | string | – |
widPflicht | Pfad | string | – |
Antworten
- 200Filter targets updated
curl -X PATCH "https://xapi.ambertech.cloud/api/v1/dashboards/{id}/widgets/{wid}/filter-targets" \
-H "Authorization: Bearer $XISUITE_TOKEN"Get layout positions for all widgets#
/dashboards/{id}/widgets/layoutTokenParameter
| Name | Ort | Typ | Beschreibung |
|---|---|---|---|
idPflicht | Pfad | string | – |
Antworten
- 200Layout returned
curl -X GET "https://xapi.ambertech.cloud/api/v1/dashboards/{id}/widgets/layout" \
-H "Authorization: Bearer $XISUITE_TOKEN"Bulk-update widget positions#
/dashboards/{id}/widgets/layoutTokenParameter
| Name | Ort | Typ | Beschreibung |
|---|---|---|---|
idPflicht | Pfad | string | – |
Request-Body
| Name | Typ | Beschreibung |
|---|---|---|
items | LayoutItemDto[] | Array of widget positions to update |
positions | LayoutItemDto[] | Array of widget positions to update |
Antworten
- 200Layout updated
curl -X PATCH "https://xapi.ambertech.cloud/api/v1/dashboards/{id}/widgets/layout" \
-H "Authorization: Bearer $XISUITE_TOKEN" \
-H "Content-Type: application/json" \
-d '{"items":[],"positions":[]}'Get legacy-compatible risk heatmap matrix data#
/dashboards/heatmapTokenParameter
| Name | Ort | Typ | Beschreibung |
|---|---|---|---|
organizationId | Query | string | Accepted for legacy Next route compatibility; ignored. |
matrixSize | Query | string | Matrix size (2–5), default 5 |
showIssueCount | Query | string | "false" to hide issue count, default true |
title | Query | string | Heatmap title |
requestTypes | Query | string | Comma-separated request types |
status | Query | string | Comma-separated status values, default "active" |
coloringMode | Query | string | "individual-cells" or "risk-level" (default) |
cellFontSize | Query | string | Cell font size: small|medium|large|xlarge |
spaceId | Query | string | Filter by space UUID |
Antworten
- 200Heatmap data returned
curl -X GET "https://xapi.ambertech.cloud/api/v1/dashboards/heatmap" \
-H "Authorization: Bearer $XISUITE_TOKEN"Generate legacy-compatible risk heatmap matrix data#
/dashboards/heatmapTokenRequest-Body
| Name | Typ | Beschreibung |
|---|---|---|
organizationId | string | Accepted for legacy Next route compatibility; ignored. |
config | object | Accepted for legacy Next route compatibility; full config object. |
matrixSize | number | Matrix size (2–5) |
showIssueCount | boolean | – |
title | string | – |
requestTypes | string[] | – |
status | string[] | – |
coloringMode | string | Werte: |
cellFontSize | string | Werte: |
spaceId | string | – |
useCustomColors | boolean | – |
customColors | string[] | – |
individualCellColors | object | – |
individualCellTexts | object | – |
individualCellForegroundColors | object | – |
Antworten
- 200Heatmap data returned
curl -X POST "https://xapi.ambertech.cloud/api/v1/dashboards/heatmap" \
-H "Authorization: Bearer $XISUITE_TOKEN" \
-H "Content-Type: application/json" \
-d '{"organizationId":"…","config":{},"matrixSize":0}'Get legacy-compatible heatmap risk summary for the organisation#
/dashboards/risk-summaryTokenParameter
| Name | Ort | Typ | Beschreibung |
|---|---|---|---|
organizationId | Query | string | Accepted for legacy Next route compatibility; ignored. |
requestTypes | Query | string | Comma-separated request types |
status | Query | string | Comma-separated status values, default "active" |
spaceId | Query | string | Filter by space UUID |
Antworten
- 200Risk summary returned
curl -X GET "https://xapi.ambertech.cloud/api/v1/dashboards/risk-summary" \
-H "Authorization: Bearer $XISUITE_TOKEN"