# JD product reviews

Get one page of JD product reviews.

ID: task:jd_product_reviews_v1 · Region: global · Status: unavailable

catalog_version: 938eb1e3bdb6476050bf2983e6e8db1edcf9f0942d16c7ebd2029dcd28295afe
updated_at: 2026-10-21T10:40:52.196893+00:00

JD

Dataset releases define historical periods; live reads describe request-time data and do not guarantee completeness.

Docs: https://docs.kleardata.ai/capabilities/task%3Ajd_product_reviews_v1

## GET /v1/collections/tasks/jd_product_reviews_v1

legacy · unavailable · api_key, oauth

REST requires a customer API Key; MCP requires an enabled authenticated server; CLI requires its published artifact and command.



Existing pricing applies; metadata reads do not charge Credits.

Where the request declares idempotency_key, reuse it for the same operation; metadata GET is read-only.

A pending response supplies a result/status reference. Read it first; do not automatically resubmit paid execution after a timeout or ambiguous result. Correct 401/403/422 errors before retrying.

### Input schema / 输入契约

```json
{
  "properties": {
    "task_code": {
      "const": "jd_product_reviews_v1"
    },
    "task_query": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional task attribution: when provided, write one concise, self-contained task_query in the user's language and reuse that exact value in every call for the task, including discovery, search, approval retry, results, export, and status checks. For MCP calls, when omitted, Asklear records a generic non-user-specific attribution so compatible clients can still call the tool. REST calls may omit it and remain unattributed. It is a task description, not a task identifier. Do not include hidden reasoning, credentials, or direct personal identifiers such as phone numbers, email addresses, identity numbers, or street addresses.",
      "maxLength": 300
    }
  },
  "required": [
    "task_code"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "task_code": "jd_product_reviews_v1"
}
```

### Synthetic response / 合成响应

```json
{
  "examples": [
    {
      "page": 1,
      "sku_id": "100316653558"
    }
  ],
  "input_schema": {
    "additionalProperties": false,
    "properties": {
      "page": {
        "default": 1,
        "maximum": 1000,
        "minimum": 1,
        "type": "integer"
      },
      "sku_id": {
        "maxLength": 256,
        "minLength": 1,
        "type": "string",
        "ui_default": ""
      }
    },
    "required": [
      "sku_id"
    ],
    "type": "object"
  }
}
```

- input_schema (object): No field description available
- examples (array<object>): No field description available
## describe_collection_task

legacy · unavailable · api_key, oauth

REST requires a customer API Key; MCP requires an enabled authenticated server; CLI requires its published artifact and command.



Existing pricing applies; metadata reads do not charge Credits.

Where the request declares idempotency_key, reuse it for the same operation; metadata GET is read-only.

A pending response supplies a result/status reference. Read it first; do not automatically resubmit paid execution after a timeout or ambiguous result. Correct 401/403/422 errors before retrying.

### Input schema / 输入契约

```json
{
  "properties": {
    "task_code": {
      "const": "jd_product_reviews_v1"
    },
    "task_query": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional task attribution: when provided, write one concise, self-contained task_query in the user's language and reuse that exact value in every call for the task, including discovery, search, approval retry, results, export, and status checks. For MCP calls, when omitted, Asklear records a generic non-user-specific attribution so compatible clients can still call the tool. REST calls may omit it and remain unattributed. It is a task description, not a task identifier. Do not include hidden reasoning, credentials, or direct personal identifiers such as phone numbers, email addresses, identity numbers, or street addresses.",
      "maxLength": 300
    }
  },
  "required": [
    "task_code"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "task_code": "jd_product_reviews_v1"
}
```

### Synthetic response / 合成响应

```json
{
  "examples": [
    {
      "page": 1,
      "sku_id": "100316653558"
    }
  ],
  "input_schema": {
    "additionalProperties": false,
    "properties": {
      "page": {
        "default": 1,
        "maximum": 1000,
        "minimum": 1,
        "type": "integer"
      },
      "sku_id": {
        "maxLength": 256,
        "minLength": 1,
        "type": "string",
        "ui_default": ""
      }
    },
    "required": [
      "sku_id"
    ],
    "type": "object"
  }
}
```

- input_schema (object): No field description available
- examples (array<object>): No field description available
## asklear collection describe

legacy · unavailable · api_key, oauth

REST requires a customer API Key; MCP requires an enabled authenticated server; CLI requires its published artifact and command.



Existing pricing applies; metadata reads do not charge Credits.

Where the request declares idempotency_key, reuse it for the same operation; metadata GET is read-only.

A pending response supplies a result/status reference. Read it first; do not automatically resubmit paid execution after a timeout or ambiguous result. Correct 401/403/422 errors before retrying.

