---
title: "Get research task status"
method: GET
path: "/web_search/research/{task_id}"
tags: ["Research"]
---

# Get research task status

`GET /web_search/research/{task_id}`

Polls the status of a previously started asynchronous research task. When the status is `completed`, the response includes the answer and citations. When the status is `failed`, the response includes an error message.

## Path parameters

- `task_id` string, required

## Response `200`

Research task status.

- object
  - `data` ResearchTaskStatus
    - `answer` string — The synthesized research answer (present when status is `completed`).
    - `citations` ResearchCitation[] — Sources cited in the answer (present when status is `completed`).
      - `snippet` string — Relevant excerpt from the source (if available).
      - `title` string, required — Title of the source page.
      - `url` string, uri, required — Source URL.
    - `error` string, nullable — Always present in poll responses; `null` unless the task failed.
    - `status` 'pending' | 'running' | 'completed' | 'failed', required — Current status of the research task.
    - `task_id` string, required — The research task identifier.

## Other responses

- `401` — Unauthorized — missing or invalid API key. The API Gateway returns this response before the request reaches the backend service. The error format follows the standard Telnyx JSON:API error envelope with `errors[]`, not the backend-level `WebSearchError` shape.
- `404` — Research task not found. Returned for unknown, malformed, expired, or already-purged task IDs.
- `500` — Internal server error.
- `502` — The upstream search provider returned an error.

---

[API](https://skmtc.net/team-telnyx/apis/telnyx-api-2.md) · [All operations](https://skmtc.net/team-telnyx/apis/telnyx-api-2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/team-telnyx/telnyx-api-2/revisions/1571b0380bd7/schema)
