List Logs
Paginate through logs of published messages
curl --request GET \
--url https://qstash-{region}.upstash.io/v2/logs \
--header 'Authorization: Bearer <token>'{
"cursor": "<string>",
"logs": [
{
"time": 123,
"messageId": "<string>",
"header": "<string>",
"body": "<string>",
"state": "CREATED",
"error": "<string>",
"nextDeliveryTime": 123,
"url": "<string>",
"topicName": "<string>",
"endpointName": "<string>",
"scheduleId": "<string>",
"queueName": "<string>",
"responseStatus": 123,
"responseBody": "<string>",
"responseHeaders": "<string>",
"timeout": 123,
"method": "<string>",
"callback": "<string>",
"callbackHeaders": "<string>",
"failureCallback": "<string>",
"failureCallbackHeaders": "<string>",
"maxRetries": 123,
"retryDelayExpression": "<string>",
"label": "<string>",
"labels": [
"<string>"
]
}
]
}Authorization
Bearer authentication header of the form Bearer <token>.
Query parameters
By providing a cursor you can paginate through all of the logs
Filter logs by message ID
Filter logs by message state
| Value | Description |
|---|---|
| CREATED | The message has been accepted and stored in QStash |
| ACTIVE | The task is currently being processed by a worker. |
| RETRY | The task has been scheduled to retry. |
| ERROR | The execution threw an error and the task is waiting to be retried or failed. |
| IN_PROGRESS | The task is in one of ACTIVE, RETRY or ERROR state. |
| DELIVERED | The message was successfully delivered. |
| FAILED | The task has errored too many times or encountered an error that it cannot recover from. |
| CANCEL_REQUESTED | The cancel request from the user is recorded. |
| CANCELLED | The cancel request from the user is honored. |
Filter logs by destination URL
Filter logs by URL Group name
Filter logs by schedule ID
Filter logs by queue name
Filter logs by starting date, in milliseconds (Unix timestamp). This is inclusive.
Filter logs by ending date, in milliseconds (Unix timestamp). This is inclusive.
The number of log entries to return.
Filter logs by label. Supports multi-value filtering. You can pass multiple values to match messages with any of the given labels (OR logic).
Examples:
label=my_labellabel=label_1&label=label_2
Response
200 — List of logs
A cursor which you can use in subsequent requests to paginate through all logs. If no cursor is returned, you have reached the end of the logs.