Skip to content

Web research run by id, with status, answer and citations.

Retrieve a single Agent run by ID.

Job web.research.status

Your AI asks

checks the price first
telipot run exa.web.research.status \
  --input-json '{"id":"agent_run_01j"}' \
  --quote

Price

Price unknown
Priced· before it runs

exa.web.research.status

Price unknownYour plan

Whose account it uses

1The person asking
not needed
2Your company’s Exa plan
Selected identity for this example
3Our account
not used

What it sends

{
  "id": "agent_run_01j"
}

Your Exa login is added for you. Your AI never sees it.

What it costs

Unknown

not listed, never free

sourcedocs · exa.ai/docs/admin/pricing · checked 2026-10-05
confidenceunknown
noteThe pricing page lists no rate for reading a run; the run's own charge is reported in its costDollars.total.

Preview the price first. --quote runs nothing.

For developers · run it

Shell · runs the task on the named account

telipot run exa.web.research.status \
  --input-json '{"id":"agent_run_01j"}'

id

string · required · 1 to 200

Agent run id, as returned when the run was created. Ids carry the agent_run_ prefix.

id

string

Run id with the agent_run_ prefix

object

string

status

string

stopReason

string | null

Why the run stopped; null while it is queued or running

createdAt

string

completedAt

string | null

request

object | null

The request fields stored with the run

output

object

usage

object

costDollars

object

Full output schema · JSONNested fields and constraints

Output JSON Schema

{
  "type": "object",
  "required": [
    "id",
    "object",
    "status",
    "stopReason",
    "createdAt",
    "completedAt",
    "request",
    "output",
    "usage",
    "costDollars"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "Run id with the agent_run_ prefix"
    },
    "object": {
      "type": "string",
      "const": "agent_run"
    },
    "status": {
      "type": "string",
      "enum": [
        "queued",
        "running",
        "completed",
        "failed",
        "cancelled"
      ]
    },
    "stopReason": {
      "anyOf": [
        {
          "type": "string",
          "enum": [
            "schema_satisfied",
            "budget_reached",
            "time_limit_reached",
            "stopped",
            "error",
            "cancelled"
          ]
        },
        {
          "type": "null"
        }
      ],
      "description": "Why the run stopped; null while it is queued or running"
    },
    "createdAt": {
      "type": "string"
    },
    "completedAt": {
      "type": [
        "string",
        "null"
      ]
    },
    "request": {
      "type": [
        "object",
        "null"
      ],
      "description": "The request fields stored with the run"
    },
    "output": {
      "type": "object",
      "required": [
        "text",
        "structured",
        "grounding"
      ],
      "properties": {
        "text": {
          "type": "string",
          "description": "Natural-language answer or summary"
        },
        "structured": {
          "description": "JSON shaped by outputSchema; null when no schema was given"
        },
        "grounding": {
          "type": "array",
          "description": "Field-level citations",
          "items": {
            "type": "object",
            "required": [
              "field",
              "citations"
            ],
            "properties": {
              "field": {
                "type": "string"
              },
              "citations": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "url": {
                      "type": "string"
                    },
                    "title": {
                      "type": "string"
                    }
                  }
                }
              },
              "confidence": {
                "anyOf": [
                  {
                    "type": "string",
                    "enum": [
                      "low",
                      "medium",
                      "high"
                    ]
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            }
          }
        }
      }
    },
    "usage": {
      "type": "object",
      "required": [
        "agentComputeUnits",
        "searches",
        "emails",
        "phoneNumbers"
      ],
      "properties": {
        "agentComputeUnits": {
          "type": "number"
        },
        "searches": {
          "type": "integer"
        },
        "emails": {
          "type": "integer"
        },
        "phoneNumbers": {
          "type": "integer"
        },
        "dataSources": {
          "type": "object"
        }
      }
    },
    "costDollars": {
      "type": "object",
      "required": [
        "total",
        "agentCompute",
        "search",
        "emails",
        "phoneNumbers"
      ],
      "properties": {
        "total": {
          "type": "number"
        },
        "agentCompute": {
          "type": "number"
        },
        "search": {
          "type": "number"
        },
        "emails": {
          "type": "number"
        },
        "phoneNumbers": {
          "type": "number"
        },
        "dataSources": {
          "type": "object"
        }
      }
    }
  }
}

A real answer

No example captured yet: one is recorded when telipot catalog verify passes.