# 笔记详情

取一篇小红书笔记的正文与互动数,需要精确 note_id。要按关键词找笔记用 xhs_search_notes_v1。

ID: task:xhs_note_detail_v1 · Region: cn · Status: available

catalog_version: 5c920c774a55e44d7e8c709143b88a18b8b2afcef91a5d19a8c9ae5d565d9077
updated_at: 2026-10-21T12:06:16.523771+00:00

小红书

历史数据以数据集发布版本定义覆盖周期；实时读取反映请求时资料，不保证覆盖全部记录。

Docs: https://docs.asklear.cn/capabilities/task%3Axhs_note_detail_v1

## GET /v1/collections/tasks/xhs_note_detail_v1

legacy · available · api_key, oauth

REST 需要客户 API Key；MCP 需要已开放的服务及现有授权；CLI 需要已发布且包含该命令的客户端。



执行遵循现有计价；读取公开说明不扣 Credits。

请求声明 idempotency_key 时，同一次操作复用原键；元数据 GET 只读。

等待态响应提供结果/状态引用。先读取原结果；超时或结果不明时禁止自动重新提交付费执行。401/403/422 应先修正鉴权、权限或输入。

### Input schema / 输入契约

```json
{
  "properties": {
    "task_code": {
      "const": "xhs_note_detail_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": "xhs_note_detail_v1"
}
```

### Synthetic response / 合成响应

```json
{
  "examples": [
    {
      "note_id": "note_id_FROM_xhs_search_notes_v1"
    }
  ],
  "input_schema": {
    "additionalProperties": false,
    "properties": {
      "note_id": {
        "maxLength": 128,
        "minLength": 1,
        "pattern": "^[A-Za-z0-9_-]+$",
        "type": "string",
        "ui_default": ""
      }
    },
    "required": [
      "note_id"
    ],
    "type": "object"
  }
}
```

- input_schema (object): 暂无字段说明
- examples (array<object>): 暂无字段说明
## describe_collection_task

legacy · available · api_key, oauth

REST 需要客户 API Key；MCP 需要已开放的服务及现有授权；CLI 需要已发布且包含该命令的客户端。



执行遵循现有计价；读取公开说明不扣 Credits。

请求声明 idempotency_key 时，同一次操作复用原键；元数据 GET 只读。

等待态响应提供结果/状态引用。先读取原结果；超时或结果不明时禁止自动重新提交付费执行。401/403/422 应先修正鉴权、权限或输入。

### Input schema / 输入契约

```json
{
  "properties": {
    "task_code": {
      "const": "xhs_note_detail_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": "xhs_note_detail_v1"
}
```

### Synthetic response / 合成响应

```json
{
  "examples": [
    {
      "note_id": "note_id_FROM_xhs_search_notes_v1"
    }
  ],
  "input_schema": {
    "additionalProperties": false,
    "properties": {
      "note_id": {
        "maxLength": 128,
        "minLength": 1,
        "pattern": "^[A-Za-z0-9_-]+$",
        "type": "string",
        "ui_default": ""
      }
    },
    "required": [
      "note_id"
    ],
    "type": "object"
  }
}
```

- input_schema (object): 暂无字段说明
- examples (array<object>): 暂无字段说明
## asklear collection describe

legacy · available · api_key, oauth

REST 需要客户 API Key；MCP 需要已开放的服务及现有授权；CLI 需要已发布且包含该命令的客户端。



执行遵循现有计价；读取公开说明不扣 Credits。

请求声明 idempotency_key 时，同一次操作复用原键；元数据 GET 只读。

等待态响应提供结果/状态引用。先读取原结果；超时或结果不明时禁止自动重新提交付费执行。401/403/422 应先修正鉴权、权限或输入。

### Input schema / 输入契约

```json
{
  "properties": {
    "task_code": {
      "const": "xhs_note_detail_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": "xhs_note_detail_v1"
}
```

### Synthetic response / 合成响应

```json
{
  "examples": [
    {
      "note_id": "note_id_FROM_xhs_search_notes_v1"
    }
  ],
  "input_schema": {
    "additionalProperties": false,
    "properties": {
      "note_id": {
        "maxLength": 128,
        "minLength": 1,
        "pattern": "^[A-Za-z0-9_-]+$",
        "type": "string",
        "ui_default": ""
      }
    },
    "required": [
      "note_id"
    ],
    "type": "object"
  }
}
```

