---
title: "Check an async task's status"
method: GET
path: "/v1/async/task/{taskId}"
---

# Check an async task's status

`GET /v1/async/task/{taskId}`

## Request

- Base URL: `https://api.answerline.dev`
- URL: `https://api.answerline.dev/v1/async/task/{taskId}`
- Auth: HTTP bearer

Look up an asynchronous task by ID and get its state, plus the complete structured result payload once it finishes.

## Path parameters

- `taskId` string, uuid, required

## Response `200`

Success: the task's status, plus its result once finished.

- TaskStatusResponse
  - `task` AsyncTaskSummary, required: Summary fields that every async task response includes.
    - `id` string, uuid, required: Identifier unique to the task.
    - `taskType` 'AIMODE' | 'GOOGLE' | 'GOOGLE_NEWS' | 'GEMINI' | 'CHATGPT' | 'COPILOT' | 'PERPLEXITY' | 'GROK', required: AI provider that handles this task.
    - `status` 'QUEUED' | 'PROCESSING' | 'COMPLETED' | 'FAILED', required: Status of the task right now.
    - `priority` integer, required: Priority of the task, from 1 to 10; tasks with higher numbers run first. Default: 1.
    - `createdAt` string, date-time, required: Creation time of the task.
    - `latencyMs` integer, nullable: Time spent processing, in milliseconds, measured from the first pickup until the final outcome. The initial wait in the queue is not counted, but for a retried task it spans all attempts plus the backoff in between. Null for tasks in `QUEUED` or `PROCESSING` state, and for tasks that failed before processing began.
    - `idempotencyKey` string, nullable: Idempotency key supplied with the request, if any.
  - `credits` AsyncTaskCredits, required: Charge details for one async task, in USD.
    - `creditsToCharge` number, required: USD amount held back from the balance for this task.
    - `creditsCharged` number, nullable, required: USD amount charged for the task (0 when a free request covered it); null while it has not finished.
  - `response` object: Complete response payload; included only once the task status is COMPLETED or FAILED.

## Other responses

- `401`: Unauthorized - authentication failed
- `404`: Not Found - No such task
- `429`: Too Many Requests - the API key went over its rate limit, or the service dropped the request because it was overloaded (`SERVICE_OVERLOADED`); that case returns `Retry-After` without any limit headers
- `500`: Internal Server Error

---

[API](https://skmtc.dev/answerline/apis/answerline-api.md) · [All operations](https://skmtc.dev/answerline/apis/answerline-api/llms.txt) · [OpenAPI document](https://skmtc.dev/answerline/apis/answerline-api/revisions/a9dc35794662?raw)
