List Runs

List runs created with your API credential.

GET /api/v1/runs

Query Parameters

statusOptional — filter by status: pending, running, completed, failed, waiting.
user_idOptional — filter to a specific Rolli user.
limitOptional — page size. Default: 50. Max: 100.
offsetOptional — pagination offset. Default: 0.

Request Example

curl -X GET "https://agent.rolli.ai/api/v1/runs?limit=10&status=completed" \
  -H "X-ROLLI-TOKEN: your_token" \
  -H "X-ROLLI-USER-ID: your_user_id" \
  -H "Content-Type: application/json"
    
fetch("https://agent.rolli.ai/api/v1/runs?limit=10&status=completed", {
  method: "GET",
  headers: {
    "X-ROLLI-TOKEN": "your_token",
    "X-ROLLI-USER-ID": "your_user_id",
    "Content-Type": "application/json"
  },
})
  .then(res => res.json())
  .then(console.log);
    
require "net/http"
require "uri"
require "json"

uri = URI("https://agent.rolli.ai/api/v1/runs?limit=10&status=completed")
req = Net::HTTP::Get.new(uri)
req["X-ROLLI-TOKEN"] = "your_token"
req["X-ROLLI-USER-ID"] = "your_user_id"
req["Content-Type"] = "application/json"

res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
  http.request(req)
end

puts res.body
    
import requests
import json

url = "https://agent.rolli.ai/api/v1/runs?limit=10&status=completed"
headers = {
    "X-ROLLI-TOKEN": "your_token",
    "X-ROLLI-USER-ID": "your_user_id",
    "Content-Type": "application/json"
}response = requests.get(url, headers=headers)

print(response.json())
    

Response Example

{
  "runs": [
    {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "status": "completed",
      "question": "What is being said about Tesla battery recalls?",
      "mode": "trend_briefing",
      "time_window": "7d",
      "confidence_level": "high",
      "pinned": true,
      "label": "Weekly trend report",
      "rolli_user_id": "user-123",
      "parent_run_id": null,
      "created_at": "2026-05-19T10:30:00Z",
      "error": null
    }
  ],
  "total": 47,
  "limit": 50,
  "offset": 0
}

Run summaries omit the full markdown report. Fetch GET /api/v1/runs/{id} for the full result. Runs are scoped to the calling credential — you see only runs you created. Discarded runs are excluded.