- input_schema (object): 暂无字段说明
- examples (array<object>): 暂无字段说明
## POST /v1/collections/estimate

legacy · available · api_key, oauth

REST 需要客户 API Key；MCP 需要已开放的服务及现有授权；CLI 需要已发布且包含该命令的客户端。

只接受精确 note_id,不支持标题或链接查找。
不含评论,评论用 xhs_note_comments_v1。

每个成功任务 8 Credits；启动前先估价。

请求声明 idempotency_key 时，同一次操作复用原键；元数据 GET 只读。

等待态响应提供结果/状态引用。先读取原结果；超时或结果不明时禁止自动重新提交付费执行。401/403/422 应先修正鉴权、权限或输入。

### Input schema / 输入契约

```json
{
  "$defs": {},
  "additionalProperties": false,
  "description": "Outer transport contract; each registered task validates its own input.",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "note_id": {
          "maxLength": 128,
          "minLength": 1,
          "pattern": "^[A-Za-z0-9_-]+$",
          "type": "string"
        }
      },
      "required": [
        "note_id"
      ],
      "type": "object"
    },
    "task_code": {
      "const": "xhs_note_detail_v1"
    }
  },
  "required": [
    "task_code",
    "input"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "input": {
    "note_id": "note_id_FROM_xhs_search_notes_v1"
  },
  "task_code": "xhs_note_detail_v1"
}
```

### Synthetic response / 合成响应

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

- quote_token (string): 暂无字段说明
- upper_bound_credits (integer): 暂无字段说明
## estimate_collection

legacy · available · api_key, oauth

REST 需要客户 API Key；MCP 需要已开放的服务及现有授权；CLI 需要已发布且包含该命令的客户端。

只接受精确 note_id,不支持标题或链接查找。
不含评论,评论用 xhs_note_comments_v1。

每个成功任务 8 Credits；启动前先估价。

请求声明 idempotency_key 时，同一次操作复用原键；元数据 GET 只读。

等待态响应提供结果/状态引用。先读取原结果；超时或结果不明时禁止自动重新提交付费执行。401/403/422 应先修正鉴权、权限或输入。

### Input schema / 输入契约

```json
{
  "$defs": {},
  "additionalProperties": false,
  "description": "Outer transport contract; each registered task validates its own input.",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "note_id": {
          "maxLength": 128,
          "minLength": 1,
          "pattern": "^[A-Za-z0-9_-]+$",
          "type": "string"
        }
      },
      "required": [
        "note_id"
      ],
      "type": "object"
    },
    "task_code": {
      "const": "xhs_note_detail_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": {
    "note_id": "note_id_FROM_xhs_search_notes_v1"
  },
  "task_code": "xhs_note_detail_v1"
}
```

### Synthetic response / 合成响应

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

- quote_token (string): 暂无字段说明
- upper_bound_credits (integer): 暂无字段说明
## asklear collection estimate

legacy · available · api_key, oauth

REST 需要客户 API Key；MCP 需要已开放的服务及现有授权；CLI 需要已发布且包含该命令的客户端。

只接受精确 note_id,不支持标题或链接查找。
不含评论,评论用 xhs_note_comments_v1。

每个成功任务 8 Credits；启动前先估价。

请求声明 idempotency_key 时，同一次操作复用原键；元数据 GET 只读。

等待态响应提供结果/状态引用。先读取原结果；超时或结果不明时禁止自动重新提交付费执行。401/403/422 应先修正鉴权、权限或输入。

### Input schema / 输入契约

```json
{
  "$defs": {},
  "additionalProperties": false,
  "description": "Outer transport contract; each registered task validates its own input.",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "note_id": {
          "maxLength": 128,
          "minLength": 1,
          "pattern": "^[A-Za-z0-9_-]+$",
          "type": "string"
        }
      },
      "required": [
        "note_id"
      ],
      "type": "object"
    },
    "task_code": {
      "const": "xhs_note_detail_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": {
    "note_id": "note_id_FROM_xhs_search_notes_v1"
  },
  "task_code": "xhs_note_detail_v1"
}
```

### Synthetic response / 合成响应

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

- quote_token (string): 暂无字段说明
- upper_bound_credits (integer): 暂无字段说明
## POST /v1/collections/jobs

legacy · available · api_key, oauth

