Bash
curl "$EYEBALL_EXECUTOR_URL/v1/executions?status=failed&tool=gmail.send_email&userId=demo_user&limit=25" \
  -H "Authorization: Bearer $EYEBALL_API_KEY"

Query fields:

FieldValues
statuspending, running, succeeded, failed, cancelled
toolCanonical dotted or restricted wire name
userIdExact external user ID
cursorOpaque cursor from the prior page
limitInteger 1–100

Response:

JSON
{
  "executions": [
    {
      "executionId": "exe_01JZ6WA0Q73ZQ5B51SRYB6M4Z8",
      "tool": "gmail.send_email",
      "toolVersion": "1.0.0",
      "catalogVersion": "1.1",
      "status": "failed",
      "userId": "demo_user",
      "createdAt": "2026-07-17T12:00:00.000Z",
      "replayed": true,
      "source": {
        "kind": "voice_session",
        "sessionId": "session_01JZ6VY4C84B1Q0Q4T4T1Z6V8M"
      },
      "attachments": {
        "count": 1,
        "fileIds": ["file_01JZ7F4Y8E7H48H3Y2NQ4J5H8P"]
      },
      "error": {
        "code": "provider_unavailable",
        "message": "The provider is temporarily unavailable.",
        "retryable": true,
        "retryAfter": 12
      },
      "latencyMs": 120
    }
  ],
  "nextCursor": "eyJvZmZzZXQiOjI1fQ"
}

List items use the same safe ExecutionRecord projection as execution detail. The optional replayed, verified voice source, and historical staged-file attachments fields do not add list filters or expose canonical input, idempotency identity, connection selection, or file bytes.

The list is authenticated-project scoped. Invalid filters return invalid_input.