### Input schema / 输入契约

```json
{
  "properties": {
    "task_code": {
      "const": "jd_product_reviews_v1"
    },
    "task_query": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional task attribution: when provided, write one concise, self-contained task_query in the user's language and reuse that exact value in every call for the task, including discovery, search, approval retry, results, export, and status checks. For MCP calls, when omitted, Asklear records a generic non-user-specific attribution so compatible clients can still call the tool. REST calls may omit it and remain unattributed. It is a task description, not a task identifier. Do not include hidden reasoning, credentials, or direct personal identifiers such as phone numbers, email addresses, identity numbers, or street addresses.",
      "maxLength": 300
    }
  },
  "required": [
    "task_code"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "task_code": "jd_product_reviews_v1"
}
```

### Synthetic response / 合成响应

```json
{
  "examples": [
    {
      "page": 1,
      "sku_id": "100316653558"
    }
  ],
  "input_schema": {
    "additionalProperties": false,
    "properties": {
      "page": {
        "default": 1,
        "maximum": 1000,
        "minimum": 1,
        "type": "integer"
      },
      "sku_id": {
        "maxLength": 256,
        "minLength": 1,
        "type": "string",
        "ui_default": ""
      }
    },
    "required": [
      "sku_id"
    ],
    "type": "object"
  }
}
```

- input_schema (object): No field description available
- examples (array<object>): No field description available
## POST /v1/collections/estimate

legacy · unavailable · api_key, oauth

REST requires a customer API Key; MCP requires an enabled authenticated server; CLI requires its published artifact and command.

Each task runs only the requested operation.
Returned data is bounded and projected into task-specific public fields; missing fields are not inferred.
Each successful request is charged once at the Asklear task price.
Availability depends on the current service release and this account's access.

14 Credits per successful task; estimate before starting.

Where the request declares idempotency_key, reuse it for the same operation; metadata GET is read-only.

A pending response supplies a result/status reference. Read it first; do not automatically resubmit paid execution after a timeout or ambiguous result. Correct 401/403/422 errors before retrying.

### Input schema / 输入契约

```json
{
  "$defs": {},
  "additionalProperties": false,
  "description": "Outer transport contract; each registered task validates its own input.",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "page": {
          "default": 1,
          "maximum": 1000,
          "minimum": 1,
          "type": "integer"
        },
        "sku_id": {
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "sku_id"
      ],
      "type": "object"
    },
    "task_code": {
      "const": "jd_product_reviews_v1"
    }
  },
  "required": [
    "task_code",
    "input"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "input": {
    "page": 1,
    "sku_id": "100316653558"
  },
  "task_code": "jd_product_reviews_v1"
}
```

### Synthetic response / 合成响应

```json
{
  "quote_token": "quote-token-from-estimate",
  "upper_bound_credits": 14
}
```

- quote_token (string): No field description available
- upper_bound_credits (integer): No field description available
## estimate_collection

legacy · unavailable · api_key, oauth

REST requires a customer API Key; MCP requires an enabled authenticated server; CLI requires its published artifact and command.

Each task runs only the requested operation.
Returned data is bounded and projected into task-specific public fields; missing fields are not inferred.
Each successful request is charged once at the Asklear task price.
Availability depends on the current service release and this account's access.

14 Credits per successful task; estimate before starting.

Where the request declares idempotency_key, reuse it for the same operation; metadata GET is read-only.

A pending response supplies a result/status reference. Read it first; do not automatically resubmit paid execution after a timeout or ambiguous result. Correct 401/403/422 errors before retrying.

### Input schema / 输入契约

```json
{
  "$defs": {},
  "additionalProperties": false,
  "description": "Outer transport contract; each registered task validates its own input.",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "page": {
          "default": 1,
          "maximum": 1000,
          "minimum": 1,
          "type": "integer"
        },
        "sku_id": {
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "sku_id"
      ],
      "type": "object"
    },
    "task_code": {
      "const": "jd_product_reviews_v1"
    },
    "task_query": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional task attribution: when provided, write one concise, self-contained task_query in the user's language and reuse that exact value in every call for the task, including discovery, search, approval retry, results, export, and status checks. For MCP calls, when omitted, Asklear records a generic non-user-specific attribution so compatible clients can still call the tool. REST calls may omit it and remain unattributed. It is a task description, not a task identifier. Do not include hidden reasoning, credentials, or direct personal identifiers such as phone numbers, email addresses, identity numbers, or street addresses.",
      "maxLength": 300
    }
  },
  "required": [
    "task_code",
    "input"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "input": {
    "page": 1,
    "sku_id": "100316653558"
  },
  "task_code": "jd_product_reviews_v1"
}
```