REST 需要客户 API Key；MCP 需要已开放的服务及现有授权；CLI 需要已发布且包含该命令的客户端。

只接受精确 note_id,不支持标题或链接查找。
不含评论,评论用 xhs_note_comments_v1。

每个成功任务 8 Credits；启动前先估价。

请求声明 idempotency_key 时，同一次操作复用原键；元数据 GET 只读。

等待态响应提供结果/状态引用。先读取原结果；超时或结果不明时禁止自动重新提交付费执行。401/403/422 应先修正鉴权、权限或输入。

### Input schema / 输入契约

```json
{
  "$defs": {},
  "additionalProperties": false,
  "properties": {
    "idempotency_key": {
      "maxLength": 128,
      "minLength": 1,
      "type": "string"
    },
    "input": {
      "additionalProperties": false,
      "properties": {
        "note_id": {
          "maxLength": 128,
          "minLength": 1,
          "pattern": "^[A-Za-z0-9_-]+$",
          "type": "string"
        }
      },
      "required": [
        "note_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": "xhs_note_detail_v1"
    }
  },
  "required": [
    "task_code",
    "input",
    "quote_token",
    "idempotency_key"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "idempotency_key": "directory-example",
  "input": {
    "note_id": "note_id_FROM_xhs_search_notes_v1"
  },
  "quote_token": "quote-token-from-estimate",
  "task_code": "xhs_note_detail_v1"
}
```

### Synthetic response / 合成响应

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

- job_id (string): 暂无字段说明
- status (string): 暂无字段说明

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

## start_collection

legacy · available · api_key, oauth

REST 需要客户 API Key；MCP 需要已开放的服务及现有授权；CLI 需要已发布且包含该命令的客户端。

只接受精确 note_id,不支持标题或链接查找。
不含评论,评论用 xhs_note_comments_v1。

每个成功任务 8 Credits；启动前先估价。

请求声明 idempotency_key 时，同一次操作复用原键；元数据 GET 只读。

等待态响应提供结果/状态引用。先读取原结果；超时或结果不明时禁止自动重新提交付费执行。401/403/422 应先修正鉴权、权限或输入。

### Input schema / 输入契约

```json
{
  "$defs": {},
  "additionalProperties": false,
  "properties": {
    "idempotency_key": {
      "maxLength": 128,
      "minLength": 1,
      "type": "string"
    },
    "input": {
      "additionalProperties": false,
      "properties": {
        "note_id": {
          "maxLength": 128,
          "minLength": 1,
          "pattern": "^[A-Za-z0-9_-]+$",
          "type": "string"
        }
      },
      "required": [
        "note_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": "xhs_note_detail_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": {
    "note_id": "note_id_FROM_xhs_search_notes_v1"
  },
  "quote_token": "quote-token-from-estimate",
  "task_code": "xhs_note_detail_v1"
}
```

### Synthetic response / 合成响应

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

- job_id (string): 暂无字段说明
- status (string): 暂无字段说明

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

## asklear collection start

legacy · available · api_key, oauth

REST 需要客户 API Key；MCP 需要已开放的服务及现有授权；CLI 需要已发布且包含该命令的客户端。

只接受精确 note_id,不支持标题或链接查找。
不含评论,评论用 xhs_note_comments_v1。

每个成功任务 8 Credits；启动前先估价。

请求声明 idempotency_key 时，同一次操作复用原键；元数据 GET 只读。

等待态响应提供结果/状态引用。先读取原结果；超时或结果不明时禁止自动重新提交付费执行。401/403/422 应先修正鉴权、权限或输入。

### Input schema / 输入契约

```json
{
  "$defs": {},
  "additionalProperties": false,
  "properties": {
    "idempotency_key": {
      "maxLength": 128,
      "minLength": 1,
      "type": "string"
    },
    "input": {
      "additionalProperties": false,
      "properties": {
        "note_id": {
          "maxLength": 128,
          "minLength": 1,
          "pattern": "^[A-Za-z0-9_-]+$",
          "type": "string"
        }
      },
      "required": [
        "note_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": "xhs_note_detail_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": {
    "note_id": "note_id_FROM_xhs_search_notes_v1"
  },
  "quote_token": "quote-token-from-estimate",
  "task_code": "xhs_note_detail_v1"
}
```

### Synthetic response / 合成响应

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

- job_id (string): 暂无字段说明
- status (string): 暂无字段说明

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

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

