Skip to main content

search-execution-expired

HTTP status: 410 Gone Type URI: https://docs.evinor.ai/problems/search-execution-expired

The cursor you sent belongs to a search execution that has passed its retention window. The execution provably existed and is provably gone, so Evinor returns 410 rather than 404: retrying the same cursor can never succeed.

Only POST /v1/events/search returns this problem, and only on a request that carries a cursor.

Extension members

  • execution_id — the id of the expired execution, matching the execution_id of the response the cursor came from.
  • expired_at — when the execution expired, as an ISO 8601 string.
{
"type": "https://docs.evinor.ai/problems/search-execution-expired",
"title": "Search execution expired",
"status": 410,
"detail": "This search execution has expired. Run the search again to get a fresh set of results.",
"execution_id": "c0a8012e-8b3e-4c77-9f21-6b1d0e2a4f55",
"expired_at": "2026-08-06T09:12:33.000Z",
"request_id": "8f0b2c1e-4a7d-4b93-9c2e-1d5a6f0b3c8e"
}

Common causes

  • A long pause between pages — a job that fetches page 1, queues work, and only comes back for page 2 much later.
  • A stored cursor replayed from a previous run.

How to resolve

  • Re-run the search with the original filter and no cursor. This is a new execution and is charged — see Searching events.
  • Page an execution through to completion promptly (loop until has_more is false) rather than persisting a cursor between runs.
  • If you need results to outlive the execution window, store the events you received rather than the cursor.