### Synthetic response / 合成响应

```json
{
  "quote_token": "quote-token-from-estimate",
  "upper_bound_credits": 14
}
```

- quote_token (string): No field description available
- upper_bound_credits (integer): No field description available
## asklear collection estimate

legacy · unavailable · api_key, oauth

REST requires a customer API Key; MCP requires an enabled authenticated server; CLI requires its published artifact and command.

Each task runs only the requested operation.
Returned data is bounded and projected into task-specific public fields; missing fields are not inferred.
Each successful request is charged once at the Asklear task price.
Availability depends on the current service release and this account's access.

14 Credits per successful task; estimate before starting.

Where the request declares idempotency_key, reuse it for the same operation; metadata GET is read-only.

A pending response supplies a result/status reference. Read it first; do not automatically resubmit paid execution after a timeout or ambiguous result. Correct 401/403/422 errors before retrying.

### Input schema / 输入契约

```json
{
  "$defs": {},
  "additionalProperties": false,
  "description": "Outer transport contract; each registered task validates its own input.",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "page": {
          "default": 1,
          "maximum": 1000,
          "minimum": 1,
          "type": "integer"
        },
        "sku_id": {
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "sku_id"
      ],
      "type": "object"
    },
    "task_code": {
      "const": "jd_product_reviews_v1"
    },
    "task_query": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional task attribution: when provided, write one concise, self-contained task_query in the user's language and reuse that exact value in every call for the task, including discovery, search, approval retry, results, export, and status checks. For MCP calls, when omitted, Asklear records a generic non-user-specific attribution so compatible clients can still call the tool. REST calls may omit it and remain unattributed. It is a task description, not a task identifier. Do not include hidden reasoning, credentials, or direct personal identifiers such as phone numbers, email addresses, identity numbers, or street addresses.",
      "maxLength": 300
    }
  },
  "required": [
    "task_code",
    "input"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "input": {
    "page": 1,
    "sku_id": "100316653558"
  },
  "task_code": "jd_product_reviews_v1"
}
```

### Synthetic response / 合成响应

```json
{
  "quote_token": "quote-token-from-estimate",
  "upper_bound_credits": 14
}
```

- quote_token (string): No field description available
- upper_bound_credits (integer): No field description available
## POST /v1/collections/jobs

legacy · unavailable · api_key, oauth

REST requires a customer API Key; MCP requires an enabled authenticated server; CLI requires its published artifact and command.

Each task runs only the requested operation.
Returned data is bounded and projected into task-specific public fields; missing fields are not inferred.
Each successful request is charged once at the Asklear task price.
Availability depends on the current service release and this account's access.

14 Credits per successful task; estimate before starting.

Where the request declares idempotency_key, reuse it for the same operation; metadata GET is read-only.

A pending response supplies a result/status reference. Read it first; do not automatically resubmit paid execution after a timeout or ambiguous result. Correct 401/403/422 errors before retrying.

### Input schema / 输入契约

```json
{
  "$defs": {},
  "additionalProperties": false,
  "properties": {
    "idempotency_key": {
      "maxLength": 128,
      "minLength": 1,
      "type": "string"
    },
    "input": {
      "additionalProperties": false,
      "properties": {
        "page": {
          "default": 1,
          "maximum": 1000,
          "minimum": 1,
          "type": "integer"
        },
        "sku_id": {
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "sku_id"
      ],
      "type": "object"
    },
    "max_credits": {
      "anyOf": [
        {
          "exclusiveMinimum": 0,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "quote_token": {
      "maxLength": 4096,
      "minLength": 16,
      "type": "string"
    },
    "task_code": {
      "const": "jd_product_reviews_v1"
    }
  },
  "required": [
    "task_code",
    "input",
    "quote_token",
    "idempotency_key"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "idempotency_key": "directory-example",
  "input": {
    "page": 1,
    "sku_id": "100316653558"
  },
  "quote_token": "quote-token-from-estimate",
  "task_code": "jd_product_reviews_v1"
}
```

### Synthetic response / 合成响应

```json
{
  "job_id": "collection-example",
  "status": "queued"
}
```

- job_id (string): No field description available
- status (string): No field description available

Follow up: GET /v1/collections/jobs/{job_id}
Read job status and its saved public result.

## start_collection

legacy · unavailable · api_key, oauth

REST requires a customer API Key; MCP requires an enabled authenticated server; CLI requires its published artifact and command.

Each task runs only the requested operation.
Returned data is bounded and projected into task-specific public fields; missing fields are not inferred.
Each successful request is charged once at the Asklear task price.
Availability depends on the current service release and this account's access.

14 Credits per successful task; estimate before starting.

