API Reference
Execute an action widget on a shared dashboard
Mirror of POST /api/dashboards/{id}/widgets/{widgetId}/action. Gated by ENVOY PUBLIC DASHBOARD ACTIONS ENABLED (503 when off) and the widget's allow public: true (403 when false…
POST /api/public/dashboards/{token}/widgets/{widgetId}/action
Mirror of POST /api/dashboards/{id}/widgets/{widgetId}/action. Gated by
ENVOY_PUBLIC_DASHBOARD_ACTIONS_ENABLED (503 when off) and the widget's
allow_public: true (403 when false). Additional rate limit (20/min).
Operation ID: executePublicDashboardAction
Authentication
No authentication is required.
Path parameters
token—string,requiredwidgetId—string,required
Request body
application/json
- Reference:
DashboardActionRequest- Type:
object - Properties:
form(object) — Form field values keyed by field key (validated against the action widget's form schema).- Description: Form field values keyed by field key (validated against the action widget's form schema).
- Additional properties: allowed
row(object) — Optional row context (e.g. from a field_mapping row_action) merged into arguments_expr.- Description: Optional row context (e.g. from a field_mapping row_action) merged into arguments_expr.
- Additional properties: allowed
- Type:
Success responses
201
Action accepted
Content type: application/json
- Reference:
DashboardActionResponse- Type:
object - Properties:
action_run_id(integer,required)run_id(integer) — Present when kind is run_taskjob_run_id(integer) — Present when kind is job_run
- Type:
Error responses
400
Validation error
Content type: application/json
- Reference:
Error- Type:
object - Properties:
error(string)- Example:
NOT_FOUND
- Example:
message(string)- Example:
Resource not found
- Example:
- Type:
Example:
{
"error": "VALIDATION_ERROR",
"message": "Invalid input"
}403
Widget does not allow public actions
404
Resource not found
Content type: application/json
- Reference:
Error- Type:
object - Properties:
error(string)- Example:
NOT_FOUND
- Example:
message(string)- Example:
Resource not found
- Example:
- Type:
Example:
{
"error": "NOT_FOUND",
"message": "Resource not found"
}409
In-flight action or cooldown
503
Public dashboard actions disabled on this server
Examples
cURL
curl --request POST \
--url 'https://your-envoy.example.com/api/public/dashboards/YOUR_TOKEN/widgets/YOUR_WIDGET_ID/action' \
--header 'Content-Type: application/json' \
--data '{
"form": {},
"row": {}
}'JavaScript (fetch)
const response = await fetch('https://your-envoy.example.com/api/public/dashboards/YOUR_TOKEN/widgets/YOUR_WIDGET_ID/action', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
"form": {},
"row": {}
}),
});
if (!response.ok) throw new Error(`Request failed: ${response.status}`);
const data = response.status === 204 ? null : await response.json();
console.log(data);