legacy · available · api_key, oauth

REST 需要客户 API Key；MCP 需要已开放的服务及现有授权；CLI 需要已发布且包含该命令的客户端。

只接受精确 note_id,不支持标题或链接查找。
不含评论,评论用 xhs_note_comments_v1。

执行遵循现有计价；读取公开说明不扣 Credits。

请求声明 idempotency_key 时，同一次操作复用原键；元数据 GET 只读。

等待态响应提供结果/状态引用。先读取原结果；超时或结果不明时禁止自动重新提交付费执行。401/403/422 应先修正鉴权、权限或输入。

### 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 请求 ID。
- result.meta.api_name (string): 实际执行的采集操作名称。
- result.meta.latency_ms (integer): 采集执行耗时（毫秒）。
- result.meta.credits_charged (integer): 任务完成后 Asklear 用户侧实际结算的 Credits。
- result.data.entity (string): 响应实体类型。
- result.data.item_count (integer): 本次返回的笔记数。
- result.data.items (array<object>): 经过筛选的笔记详情。
- result.data.items[].note_id (string): 笔记 ID。
- result.data.items[].content_status (enum): available（可用）、unavailable（不可用）或 unknown（未知）。上游明确的错误占位表示不可用，不一定是删除；历史标准化结果缺少证据时为 unknown，旧 native Task 快照缺少此字段也应按未知处理。
- result.data.items[].status_message (string|null): 内容不可用时经过脱敏的上游提示，最多 1000 字符；其他状态为 null。这不是笔记正文。
- result.data.items[].title (string|null): 笔记标题。
- result.data.items[].description (string|null): 笔记描述。
- result.data.items[].note_type (string|null): 笔记类型。
- result.data.items[].liked_count (integer|null): 点赞数；不可用占位为 null。历史 unknown 记录保留已存计数。
- result.data.items[].collected_count (integer|null): 收藏数；不可用占位为 null。
- result.data.items[].comments_count (integer|null): 笔记评论数；不可用占位为 null。先取详情，再分页获取评论和回复核对数量；仅凭空评论不能判断删除。
- result.data.items[].share_count (integer|null): 如上游提供则返回分享数。
- result.data.items[].view_count (integer|null): 如上游提供则返回浏览数。
- result.data.items[].publish_time (integer|null): 以 Unix 秒表示的发布时间。
- result.data.items[].last_update_time (integer|null): 如上游提供则以 Unix 秒表示的最后更新时间。
- result.data.items[].author (object|null): 笔记作者摘要。
- result.data.items[].author.user_id (string|null): 笔记作者的用户 ID。仅在双方 ID 非空时，与评论或回复的 author.user_id 比较；任一缺失为未知，不能用昵称或 red_id 代替。native Task 视图中，同一条内容的发言人 ID 对应 extended_data.author_id。
- result.data.items[].images (array<object>|null): 笔记配图列表。
## get_collection_job

legacy · available · api_key, oauth

REST 需要客户 API Key；MCP 需要已开放的服务及现有授权；CLI 需要已发布且包含该命令的客户端。

只接受精确 note_id,不支持标题或链接查找。
不含评论,评论用 xhs_note_comments_v1。

执行遵循现有计价；读取公开说明不扣 Credits。

请求声明 idempotency_key 时，同一次操作复用原键；元数据 GET 只读。

等待态响应提供结果/状态引用。先读取原结果；超时或结果不明时禁止自动重新提交付费执行。401/403/422 应先修正鉴权、权限或输入。