Where the request declares idempotency_key, reuse it for the same operation; metadata GET is read-only.

A pending response supplies a result/status reference. Read it first; do not automatically resubmit paid execution after a timeout or ambiguous result. Correct 401/403/422 errors before retrying.

### Input schema / 输入契约

```json
{
  "$defs": {},
  "additionalProperties": false,
  "properties": {
    "idempotency_key": {
      "maxLength": 128,
      "minLength": 1,
      "type": "string"
    },
    "input": {
      "additionalProperties": false,
      "properties": {
        "page": {
          "default": 1,
          "maximum": 1000,
          "minimum": 1,
          "type": "integer"
        },
        "sku_id": {
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "sku_id"
      ],
      "type": "object"
    },
    "max_credits": {
      "anyOf": [
        {
          "exclusiveMinimum": 0,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "quote_token": {
      "maxLength": 4096,
      "minLength": 16,
      "type": "string"
    },
    "task_code": {
      "const": "jd_product_reviews_v1"
    },
    "task_query": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional task attribution: when provided, write one concise, self-contained task_query in the user's language and reuse that exact value in every call for the task, including discovery, search, approval retry, results, export, and status checks. For MCP calls, when omitted, Asklear records a generic non-user-specific attribution so compatible clients can still call the tool. REST calls may omit it and remain unattributed. It is a task description, not a task identifier. Do not include hidden reasoning, credentials, or direct personal identifiers such as phone numbers, email addresses, identity numbers, or street addresses.",
      "maxLength": 300
    }
  },
  "required": [
    "task_code",
    "input",
    "quote_token",
    "idempotency_key"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "idempotency_key": "directory-example",
  "input": {
    "page": 1,
    "sku_id": "100316653558"
  },
  "quote_token": "quote-token-from-estimate",
  "task_code": "jd_product_reviews_v1"
}
```

### Synthetic response / 合成响应

```json
{
  "job_id": "collection-example",
  "status": "queued"
}
```

- job_id (string): No field description available
- status (string): No field description available

Follow up: GET /v1/collections/jobs/{job_id}
Read job status and its saved public result.

## asklear collection start

legacy · unavailable · api_key, oauth

REST requires a customer API Key; MCP requires an enabled authenticated server; CLI requires its published artifact and command.

Each task runs only the requested operation.
Returned data is bounded and projected into task-specific public fields; missing fields are not inferred.
Each successful request is charged once at the Asklear task price.
Availability depends on the current service release and this account's access.

14 Credits per successful task; estimate before starting.

Where the request declares idempotency_key, reuse it for the same operation; metadata GET is read-only.

A pending response supplies a result/status reference. Read it first; do not automatically resubmit paid execution after a timeout or ambiguous result. Correct 401/403/422 errors before retrying.

### Input schema / 输入契约

```json
{
  "$defs": {},
  "additionalProperties": false,
  "properties": {
    "idempotency_key": {
      "maxLength": 128,
      "minLength": 1,
      "type": "string"
    },
    "input": {
      "additionalProperties": false,
      "properties": {
        "page": {
          "default": 1,
          "maximum": 1000,
          "minimum": 1,
          "type": "integer"
        },
        "sku_id": {
          "maxLength": 256,
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "sku_id"
      ],
      "type": "object"
    },
    "max_credits": {
      "anyOf": [
        {
          "exclusiveMinimum": 0,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "quote_token": {
      "maxLength": 4096,
      "minLength": 16,
      "type": "string"
    },
    "task_code": {
      "const": "jd_product_reviews_v1"
    },
    "task_query": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional task attribution: when provided, write one concise, self-contained task_query in the user's language and reuse that exact value in every call for the task, including discovery, search, approval retry, results, export, and status checks. For MCP calls, when omitted, Asklear records a generic non-user-specific attribution so compatible clients can still call the tool. REST calls may omit it and remain unattributed. It is a task description, not a task identifier. Do not include hidden reasoning, credentials, or direct personal identifiers such as phone numbers, email addresses, identity numbers, or street addresses.",
      "maxLength": 300
    }
  },
  "required": [
    "task_code",
    "input",
    "quote_token",
    "idempotency_key"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "idempotency_key": "directory-example",
  "input": {
    "page": 1,
    "sku_id": "100316653558"
  },
  "quote_token": "quote-token-from-estimate",
  "task_code": "jd_product_reviews_v1"
}
```

### Synthetic response / 合成响应

```json
{
  "job_id": "collection-example",
  "status": "queued"
}
```

- job_id (string): No field description available
- status (string): No field description available

Follow up: GET /v1/collections/jobs/{job_id}
Read job status and its saved public result.

## GET /v1/collections/jobs/{job_id}

legacy · unavailable · api_key, oauth

