Repository navigation
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, you must register the same interceptors on the dashboard so that it can 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 dashboard re-encodes the body with 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. The status is 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. Call this endpoint 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 history is disabled, the list returns empty, the count returns 0, and the 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. Cancellation works only when the dashboard and the consumer run in the same process.
For any issues please use the GitHub issues