The Task Object
Submit a task and Retrieve a task both return the task object; List tasks returns a slimmed-down version of it.
Task fields
Section titled “Task fields”| Field | Type | Description |
|---|---|---|
task_id |
string | Task ID, of the form task_ followed by a UUID |
platform |
string | Platform ID (lowercased) |
query |
string | The question (leading and trailing whitespace trimmed) |
status |
string | queued, dispatching, pending, running, succeeded, failed, or canceled — see Task Lifecycle |
answer |
string | Answer text (Markdown), identical to raw_result.rawContent; empty string when there’s no result |
result_json |
string | The raw result as a JSON string. Same structure as raw_result, but may include newer fields that raw_result doesn’t map yet; empty string when there’s no result |
share_link |
string | The platform’s share link; empty string if none |
error_code |
string | Task-level error code — see Error Handling. A non-empty value doesn’t mean the task failed; rely on status |
error_message |
string | Error message as a {"zh","en"} JSON string — parse it to show your user’s language; don’t build logic on the wording |
created_at |
integer | Submission time (Unix seconds) |
updated_at |
integer | Last update time (Unix seconds) |
started_at |
integer | When execution started (Unix seconds); 0 if not started or not recorded |
finished_at |
integer | When the task finished (Unix seconds); 0 if unfinished |
monitor_date |
string | Business date YYYY-MM-DD (UTC+8), fixed at submission |
priority |
integer | Priority at submission: 1 = P1, 2 = P2. The tier it actually ran at is raw_result.priority |
country |
string | Requested exit country (uppercase); empty string if not specified. Not a verified record of the actual exit location |
thinking |
boolean | The thinking mode requested at submission; false if not requested. Whether thinking was actually on is raw_result.thinking — see Thinking mode |
credits |
integer | succeeded: credits charged; unfinished: credits reserved; failed / canceled: 0 |
raw_result |
object | Structured result, described below. Only present once there’s a result (success, or a failed platform run); tasks that are queued, canceled, or failed to dispatch don’t have this field |
Top-level fields are always present even when empty ("", 0, or false).
raw_result
Section titled “raw_result”The structured result uses protobuf’s JSON encoding, which follows different conventions from the top-level fields:
- Field names are lowerCamelCase (
rawContent,shareLink). - Zero-value fields are omitted:
false,0, empty strings, and empty arrays don’t appear. Fill in defaults when reading. elapsedMsis a 64-bit integer encoded as a string (such as"48213").
| Field | Type | Description |
|---|---|---|
taskId |
string | Task ID |
platform |
string | Platform ID |
monitorDate |
string | Business date YYYY-MM-DD |
query |
string | The question as actually asked |
success |
boolean | Whether an answer was obtained; absent when false |
rawContent |
string | Raw answer text (Markdown), with the platform’s own citation markers and card placeholders preserved |
references |
Reference[] | Sources, described below |
shareLink |
string | The platform’s share link |
error |
string | Failure message — the same {"zh","en"} JSON string as error_message; don’t build logic on the wording |
elapsedMs |
string | Execution time in milliseconds, excluding queueing |
completedAt |
string | Completion time, ISO 8601 UTC, such as 2026-10-26T12:41:37.512Z |
priority |
integer | The tier actually used: 1 = P1, 2 = P2. Use this for reconciliation |
thinking |
boolean | Whether thinking was actually on: true if it was; absent when it was off, the platform has no thinking switch, or the task failed. Use this, not the top-level thinking, to tell whether thinking mode took effect |
agentSteps |
AgentStep[] | The run’s process (thinking, searching, tool calls), in order |
mediaCards |
MediaCard[] | Media cards in the answer, in order of appearance |
conversationId |
string | The platform’s conversation ID, for reference only |
messageId |
string | The platform’s message ID, for reference only |
Reference
Section titled “Reference”| Field | Type | Description |
|---|---|---|
rank |
integer | Display order on the platform, starting at 1 |
title |
string | Title |
url |
string | Link. A few sources have no link or carry a platform-internal ID instead — validate before use |
snippet |
string | Excerpt |
source |
string | Source name (site name) |
domain |
string | Domain |
contentPlatform |
string | The content platform the source was identified as, absent if not identified |
cited |
boolean | true if the answer text cites it, false if it was found but not cited. If the field is absent, the platform doesn’t make the distinction — don’t treat it as false |
publishTime |
string | Publish time: ISO 8601, YYYY-MM-DD, or the platform’s relative-time text (such as “1 day ago”) |
author |
string | Author (post author, video creator, etc.) |
References include every source the platform found or read; cited sources come first. See Working with Results for how each platform handles cited.
AgentStep
Section titled “AgentStep”Read the fields that match type:
| Field | Type | Applies to type |
Description |
|---|---|---|---|
type |
string | — | thinking, search (web search), or tool (other tool calls) |
content |
string | thinking |
Thinking text |
summary |
string | thinking |
Thinking summary or the platform’s progress text |
name |
string | search, tool |
The platform’s tool name |
queries |
string[] | search |
Search queries used in this step |
results |
AgentSearchResult[] | search |
Search results returned; not necessarily cited in the answer |
args |
string | tool |
Raw call arguments |
AgentSearchResult: title, url, siteName (display name of the site), snippet.
MediaCard
Section titled “MediaCard”| Field | Type | Description |
|---|---|---|
type |
string | image, video, product, ranking, or other |
platformType |
string | The platform’s original card type name, for reference only; values vary by platform |
anchor |
string | The card’s placeholder text in rawContent; absent when the platform doesn’t put placeholders in the text |
items |
MediaCardItem[] | Items in the card |
MediaCardItem:
| Field | Type | Description |
|---|---|---|
title |
string | Title or product name |
url |
string | The page it links to (video, product, or post page) |
imageUrl |
string | Cover or image URL — usually signed and expires |
source |
string | Source site, store, or marketplace |
author |
string | Author |
duration |
string | Video length, as the platform shows it (such as 05:03) |
price |
string | Price, as the platform shows it |
rating |
string | Rating or recommendation score, as the platform shows it |
publishTime |
string | Publish time, same format as Reference |
description |
string | The platform’s description or comment |
Full example
Section titled “Full example”See Retrieve a task for a complete example of a successful task.