REST requires a customer API Key; MCP requires an enabled authenticated server; CLI requires its published artifact and command.

Each task runs only the requested operation.
Returned data is bounded and projected into task-specific public fields; missing fields are not inferred.
Each successful request is charged once at the Asklear task price.
Availability depends on the current service release and this account's access.

Existing pricing applies; metadata reads do not charge Credits.

Where the request declares idempotency_key, reuse it for the same operation; metadata GET is read-only.

A pending response supplies a result/status reference. Read it first; do not automatically resubmit paid execution after a timeout or ambiguous result. Correct 401/403/422 errors before retrying.

### Input schema / 输入契约

```json
{
  "properties": {
    "job_id": {
      "type": "string"
    },
    "task_query": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional task attribution: when provided, write one concise, self-contained task_query in the user's language and reuse that exact value in every call for the task, including discovery, search, approval retry, results, export, and status checks. For MCP calls, when omitted, Asklear records a generic non-user-specific attribution so compatible clients can still call the tool. REST calls may omit it and remain unattributed. It is a task description, not a task identifier. Do not include hidden reasoning, credentials, or direct personal identifiers such as phone numbers, email addresses, identity numbers, or street addresses.",
      "maxLength": 300
    }
  },
  "required": [
    "job_id"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "job_id": "collection-example"
}
```

### Response schema / 响应契约

```json
{
  "$defs": {
    "Schema1": {
      "additionalProperties": false,
      "description": "The limited metadata safe to store and expose with a collection result.",
      "properties": {
        "api_name": {
          "maxLength": 128,
          "minLength": 1,
          "pattern": "^[\\x21-\\x7e]+$",
          "type": "string"
        },
        "credits_charged": {
          "maximum": 1000000,
          "minimum": 0,
          "type": "integer"
        },
        "latency_ms": {
          "maximum": 120000,
          "minimum": 0,
          "type": "integer"
        },
        "request_id": {
          "maxLength": 128,
          "minLength": 1,
          "pattern": "^[\\x21-\\x7e]+$",
          "type": "string"
        }
      },
      "required": [
        "request_id",
        "api_name",
        "latency_ms",
        "credits_charged"
      ],
      "type": "object"
    }
  },
  "additionalProperties": true,
  "properties": {
    "result": {
      "additionalProperties": false,
      "properties": {
        "data": {
          "additionalProperties": true,
          "type": "object"
        },
        "meta": {
          "$ref": "#/$defs/Schema1"
        }
      },
      "required": [
        "data",
        "meta"
      ],
      "type": "object"
    }
  },
  "type": "object"
}
```

### Synthetic response / 合成响应

```json
{
  "result": {
    "data": {},
    "meta": {
      "api_name": "https://www.linkedin.com/in/example",
      "credits_charged": 0,
      "latency_ms": 0,
      "request_id": "https://www.linkedin.com/in/example"
    }
  },
  "status": "succeeded"
}
```

- result.meta.request_id (string): Asklear request identifier for tracing.
- result.meta.api_name (string): Executed collection operation name.
- result.meta.latency_ms (integer): Collection execution latency in milliseconds.
- result.meta.credits_charged (integer): Asklear user-side Credits settled for this task after completion.
- result.data.items (array<object>): Review records returned by this page.
- result.data.page (integer): Current review page, starting at 1.
- result.data.max_page (integer|null): Total review pages when reported.
- result.data.next_page (integer|null): Next page number when another review page is available.
- result.data.total (integer|null): Total review count when reported.
- result.data.items[].review_id (string|integer|null): Public review identifier.
- result.data.items[].item_id (string|integer|null): Reviewed product identifier when supplied.
- result.data.items[].author_name (string|null): Review author display name when supplied.
- result.data.items[].content (string|null): Review text when supplied.
- result.data.items[].rating (scalar|null): Review rating when supplied.
- result.data.items[].created_at (string|integer|null): Review creation time when supplied.
- result.data.items[].verified_purchase (boolean|null): Whether the source marks the review as verified.
- result.data.items[].like_count (integer|null): Review like or helpful count when supplied.
- result.data.items[].url (string|null): Safe public review URL when supplied.
- result.data.items[].images (array<string>): Safe public review image URLs when supplied.
- result.data.items[].helpful_count (integer|null): Review helpful-vote count when supplied.
- result.data.review_summary (object|null): Source-reported summary; numeric counts and display text may differ.
- result.data.review_summary.average_score (number|null): Source-reported average score.
- result.data.review_summary.comment_count_reported (integer|null): Reported count; may conflict with display text and does not replace total.
- result.data.review_summary.comment_count_text (string|null): Source comment-count display text.
- result.data.review_summary.after_count (integer|null): Source-reported follow-up-review count.
- result.data.review_summary.after_count_text (string|null): Follow-up-review count display text.
- result.data.review_summary.general_count (integer|null): Source-reported neutral-review count.
- result.data.review_summary.general_count_text (string|null): Neutral-review count display text.
- result.data.review_summary.general_rate (number|null): Neutral-review rate, from zero to one.
- result.data.review_summary.good_count (integer|null): Source-reported positive-review count.
- result.data.review_summary.good_count_text (string|null): Positive-review count display text.
- result.data.review_summary.good_rate (number|null): Positive-review rate, from zero to one.
- result.data.review_summary.poor_count (integer|null): Source-reported negative-review count.
- result.data.review_summary.poor_count_text (string|null): Negative-review count display text.
- result.data.review_summary.poor_rate (number|null): Negative-review rate, from zero to one.
- result.data.review_summary.show_count_text (string|null): Source image-review count display text.
- result.data.review_summary.video_count_text (string|null): Source video-review count display text.
- result.data.review_summary.score_counts (object|null): Source-reported counts by star rating.
- result.data.review_summary.score_counts.1 (integer|null): Source-reported 1-star count.
- result.data.review_summary.score_counts.2 (integer|null): Source-reported 2-star count.
- result.data.review_summary.score_counts.3 (integer|null): Source-reported 3-star count.
- result.data.review_summary.score_counts.4 (integer|null): Source-reported 4-star count.
- result.data.review_summary.score_counts.5 (integer|null): Source-reported 5-star count.
## get_collection_job

