Skip to content

List dead letter queue entries

GET
/v1/durable/dlq
curl --request GET \
--url https://app.everruns.com/api/v1/durable/dlq
workflow_id
string format: uuid

Filter by workflow ID

activity_type
string

Filter by activity type

offset
integer format: int32

Pagination offset

limit
integer format: int32

Pagination limit

List of DLQ entries

Media type application/json

DLQ list response

object
data
required

Page of items returned by this query.

Array<object>

DLQ entry response

object
activity_id
required

Per-workflow activity ID of the failed task.

string
activity_type
required

Activity type name of the failed task.

string
attempts
required

Number of attempts made before the task was sent to the DLQ.

integer format: int32
dead_at
required

Timestamp when the task was moved to the DLQ (RFC 3339).

string format: date-time
error_history
required

Full ordered history of error messages, one per attempt.

Array<string>
id
required

UUID of the DLQ entry.

string format: uuid
input
required

Task input payload at the time of failure (used for inspection and replay).

object
last_error
required

Most recent error message (the one that pushed the task to the DLQ).

string
original_task_id
required

Task ID that was originally retried and ultimately failed (matches the tasks record before its move to the DLQ).

string format: uuid
workflow_id

Owning workflow’s identifier, if the task was part of one.

string | null format: uuid
total
required

Total number of items matching the query, across all pages.

integer
Example
{
"data": [
{
"activity_id": "tool_call_0042",
"activity_type": "tool_call",
"attempts": 5,
"dead_at": "2026-05-27T15:26:11Z",
"error_history": [
"connection reset",
"503 Service Unavailable",
"upstream gateway timeout",
"upstream gateway timeout",
"upstream gateway timeout"
],
"id": "dead0000-0000-0000-0000-000000000001",
"last_error": "upstream gateway timeout",
"original_task_id": "550e8400-e29b-41d4-a716-446655440000",
"workflow_id": "9a1b2c3d-4e5f-6789-abcd-ef0123456789"
}
]
}

Internal server error

Media type application/json

Standard error response.

Wire shape is RFC 9457 Problem Details: every error response includes title and status, and may include detail, code, allowed_actions, retry_after_seconds, instance, and type. The content type is rewritten to application/problem+json by [problem_json_content_type].

object
allowed_actions

Recovery actions the caller can take next.

Array<object>

Agent-actionable link describing a follow-up the caller can take. Used in two contexts:

  • Error recoveryErrorResponse.allowed_actions carries rels like retry, retry-later, unarchive, get-existing so the agent knows the right next call after a 4xx/429.
  • Entity hypermediaWithUrls<T>.allowed_actions carries state-aware rels like cancel, events, self, update on the entity itself so the agent can follow links instead of reconstructing routes from prose.

The shape is intentionally identical across both contexts; the closed rel vocabulary documented in specs/api-conventions.md distinguishes them.

object
hint

Short, agent-readable hint (e.g. “Shorten ‘name’ to <= 200 chars.”, “Cancel the active turn for this session.”).

string | null
href

Absolute (preferred) or relative URL the caller may invoke directly. Always present on entity hypermedia actions (WithUrls<T>.allowed_actions); optional on error-recovery actions (ErrorResponse.allowed_actions) where the matching operation_id is enough and the URI is implicit from the failed call.

string | null
method

HTTP method to use against href. Required for entity hypermedia actions; usually omitted on error-recovery actions where the same operation is retried with its original method.

string | null
operation_id

OpenAPI operationId the caller should invoke. Lets an MCP client resolve the call without parsing href.

string | null
rel
required

Link relation describing the action. Closed vocabulary documented in specs/api-conventions.md — examples: self, cancel, pause, resume, events, retry, retry-later, unarchive, get-existing, delete, update.

string
schema_ref

OpenAPI $ref to the request-body schema, when the action takes one (e.g. #/components/schemas/UpdateSessionRequest). Lets a tool-calling agent fetch the input shape without scanning the whole spec.

string | null
code

Stable, machine-readable error code (snake_case).

string | null
detail

Human-readable explanation specific to this occurrence.

string | null
instance

Request URI for this occurrence.

string | null
retry_after_seconds

Seconds the caller should wait before retrying (429 / transient 503).

integer | null format: int32
status
required

HTTP status code; mirrors the response status line.

integer format: int32
title
required

Short, human-readable summary of the problem (e.g. “Not Found”).

string
type

RFC 9457 problem type URI. Optional; identifies the problem class.

string | null
Example
{
"allowed_actions": [
{
"method": "POST"
}
],
"code": "session_not_found",
"detail": "Session session_01933b5a000070008000000000000001 not found in org org_01933b5a000070008000000000000001.",
"instance": "/v1/sessions/session_01933b5a000070008000000000000001",
"retry_after_seconds": 30,
"status": 404,
"title": "Session not found",
"type": "https://docs.everruns.com/errors/session_not_found"
}