### 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 请求 ID。
- result.meta.api_name (string): 实际执行的采集操作名称。
- result.meta.latency_ms (integer): 采集执行耗时（毫秒）。
- result.meta.credits_charged (integer): 任务完成后 Asklear 用户侧实际结算的 Credits。
- result.data.entity (string): 响应实体类型。
- result.data.item_count (integer): 本次返回的笔记数。
- result.data.items (array<object>): 经过筛选的笔记详情。
- result.data.items[].note_id (string): 笔记 ID。
- result.data.items[].content_status (enum): available（可用）、unavailable（不可用）或 unknown（未知）。上游明确的错误占位表示不可用，不一定是删除；历史标准化结果缺少证据时为 unknown，旧 native Task 快照缺少此字段也应按未知处理。
- result.data.items[].status_message (string|null): 内容不可用时经过脱敏的上游提示，最多 1000 字符；其他状态为 null。这不是笔记正文。
- result.data.items[].title (string|null): 笔记标题。
- result.data.items[].description (string|null): 笔记描述。
- result.data.items[].note_type (string|null): 笔记类型。
- result.data.items[].liked_count (integer|null): 点赞数；不可用占位为 null。历史 unknown 记录保留已存计数。
- result.data.items[].collected_count (integer|null): 收藏数；不可用占位为 null。
- result.data.items[].comments_count (integer|null): 笔记评论数；不可用占位为 null。先取详情，再分页获取评论和回复核对数量；仅凭空评论不能判断删除。
- result.data.items[].share_count (integer|null): 如上游提供则返回分享数。
- result.data.items[].view_count (integer|null): 如上游提供则返回浏览数。
- result.data.items[].publish_time (integer|null): 以 Unix 秒表示的发布时间。
- result.data.items[].last_update_time (integer|null): 如上游提供则以 Unix 秒表示的最后更新时间。
- result.data.items[].author (object|null): 笔记作者摘要。
- result.data.items[].author.user_id (string|null): 笔记作者的用户 ID。仅在双方 ID 非空时，与评论或回复的 author.user_id 比较；任一缺失为未知，不能用昵称或 red_id 代替。native Task 视图中，同一条内容的发言人 ID 对应 extended_data.author_id。
- result.data.items[].images (array<object>|null): 笔记配图列表。
## asklear collection get-job

legacy · available · api_key, oauth

REST 需要客户 API Key；MCP 需要已开放的服务及现有授权；CLI 需要已发布且包含该命令的客户端。

只接受精确 note_id,不支持标题或链接查找。
不含评论,评论用 xhs_note_comments_v1。

执行遵循现有计价；读取公开说明不扣 Credits。

请求声明 idempotency_key 时，同一次操作复用原键；元数据 GET 只读。

等待态响应提供结果/状态引用。先读取原结果；超时或结果不明时禁止自动重新提交付费执行。401/403/422 应先修正鉴权、权限或输入。

### 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 请求 ID。
- result.meta.api_name (string): 实际执行的采集操作名称。
- result.meta.latency_ms (integer): 采集执行耗时（毫秒）。
- result.meta.credits_charged (integer): 任务完成后 Asklear 用户侧实际结算的 Credits。
- result.data.entity (string): 响应实体类型。
- result.data.item_count (integer): 本次返回的笔记数。
- result.data.items (array<object>): 经过筛选的笔记详情。
- result.data.items[].note_id (string): 笔记 ID。
- result.data.items[].content_status (enum): available（可用）、unavailable（不可用）或 unknown（未知）。上游明确的错误占位表示不可用，不一定是删除；历史标准化结果缺少证据时为 unknown，旧 native Task 快照缺少此字段也应按未知处理。
- result.data.items[].status_message (string|null): 内容不可用时经过脱敏的上游提示，最多 1000 字符；其他状态为 null。这不是笔记正文。
- result.data.items[].title (string|null): 笔记标题。
- result.data.items[].description (string|null): 笔记描述。
- result.data.items[].note_type (string|null): 笔记类型。
- result.data.items[].liked_count (integer|null): 点赞数；不可用占位为 null。历史 unknown 记录保留已存计数。
- result.data.items[].collected_count (integer|null): 收藏数；不可用占位为 null。
- result.data.items[].comments_count (integer|null): 笔记评论数；不可用占位为 null。先取详情，再分页获取评论和回复核对数量；仅凭空评论不能判断删除。
- result.data.items[].share_count (integer|null): 如上游提供则返回分享数。
- result.data.items[].view_count (integer|null): 如上游提供则返回浏览数。
- result.data.items[].publish_time (integer|null): 以 Unix 秒表示的发布时间。
- result.data.items[].last_update_time (integer|null): 如上游提供则以 Unix 秒表示的最后更新时间。
- result.data.items[].author (object|null): 笔记作者摘要。
- result.data.items[].author.user_id (string|null): 笔记作者的用户 ID。仅在双方 ID 非空时，与评论或回复的 author.user_id 比较；任一缺失为未知，不能用昵称或 red_id 代替。native Task 视图中，同一条内容的发言人 ID 对应 extended_data.author_id。
- result.data.items[].images (array<object>|null): 笔记配图列表。