legacy · unavailable · api_key, oauth

REST requires a customer API Key; MCP requires an enabled authenticated server; CLI requires its published artifact and command.

Each task runs only the requested operation.
Returned data is bounded and projected into task-specific public fields; missing fields are not inferred.
Each successful request is charged once at the Asklear task price.
Availability depends on the current service release and this account's access.

Existing pricing applies; metadata reads do not charge Credits.

Where the request declares idempotency_key, reuse it for the same operation; metadata GET is read-only.

A pending response supplies a result/status reference. Read it first; do not automatically resubmit paid execution after a timeout or ambiguous result. Correct 401/403/422 errors before retrying.

### Input schema / 输入契约

```json
{
  "properties": {
    "job_id": {
      "type": "string"
    },
    "task_query": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional task attribution: when provided, write one concise, self-contained task_query in the user's language and reuse that exact value in every call for the task, including discovery, search, approval retry, results, export, and status checks. For MCP calls, when omitted, Asklear records a generic non-user-specific attribution so compatible clients can still call the tool. REST calls may omit it and remain unattributed. It is a task description, not a task identifier. Do not include hidden reasoning, credentials, or direct personal identifiers such as phone numbers, email addresses, identity numbers, or street addresses.",
      "maxLength": 300
    }
  },
  "required": [
    "job_id"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "job_id": "collection-example"
}
```

### Response schema / 响应契约

```json
{
  "$defs": {
    "Schema1": {
      "additionalProperties": false,
      "description": "The limited metadata safe to store and expose with a collection result.",
      "properties": {
        "api_name": {
          "maxLength": 128,
          "minLength": 1,
          "pattern": "^[\\x21-\\x7e]+$",
          "type": "string"
        },
        "credits_charged": {
          "maximum": 1000000,
          "minimum": 0,
          "type": "integer"
        },
        "latency_ms": {
          "maximum": 120000,
          "minimum": 0,
          "type": "integer"
        },
        "request_id": {
          "maxLength": 128,
          "minLength": 1,
          "pattern": "^[\\x21-\\x7e]+$",
          "type": "string"
        }
      },
      "required": [
        "request_id",
        "api_name",
        "latency_ms",
        "credits_charged"
      ],
      "type": "object"
    }
  },
  "additionalProperties": true,
  "properties": {
    "result": {
      "additionalProperties": false,
      "properties": {
        "data": {
          "additionalProperties": true,
          "type": "object"
        },
        "meta": {
          "$ref": "#/$defs/Schema1"
        }
      },
      "required": [
        "data",
        "meta"
      ],
      "type": "object"
    }
  },
  "type": "object"
}
```

### Synthetic response / 合成响应

```json
{
  "result": {
    "data": {},
    "meta": {
      "api_name": "https://www.linkedin.com/in/example",
      "credits_charged": 0,
      "latency_ms": 0,
      "request_id": "https://www.linkedin.com/in/example"
    }
  },
  "status": "succeeded"
}
```

