-
Notifications
You must be signed in to change notification settings - Fork 16
DashboardApi
All endpoints are under /api/v1/dashboard. When Swagger is enabled, interactive documentation is available at /swagger.
Returns all registered connections with their queue counts.
Returns all queues for a specific connection.
Returns all scheduled jobs for a connection.
Returns message counts by status:
| Field | Description |
|---|---|
waiting |
Messages waiting to be processed |
processing |
Messages currently being processed |
error |
Messages that failed processing |
total |
Total message count |
Returns which features are enabled for the queue (priority, status, heartbeat, etc.).
Returns a paged list of messages.
| Parameter | Default | Description |
|---|---|---|
pageIndex |
0 | Zero-based page index |
pageSize |
25 | Number of messages per page |
status |
null | Filter by status (Waiting, Processing, Error, Processed) |
Returns the total message count, optionally filtered by status.
Returns a single message by ID.
Returns the decoded message body and type information. If the queue uses message interceptors, the same interceptors must be registered on the dashboard to decode the body. See Dashboard Configuration.
Returns the deserialized message headers.
Returns messages with stale heartbeats (Processing status, no heartbeat within the threshold).
| Parameter | Default | Description |
|---|---|---|
thresholdSeconds |
60 | Heartbeat age threshold in seconds |
pageIndex |
0 | Zero-based page index |
pageSize |
25 | Number of messages per page |
Resets a stale message from Processing back to Waiting status. Returns 204 on success, 404 if not found.
Resets all stale messages from Processing back to Waiting status. Returns the count of reset messages.
Returns a paged list of error messages.
| Parameter | Default | Description |
|---|---|---|
pageIndex |
0 | Zero-based page index |
pageSize |
25 | Number of messages per page |
Returns the error retry history for a specific message.
Moves an error message back to Waiting status for reprocessing. Returns 204 on success, 404 if not found.
Requeues all error messages back to Waiting status. Returns the count of requeued messages.
Deletes all error messages for the queue. Returns the count of deleted messages.
Deletes a single message. Returns 204 on success, 404 if not found.
Updates a message body. The body is re-encoded using the queue's serialization and interceptors.
Request body:
{
"body": "<JSON string>"
}| Response | Meaning |
|---|---|
| 204 | Updated successfully |
| 400 | Invalid request |
| 404 | Message not found |
| 409 | Message is currently being processed |
Returns the raw queue configuration as JSON.
Returns the maintenance service status for the queue. Only meaningful when HostMaintenance is enabled for the queue in the dashboard configuration. See Maintenance Mode.
| Field | Description |
|---|---|
hostMaintenance |
Whether the dashboard is configured to host maintenance for this queue |
isRunning |
Whether the maintenance service is currently running |
lastRunUtc |
UTC timestamp of the last completed maintenance run (null if not yet run) |
Consumer tracking endpoints are available when EnableConsumerTracking is enabled (default: true). See Dashboard Client for a typed client that manages registration and heartbeats automatically.
Registers a consumer with the dashboard. Returns a ConsumerId and the recommended HeartbeatIntervalSeconds.
Request body:
{
"queueName": "OrderQueue",
"machineName": "WORKER-01",
"processId": 12345,
"friendlyName": "Worker-1"
}Sends a heartbeat for a registered consumer. Should be called at the interval returned during registration.
Request body:
{
"consumerId": "guid"
}Unregisters a consumer.
Returns all active consumers. Optionally filter by queue with ?queueId={guid}.
Returns a dictionary of consumer counts keyed by queue ID.
| Method | URL | Description |
|---|---|---|
| GET | /api/v1/dashboard/queues/{queueId}/history?pageIndex=0&pageSize=25&status= |
Paged list of history records, optionally filtered by status (0=Enqueued, 1=Processing, 2=Complete, 3=Error, 4=Deleted, 5=Expired) |
| GET | /api/v1/dashboard/queues/{queueId}/history/{messageId} |
History record for a specific message. Returns 404 if not found. |
| GET | /api/v1/dashboard/queues/{queueId}/history/count?status= |
Total count of history records, optionally filtered by status |
| DELETE | /api/v1/dashboard/queues/{queueId}/history?olderThanDays=30 |
Purge history records older than the specified number of days (default 30). Returns { "deleted": N }. |
History endpoints return data only when IHistoryConfiguration.Enabled = true on the queue. When disabled, list returns empty, count returns 0, and purge returns 0.
See Message History for configuration details.
| Method | URL | Description |
|---|---|---|
| POST | /api/v1/dashboard/queues/{queueId}/messages/{messageId}/cancel |
Request cancellation of a running message. Returns 200 if cancellation was requested, 404 if the message is not currently being processed, 409 if no consumer is running in-process. |
Cancellation is cooperative: the message handler must check workerNotification.MessageCancellation.Token for it to take effect. Only works when the dashboard and consumer run in the same process.
For any issues please use the GitHub issues