- result.meta.request_id (string): Asklear request identifier for tracing.
- result.meta.api_name (string): Executed collection operation name.
- result.meta.latency_ms (integer): Collection execution latency in milliseconds.
- result.meta.credits_charged (integer): Asklear user-side Credits settled for this task after completion.
- result.data.items (array<object>): Review records returned by this page.
- result.data.page (integer): Current review page, starting at 1.
- result.data.max_page (integer|null): Total review pages when reported.
- result.data.next_page (integer|null): Next page number when another review page is available.
- result.data.total (integer|null): Total review count when reported.
- result.data.items[].review_id (string|integer|null): Public review identifier.
- result.data.items[].item_id (string|integer|null): Reviewed product identifier when supplied.
- result.data.items[].author_name (string|null): Review author display name when supplied.
- result.data.items[].content (string|null): Review text when supplied.
- result.data.items[].rating (scalar|null): Review rating when supplied.
- result.data.items[].created_at (string|integer|null): Review creation time when supplied.
- result.data.items[].verified_purchase (boolean|null): Whether the source marks the review as verified.
- result.data.items[].like_count (integer|null): Review like or helpful count when supplied.
- result.data.items[].url (string|null): Safe public review URL when supplied.
- result.data.items[].images (array<string>): Safe public review image URLs when supplied.
- result.data.items[].helpful_count (integer|null): Review helpful-vote count when supplied.
- result.data.review_summary (object|null): Source-reported summary; numeric counts and display text may differ.
- result.data.review_summary.average_score (number|null): Source-reported average score.
- result.data.review_summary.comment_count_reported (integer|null): Reported count; may conflict with display text and does not replace total.
- result.data.review_summary.comment_count_text (string|null): Source comment-count display text.
- result.data.review_summary.after_count (integer|null): Source-reported follow-up-review count.
- result.data.review_summary.after_count_text (string|null): Follow-up-review count display text.
- result.data.review_summary.general_count (integer|null): Source-reported neutral-review count.
- result.data.review_summary.general_count_text (string|null): Neutral-review count display text.
- result.data.review_summary.general_rate (number|null): Neutral-review rate, from zero to one.
- result.data.review_summary.good_count (integer|null): Source-reported positive-review count.
- result.data.review_summary.good_count_text (string|null): Positive-review count display text.
- result.data.review_summary.good_rate (number|null): Positive-review rate, from zero to one.
- result.data.review_summary.poor_count (integer|null): Source-reported negative-review count.
- result.data.review_summary.poor_count_text (string|null): Negative-review count display text.
- result.data.review_summary.poor_rate (number|null): Negative-review rate, from zero to one.
- result.data.review_summary.show_count_text (string|null): Source image-review count display text.
- result.data.review_summary.video_count_text (string|null): Source video-review count display text.
- result.data.review_summary.score_counts (object|null): Source-reported counts by star rating.
- result.data.review_summary.score_counts.1 (integer|null): Source-reported 1-star count.
- result.data.review_summary.score_counts.2 (integer|null): Source-reported 2-star count.
- result.data.review_summary.score_counts.3 (integer|null): Source-reported 3-star count.
- result.data.review_summary.score_counts.4 (integer|null): Source-reported 4-star count.
- result.data.review_summary.score_counts.5 (integer|null): Source-reported 5-star count.
## asklear collection get-job

legacy · unavailable · api_key, oauth

REST requires a customer API Key; MCP requires an enabled authenticated server; CLI requires its published artifact and command.

Each task runs only the requested operation.
Returned data is bounded and projected into task-specific public fields; missing fields are not inferred.
Each successful request is charged once at the Asklear task price.
Availability depends on the current service release and this account's access.

Existing pricing applies; metadata reads do not charge Credits.

Where the request declares idempotency_key, reuse it for the same operation; metadata GET is read-only.

A pending response supplies a result/status reference. Read it first; do not automatically resubmit paid execution after a timeout or ambiguous result. Correct 401/403/422 errors before retrying.

### Input schema / 输入契约

```json
{
  "properties": {
    "job_id": {
      "type": "string"
    },
    "task_query": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional task attribution: when provided, write one concise, self-contained task_query in the user's language and reuse that exact value in every call for the task, including discovery, search, approval retry, results, export, and status checks. For MCP calls, when omitted, Asklear records a generic non-user-specific attribution so compatible clients can still call the tool. REST calls may omit it and remain unattributed. It is a task description, not a task identifier. Do not include hidden reasoning, credentials, or direct personal identifiers such as phone numbers, email addresses, identity numbers, or street addresses.",
      "maxLength": 300
    }
  },
  "required": [
    "job_id"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "job_id": "collection-example"
}
```

### Response schema / 响应契约

```json
{
  "$defs": {
    "Schema1": {
      "additionalProperties": false,
      "description": "The limited metadata safe to store and expose with a collection result.",
      "properties": {
        "api_name": {
          "maxLength": 128,
          "minLength": 1,
          "pattern": "^[\\x21-\\x7e]+$",
          "type": "string"
        },
        "credits_charged": {
          "maximum": 1000000,
          "minimum": 0,
          "type": "integer"
        },
        "latency_ms": {
          "maximum": 120000,
          "minimum": 0,
          "type": "integer"
        },
        "request_id": {
          "maxLength": 128,
          "minLength": 1,
          "pattern": "^[\\x21-\\x7e]+$",
          "type": "string"
        }
      },
      "required": [
        "request_id",
        "api_name",
        "latency_ms",
        "credits_charged"
      ],
      "type": "object"
    }
  },
  "additionalProperties": true,
  "properties": {
    "result": {
      "additionalProperties": false,
      "properties": {
        "data": {
          "additionalProperties": true,
          "type": "object"
        },
        "meta": {
          "$ref": "#/$defs/Schema1"
        }
      },
      "required": [
        "data",
        "meta"
      ],
      "type": "object"
    }
  },
  "type": "object"
}
```

### Synthetic response / 合成响应

```json
{
  "result": {
    "data": {},
    "meta": {
      "api_name": "https://www.linkedin.com/in/example",
      "credits_charged": 0,
      "latency_ms": 0,
      "request_id": "https://www.linkedin.com/in/example"
    }
  },
  "status": "succeeded"
}
```

- result.meta.request_id (string): Asklear request identifier for tracing.
- result.meta.api_name (string): Executed collection operation name.
- result.meta.latency_ms (integer): Collection execution latency in milliseconds.
- result.meta.credits_charged (integer): Asklear user-side Credits settled for this task after completion.
- result.data.items (array<object>): Review records returned by this page.
- result.data.page (integer): Current review page, starting at 1.
- result.data.max_page (integer|null): Total review pages when reported.
- result.data.next_page (integer|null): Next page number when another review page is available.
- result.data.total (integer|null): Total review count when reported.
- result.data.items[].review_id (string|integer|null): Public review identifier.
- result.data.items[].item_id (string|integer|null): Reviewed product identifier when supplied.
- result.data.items[].author_name (string|null): Review author display name when supplied.
- result.data.items[].content (string|null): Review text when supplied.
- result.data.items[].rating (scalar|null): Review rating when supplied.
- result.data.items[].created_at (string|integer|null): Review creation time when supplied.
- result.data.items[].verified_purchase (boolean|null): Whether the source marks the review as verified.
- result.data.items[].like_count (integer|null): Review like or helpful count when supplied.
- result.data.items[].url (string|null): Safe public review URL when supplied.
- result.data.items[].images (array<string>): Safe public review image URLs when supplied.
- result.data.items[].helpful_count (integer|null): Review helpful-vote count when supplied.
- result.data.review_summary (object|null): Source-reported summary; numeric counts and display text may differ.
- result.data.review_summary.average_score (number|null): Source-reported average score.
- result.data.review_summary.comment_count_reported (integer|null): Reported count; may conflict with display text and does not replace total.
- result.data.review_summary.comment_count_text (string|null): Source comment-count display text.
- result.data.review_summary.after_count (integer|null): Source-reported follow-up-review count.
- result.data.review_summary.after_count_text (string|null): Follow-up-review count display text.
- result.data.review_summary.general_count (integer|null): Source-reported neutral-review count.
- result.data.review_summary.general_count_text (string|null): Neutral-review count display text.
- result.data.review_summary.general_rate (number|null): Neutral-review rate, from zero to one.
- result.data.review_summary.good_count (integer|null): Source-reported positive-review count.
- result.data.review_summary.good_count_text (string|null): Positive-review count display text.
- result.data.review_summary.good_rate (number|null): Positive-review rate, from zero to one.
- result.data.review_summary.poor_count (integer|null): Source-reported negative-review count.
- result.data.review_summary.poor_count_text (string|null): Negative-review count display text.
- result.data.review_summary.poor_rate (number|null): Negative-review rate, from zero to one.
- result.data.review_summary.show_count_text (string|null): Source image-review count display text.
- result.data.review_summary.video_count_text (string|null): Source video-review count display text.
- result.data.review_summary.score_counts (object|null): Source-reported counts by star rating.
- result.data.review_summary.score_counts.1 (integer|null): Source-reported 1-star count.
- result.data.review_summary.score_counts.2 (integer|null): Source-reported 2-star count.
- result.data.review_summary.score_counts.3 (integer|null): Source-reported 3-star count.
- result.data.review_summary.score_counts.4 (integer|null): Source-reported 4-star count.
- result.data.review_summary.score_counts.5 (integer|null): Source-reported 5-star count.
