# 抖音商品月度销量明细表

抖音商品、品牌、品类和店铺的月度销售指标；访问以环境和租户状态为准。

ID: dataset:douyin · Region: cn · Status: unknown

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

缓存资料；当前可用状态待核实。

抖音

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

Docs: https://docs.asklear.cn/capabilities/dataset%3Adouyin

## GET /v1/datasets/douyin

legacy · unknown · api_key, oauth

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

数据按自然月分区
search_products 可按商品名称或标题查找候选商品身份；query_metrics 和 query_details 的商品筛选仍需精确 product_id，本数据集未提供标准商品链接筛选
店铺可使用精确 shop_id 或经 search_values 对齐后的店铺名
不提供评价、流量、库存、因果解释或其他平台数据
同比、环比、份额、贡献度和跨期集合差异由 Agent 基于原子查询结果计算
指标口径、覆盖量级、更新时间和访问授权仍待上游确认
当前目录仅登记 2026-06 月份；覆盖范围、重复行处理和指标口径待确认

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

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

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

### Input schema / 输入契约

```json
{
  "properties": {
    "dataset": {
      "const": "douyin"
    },
    "task": {
      "pattern": "^[a-z][a-z0-9_]*$",
      "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
    }
  },
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "dataset": "douyin"
}
```

### Synthetic response / 合成响应

```json
{
  "dimensions": [
    {
      "desc": "上游记录中的抖音商品稳定标识，用于精确筛选，并与上游商品链接配套。",
      "desc_i18n": {
        "en": "Stable Douyin product identifier from the source record, used for exact filtering and paired with the source product URL.",
        "zh-CN": "上游记录中的抖音商品稳定标识，用于精确筛选，并与上游商品链接配套。"
      },
      "dictionary_searchable": false,
      "entity_type": "product",
      "name": "product_id",
      "query": {
        "filter_operators": [
          "eq",
          "in"
        ],
        "groupable": true,
        "searchable": false,
        "sortable": true
      },
      "reference_formats": [],
      "type": "string"
    },
    {
      "desc": "抖音源数据记录的自然月商品标题，用于结果展示和分组，不作为精确商品筛选条件。",
      "desc_i18n": {
        "en": "Product title recorded by the Douyin source for the calendar month; it is returned for display and grouping, not used as an exact product filter.",
        "zh-CN": "抖音源数据记录的自然月商品标题，用于结果展示和分组，不作为精确商品筛选条件。"
      },
      "dictionary_searchable": false,
      "entity_type": "product",
      "name": "title",
      "query": {
        "filter_operators": [],
        "groupable": true,
        "searchable": false,
        "sortable": true
      },
      "reference_formats": [],
      "type": "string"
    },
    {
      "desc": "抖音源数据提供的商品详情链接，与 product_id 配套；按源记录返回，不在查询层拼接。",
      "desc_i18n": {
        "en": "Product-detail URL supplied by the Douyin source and paired with product_id; the value is returned as recorded without URL synthesis.",
        "zh-CN": "抖音源数据提供的商品详情链接，与 product_id 配套；按源记录返回，不在查询层拼接。"
      },
      "dictionary_searchable": false,
      "entity_type": "product",
      "name": "product_url",
      "query": {
        "filter_operators": [],
        "groupable": true,
        "searchable": false,
        "sortable": true
      },
      "reference_formats": [],
      "type": "string"
    },
    {
      "desc": "上游记录的抖音店铺稳定标识，用于精确店铺筛选及授权后的租户范围选择。",
      "desc_i18n": {
        "en": "Stable Douyin shop identifier recorded by the source, used for exact shop filtering and tenant scope selection when authorized.",
        "zh-CN": "上游记录的抖音店铺稳定标识，用于精确店铺筛选及授权后的租户范围选择。"
      },
      "dictionary_searchable": false,
      "entity_type": "shop",
      "name": "shop_id",
      "query": {
        "filter_operators": [
          "eq",
          "in"
        ],
        "groupable": true,
        "searchable": false,
        "sortable": true
      },
      "reference_formats": [],
      "type": "string"
    },
    {
      "desc": "抖音源数据记录的商品月度店铺名称，名称可能随时间变化，应通过值搜索进行对齐。",
      "desc_i18n": {
        "en": "Shop name recorded by the Douyin source for the product-month row; names may change over time and should be aligned through value search.",
        "zh-CN": "抖音源数据记录的商品月度店铺名称，名称可能随时间变化，应通过值搜索进行对齐。"
      },
      "dictionary_searchable": true,
      "entity_type": "shop",
      "name": "shop",
      "query": {
        "filter_operators": [
          "eq",
          "neq",
          "in",
          "not_in",
          "contains"
        ],
        "groupable": true,
        "searchable": true,
        "sortable": true
      },
      "reference_formats": [],
      "type": "string"
    },
    {
      "desc": "抖音源数据记录的商品月度卖家标识，按标识返回，不根据店铺名称推断。",
      "desc_i18n": {
        "en": "Seller identifier recorded by the Douyin source for the product-month row; it is returned as an identifier and is not inferred from shop names.",
        "zh-CN": "抖音源数据记录的商品月度卖家标识，按标识返回，不根据店铺名称推断。"
      },
      "dictionary_searchable": false,
      "entity_type": "seller",
      "name": "seller_id",
      "query": {
        "filter_operators": [
          "eq",
          "in"
        ],
        "groupable": true,
        "searchable": false,
        "sortable": true
      },
      "reference_formats": [],
      "type": "string"
    },
    {
      "desc": "抖音源数据记录的商品月度品牌名称，白牌或未分类商品可能为空。",
      "desc_i18n": {
        "en": "Brand name recorded by the Douyin source for the product-month row; the source may leave it empty for unbranded or unclassified products.",
        "zh-CN": "抖音源数据记录的商品月度品牌名称，白牌或未分类商品可能为空。"
      },
      "dictionary_searchable": true,
      "name": "brand",
      "query": {
        "filter_operators": [
          "eq",
          "neq",
          "in",
          "not_in",
          "contains"
        ],
        "groupable": true,
        "searchable": true,
        "sortable": true
      },
      "reference_formats": [],
      "type": "string"
    },
    {
      "desc": "抖音源数据记录的商品月度末级类目名称，与四级类目层级字段区分。",
      "desc_i18n": {
        "en": "Leaf category name recorded by the Douyin source for the product-month row; it is distinct from the four-level category hierarchy.",
        "zh-CN": "抖音源数据记录的商品月度末级类目名称，与四级类目层级字段区分。"
      },
      "dictionary_searchable": true,
      "name": "category",
      "query": {
        "filter_operators": [
          "eq",
          "neq",
          "in",
          "not_in",
          "contains"
        ],
        "groupable": true,
        "searchable": true,
        "sortable": true
      },
      "reference_formats": [],
      "type": "string"
    },
    {
      "desc": "抖音源数据记录的商品月度末级类目标识，按源数据返回，不填充缺失值。",
      "desc_i18n": {
        "en": "Leaf category identifier recorded by the Douyin source for the product-month row; it is returned without filling missing source values.",
        "zh-CN": "抖音源数据记录的商品月度末级类目标识，按源数据返回，不填充缺失值。"
      },
      "dictionary_searchable": false,
      "name": "category_id",
      "query": {
        "filter_operators": [
          "eq",
          "in"
        ],
        "groupable": true,
        "searchable": false,
        "sortable": true
      },
      "reference_formats": [],
      "type": "string"
    },
    {
      "desc": "抖音源数据记录的一级类目标识，与对应的一级类目名称配套。",
      "desc_i18n": {
        "en": "Level-1 category identifier recorded by the Douyin source and paired with the corresponding level-1 category name.",
        "zh-CN": "抖音源数据记录的一级类目标识，与对应的一级类目名称配套。"
      },
      "dictionary_searchable": false,
      "name": "category_l1_id",
      "query": {
        "filter_operators": [
          "eq",
          "in"
        ],
        "groupable": true,
        "searchable": false,
        "sortable": true
      },
      "reference_formats": [],
      "type": "string"
    },
    {
      "desc": "抖音源数据记录的一级类目名称，与源层级中的 category_l1_id 配套。",
      "desc_i18n": {
        "en": "Level-1 category name recorded by the Douyin source and paired with category_l1_id in the source hierarchy.",
        "zh-CN": "抖音源数据记录的一级类目名称，与源层级中的 category_l1_id 配套。"
      },
      "dictionary_searchable": true,
      "name": "category_l1",
      "query": {
        "filter_operators": [
          "eq",
          "neq",
          "in",
          "not_in",
          "contains"
        ],
        "groupable": true,
        "searchable": true,
        "sortable": true
      },
      "reference_formats": [],
      "type": "string"
    },
    {
      "desc": "抖音源数据记录的二级类目标识，与对应的二级类目名称配套。",
      "desc_i18n": {
        "en": "Level-2 category identifier recorded by the Douyin source and paired with the corresponding level-2 category name.",
        "zh-CN": "抖音源数据记录的二级类目标识，与对应的二级类目名称配套。"
      },
      "dictionary_searchable": false,
      "name": "category_l2_id",
      "query": {
        "filter_operators": [
          "eq",
          "in"
        ],
        "groupable": true,
        "searchable": false,
        "sortable": true
      },
      "reference_formats": [],
      "type": "string"
    },
    {
      "desc": "抖音源数据记录的二级类目名称，与源层级中的 category_l2_id 配套。",
      "desc_i18n": {
        "en": "Level-2 category name recorded by the Douyin source and paired with category_l2_id in the source hierarchy.",
        "zh-CN": "抖音源数据记录的二级类目名称，与源层级中的 category_l2_id 配套。"
      },
      "dictionary_searchable": true,
      "name": "category_l2",
      "query": {
        "filter_operators": [
          "eq",
          "neq",
          "in",
          "not_in",
          "contains"
        ],
        "groupable": true,
        "searchable": true,
        "sortable": true
      },
      "reference_formats": [],
      "type": "string"
    },
    {
      "desc": "抖音源数据记录的三级类目标识，与对应的三级类目名称配套。",
      "desc_i18n": {
        "en": "Level-3 category identifier recorded by the Douyin source and paired with the corresponding level-3 category name.",
        "zh-CN": "抖音源数据记录的三级类目标识，与对应的三级类目名称配套。"
      },
      "dictionary_searchable": false,
      "name": "category_l3_id",
      "query": {
        "filter_operators": [
          "eq",
          "in"
        ],
        "groupable": true,
        "searchable": false,
        "sortable": true
      },
      "reference_formats": [],
      "type": "string"
    },
    {
      "desc": "抖音源数据记录的三级类目名称，与源层级中的 category_l3_id 配套。",
      "desc_i18n": {
        "en": "Level-3 category name recorded by the Douyin source and paired with category_l3_id in the source hierarchy.",
        "zh-CN": "抖音源数据记录的三级类目名称，与源层级中的 category_l3_id 配套。"
      },
      "dictionary_searchable": true,
      "name": "category_l3",
      "query": {
        "filter_operators": [
          "eq",
          "neq",
          "in",
          "not_in",
          "contains"
        ],
        "groupable": true,
        "searchable": true,
        "sortable": true
      },
      "reference_formats": [],
      "type": "string"
    },
    {
      "desc": "抖音源数据记录的四级类目标识，与对应的四级类目名称配套。",
      "desc_i18n": {
        "en": "Level-4 category identifier recorded by the Douyin source and paired with the corresponding level-4 category name.",
        "zh-CN": "抖音源数据记录的四级类目标识，与对应的四级类目名称配套。"
      },
      "dictionary_searchable": false,
      "name": "category_l4_id",
      "query": {
        "filter_operators": [
          "eq",
          "in"
        ],
        "groupable": true,
        "searchable": false,
        "sortable": true
      },
      "reference_formats": [],
      "type": "string"
    },
    {
      "desc": "抖音源数据记录的四级类目名称，与源层级中的 category_l4_id 配套。",
      "desc_i18n": {
        "en": "Level-4 category name recorded by the Douyin source and paired with category_l4_id in the source hierarchy.",
        "zh-CN": "抖音源数据记录的四级类目名称，与源层级中的 category_l4_id 配套。"
      },
      "dictionary_searchable": true,
      "name": "category_l4",
      "query": {
        "filter_operators": [
          "eq",
          "neq",
          "in",
          "not_in",
          "contains"
        ],
        "groupable": true,
        "searchable": true,
        "sortable": true
      },
      "reference_formats": [],
      "type": "string"
    },
    {
      "desc": "抖音商品记录所属自然月，是公开的月度时间维度，不等同于采集日期。",
      "desc_i18n": {
        "en": "Calendar month to which the Douyin product record belongs, represented as the public monthly time dimension and not as the collection date.",
        "zh-CN": "抖音商品记录所属自然月，是公开的月度时间维度，不等同于采集日期。"
      },
      "dictionary_searchable": false,
      "name": "month",
      "query": {
        "filter_operators": [],
        "groupable": true,
        "searchable": false,
        "sortable": true
      },
      "reference_formats": [],
      "type": "time"
    }
  ],
  "metrics": [
    {
      "certified": false,
      "desc": "经过源数据质量验收后，按请求商品和自然月范围对 sales 求和得到的抖音汇总销售额。",
      "desc_i18n": {
        "en": "Aggregated Douyin sales amount calculated as SUM(sales) over the requested product and calendar-month scope after source-quality validation.",
        "zh-CN": "经过源数据质量验收后，按请求商品和自然月范围对 sales 求和得到的抖音汇总销售额。"
      },
      "name": "gmv"
    },
    {
      "certified": false,
      "desc": "完成重复处理验收后，按请求商品和自然月范围对 volume 求和得到的抖音汇总销量。",
      "desc_i18n": {
        "en": "Aggregated Douyin units sold calculated as SUM(volume) over the requested product and calendar-month scope after duplicate handling is validated.",
        "zh-CN": "完成重复处理验收后，按请求商品和自然月范围对 volume 求和得到的抖音汇总销量。"
      },
      "name": "units"
    },
    {
      "certified": false,
      "desc": "按请求范围计算 SUM(sales) 除以 SUM(volume) 的加权平均成交价；总销量为零时返回空值。",
      "desc_i18n": {
        "en": "Weighted average selling price calculated as SUM(sales) divided by SUM(volume) over the requested scope; returns null when total volume is zero.",
        "zh-CN": "按请求范围计算 SUM(sales) 除以 SUM(volume) 的加权平均成交价；总销量为零时返回空值。"
      },
      "name": "asp"
    }
  ]
}
```

- dimensions (array<object>): 暂无字段说明
- metrics (array<object>): 暂无字段说明
## describe

legacy · unknown · api_key, oauth

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

数据按自然月分区
search_products 可按商品名称或标题查找候选商品身份；query_metrics 和 query_details 的商品筛选仍需精确 product_id，本数据集未提供标准商品链接筛选
店铺可使用精确 shop_id 或经 search_values 对齐后的店铺名
不提供评价、流量、库存、因果解释或其他平台数据
同比、环比、份额、贡献度和跨期集合差异由 Agent 基于原子查询结果计算
指标口径、覆盖量级、更新时间和访问授权仍待上游确认
当前目录仅登记 2026-06 月份；覆盖范围、重复行处理和指标口径待确认

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

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

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

### Input schema / 输入契约

```json
{
  "properties": {
    "dataset": {
      "const": "douyin"
    },
    "task": {
      "pattern": "^[a-z][a-z0-9_]*$",
      "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
    }
  },
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "dataset": "douyin"
}
```

### Synthetic response / 合成响应

```json
{
  "dimensions": [
    {
      "desc": "上游记录中的抖音商品稳定标识，用于精确筛选，并与上游商品链接配套。",
      "desc_i18n": {
        "en": "Stable Douyin product identifier from the source record, used for exact filtering and paired with the source product URL.",
        "zh-CN": "上游记录中的抖音商品稳定标识，用于精确筛选，并与上游商品链接配套。"
      },
      "dictionary_searchable": false,
      "entity_type": "product",
      "name": "product_id",
      "query": {
        "filter_operators": [
          "eq",
          "in"
        ],
        "groupable": true,
        "searchable": false,
        "sortable": true
      },
      "reference_formats": [],
      "type": "string"
    },
    {
      "desc": "抖音源数据记录的自然月商品标题，用于结果展示和分组，不作为精确商品筛选条件。",
      "desc_i18n": {
        "en": "Product title recorded by the Douyin source for the calendar month; it is returned for display and grouping, not used as an exact product filter.",
        "zh-CN": "抖音源数据记录的自然月商品标题，用于结果展示和分组，不作为精确商品筛选条件。"
      },
      "dictionary_searchable": false,
      "entity_type": "product",
      "name": "title",
      "query": {
        "filter_operators": [],
        "groupable": true,
        "searchable": false,
        "sortable": true
      },
      "reference_formats": [],
      "type": "string"
    },
    {
      "desc": "抖音源数据提供的商品详情链接，与 product_id 配套；按源记录返回，不在查询层拼接。",
      "desc_i18n": {
        "en": "Product-detail URL supplied by the Douyin source and paired with product_id; the value is returned as recorded without URL synthesis.",
        "zh-CN": "抖音源数据提供的商品详情链接，与 product_id 配套；按源记录返回，不在查询层拼接。"
      },
      "dictionary_searchable": false,
      "entity_type": "product",
      "name": "product_url",
      "query": {
        "filter_operators": [],
        "groupable": true,
        "searchable": false,
        "sortable": true
      },
      "reference_formats": [],
      "type": "string"
    },
    {
      "desc": "上游记录的抖音店铺稳定标识，用于精确店铺筛选及授权后的租户范围选择。",
      "desc_i18n": {
        "en": "Stable Douyin shop identifier recorded by the source, used for exact shop filtering and tenant scope selection when authorized.",
        "zh-CN": "上游记录的抖音店铺稳定标识，用于精确店铺筛选及授权后的租户范围选择。"
      },
      "dictionary_searchable": false,
      "entity_type": "shop",
      "name": "shop_id",
      "query": {
        "filter_operators": [
          "eq",
          "in"
        ],
        "groupable": true,
        "searchable": false,
        "sortable": true
      },
      "reference_formats": [],
      "type": "string"
    },
    {
      "desc": "抖音源数据记录的商品月度店铺名称，名称可能随时间变化，应通过值搜索进行对齐。",
      "desc_i18n": {
        "en": "Shop name recorded by the Douyin source for the product-month row; names may change over time and should be aligned through value search.",
        "zh-CN": "抖音源数据记录的商品月度店铺名称，名称可能随时间变化，应通过值搜索进行对齐。"
      },
      "dictionary_searchable": true,
      "entity_type": "shop",
      "name": "shop",
      "query": {
        "filter_operators": [
          "eq",
          "neq",
          "in",
          "not_in",
          "contains"
        ],
        "groupable": true,
        "searchable": true,
        "sortable": true
      },
      "reference_formats": [],
      "type": "string"
    },
    {
      "desc": "抖音源数据记录的商品月度卖家标识，按标识返回，不根据店铺名称推断。",
      "desc_i18n": {
        "en": "Seller identifier recorded by the Douyin source for the product-month row; it is returned as an identifier and is not inferred from shop names.",
        "zh-CN": "抖音源数据记录的商品月度卖家标识，按标识返回，不根据店铺名称推断。"
      },
      "dictionary_searchable": false,
      "entity_type": "seller",
      "name": "seller_id",
      "query": {
        "filter_operators": [
          "eq",
          "in"
        ],
        "groupable": true,
        "searchable": false,
        "sortable": true
      },
      "reference_formats": [],
      "type": "string"
    },
    {
      "desc": "抖音源数据记录的商品月度品牌名称，白牌或未分类商品可能为空。",
      "desc_i18n": {
        "en": "Brand name recorded by the Douyin source for the product-month row; the source may leave it empty for unbranded or unclassified products.",
        "zh-CN": "抖音源数据记录的商品月度品牌名称，白牌或未分类商品可能为空。"
      },
      "dictionary_searchable": true,
      "name": "brand",
      "query": {
        "filter_operators": [
          "eq",
          "neq",
          "in",
          "not_in",
          "contains"
        ],
        "groupable": true,
        "searchable": true,
        "sortable": true
      },
      "reference_formats": [],
      "type": "string"
    },
    {
      "desc": "抖音源数据记录的商品月度末级类目名称，与四级类目层级字段区分。",
      "desc_i18n": {
        "en": "Leaf category name recorded by the Douyin source for the product-month row; it is distinct from the four-level category hierarchy.",
        "zh-CN": "抖音源数据记录的商品月度末级类目名称，与四级类目层级字段区分。"
      },
      "dictionary_searchable": true,
      "name": "category",
      "query": {
        "filter_operators": [
          "eq",
          "neq",
          "in",
          "not_in",
          "contains"
        ],
        "groupable": true,
        "searchable": true,
        "sortable": true
      },
      "reference_formats": [],
      "type": "string"
    },
    {
      "desc": "抖音源数据记录的商品月度末级类目标识，按源数据返回，不填充缺失值。",
      "desc_i18n": {
        "en": "Leaf category identifier recorded by the Douyin source for the product-month row; it is returned without filling missing source values.",
        "zh-CN": "抖音源数据记录的商品月度末级类目标识，按源数据返回，不填充缺失值。"
      },
      "dictionary_searchable": false,
      "name": "category_id",
      "query": {
        "filter_operators": [
          "eq",
          "in"
        ],
        "groupable": true,
        "searchable": false,
        "sortable": true
      },
      "reference_formats": [],
      "type": "string"
    },
    {
      "desc": "抖音源数据记录的一级类目标识，与对应的一级类目名称配套。",
      "desc_i18n": {
        "en": "Level-1 category identifier recorded by the Douyin source and paired with the corresponding level-1 category name.",
        "zh-CN": "抖音源数据记录的一级类目标识，与对应的一级类目名称配套。"
      },
      "dictionary_searchable": false,
      "name": "category_l1_id",
      "query": {
        "filter_operators": [
          "eq",
          "in"
        ],
        "groupable": true,
        "searchable": false,
        "sortable": true
      },
      "reference_formats": [],
      "type": "string"
    },
    {
      "desc": "抖音源数据记录的一级类目名称，与源层级中的 category_l1_id 配套。",
      "desc_i18n": {
        "en": "Level-1 category name recorded by the Douyin source and paired with category_l1_id in the source hierarchy.",
        "zh-CN": "抖音源数据记录的一级类目名称，与源层级中的 category_l1_id 配套。"
      },
      "dictionary_searchable": true,
      "name": "category_l1",
      "query": {
        "filter_operators": [
          "eq",
          "neq",
          "in",
          "not_in",
          "contains"
        ],
        "groupable": true,
        "searchable": true,
        "sortable": true
      },
      "reference_formats": [],
      "type": "string"
    },
    {
      "desc": "抖音源数据记录的二级类目标识，与对应的二级类目名称配套。",
      "desc_i18n": {
        "en": "Level-2 category identifier recorded by the Douyin source and paired with the corresponding level-2 category name.",
        "zh-CN": "抖音源数据记录的二级类目标识，与对应的二级类目名称配套。"
      },
      "dictionary_searchable": false,
      "name": "category_l2_id",
      "query": {
        "filter_operators": [
          "eq",
          "in"
        ],
        "groupable": true,
        "searchable": false,
        "sortable": true
      },
      "reference_formats": [],
      "type": "string"
    },
    {
      "desc": "抖音源数据记录的二级类目名称，与源层级中的 category_l2_id 配套。",
      "desc_i18n": {
        "en": "Level-2 category name recorded by the Douyin source and paired with category_l2_id in the source hierarchy.",
        "zh-CN": "抖音源数据记录的二级类目名称，与源层级中的 category_l2_id 配套。"
      },
      "dictionary_searchable": true,
      "name": "category_l2",
      "query": {
        "filter_operators": [
          "eq",
          "neq",
          "in",
          "not_in",
          "contains"
        ],
        "groupable": true,
        "searchable": true,
        "sortable": true
      },
      "reference_formats": [],
      "type": "string"
    },
    {
      "desc": "抖音源数据记录的三级类目标识，与对应的三级类目名称配套。",
      "desc_i18n": {
        "en": "Level-3 category identifier recorded by the Douyin source and paired with the corresponding level-3 category name.",
        "zh-CN": "抖音源数据记录的三级类目标识，与对应的三级类目名称配套。"
      },
      "dictionary_searchable": false,
      "name": "category_l3_id",
      "query": {
        "filter_operators": [
          "eq",
          "in"
        ],
        "groupable": true,
        "searchable": false,
        "sortable": true
      },
      "reference_formats": [],
      "type": "string"
    },
    {
      "desc": "抖音源数据记录的三级类目名称，与源层级中的 category_l3_id 配套。",
      "desc_i18n": {
        "en": "Level-3 category name recorded by the Douyin source and paired with category_l3_id in the source hierarchy.",
        "zh-CN": "抖音源数据记录的三级类目名称，与源层级中的 category_l3_id 配套。"
      },
      "dictionary_searchable": true,
      "name": "category_l3",
      "query": {
        "filter_operators": [
          "eq",
          "neq",
          "in",
          "not_in",
          "contains"
        ],
        "groupable": true,
        "searchable": true,
        "sortable": true
      },
      "reference_formats": [],
      "type": "string"
    },
    {
      "desc": "抖音源数据记录的四级类目标识，与对应的四级类目名称配套。",
      "desc_i18n": {
        "en": "Level-4 category identifier recorded by the Douyin source and paired with the corresponding level-4 category name.",
        "zh-CN": "抖音源数据记录的四级类目标识，与对应的四级类目名称配套。"
      },
      "dictionary_searchable": false,
      "name": "category_l4_id",
      "query": {
        "filter_operators": [
          "eq",
          "in"
        ],
        "groupable": true,
        "searchable": false,
        "sortable": true
      },
      "reference_formats": [],
      "type": "string"
    },
    {
      "desc": "抖音源数据记录的四级类目名称，与源层级中的 category_l4_id 配套。",
      "desc_i18n": {
        "en": "Level-4 category name recorded by the Douyin source and paired with category_l4_id in the source hierarchy.",
        "zh-CN": "抖音源数据记录的四级类目名称，与源层级中的 category_l4_id 配套。"
      },
      "dictionary_searchable": true,
      "name": "category_l4",
      "query": {
        "filter_operators": [
          "eq",
          "neq",
          "in",
          "not_in",
          "contains"
        ],
        "groupable": true,
        "searchable": true,
        "sortable": true
      },
      "reference_formats": [],
      "type": "string"
    },
    {
      "desc": "抖音商品记录所属自然月，是公开的月度时间维度，不等同于采集日期。",
      "desc_i18n": {
        "en": "Calendar month to which the Douyin product record belongs, represented as the public monthly time dimension and not as the collection date.",
        "zh-CN": "抖音商品记录所属自然月，是公开的月度时间维度，不等同于采集日期。"
      },
      "dictionary_searchable": false,
      "name": "month",
      "query": {
        "filter_operators": [],
        "groupable": true,
        "searchable": false,
        "sortable": true
      },
      "reference_formats": [],
      "type": "time"
    }
  ],
  "metrics": [
    {
      "certified": false,
      "desc": "经过源数据质量验收后，按请求商品和自然月范围对 sales 求和得到的抖音汇总销售额。",
      "desc_i18n": {
        "en": "Aggregated Douyin sales amount calculated as SUM(sales) over the requested product and calendar-month scope after source-quality validation.",
        "zh-CN": "经过源数据质量验收后，按请求商品和自然月范围对 sales 求和得到的抖音汇总销售额。"
      },
      "name": "gmv"
    },
    {
      "certified": false,
      "desc": "完成重复处理验收后，按请求商品和自然月范围对 volume 求和得到的抖音汇总销量。",
      "desc_i18n": {
        "en": "Aggregated Douyin units sold calculated as SUM(volume) over the requested product and calendar-month scope after duplicate handling is validated.",
        "zh-CN": "完成重复处理验收后，按请求商品和自然月范围对 volume 求和得到的抖音汇总销量。"
      },
      "name": "units"
    },
    {
      "certified": false,
      "desc": "按请求范围计算 SUM(sales) 除以 SUM(volume) 的加权平均成交价；总销量为零时返回空值。",
      "desc_i18n": {
        "en": "Weighted average selling price calculated as SUM(sales) divided by SUM(volume) over the requested scope; returns null when total volume is zero.",
        "zh-CN": "按请求范围计算 SUM(sales) 除以 SUM(volume) 的加权平均成交价；总销量为零时返回空值。"
      },
      "name": "asp"
    }
  ]
}
```

- dimensions (array<object>): 暂无字段说明
- metrics (array<object>): 暂无字段说明
## asklear describe

legacy · unknown · api_key, oauth

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

数据按自然月分区
search_products 可按商品名称或标题查找候选商品身份；query_metrics 和 query_details 的商品筛选仍需精确 product_id，本数据集未提供标准商品链接筛选
店铺可使用精确 shop_id 或经 search_values 对齐后的店铺名
不提供评价、流量、库存、因果解释或其他平台数据
同比、环比、份额、贡献度和跨期集合差异由 Agent 基于原子查询结果计算
指标口径、覆盖量级、更新时间和访问授权仍待上游确认
当前目录仅登记 2026-06 月份；覆盖范围、重复行处理和指标口径待确认

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

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

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

### Input schema / 输入契约

```json
{
  "properties": {
    "dataset": {
      "const": "douyin"
    },
    "task": {
      "pattern": "^[a-z][a-z0-9_]*$",
      "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
    }
  },
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "dataset": "douyin"
}
```

### Synthetic response / 合成响应

```json
{
  "dimensions": [
    {
      "desc": "上游记录中的抖音商品稳定标识，用于精确筛选，并与上游商品链接配套。",
      "desc_i18n": {
        "en": "Stable Douyin product identifier from the source record, used for exact filtering and paired with the source product URL.",
        "zh-CN": "上游记录中的抖音商品稳定标识，用于精确筛选，并与上游商品链接配套。"
      },
      "dictionary_searchable": false,
      "entity_type": "product",
      "name": "product_id",
      "query": {
        "filter_operators": [
          "eq",
          "in"
        ],
        "groupable": true,
        "searchable": false,
        "sortable": true
      },
      "reference_formats": [],
      "type": "string"
    },
    {
      "desc": "抖音源数据记录的自然月商品标题，用于结果展示和分组，不作为精确商品筛选条件。",
      "desc_i18n": {
        "en": "Product title recorded by the Douyin source for the calendar month; it is returned for display and grouping, not used as an exact product filter.",
        "zh-CN": "抖音源数据记录的自然月商品标题，用于结果展示和分组，不作为精确商品筛选条件。"
      },
      "dictionary_searchable": false,
      "entity_type": "product",
      "name": "title",
      "query": {
        "filter_operators": [],
        "groupable": true,
        "searchable": false,
        "sortable": true
      },
      "reference_formats": [],
      "type": "string"
    },
    {
      "desc": "抖音源数据提供的商品详情链接，与 product_id 配套；按源记录返回，不在查询层拼接。",
      "desc_i18n": {
        "en": "Product-detail URL supplied by the Douyin source and paired with product_id; the value is returned as recorded without URL synthesis.",
        "zh-CN": "抖音源数据提供的商品详情链接，与 product_id 配套；按源记录返回，不在查询层拼接。"
      },
      "dictionary_searchable": false,
      "entity_type": "product",
      "name": "product_url",
      "query": {
        "filter_operators": [],
        "groupable": true,
        "searchable": false,
        "sortable": true
      },
      "reference_formats": [],
      "type": "string"
    },
    {
      "desc": "上游记录的抖音店铺稳定标识，用于精确店铺筛选及授权后的租户范围选择。",
      "desc_i18n": {
        "en": "Stable Douyin shop identifier recorded by the source, used for exact shop filtering and tenant scope selection when authorized.",
        "zh-CN": "上游记录的抖音店铺稳定标识，用于精确店铺筛选及授权后的租户范围选择。"
      },
      "dictionary_searchable": false,
      "entity_type": "shop",
      "name": "shop_id",
      "query": {
        "filter_operators": [
          "eq",
          "in"
        ],
        "groupable": true,
        "searchable": false,
        "sortable": true
      },
      "reference_formats": [],
      "type": "string"
    },
    {
      "desc": "抖音源数据记录的商品月度店铺名称，名称可能随时间变化，应通过值搜索进行对齐。",
      "desc_i18n": {
        "en": "Shop name recorded by the Douyin source for the product-month row; names may change over time and should be aligned through value search.",
        "zh-CN": "抖音源数据记录的商品月度店铺名称，名称可能随时间变化，应通过值搜索进行对齐。"
      },
      "dictionary_searchable": true,
      "entity_type": "shop",
      "name": "shop",
      "query": {
        "filter_operators": [
          "eq",
          "neq",
          "in",
          "not_in",
          "contains"
        ],
        "groupable": true,
        "searchable": true,
        "sortable": true
      },
      "reference_formats": [],
      "type": "string"
    },
    {
      "desc": "抖音源数据记录的商品月度卖家标识，按标识返回，不根据店铺名称推断。",
      "desc_i18n": {
        "en": "Seller identifier recorded by the Douyin source for the product-month row; it is returned as an identifier and is not inferred from shop names.",
        "zh-CN": "抖音源数据记录的商品月度卖家标识，按标识返回，不根据店铺名称推断。"
      },
      "dictionary_searchable": false,
      "entity_type": "seller",
      "name": "seller_id",
      "query": {
        "filter_operators": [
          "eq",
          "in"
        ],
        "groupable": true,
        "searchable": false,
        "sortable": true
      },
      "reference_formats": [],
      "type": "string"
    },
    {
      "desc": "抖音源数据记录的商品月度品牌名称，白牌或未分类商品可能为空。",
      "desc_i18n": {
        "en": "Brand name recorded by the Douyin source for the product-month row; the source may leave it empty for unbranded or unclassified products.",
        "zh-CN": "抖音源数据记录的商品月度品牌名称，白牌或未分类商品可能为空。"
      },
      "dictionary_searchable": true,
      "name": "brand",
      "query": {
        "filter_operators": [
          "eq",
          "neq",
          "in",
          "not_in",
          "contains"
        ],
        "groupable": true,
        "searchable": true,
        "sortable": true
      },
      "reference_formats": [],
      "type": "string"
    },
    {
      "desc": "抖音源数据记录的商品月度末级类目名称，与四级类目层级字段区分。",
      "desc_i18n": {
        "en": "Leaf category name recorded by the Douyin source for the product-month row; it is distinct from the four-level category hierarchy.",
        "zh-CN": "抖音源数据记录的商品月度末级类目名称，与四级类目层级字段区分。"
      },
      "dictionary_searchable": true,
      "name": "category",
      "query": {
        "filter_operators": [
          "eq",
          "neq",
          "in",
          "not_in",
          "contains"
        ],
        "groupable": true,
        "searchable": true,
        "sortable": true
      },
      "reference_formats": [],
      "type": "string"
    },
    {
      "desc": "抖音源数据记录的商品月度末级类目标识，按源数据返回，不填充缺失值。",
      "desc_i18n": {
        "en": "Leaf category identifier recorded by the Douyin source for the product-month row; it is returned without filling missing source values.",
        "zh-CN": "抖音源数据记录的商品月度末级类目标识，按源数据返回，不填充缺失值。"
      },
      "dictionary_searchable": false,
      "name": "category_id",
      "query": {
        "filter_operators": [
          "eq",
          "in"
        ],
        "groupable": true,
        "searchable": false,
        "sortable": true
      },
      "reference_formats": [],
      "type": "string"
    },
    {
      "desc": "抖音源数据记录的一级类目标识，与对应的一级类目名称配套。",
      "desc_i18n": {
        "en": "Level-1 category identifier recorded by the Douyin source and paired with the corresponding level-1 category name.",
        "zh-CN": "抖音源数据记录的一级类目标识，与对应的一级类目名称配套。"
      },
      "dictionary_searchable": false,
      "name": "category_l1_id",
      "query": {
        "filter_operators": [
          "eq",
          "in"
        ],
        "groupable": true,
        "searchable": false,
        "sortable": true
      },
      "reference_formats": [],
      "type": "string"
    },
    {
      "desc": "抖音源数据记录的一级类目名称，与源层级中的 category_l1_id 配套。",
      "desc_i18n": {
        "en": "Level-1 category name recorded by the Douyin source and paired with category_l1_id in the source hierarchy.",
        "zh-CN": "抖音源数据记录的一级类目名称，与源层级中的 category_l1_id 配套。"
      },
      "dictionary_searchable": true,
      "name": "category_l1",
      "query": {
        "filter_operators": [
          "eq",
          "neq",
          "in",
          "not_in",
          "contains"
        ],
        "groupable": true,
        "searchable": true,
        "sortable": true
      },
      "reference_formats": [],
      "type": "string"
    },
    {
      "desc": "抖音源数据记录的二级类目标识，与对应的二级类目名称配套。",
      "desc_i18n": {
        "en": "Level-2 category identifier recorded by the Douyin source and paired with the corresponding level-2 category name.",
        "zh-CN": "抖音源数据记录的二级类目标识，与对应的二级类目名称配套。"
      },
      "dictionary_searchable": false,
      "name": "category_l2_id",
      "query": {
        "filter_operators": [
          "eq",
          "in"
        ],
        "groupable": true,
        "searchable": false,
        "sortable": true
      },
      "reference_formats": [],
      "type": "string"
    },
    {
      "desc": "抖音源数据记录的二级类目名称，与源层级中的 category_l2_id 配套。",
      "desc_i18n": {
        "en": "Level-2 category name recorded by the Douyin source and paired with category_l2_id in the source hierarchy.",
        "zh-CN": "抖音源数据记录的二级类目名称，与源层级中的 category_l2_id 配套。"
      },
      "dictionary_searchable": true,
      "name": "category_l2",
      "query": {
        "filter_operators": [
          "eq",
          "neq",
          "in",
          "not_in",
          "contains"
        ],
        "groupable": true,
        "searchable": true,
        "sortable": true
      },
      "reference_formats": [],
      "type": "string"
    },
    {
      "desc": "抖音源数据记录的三级类目标识，与对应的三级类目名称配套。",
      "desc_i18n": {
        "en": "Level-3 category identifier recorded by the Douyin source and paired with the corresponding level-3 category name.",
        "zh-CN": "抖音源数据记录的三级类目标识，与对应的三级类目名称配套。"
      },
      "dictionary_searchable": false,
      "name": "category_l3_id",
      "query": {
        "filter_operators": [
          "eq",
          "in"
        ],
        "groupable": true,
        "searchable": false,
        "sortable": true
      },
      "reference_formats": [],
      "type": "string"
    },
    {
      "desc": "抖音源数据记录的三级类目名称，与源层级中的 category_l3_id 配套。",
      "desc_i18n": {
        "en": "Level-3 category name recorded by the Douyin source and paired with category_l3_id in the source hierarchy.",
        "zh-CN": "抖音源数据记录的三级类目名称，与源层级中的 category_l3_id 配套。"
      },
      "dictionary_searchable": true,
      "name": "category_l3",
      "query": {
        "filter_operators": [
          "eq",
          "neq",
          "in",
          "not_in",
          "contains"
        ],
        "groupable": true,
        "searchable": true,
        "sortable": true
      },
      "reference_formats": [],
      "type": "string"
    },
    {
      "desc": "抖音源数据记录的四级类目标识，与对应的四级类目名称配套。",
      "desc_i18n": {
        "en": "Level-4 category identifier recorded by the Douyin source and paired with the corresponding level-4 category name.",
        "zh-CN": "抖音源数据记录的四级类目标识，与对应的四级类目名称配套。"
      },
      "dictionary_searchable": false,
      "name": "category_l4_id",
      "query": {
        "filter_operators": [
          "eq",
          "in"
        ],
        "groupable": true,
        "searchable": false,
        "sortable": true
      },
      "reference_formats": [],
      "type": "string"
    },
    {
      "desc": "抖音源数据记录的四级类目名称，与源层级中的 category_l4_id 配套。",
      "desc_i18n": {
        "en": "Level-4 category name recorded by the Douyin source and paired with category_l4_id in the source hierarchy.",
        "zh-CN": "抖音源数据记录的四级类目名称，与源层级中的 category_l4_id 配套。"
      },
      "dictionary_searchable": true,
      "name": "category_l4",
      "query": {
        "filter_operators": [
          "eq",
          "neq",
          "in",
          "not_in",
          "contains"
        ],
        "groupable": true,
        "searchable": true,
        "sortable": true
      },
      "reference_formats": [],
      "type": "string"
    },
    {
      "desc": "抖音商品记录所属自然月，是公开的月度时间维度，不等同于采集日期。",
      "desc_i18n": {
        "en": "Calendar month to which the Douyin product record belongs, represented as the public monthly time dimension and not as the collection date.",
        "zh-CN": "抖音商品记录所属自然月，是公开的月度时间维度，不等同于采集日期。"
      },
      "dictionary_searchable": false,
      "name": "month",
      "query": {
        "filter_operators": [],
        "groupable": true,
        "searchable": false,
        "sortable": true
      },
      "reference_formats": [],
      "type": "time"
    }
  ],
  "metrics": [
    {
      "certified": false,
      "desc": "经过源数据质量验收后，按请求商品和自然月范围对 sales 求和得到的抖音汇总销售额。",
      "desc_i18n": {
        "en": "Aggregated Douyin sales amount calculated as SUM(sales) over the requested product and calendar-month scope after source-quality validation.",
        "zh-CN": "经过源数据质量验收后，按请求商品和自然月范围对 sales 求和得到的抖音汇总销售额。"
      },
      "name": "gmv"
    },
    {
      "certified": false,
      "desc": "完成重复处理验收后，按请求商品和自然月范围对 volume 求和得到的抖音汇总销量。",
      "desc_i18n": {
        "en": "Aggregated Douyin units sold calculated as SUM(volume) over the requested product and calendar-month scope after duplicate handling is validated.",
        "zh-CN": "完成重复处理验收后，按请求商品和自然月范围对 volume 求和得到的抖音汇总销量。"
      },
      "name": "units"
    },
    {
      "certified": false,
      "desc": "按请求范围计算 SUM(sales) 除以 SUM(volume) 的加权平均成交价；总销量为零时返回空值。",
      "desc_i18n": {
        "en": "Weighted average selling price calculated as SUM(sales) divided by SUM(volume) over the requested scope; returns null when total volume is zero.",
        "zh-CN": "按请求范围计算 SUM(sales) 除以 SUM(volume) 的加权平均成交价；总销量为零时返回空值。"
      },
      "name": "asp"
    }
  ]
}
```

- dimensions (array<object>): 暂无字段说明
- metrics (array<object>): 暂无字段说明
## GET /v1/datasets/douyin/sample

legacy · unknown · api_key, oauth

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

Example row shape only; samples are not analytical evidence.

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

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

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

### Input schema / 输入契约

```json
{
  "properties": {
    "dataset": {
      "const": "douyin"
    },
    "n": {
      "maximum": 10,
      "minimum": 1,
      "type": "integer"
    },
    "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": [
    "dataset"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "dataset": "douyin",
  "n": 10
}
```

### Synthetic response / 合成响应

```json
{
  "data": []
}
```

- data (array<object>): 暂无字段说明
## sample_rows

legacy · unknown · api_key, oauth

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

Example row shape only; samples are not analytical evidence.

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

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

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

### Input schema / 输入契约

```json
{
  "properties": {
    "dataset": {
      "const": "douyin"
    },
    "n": {
      "maximum": 10,
      "minimum": 1,
      "type": "integer"
    },
    "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": [
    "dataset"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "dataset": "douyin",
  "n": 10
}
```

### Synthetic response / 合成响应

```json
{
  "data": []
}
```

- data (array<object>): 暂无字段说明
## asklear sample

legacy · unknown · api_key, oauth

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

Example row shape only; samples are not analytical evidence.

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

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

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

### Input schema / 输入契约

```json
{
  "properties": {
    "dataset": {
      "const": "douyin"
    },
    "n": {
      "maximum": 10,
      "minimum": 1,
      "type": "integer"
    },
    "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": [
    "dataset"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "dataset": "douyin",
  "n": 10
}
```

### Synthetic response / 合成响应

```json
{
  "data": []
}
```

- data (array<object>): 暂无字段说明
## POST /v1/query_metrics

legacy · unknown · api_key, oauth

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

数据按自然月分区
search_products 可按商品名称或标题查找候选商品身份；query_metrics 和 query_details 的商品筛选仍需精确 product_id，本数据集未提供标准商品链接筛选
店铺可使用精确 shop_id 或经 search_values 对齐后的店铺名
不提供评价、流量、库存、因果解释或其他平台数据
同比、环比、份额、贡献度和跨期集合差异由 Agent 基于原子查询结果计算
指标口径、覆盖量级、更新时间和访问授权仍待上游确认
当前目录仅登记 2026-06 月份；覆盖范围、重复行处理和指标口径待确认

遵循现有数据集查询计费及账号授权。

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

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

### Input schema / 输入契约

```json
{
  "$defs": {
    "Schema1": {
      "properties": {
        "filters": {
          "description": "Query-specific filters; shared scope belongs in common_filters.",
          "items": {
            "$ref": "#/$defs/Schema3"
          },
          "type": "array"
        },
        "group_by": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "limit": {
          "default": 100,
          "maximum": 1000,
          "minimum": 1,
          "type": "integer"
        },
        "metrics": {
          "items": {
            "type": "string"
          },
          "minItems": 1,
          "type": "array"
        },
        "name": {
          "pattern": "^[a-z][a-z0-9_]{0,63}$",
          "type": "string"
        },
        "order_by": {
          "items": {
            "$ref": "#/$defs/Schema2"
          },
          "type": "array"
        },
        "time": {
          "anyOf": [
            {
              "$ref": "#/$defs/Schema4"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Omit to inherit the main query time; provide for cross-period analysis."
        }
      },
      "required": [
        "name",
        "metrics"
      ],
      "type": "object"
    },
    "Schema2": {
      "properties": {
        "dir": {
          "default": "asc",
          "enum": [
            "asc",
            "desc"
          ],
          "type": "string"
        },
        "field": {
          "type": "string"
        }
      },
      "required": [
        "field"
      ],
      "type": "object"
    },
    "Schema3": {
      "properties": {
        "field": {
          "description": "Public dimension used to scope the query.",
          "type": "string"
        },
        "op": {
          "description": "Use eq with one platform raw value already returned by search_values or earlier context; use in with all relevant returned raw values.",
          "enum": [
            "eq",
            "neq",
            "in",
            "not_in",
            "gt",
            "gte",
            "lt",
            "lte",
            "contains",
            "is_unknown",
            "is_known"
          ],
          "type": "string"
        },
        "value": {
          "anyOf": [
            {},
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Single operand for eq, neq, comparisons, or contains."
        },
        "values": {
          "anyOf": [
            {
              "items": {},
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Platform raw values used by in or not_in."
        }
      },
      "required": [
        "field",
        "op"
      ],
      "type": "object"
    },
    "Schema4": {
      "properties": {
        "end": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Inclusive end month/date. Use together with start."
        },
        "grain": {
          "const": "month",
          "default": "month",
          "type": "string"
        },
        "last_complete_months": {
          "anyOf": [
            {
              "maximum": 60,
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Server-resolved latest complete months ending at the authenticated data-through month. Use instead of describe for current/latest/recent monthly questions."
        },
        "start": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Inclusive start month/date. Use together with end."
        }
      },
      "type": "object"
    }
  },
  "properties": {
    "additional_queries": {
      "description": "Up to three additional analyses for shares, comparisons, or multiple views.",
      "items": {
        "$ref": "#/$defs/Schema1"
      },
      "maxItems": 3,
      "type": "array"
    },
    "approved_plan_digest": {
      "anyOf": [
        {
          "pattern": "^plan_[0-9a-f]{64}$",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "common_filters": {
      "description": "Filters applied to every query in the bundle.",
      "items": {
        "$ref": "#/$defs/Schema3"
      },
      "type": "array"
    },
    "dataset": {
      "const": "douyin"
    },
    "dry_run": {
      "default": false,
      "description": "Set true only when the user asks for a price preview.",
      "type": "boolean"
    },
    "filters": {
      "description": "Aligned query scope. Resolve user-supplied brand, shop, and category names with search_values; product/shop URLs are values for product_id/shop_id.",
      "items": {
        "$ref": "#/$defs/Schema3"
      },
      "type": "array"
    },
    "group_by": {
      "description": "Exact public result dimensions. Include month for a monthly trend; for entity results include the declared ID, name, and URL fields.",
      "items": {
        "enum": [
          "product_id",
          "title",
          "product_url",
          "shop_id",
          "shop",
          "seller_id",
          "brand",
          "category",
          "category_id",
          "category_l1_id",
          "category_l1",
          "category_l2_id",
          "category_l2",
          "category_l3_id",
          "category_l3",
          "category_l4_id",
          "category_l4",
          "month"
        ]
      },
      "type": "array"
    },
    "idempotency_key": {
      "anyOf": [
        {
          "maxLength": 128,
          "minLength": 1,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "MCP paid non-dry-run single operations require idempotency_key; REST and free previews may omit it. Bundles reject idempotency_key; omit it with additional_queries. Bundles are non-atomic; recover failed items as independent single operations, not whole-bundle replay."
    },
    "limit": {
      "default": 100,
      "maximum": 1000,
      "minimum": 1,
      "type": "integer"
    },
    "main_query_name": {
      "anyOf": [
        {
          "pattern": "^[a-z][a-z0-9_]{0,63}$",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Main result ID for a bundle; omit for one query. Use lowercase ASCII, digits, and underscores."
    },
    "max_credits": {
      "anyOf": [
        {
          "exclusiveMinimum": 0,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "metrics": {
      "description": "Public metrics requested by the user; do not add unrequested metrics.",
      "items": {
        "enum": [
          "gmv",
          "units",
          "asp"
        ]
      },
      "minItems": 1,
      "type": "array"
    },
    "order_by": {
      "description": "Sort by a returned metric or groupable dimension.",
      "items": {
        "$ref": "#/$defs/Schema2"
      },
      "type": "array"
    },
    "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
    },
    "time": {
      "$ref": "#/$defs/Schema4",
      "description": "Absolute range or last_complete_months; relative time needs no describe."
    }
  },
  "required": [
    "dataset",
    "metrics",
    "time"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "dataset": "douyin",
  "group_by": [
    "brand"
  ],
  "limit": 10,
  "metrics": [
    "gmv"
  ],
  "order_by": [
    {
      "dir": "desc",
      "field": "gmv"
    }
  ],
  "task_query": "查看抖音最近一个完整月的品牌销售额排名",
  "time": {
    "last_complete_months": 1
  }
}
```

### Synthetic response / 合成响应

```json
{
  "data": [],
  "meta": {
    "dataset": "douyin"
  }
}
```

- data[].product_id (string): 上游记录中的抖音商品稳定标识，用于精确筛选，并与上游商品链接配套。
- data[].title (string): 抖音源数据记录的自然月商品标题，用于结果展示和分组，不作为精确商品筛选条件。
- data[].product_url (string): 抖音源数据提供的商品详情链接，与 product_id 配套；按源记录返回，不在查询层拼接。
- data[].shop_id (string): 上游记录的抖音店铺稳定标识，用于精确店铺筛选及授权后的租户范围选择。
- data[].shop (string): 抖音源数据记录的商品月度店铺名称，名称可能随时间变化，应通过值搜索进行对齐。
- data[].seller_id (string): 抖音源数据记录的商品月度卖家标识，按标识返回，不根据店铺名称推断。
- data[].brand (string): 抖音源数据记录的商品月度品牌名称，白牌或未分类商品可能为空。
- data[].category (string): 抖音源数据记录的商品月度末级类目名称，与四级类目层级字段区分。
- data[].category_id (string): 抖音源数据记录的商品月度末级类目标识，按源数据返回，不填充缺失值。
- data[].category_l1_id (string): 抖音源数据记录的一级类目标识，与对应的一级类目名称配套。
- data[].category_l1 (string): 抖音源数据记录的一级类目名称，与源层级中的 category_l1_id 配套。
- data[].category_l2_id (string): 抖音源数据记录的二级类目标识，与对应的二级类目名称配套。
- data[].category_l2 (string): 抖音源数据记录的二级类目名称，与源层级中的 category_l2_id 配套。
- data[].category_l3_id (string): 抖音源数据记录的三级类目标识，与对应的三级类目名称配套。
- data[].category_l3 (string): 抖音源数据记录的三级类目名称，与源层级中的 category_l3_id 配套。
- data[].category_l4_id (string): 抖音源数据记录的四级类目标识，与对应的四级类目名称配套。
- data[].category_l4 (string): 抖音源数据记录的四级类目名称，与源层级中的 category_l4_id 配套。
- data[].month (time): 抖音商品记录所属自然月，是公开的月度时间维度，不等同于采集日期。
- data[].gmv (number): 经过源数据质量验收后，按请求商品和自然月范围对 sales 求和得到的抖音汇总销售额。
- data[].units (number): 完成重复处理验收后，按请求商品和自然月范围对 volume 求和得到的抖音汇总销量。
- data[].asp (number): 按请求范围计算 SUM(sales) 除以 SUM(volume) 的加权平均成交价；总销量为零时返回空值。
## query_metrics

legacy · unknown · api_key, oauth

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

数据按自然月分区
search_products 可按商品名称或标题查找候选商品身份；query_metrics 和 query_details 的商品筛选仍需精确 product_id，本数据集未提供标准商品链接筛选
店铺可使用精确 shop_id 或经 search_values 对齐后的店铺名
不提供评价、流量、库存、因果解释或其他平台数据
同比、环比、份额、贡献度和跨期集合差异由 Agent 基于原子查询结果计算
指标口径、覆盖量级、更新时间和访问授权仍待上游确认
当前目录仅登记 2026-06 月份；覆盖范围、重复行处理和指标口径待确认

遵循现有数据集查询计费及账号授权。

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

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

### Input schema / 输入契约

```json
{
  "$defs": {
    "Schema1": {
      "properties": {
        "filters": {
          "description": "Query-specific filters; shared scope belongs in common_filters.",
          "items": {
            "$ref": "#/$defs/Schema3"
          },
          "type": "array"
        },
        "group_by": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "limit": {
          "default": 100,
          "maximum": 1000,
          "minimum": 1,
          "type": "integer"
        },
        "metrics": {
          "items": {
            "type": "string"
          },
          "minItems": 1,
          "type": "array"
        },
        "name": {
          "pattern": "^[a-z][a-z0-9_]{0,63}$",
          "type": "string"
        },
        "order_by": {
          "items": {
            "$ref": "#/$defs/Schema2"
          },
          "type": "array"
        },
        "time": {
          "anyOf": [
            {
              "$ref": "#/$defs/Schema4"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Omit to inherit the main query time; provide for cross-period analysis."
        }
      },
      "required": [
        "name",
        "metrics"
      ],
      "type": "object"
    },
    "Schema2": {
      "properties": {
        "dir": {
          "default": "asc",
          "enum": [
            "asc",
            "desc"
          ],
          "type": "string"
        },
        "field": {
          "type": "string"
        }
      },
      "required": [
        "field"
      ],
      "type": "object"
    },
    "Schema3": {
      "properties": {
        "field": {
          "description": "Public dimension used to scope the query.",
          "type": "string"
        },
        "op": {
          "description": "Use eq with one platform raw value already returned by search_values or earlier context; use in with all relevant returned raw values.",
          "enum": [
            "eq",
            "neq",
            "in",
            "not_in",
            "gt",
            "gte",
            "lt",
            "lte",
            "contains",
            "is_unknown",
            "is_known"
          ],
          "type": "string"
        },
        "value": {
          "anyOf": [
            {},
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Single operand for eq, neq, comparisons, or contains."
        },
        "values": {
          "anyOf": [
            {
              "items": {},
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Platform raw values used by in or not_in."
        }
      },
      "required": [
        "field",
        "op"
      ],
      "type": "object"
    },
    "Schema4": {
      "properties": {
        "end": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Inclusive end month/date. Use together with start."
        },
        "grain": {
          "const": "month",
          "default": "month",
          "type": "string"
        },
        "last_complete_months": {
          "anyOf": [
            {
              "maximum": 60,
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Server-resolved latest complete months ending at the authenticated data-through month. Use instead of describe for current/latest/recent monthly questions."
        },
        "start": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Inclusive start month/date. Use together with end."
        }
      },
      "type": "object"
    }
  },
  "properties": {
    "additional_queries": {
      "description": "Up to three additional analyses for shares, comparisons, or multiple views.",
      "items": {
        "$ref": "#/$defs/Schema1"
      },
      "maxItems": 3,
      "type": "array"
    },
    "approved_plan_digest": {
      "anyOf": [
        {
          "pattern": "^plan_[0-9a-f]{64}$",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "common_filters": {
      "description": "Filters applied to every query in the bundle.",
      "items": {
        "$ref": "#/$defs/Schema3"
      },
      "type": "array"
    },
    "dataset": {
      "const": "douyin"
    },
    "dry_run": {
      "default": false,
      "description": "Set true only when the user asks for a price preview.",
      "type": "boolean"
    },
    "filters": {
      "description": "Aligned query scope. Resolve user-supplied brand, shop, and category names with search_values; product/shop URLs are values for product_id/shop_id.",
      "items": {
        "$ref": "#/$defs/Schema3"
      },
      "type": "array"
    },
    "group_by": {
      "description": "Exact public result dimensions. Include month for a monthly trend; for entity results include the declared ID, name, and URL fields.",
      "items": {
        "enum": [
          "product_id",
          "title",
          "product_url",
          "shop_id",
          "shop",
          "seller_id",
          "brand",
          "category",
          "category_id",
          "category_l1_id",
          "category_l1",
          "category_l2_id",
          "category_l2",
          "category_l3_id",
          "category_l3",
          "category_l4_id",
          "category_l4",
          "month"
        ]
      },
      "type": "array"
    },
    "idempotency_key": {
      "anyOf": [
        {
          "maxLength": 128,
          "minLength": 1,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "MCP paid non-dry-run single operations require idempotency_key; REST and free previews may omit it. Bundles reject idempotency_key; omit it with additional_queries. Bundles are non-atomic; recover failed items as independent single operations, not whole-bundle replay."
    },
    "limit": {
      "default": 100,
      "maximum": 1000,
      "minimum": 1,
      "type": "integer"
    },
    "main_query_name": {
      "anyOf": [
        {
          "pattern": "^[a-z][a-z0-9_]{0,63}$",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Main result ID for a bundle; omit for one query. Use lowercase ASCII, digits, and underscores."
    },
    "max_credits": {
      "anyOf": [
        {
          "exclusiveMinimum": 0,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "metrics": {
      "description": "Public metrics requested by the user; do not add unrequested metrics.",
      "items": {
        "enum": [
          "gmv",
          "units",
          "asp"
        ]
      },
      "minItems": 1,
      "type": "array"
    },
    "order_by": {
      "description": "Sort by a returned metric or groupable dimension.",
      "items": {
        "$ref": "#/$defs/Schema2"
      },
      "type": "array"
    },
    "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
    },
    "time": {
      "$ref": "#/$defs/Schema4",
      "description": "Absolute range or last_complete_months; relative time needs no describe."
    }
  },
  "required": [
    "dataset",
    "metrics",
    "time"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "dataset": "douyin",
  "group_by": [
    "brand"
  ],
  "idempotency_key": "directory-example",
  "limit": 10,
  "metrics": [
    "gmv"
  ],
  "order_by": [
    {
      "dir": "desc",
      "field": "gmv"
    }
  ],
  "task_query": "查看抖音最近一个完整月的品牌销售额排名",
  "time": {
    "last_complete_months": 1
  }
}
```

### Synthetic response / 合成响应

```json
{
  "data": [],
  "meta": {
    "dataset": "douyin"
  }
}
```

- data[].product_id (string): 上游记录中的抖音商品稳定标识，用于精确筛选，并与上游商品链接配套。
- data[].title (string): 抖音源数据记录的自然月商品标题，用于结果展示和分组，不作为精确商品筛选条件。
- data[].product_url (string): 抖音源数据提供的商品详情链接，与 product_id 配套；按源记录返回，不在查询层拼接。
- data[].shop_id (string): 上游记录的抖音店铺稳定标识，用于精确店铺筛选及授权后的租户范围选择。
- data[].shop (string): 抖音源数据记录的商品月度店铺名称，名称可能随时间变化，应通过值搜索进行对齐。
- data[].seller_id (string): 抖音源数据记录的商品月度卖家标识，按标识返回，不根据店铺名称推断。
- data[].brand (string): 抖音源数据记录的商品月度品牌名称，白牌或未分类商品可能为空。
- data[].category (string): 抖音源数据记录的商品月度末级类目名称，与四级类目层级字段区分。
- data[].category_id (string): 抖音源数据记录的商品月度末级类目标识，按源数据返回，不填充缺失值。
- data[].category_l1_id (string): 抖音源数据记录的一级类目标识，与对应的一级类目名称配套。
- data[].category_l1 (string): 抖音源数据记录的一级类目名称，与源层级中的 category_l1_id 配套。
- data[].category_l2_id (string): 抖音源数据记录的二级类目标识，与对应的二级类目名称配套。
- data[].category_l2 (string): 抖音源数据记录的二级类目名称，与源层级中的 category_l2_id 配套。
- data[].category_l3_id (string): 抖音源数据记录的三级类目标识，与对应的三级类目名称配套。
- data[].category_l3 (string): 抖音源数据记录的三级类目名称，与源层级中的 category_l3_id 配套。
- data[].category_l4_id (string): 抖音源数据记录的四级类目标识，与对应的四级类目名称配套。
- data[].category_l4 (string): 抖音源数据记录的四级类目名称，与源层级中的 category_l4_id 配套。
- data[].month (time): 抖音商品记录所属自然月，是公开的月度时间维度，不等同于采集日期。
- data[].gmv (number): 经过源数据质量验收后，按请求商品和自然月范围对 sales 求和得到的抖音汇总销售额。
- data[].units (number): 完成重复处理验收后，按请求商品和自然月范围对 volume 求和得到的抖音汇总销量。
- data[].asp (number): 按请求范围计算 SUM(sales) 除以 SUM(volume) 的加权平均成交价；总销量为零时返回空值。
## asklear query

legacy · unknown · api_key, oauth

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

数据按自然月分区
search_products 可按商品名称或标题查找候选商品身份；query_metrics 和 query_details 的商品筛选仍需精确 product_id，本数据集未提供标准商品链接筛选
店铺可使用精确 shop_id 或经 search_values 对齐后的店铺名
不提供评价、流量、库存、因果解释或其他平台数据
同比、环比、份额、贡献度和跨期集合差异由 Agent 基于原子查询结果计算
指标口径、覆盖量级、更新时间和访问授权仍待上游确认
当前目录仅登记 2026-06 月份；覆盖范围、重复行处理和指标口径待确认

遵循现有数据集查询计费及账号授权。

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

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

### Input schema / 输入契约

```json
{
  "$defs": {
    "Schema1": {
      "properties": {
        "filters": {
          "description": "Query-specific filters; shared scope belongs in common_filters.",
          "items": {
            "$ref": "#/$defs/Schema3"
          },
          "type": "array"
        },
        "group_by": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "limit": {
          "default": 100,
          "maximum": 1000,
          "minimum": 1,
          "type": "integer"
        },
        "metrics": {
          "items": {
            "type": "string"
          },
          "minItems": 1,
          "type": "array"
        },
        "name": {
          "pattern": "^[a-z][a-z0-9_]{0,63}$",
          "type": "string"
        },
        "order_by": {
          "items": {
            "$ref": "#/$defs/Schema2"
          },
          "type": "array"
        },
        "time": {
          "anyOf": [
            {
              "$ref": "#/$defs/Schema4"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Omit to inherit the main query time; provide for cross-period analysis."
        }
      },
      "required": [
        "name",
        "metrics"
      ],
      "type": "object"
    },
    "Schema2": {
      "properties": {
        "dir": {
          "default": "asc",
          "enum": [
            "asc",
            "desc"
          ],
          "type": "string"
        },
        "field": {
          "type": "string"
        }
      },
      "required": [
        "field"
      ],
      "type": "object"
    },
    "Schema3": {
      "properties": {
        "field": {
          "description": "Public dimension used to scope the query.",
          "type": "string"
        },
        "op": {
          "description": "Use eq with one platform raw value already returned by search_values or earlier context; use in with all relevant returned raw values.",
          "enum": [
            "eq",
            "neq",
            "in",
            "not_in",
            "gt",
            "gte",
            "lt",
            "lte",
            "contains",
            "is_unknown",
            "is_known"
          ],
          "type": "string"
        },
        "value": {
          "anyOf": [
            {},
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Single operand for eq, neq, comparisons, or contains."
        },
        "values": {
          "anyOf": [
            {
              "items": {},
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Platform raw values used by in or not_in."
        }
      },
      "required": [
        "field",
        "op"
      ],
      "type": "object"
    },
    "Schema4": {
      "properties": {
        "end": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Inclusive end month/date. Use together with start."
        },
        "grain": {
          "const": "month",
          "default": "month",
          "type": "string"
        },
        "last_complete_months": {
          "anyOf": [
            {
              "maximum": 60,
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Server-resolved latest complete months ending at the authenticated data-through month. Use instead of describe for current/latest/recent monthly questions."
        },
        "start": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Inclusive start month/date. Use together with end."
        }
      },
      "type": "object"
    }
  },
  "properties": {
    "additional_queries": {
      "description": "Up to three additional analyses for shares, comparisons, or multiple views.",
      "items": {
        "$ref": "#/$defs/Schema1"
      },
      "maxItems": 3,
      "type": "array"
    },
    "approved_plan_digest": {
      "anyOf": [
        {
          "pattern": "^plan_[0-9a-f]{64}$",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "common_filters": {
      "description": "Filters applied to every query in the bundle.",
      "items": {
        "$ref": "#/$defs/Schema3"
      },
      "type": "array"
    },
    "dataset": {
      "const": "douyin"
    },
    "dry_run": {
      "default": false,
      "description": "Set true only when the user asks for a price preview.",
      "type": "boolean"
    },
    "filters": {
      "description": "Aligned query scope. Resolve user-supplied brand, shop, and category names with search_values; product/shop URLs are values for product_id/shop_id.",
      "items": {
        "$ref": "#/$defs/Schema3"
      },
      "type": "array"
    },
    "group_by": {
      "description": "Exact public result dimensions. Include month for a monthly trend; for entity results include the declared ID, name, and URL fields.",
      "items": {
        "enum": [
          "product_id",
          "title",
          "product_url",
          "shop_id",
          "shop",
          "seller_id",
          "brand",
          "category",
          "category_id",
          "category_l1_id",
          "category_l1",
          "category_l2_id",
          "category_l2",
          "category_l3_id",
          "category_l3",
          "category_l4_id",
          "category_l4",
          "month"
        ]
      },
      "type": "array"
    },
    "idempotency_key": {
      "anyOf": [
        {
          "maxLength": 128,
          "minLength": 1,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "MCP paid non-dry-run single operations require idempotency_key; REST and free previews may omit it. Bundles reject idempotency_key; omit it with additional_queries. Bundles are non-atomic; recover failed items as independent single operations, not whole-bundle replay."
    },
    "limit": {
      "default": 100,
      "maximum": 1000,
      "minimum": 1,
      "type": "integer"
    },
    "main_query_name": {
      "anyOf": [
        {
          "pattern": "^[a-z][a-z0-9_]{0,63}$",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Main result ID for a bundle; omit for one query. Use lowercase ASCII, digits, and underscores."
    },
    "max_credits": {
      "anyOf": [
        {
          "exclusiveMinimum": 0,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "metrics": {
      "description": "Public metrics requested by the user; do not add unrequested metrics.",
      "items": {
        "enum": [
          "gmv",
          "units",
          "asp"
        ]
      },
      "minItems": 1,
      "type": "array"
    },
    "order_by": {
      "description": "Sort by a returned metric or groupable dimension.",
      "items": {
        "$ref": "#/$defs/Schema2"
      },
      "type": "array"
    },
    "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
    },
    "time": {
      "$ref": "#/$defs/Schema4",
      "description": "Absolute range or last_complete_months; relative time needs no describe."
    }
  },
  "required": [
    "dataset",
    "metrics",
    "time"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "dataset": "douyin",
  "group_by": [
    "brand"
  ],
  "idempotency_key": "directory-example",
  "limit": 10,
  "metrics": [
    "gmv"
  ],
  "order_by": [
    {
      "dir": "desc",
      "field": "gmv"
    }
  ],
  "task_query": "查看抖音最近一个完整月的品牌销售额排名",
  "time": {
    "last_complete_months": 1
  }
}
```

### Synthetic response / 合成响应

```json
{
  "data": [],
  "meta": {
    "dataset": "douyin"
  }
}
```

- data[].product_id (string): 上游记录中的抖音商品稳定标识，用于精确筛选，并与上游商品链接配套。
- data[].title (string): 抖音源数据记录的自然月商品标题，用于结果展示和分组，不作为精确商品筛选条件。
- data[].product_url (string): 抖音源数据提供的商品详情链接，与 product_id 配套；按源记录返回，不在查询层拼接。
- data[].shop_id (string): 上游记录的抖音店铺稳定标识，用于精确店铺筛选及授权后的租户范围选择。
- data[].shop (string): 抖音源数据记录的商品月度店铺名称，名称可能随时间变化，应通过值搜索进行对齐。
- data[].seller_id (string): 抖音源数据记录的商品月度卖家标识，按标识返回，不根据店铺名称推断。
- data[].brand (string): 抖音源数据记录的商品月度品牌名称，白牌或未分类商品可能为空。
- data[].category (string): 抖音源数据记录的商品月度末级类目名称，与四级类目层级字段区分。
- data[].category_id (string): 抖音源数据记录的商品月度末级类目标识，按源数据返回，不填充缺失值。
- data[].category_l1_id (string): 抖音源数据记录的一级类目标识，与对应的一级类目名称配套。
- data[].category_l1 (string): 抖音源数据记录的一级类目名称，与源层级中的 category_l1_id 配套。
- data[].category_l2_id (string): 抖音源数据记录的二级类目标识，与对应的二级类目名称配套。
- data[].category_l2 (string): 抖音源数据记录的二级类目名称，与源层级中的 category_l2_id 配套。
- data[].category_l3_id (string): 抖音源数据记录的三级类目标识，与对应的三级类目名称配套。
- data[].category_l3 (string): 抖音源数据记录的三级类目名称，与源层级中的 category_l3_id 配套。
- data[].category_l4_id (string): 抖音源数据记录的四级类目标识，与对应的四级类目名称配套。
- data[].category_l4 (string): 抖音源数据记录的四级类目名称，与源层级中的 category_l4_id 配套。
- data[].month (time): 抖音商品记录所属自然月，是公开的月度时间维度，不等同于采集日期。
- data[].gmv (number): 经过源数据质量验收后，按请求商品和自然月范围对 sales 求和得到的抖音汇总销售额。
- data[].units (number): 完成重复处理验收后，按请求商品和自然月范围对 volume 求和得到的抖音汇总销量。
- data[].asp (number): 按请求范围计算 SUM(sales) 除以 SUM(volume) 的加权平均成交价；总销量为零时返回空值。
## POST /v1/quote

legacy · unknown · api_key, oauth

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

Optional REST cost preview; actual execution determines billing. MCP previews use query_metrics with dry_run=true.

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

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

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

### Input schema / 输入契约

```json
{
  "$defs": {
    "Schema1": {
      "properties": {
        "filters": {
          "description": "Query-specific filters; shared scope belongs in common_filters.",
          "items": {
            "$ref": "#/$defs/Schema3"
          },
          "type": "array"
        },
        "group_by": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "limit": {
          "default": 100,
          "maximum": 1000,
          "minimum": 1,
          "type": "integer"
        },
        "metrics": {
          "items": {
            "type": "string"
          },
          "minItems": 1,
          "type": "array"
        },
        "name": {
          "pattern": "^[a-z][a-z0-9_]{0,63}$",
          "type": "string"
        },
        "order_by": {
          "items": {
            "$ref": "#/$defs/Schema2"
          },
          "type": "array"
        },
        "time": {
          "anyOf": [
            {
              "$ref": "#/$defs/Schema4"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Omit to inherit the main query time; provide for cross-period analysis."
        }
      },
      "required": [
        "name",
        "metrics"
      ],
      "type": "object"
    },
    "Schema2": {
      "properties": {
        "dir": {
          "default": "asc",
          "enum": [
            "asc",
            "desc"
          ],
          "type": "string"
        },
        "field": {
          "type": "string"
        }
      },
      "required": [
        "field"
      ],
      "type": "object"
    },
    "Schema3": {
      "properties": {
        "field": {
          "description": "Public dimension used to scope the query.",
          "type": "string"
        },
        "op": {
          "description": "Use eq with one platform raw value already returned by search_values or earlier context; use in with all relevant returned raw values.",
          "enum": [
            "eq",
            "neq",
            "in",
            "not_in",
            "gt",
            "gte",
            "lt",
            "lte",
            "contains",
            "is_unknown",
            "is_known"
          ],
          "type": "string"
        },
        "value": {
          "anyOf": [
            {},
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Single operand for eq, neq, comparisons, or contains."
        },
        "values": {
          "anyOf": [
            {
              "items": {},
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Platform raw values used by in or not_in."
        }
      },
      "required": [
        "field",
        "op"
      ],
      "type": "object"
    },
    "Schema4": {
      "properties": {
        "end": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Inclusive end month/date. Use together with start."
        },
        "grain": {
          "const": "month",
          "default": "month",
          "type": "string"
        },
        "last_complete_months": {
          "anyOf": [
            {
              "maximum": 60,
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Server-resolved latest complete months ending at the authenticated data-through month. Use instead of describe for current/latest/recent monthly questions."
        },
        "start": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Inclusive start month/date. Use together with end."
        }
      },
      "type": "object"
    }
  },
  "description": "One flat request shape that FastMCP can expose as tool arguments.",
  "properties": {
    "additional_queries": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/Schema1"
          },
          "maxItems": 3,
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "approved_plan_digest": {
      "anyOf": [
        {
          "pattern": "^plan_[0-9a-f]{64}$",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "common_filters": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/Schema3"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "dataset": {
      "const": "douyin"
    },
    "dry_run": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "filters": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/Schema3"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "group_by": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "limit": {
      "anyOf": [
        {
          "maximum": 1000,
          "minimum": 1,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "main_query_name": {
      "anyOf": [
        {
          "pattern": "^[a-z][a-z0-9_]{0,63}$",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional ASCII bundle result name. Omit for single metric quotes."
    },
    "max_credits": {
      "anyOf": [
        {
          "exclusiveMinimum": 0,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "metrics": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "minItems": 1,
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "order_by": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/Schema2"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "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
    },
    "time": {
      "anyOf": [
        {
          "$ref": "#/$defs/Schema4"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "dataset": "douyin",
  "group_by": [
    "brand"
  ],
  "limit": 10,
  "metrics": [
    "gmv"
  ],
  "order_by": [
    {
      "dir": "desc",
      "field": "gmv"
    }
  ],
  "task_query": "查看抖音最近一个完整月的品牌销售额排名",
  "time": {
    "last_complete_months": 1
  }
}
```

### Synthetic response / 合成响应

```json
{}
```

- upper_bound_credits (integer): 暂无字段说明
## POST /v1/search_values

legacy · unknown · api_key, oauth

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

数据按自然月分区
search_products 可按商品名称或标题查找候选商品身份；query_metrics 和 query_details 的商品筛选仍需精确 product_id，本数据集未提供标准商品链接筛选
店铺可使用精确 shop_id 或经 search_values 对齐后的店铺名
不提供评价、流量、库存、因果解释或其他平台数据
同比、环比、份额、贡献度和跨期集合差异由 Agent 基于原子查询结果计算
指标口径、覆盖量级、更新时间和访问授权仍待上游确认
当前目录仅登记 2026-06 月份；覆盖范围、重复行处理和指标口径待确认

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

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

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

### Input schema / 输入契约

```json
{
  "$defs": {
    "Schema1": {
      "properties": {
        "field": {
          "type": "string"
        },
        "kw": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "limit": {
          "default": 20,
          "maximum": 100,
          "minimum": 1,
          "type": "integer"
        },
        "name": {
          "pattern": "^[a-z][a-z0-9_]{0,63}$",
          "type": "string"
        }
      },
      "required": [
        "name",
        "field"
      ],
      "type": "object"
    }
  },
  "properties": {
    "additional_searches": {
      "items": {
        "$ref": "#/$defs/Schema1"
      },
      "maxItems": 3,
      "type": "array"
    },
    "approved_plan_digest": {
      "anyOf": [
        {
          "pattern": "^plan_[0-9a-f]{64}$",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "dataset": {
      "const": "douyin"
    },
    "dry_run": {
      "default": false,
      "description": "Set true only when the user asks for a price preview.",
      "type": "boolean"
    },
    "field": {
      "description": "Searchable field for a user-supplied name. category searches every category level. Exact IDs and URLs are ready to query.",
      "type": "string"
    },
    "idempotency_key": {
      "anyOf": [
        {
          "maxLength": 128,
          "minLength": 1,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "MCP paid non-dry-run single operations require idempotency_key; REST and free previews may omit it. Bundles reject idempotency_key; omit it with additional_searches or field=category, which expands into category levels. Recover failed items as single concrete-field operations."
    },
    "kw": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "limit": {
      "default": 20,
      "maximum": 100,
      "minimum": 1,
      "type": "integer"
    },
    "max_credits": {
      "anyOf": [
        {
          "exclusiveMinimum": 0,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "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": [
    "dataset",
    "field"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "dataset": "douyin",
  "field": "shop",
  "kw": "example",
  "limit": 10
}
```

### Synthetic response / 合成响应

```json
{
  "data": []
}
```

- data (array<object>): 暂无字段说明
## search_values

legacy · unknown · api_key, oauth

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

数据按自然月分区
search_products 可按商品名称或标题查找候选商品身份；query_metrics 和 query_details 的商品筛选仍需精确 product_id，本数据集未提供标准商品链接筛选
店铺可使用精确 shop_id 或经 search_values 对齐后的店铺名
不提供评价、流量、库存、因果解释或其他平台数据
同比、环比、份额、贡献度和跨期集合差异由 Agent 基于原子查询结果计算
指标口径、覆盖量级、更新时间和访问授权仍待上游确认
当前目录仅登记 2026-06 月份；覆盖范围、重复行处理和指标口径待确认

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

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

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

### Input schema / 输入契约

```json
{
  "$defs": {
    "Schema1": {
      "properties": {
        "field": {
          "type": "string"
        },
        "kw": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "limit": {
          "default": 20,
          "maximum": 100,
          "minimum": 1,
          "type": "integer"
        },
        "name": {
          "pattern": "^[a-z][a-z0-9_]{0,63}$",
          "type": "string"
        }
      },
      "required": [
        "name",
        "field"
      ],
      "type": "object"
    }
  },
  "properties": {
    "additional_searches": {
      "items": {
        "$ref": "#/$defs/Schema1"
      },
      "maxItems": 3,
      "type": "array"
    },
    "approved_plan_digest": {
      "anyOf": [
        {
          "pattern": "^plan_[0-9a-f]{64}$",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "dataset": {
      "const": "douyin"
    },
    "dry_run": {
      "default": false,
      "description": "Set true only when the user asks for a price preview.",
      "type": "boolean"
    },
    "field": {
      "description": "Searchable field for a user-supplied name. category searches every category level. Exact IDs and URLs are ready to query.",
      "type": "string"
    },
    "idempotency_key": {
      "anyOf": [
        {
          "maxLength": 128,
          "minLength": 1,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "MCP paid non-dry-run single operations require idempotency_key; REST and free previews may omit it. Bundles reject idempotency_key; omit it with additional_searches or field=category, which expands into category levels. Recover failed items as single concrete-field operations."
    },
    "kw": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "limit": {
      "default": 20,
      "maximum": 100,
      "minimum": 1,
      "type": "integer"
    },
    "max_credits": {
      "anyOf": [
        {
          "exclusiveMinimum": 0,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "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": [
    "dataset",
    "field"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "dataset": "douyin",
  "field": "shop",
  "idempotency_key": "directory-example",
  "kw": "example",
  "limit": 10
}
```

### Synthetic response / 合成响应

```json
{
  "data": []
}
```

- data (array<object>): 暂无字段说明
## asklear search-values

legacy · unknown · api_key, oauth

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

数据按自然月分区
search_products 可按商品名称或标题查找候选商品身份；query_metrics 和 query_details 的商品筛选仍需精确 product_id，本数据集未提供标准商品链接筛选
店铺可使用精确 shop_id 或经 search_values 对齐后的店铺名
不提供评价、流量、库存、因果解释或其他平台数据
同比、环比、份额、贡献度和跨期集合差异由 Agent 基于原子查询结果计算
指标口径、覆盖量级、更新时间和访问授权仍待上游确认
当前目录仅登记 2026-06 月份；覆盖范围、重复行处理和指标口径待确认

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

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

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

### Input schema / 输入契约

```json
{
  "$defs": {
    "Schema1": {
      "properties": {
        "field": {
          "type": "string"
        },
        "kw": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "limit": {
          "default": 20,
          "maximum": 100,
          "minimum": 1,
          "type": "integer"
        },
        "name": {
          "pattern": "^[a-z][a-z0-9_]{0,63}$",
          "type": "string"
        }
      },
      "required": [
        "name",
        "field"
      ],
      "type": "object"
    }
  },
  "properties": {
    "additional_searches": {
      "items": {
        "$ref": "#/$defs/Schema1"
      },
      "maxItems": 3,
      "type": "array"
    },
    "approved_plan_digest": {
      "anyOf": [
        {
          "pattern": "^plan_[0-9a-f]{64}$",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "dataset": {
      "const": "douyin"
    },
    "dry_run": {
      "default": false,
      "description": "Set true only when the user asks for a price preview.",
      "type": "boolean"
    },
    "field": {
      "description": "Searchable field for a user-supplied name. category searches every category level. Exact IDs and URLs are ready to query.",
      "type": "string"
    },
    "idempotency_key": {
      "anyOf": [
        {
          "maxLength": 128,
          "minLength": 1,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "MCP paid non-dry-run single operations require idempotency_key; REST and free previews may omit it. Bundles reject idempotency_key; omit it with additional_searches or field=category, which expands into category levels. Recover failed items as single concrete-field operations."
    },
    "kw": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "limit": {
      "default": 20,
      "maximum": 100,
      "minimum": 1,
      "type": "integer"
    },
    "max_credits": {
      "anyOf": [
        {
          "exclusiveMinimum": 0,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "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": [
    "dataset",
    "field"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "dataset": "douyin",
  "field": "shop",
  "idempotency_key": "directory-example",
  "kw": "example",
  "limit": 10
}
```

### Synthetic response / 合成响应

```json
{
  "data": []
}
```

- data (array<object>): 暂无字段说明
## POST /v1/query_details

legacy · unknown · api_key, oauth

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

数据按自然月分区
search_products 可按商品名称或标题查找候选商品身份；query_metrics 和 query_details 的商品筛选仍需精确 product_id，本数据集未提供标准商品链接筛选
店铺可使用精确 shop_id 或经 search_values 对齐后的店铺名
不提供评价、流量、库存、因果解释或其他平台数据
同比、环比、份额、贡献度和跨期集合差异由 Agent 基于原子查询结果计算
指标口径、覆盖量级、更新时间和访问授权仍待上游确认
当前目录仅登记 2026-06 月份；覆盖范围、重复行处理和指标口径待确认

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

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

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

### Input schema / 输入契约

```json
{
  "$defs": {
    "Schema1": {
      "properties": {
        "field": {
          "description": "Public dimension used to scope the query.",
          "type": "string"
        },
        "op": {
          "description": "Use eq with one platform raw value already returned by search_values or earlier context; use in with all relevant returned raw values.",
          "enum": [
            "eq",
            "neq",
            "in",
            "not_in",
            "gt",
            "gte",
            "lt",
            "lte",
            "contains",
            "is_unknown",
            "is_known"
          ],
          "type": "string"
        },
        "value": {
          "anyOf": [
            {},
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Single operand for eq, neq, comparisons, or contains."
        },
        "values": {
          "anyOf": [
            {
              "items": {},
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Platform raw values used by in or not_in."
        }
      },
      "required": [
        "field",
        "op"
      ],
      "type": "object"
    },
    "Schema2": {
      "properties": {
        "end": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Inclusive end month/date. Use together with start."
        },
        "grain": {
          "const": "month",
          "default": "month",
          "type": "string"
        },
        "last_complete_months": {
          "anyOf": [
            {
              "maximum": 60,
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Server-resolved latest complete months ending at the authenticated data-through month. Use instead of describe for current/latest/recent monthly questions."
        },
        "start": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Inclusive start month/date. Use together with end."
        }
      },
      "type": "object"
    }
  },
  "properties": {
    "approved_plan_digest": {
      "anyOf": [
        {
          "pattern": "^plan_[0-9a-f]{64}$",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "dataset": {
      "const": "douyin"
    },
    "dry_run": {
      "default": false,
      "type": "boolean"
    },
    "fields": {
      "description": "Raw detail output fields. Use query_metrics for rankings and product or shop links.",
      "items": {
        "enum": [
          "product_id",
          "title",
          "product_url",
          "shop_id",
          "shop",
          "seller_id",
          "brand",
          "category",
          "category_id",
          "category_l1_id",
          "category_l1",
          "category_l2_id",
          "category_l2",
          "category_l3_id",
          "category_l3",
          "category_l4_id",
          "category_l4",
          "price",
          "is_first_seen",
          "month",
          "sales",
          "volume"
        ]
      },
      "maxItems": 34,
      "minItems": 1,
      "type": "array"
    },
    "filters": {
      "description": "Raw detail-field filters for a tightly scoped drilldown.",
      "items": {
        "$ref": "#/$defs/Schema1"
      },
      "type": "array"
    },
    "idempotency_key": {
      "anyOf": [
        {
          "maxLength": 128,
          "minLength": 1,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "MCP paid non-dry-run single operations require idempotency_key; REST and free previews may omit it."
    },
    "limit": {
      "default": 100,
      "maximum": 1000,
      "minimum": 1,
      "type": "integer"
    },
    "max_credits": {
      "anyOf": [
        {
          "exclusiveMinimum": 0,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "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
    },
    "time": {
      "$ref": "#/$defs/Schema2"
    }
  },
  "required": [
    "dataset",
    "fields",
    "time"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "dataset": "douyin",
  "fields": [
    "product_id",
    "title",
    "product_url"
  ],
  "filters": [
    {
      "field": "product_id",
      "op": "eq",
      "value": "1234567890"
    }
  ],
  "limit": 10,
  "time": {
    "last_complete_months": 1
  }
}
```

### Synthetic response / 合成响应

```json
{
  "data": []
}
```

- data[].product_id (string): 上游记录中的抖音商品稳定标识，用于精确筛选，并与上游商品链接配套。
- data[].title (string): 抖音源数据记录的自然月商品标题，用于结果展示和分组，不作为精确商品筛选条件。
- data[].product_url (string): 抖音源数据提供的商品详情链接，与 product_id 配套；按源记录返回，不在查询层拼接。
- data[].shop_id (string): 上游记录的抖音店铺稳定标识，用于精确店铺筛选及授权后的租户范围选择。
- data[].shop (string): 抖音源数据记录的商品月度店铺名称，名称可能随时间变化，应通过值搜索进行对齐。
- data[].seller_id (string): 抖音源数据记录的商品月度卖家标识，按标识返回，不根据店铺名称推断。
- data[].brand (string): 抖音源数据记录的商品月度品牌名称，白牌或未分类商品可能为空。
- data[].category (string): 抖音源数据记录的商品月度末级类目名称，与四级类目层级字段区分。
- data[].category_id (string): 抖音源数据记录的商品月度末级类目标识，按源数据返回，不填充缺失值。
- data[].category_l1_id (string): 抖音源数据记录的一级类目标识，与对应的一级类目名称配套。
- data[].category_l1 (string): 抖音源数据记录的一级类目名称，与源层级中的 category_l1_id 配套。
- data[].category_l2_id (string): 抖音源数据记录的二级类目标识，与对应的二级类目名称配套。
- data[].category_l2 (string): 抖音源数据记录的二级类目名称，与源层级中的 category_l2_id 配套。
- data[].category_l3_id (string): 抖音源数据记录的三级类目标识，与对应的三级类目名称配套。
- data[].category_l3 (string): 抖音源数据记录的三级类目名称，与源层级中的 category_l3_id 配套。
- data[].category_l4_id (string): 抖音源数据记录的四级类目标识，与对应的四级类目名称配套。
- data[].category_l4 (string): 抖音源数据记录的四级类目名称，与源层级中的 category_l4_id 配套。
- data[].price (number): 抖音源数据记录的商品月度价格，是明细值，不作为月度销售额聚合指标。
- data[].is_first_seen (integer): 抖音源数据记录的商品月度首次出现标记，保留源含义，不由查询层推导日期。
- data[].month (time): 抖音商品记录所属自然月，是公开的月度时间维度，不等同于采集日期。
- data[].sales (number): 抖音源数据记录的单商品月度原始销售额，确认源行粒度后按 SUM(sales) 聚合。
- data[].volume (integer): 抖音源数据记录的单商品月度原始销量，完成重复处理复核后按 SUM(volume) 聚合。
## query_details

legacy · unknown · api_key, oauth

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

数据按自然月分区
search_products 可按商品名称或标题查找候选商品身份；query_metrics 和 query_details 的商品筛选仍需精确 product_id，本数据集未提供标准商品链接筛选
店铺可使用精确 shop_id 或经 search_values 对齐后的店铺名
不提供评价、流量、库存、因果解释或其他平台数据
同比、环比、份额、贡献度和跨期集合差异由 Agent 基于原子查询结果计算
指标口径、覆盖量级、更新时间和访问授权仍待上游确认
当前目录仅登记 2026-06 月份；覆盖范围、重复行处理和指标口径待确认

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

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

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

### Input schema / 输入契约

```json
{
  "$defs": {
    "Schema1": {
      "properties": {
        "field": {
          "description": "Public dimension used to scope the query.",
          "type": "string"
        },
        "op": {
          "description": "Use eq with one platform raw value already returned by search_values or earlier context; use in with all relevant returned raw values.",
          "enum": [
            "eq",
            "neq",
            "in",
            "not_in",
            "gt",
            "gte",
            "lt",
            "lte",
            "contains",
            "is_unknown",
            "is_known"
          ],
          "type": "string"
        },
        "value": {
          "anyOf": [
            {},
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Single operand for eq, neq, comparisons, or contains."
        },
        "values": {
          "anyOf": [
            {
              "items": {},
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Platform raw values used by in or not_in."
        }
      },
      "required": [
        "field",
        "op"
      ],
      "type": "object"
    },
    "Schema2": {
      "properties": {
        "end": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Inclusive end month/date. Use together with start."
        },
        "grain": {
          "const": "month",
          "default": "month",
          "type": "string"
        },
        "last_complete_months": {
          "anyOf": [
            {
              "maximum": 60,
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Server-resolved latest complete months ending at the authenticated data-through month. Use instead of describe for current/latest/recent monthly questions."
        },
        "start": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Inclusive start month/date. Use together with end."
        }
      },
      "type": "object"
    }
  },
  "properties": {
    "approved_plan_digest": {
      "anyOf": [
        {
          "pattern": "^plan_[0-9a-f]{64}$",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "dataset": {
      "const": "douyin"
    },
    "dry_run": {
      "default": false,
      "type": "boolean"
    },
    "fields": {
      "description": "Raw detail output fields. Use query_metrics for rankings and product or shop links.",
      "items": {
        "enum": [
          "product_id",
          "title",
          "product_url",
          "shop_id",
          "shop",
          "seller_id",
          "brand",
          "category",
          "category_id",
          "category_l1_id",
          "category_l1",
          "category_l2_id",
          "category_l2",
          "category_l3_id",
          "category_l3",
          "category_l4_id",
          "category_l4",
          "price",
          "is_first_seen",
          "month",
          "sales",
          "volume"
        ]
      },
      "maxItems": 34,
      "minItems": 1,
      "type": "array"
    },
    "filters": {
      "description": "Raw detail-field filters for a tightly scoped drilldown.",
      "items": {
        "$ref": "#/$defs/Schema1"
      },
      "type": "array"
    },
    "idempotency_key": {
      "anyOf": [
        {
          "maxLength": 128,
          "minLength": 1,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "MCP paid non-dry-run single operations require idempotency_key; REST and free previews may omit it."
    },
    "limit": {
      "default": 100,
      "maximum": 1000,
      "minimum": 1,
      "type": "integer"
    },
    "max_credits": {
      "anyOf": [
        {
          "exclusiveMinimum": 0,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "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
    },
    "time": {
      "$ref": "#/$defs/Schema2"
    }
  },
  "required": [
    "dataset",
    "fields",
    "time"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "dataset": "douyin",
  "fields": [
    "product_id",
    "title",
    "product_url"
  ],
  "filters": [
    {
      "field": "product_id",
      "op": "eq",
      "value": "1234567890"
    }
  ],
  "idempotency_key": "directory-example",
  "limit": 10,
  "time": {
    "last_complete_months": 1
  }
}
```

### Synthetic response / 合成响应

```json
{
  "data": []
}
```

- data[].product_id (string): 上游记录中的抖音商品稳定标识，用于精确筛选，并与上游商品链接配套。
- data[].title (string): 抖音源数据记录的自然月商品标题，用于结果展示和分组，不作为精确商品筛选条件。
- data[].product_url (string): 抖音源数据提供的商品详情链接，与 product_id 配套；按源记录返回，不在查询层拼接。
- data[].shop_id (string): 上游记录的抖音店铺稳定标识，用于精确店铺筛选及授权后的租户范围选择。
- data[].shop (string): 抖音源数据记录的商品月度店铺名称，名称可能随时间变化，应通过值搜索进行对齐。
- data[].seller_id (string): 抖音源数据记录的商品月度卖家标识，按标识返回，不根据店铺名称推断。
- data[].brand (string): 抖音源数据记录的商品月度品牌名称，白牌或未分类商品可能为空。
- data[].category (string): 抖音源数据记录的商品月度末级类目名称，与四级类目层级字段区分。
- data[].category_id (string): 抖音源数据记录的商品月度末级类目标识，按源数据返回，不填充缺失值。
- data[].category_l1_id (string): 抖音源数据记录的一级类目标识，与对应的一级类目名称配套。
- data[].category_l1 (string): 抖音源数据记录的一级类目名称，与源层级中的 category_l1_id 配套。
- data[].category_l2_id (string): 抖音源数据记录的二级类目标识，与对应的二级类目名称配套。
- data[].category_l2 (string): 抖音源数据记录的二级类目名称，与源层级中的 category_l2_id 配套。
- data[].category_l3_id (string): 抖音源数据记录的三级类目标识，与对应的三级类目名称配套。
- data[].category_l3 (string): 抖音源数据记录的三级类目名称，与源层级中的 category_l3_id 配套。
- data[].category_l4_id (string): 抖音源数据记录的四级类目标识，与对应的四级类目名称配套。
- data[].category_l4 (string): 抖音源数据记录的四级类目名称，与源层级中的 category_l4_id 配套。
- data[].price (number): 抖音源数据记录的商品月度价格，是明细值，不作为月度销售额聚合指标。
- data[].is_first_seen (integer): 抖音源数据记录的商品月度首次出现标记，保留源含义，不由查询层推导日期。
- data[].month (time): 抖音商品记录所属自然月，是公开的月度时间维度，不等同于采集日期。
- data[].sales (number): 抖音源数据记录的单商品月度原始销售额，确认源行粒度后按 SUM(sales) 聚合。
- data[].volume (integer): 抖音源数据记录的单商品月度原始销量，完成重复处理复核后按 SUM(volume) 聚合。
## asklear query-details

legacy · unknown · api_key, oauth

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

数据按自然月分区
search_products 可按商品名称或标题查找候选商品身份；query_metrics 和 query_details 的商品筛选仍需精确 product_id，本数据集未提供标准商品链接筛选
店铺可使用精确 shop_id 或经 search_values 对齐后的店铺名
不提供评价、流量、库存、因果解释或其他平台数据
同比、环比、份额、贡献度和跨期集合差异由 Agent 基于原子查询结果计算
指标口径、覆盖量级、更新时间和访问授权仍待上游确认
当前目录仅登记 2026-06 月份；覆盖范围、重复行处理和指标口径待确认

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

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

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

### Input schema / 输入契约

```json
{
  "$defs": {
    "Schema1": {
      "properties": {
        "field": {
          "description": "Public dimension used to scope the query.",
          "type": "string"
        },
        "op": {
          "description": "Use eq with one platform raw value already returned by search_values or earlier context; use in with all relevant returned raw values.",
          "enum": [
            "eq",
            "neq",
            "in",
            "not_in",
            "gt",
            "gte",
            "lt",
            "lte",
            "contains",
            "is_unknown",
            "is_known"
          ],
          "type": "string"
        },
        "value": {
          "anyOf": [
            {},
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Single operand for eq, neq, comparisons, or contains."
        },
        "values": {
          "anyOf": [
            {
              "items": {},
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Platform raw values used by in or not_in."
        }
      },
      "required": [
        "field",
        "op"
      ],
      "type": "object"
    },
    "Schema2": {
      "properties": {
        "end": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Inclusive end month/date. Use together with start."
        },
        "grain": {
          "const": "month",
          "default": "month",
          "type": "string"
        },
        "last_complete_months": {
          "anyOf": [
            {
              "maximum": 60,
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Server-resolved latest complete months ending at the authenticated data-through month. Use instead of describe for current/latest/recent monthly questions."
        },
        "start": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Inclusive start month/date. Use together with end."
        }
      },
      "type": "object"
    }
  },
  "properties": {
    "approved_plan_digest": {
      "anyOf": [
        {
          "pattern": "^plan_[0-9a-f]{64}$",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "dataset": {
      "const": "douyin"
    },
    "dry_run": {
      "default": false,
      "type": "boolean"
    },
    "fields": {
      "description": "Raw detail output fields. Use query_metrics for rankings and product or shop links.",
      "items": {
        "enum": [
          "product_id",
          "title",
          "product_url",
          "shop_id",
          "shop",
          "seller_id",
          "brand",
          "category",
          "category_id",
          "category_l1_id",
          "category_l1",
          "category_l2_id",
          "category_l2",
          "category_l3_id",
          "category_l3",
          "category_l4_id",
          "category_l4",
          "price",
          "is_first_seen",
          "month",
          "sales",
          "volume"
        ]
      },
      "maxItems": 34,
      "minItems": 1,
      "type": "array"
    },
    "filters": {
      "description": "Raw detail-field filters for a tightly scoped drilldown.",
      "items": {
        "$ref": "#/$defs/Schema1"
      },
      "type": "array"
    },
    "idempotency_key": {
      "anyOf": [
        {
          "maxLength": 128,
          "minLength": 1,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "MCP paid non-dry-run single operations require idempotency_key; REST and free previews may omit it."
    },
    "limit": {
      "default": 100,
      "maximum": 1000,
      "minimum": 1,
      "type": "integer"
    },
    "max_credits": {
      "anyOf": [
        {
          "exclusiveMinimum": 0,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "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
    },
    "time": {
      "$ref": "#/$defs/Schema2"
    }
  },
  "required": [
    "dataset",
    "fields",
    "time"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "dataset": "douyin",
  "fields": [
    "product_id",
    "title",
    "product_url"
  ],
  "filters": [
    {
      "field": "product_id",
      "op": "eq",
      "value": "1234567890"
    }
  ],
  "idempotency_key": "directory-example",
  "limit": 10,
  "time": {
    "last_complete_months": 1
  }
}
```

### Synthetic response / 合成响应

```json
{
  "data": []
}
```

- data[].product_id (string): 上游记录中的抖音商品稳定标识，用于精确筛选，并与上游商品链接配套。
- data[].title (string): 抖音源数据记录的自然月商品标题，用于结果展示和分组，不作为精确商品筛选条件。
- data[].product_url (string): 抖音源数据提供的商品详情链接，与 product_id 配套；按源记录返回，不在查询层拼接。
- data[].shop_id (string): 上游记录的抖音店铺稳定标识，用于精确店铺筛选及授权后的租户范围选择。
- data[].shop (string): 抖音源数据记录的商品月度店铺名称，名称可能随时间变化，应通过值搜索进行对齐。
- data[].seller_id (string): 抖音源数据记录的商品月度卖家标识，按标识返回，不根据店铺名称推断。
- data[].brand (string): 抖音源数据记录的商品月度品牌名称，白牌或未分类商品可能为空。
- data[].category (string): 抖音源数据记录的商品月度末级类目名称，与四级类目层级字段区分。
- data[].category_id (string): 抖音源数据记录的商品月度末级类目标识，按源数据返回，不填充缺失值。
- data[].category_l1_id (string): 抖音源数据记录的一级类目标识，与对应的一级类目名称配套。
- data[].category_l1 (string): 抖音源数据记录的一级类目名称，与源层级中的 category_l1_id 配套。
- data[].category_l2_id (string): 抖音源数据记录的二级类目标识，与对应的二级类目名称配套。
- data[].category_l2 (string): 抖音源数据记录的二级类目名称，与源层级中的 category_l2_id 配套。
- data[].category_l3_id (string): 抖音源数据记录的三级类目标识，与对应的三级类目名称配套。
- data[].category_l3 (string): 抖音源数据记录的三级类目名称，与源层级中的 category_l3_id 配套。
- data[].category_l4_id (string): 抖音源数据记录的四级类目标识，与对应的四级类目名称配套。
- data[].category_l4 (string): 抖音源数据记录的四级类目名称，与源层级中的 category_l4_id 配套。
- data[].price (number): 抖音源数据记录的商品月度价格，是明细值，不作为月度销售额聚合指标。
- data[].is_first_seen (integer): 抖音源数据记录的商品月度首次出现标记，保留源含义，不由查询层推导日期。
- data[].month (time): 抖音商品记录所属自然月，是公开的月度时间维度，不等同于采集日期。
- data[].sales (number): 抖音源数据记录的单商品月度原始销售额，确认源行粒度后按 SUM(sales) 聚合。
- data[].volume (integer): 抖音源数据记录的单商品月度原始销量，完成重复处理复核后按 SUM(volume) 聚合。
## POST /v1/search_products

legacy · unknown · api_key, oauth

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

仅返回商品身份；实际调用检查服务状态及账号授权。

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

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

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

### Input schema / 输入契约

```json
{
  "$defs": {
    "Schema1": {
      "properties": {
        "field": {
          "description": "Public dimension used to scope the query.",
          "type": "string"
        },
        "op": {
          "description": "Use eq with one platform raw value already returned by search_values or earlier context; use in with all relevant returned raw values.",
          "enum": [
            "eq",
            "neq",
            "in",
            "not_in",
            "gt",
            "gte",
            "lt",
            "lte",
            "contains",
            "is_unknown",
            "is_known"
          ],
          "type": "string"
        },
        "value": {
          "anyOf": [
            {},
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Single operand for eq, neq, comparisons, or contains."
        },
        "values": {
          "anyOf": [
            {
              "items": {},
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Platform raw values used by in or not_in."
        }
      },
      "required": [
        "field",
        "op"
      ],
      "type": "object"
    },
    "Schema2": {
      "properties": {
        "end": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Inclusive end month/date. Use together with start."
        },
        "grain": {
          "const": "month",
          "default": "month",
          "type": "string"
        },
        "last_complete_months": {
          "anyOf": [
            {
              "maximum": 60,
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Server-resolved latest complete months ending at the authenticated data-through month. Use instead of describe for current/latest/recent monthly questions."
        },
        "start": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Inclusive start month/date. Use together with end."
        }
      },
      "type": "object"
    }
  },
  "additionalProperties": false,
  "description": "Bounded request for resolving a product title to public identities.",
  "properties": {
    "approved_plan_digest": {
      "anyOf": [
        {
          "pattern": "^plan_[0-9a-f]{64}$",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "dataset": {
      "const": "douyin"
    },
    "dry_run": {
      "default": false,
      "description": "Return a price preview without executing or charging.",
      "type": "boolean"
    },
    "filters": {
      "description": "Optional brand, category, or shop filters. Only eq and in are supported.",
      "items": {
        "$ref": "#/$defs/Schema1"
      },
      "maxItems": 8,
      "type": "array"
    },
    "idempotency_key": {
      "anyOf": [
        {
          "maxLength": 128,
          "minLength": 1,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional REST key; MCP paid calls keep the existing idempotency rule."
    },
    "limit": {
      "default": 20,
      "maximum": 50,
      "minimum": 1,
      "type": "integer"
    },
    "max_credits": {
      "anyOf": [
        {
          "exclusiveMinimum": 0,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "query": {
      "description": "Product title fragment to match.",
      "maxLength": 128,
      "minLength": 1,
      "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
    },
    "time": {
      "anyOf": [
        {
          "$ref": "#/$defs/Schema2"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional monthly range. Omit to use the latest authorized complete month."
    }
  },
  "required": [
    "dataset",
    "query"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "dataset": "douyin",
  "limit": 10,
  "query": "example",
  "time": {
    "last_complete_months": 1
  }
}
```

### Synthetic response / 合成响应

```json
{
  "data": []
}
```

- data[].product_id (string): 暂无字段说明
- data[].title (string): 暂无字段说明
- data[].product_url (string): 暂无字段说明
- data[].brand (string): 暂无字段说明
- data[].category_l1 (string): 暂无字段说明
- data[].category_l2 (string): 暂无字段说明
- data[].category_l3 (string): 暂无字段说明
- data[].shop (string): 暂无字段说明
- data[].available_months (array<string>): 暂无字段说明

Follow up: GET /v1/search_products/{query_id}
Read an existing product search result.

## POST /v1/agent/run

native · unknown · api_key

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

抖音同步读取需要 API Key；遵循数据集授权及现有查询计费。

使用现有抖音查询价目表，由查询应用结算。

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

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

### Input schema / 输入契约

```json
{
  "$defs": {
    "Schema1": {
      "additionalProperties": false,
      "properties": {
        "country": {
          "default": "US",
          "enum": [
            "US",
            "GB",
            "DE",
            "FR",
            "IN",
            "CA",
            "JP",
            "ES",
            "IT",
            "MX",
            "AE",
            "AU",
            "BR",
            "SA"
          ],
          "type": "string"
        },
        "include_trends": {
          "default": "true",
          "enum": [
            "true",
            "false"
          ],
          "type": "string"
        },
        "product": {
          "maxLength": 2048,
          "minLength": 10,
          "type": "string"
        }
      },
      "required": [
        "product"
      ],
      "type": "object"
    },
    "Schema10": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "integer"
        },
        {
          "type": "number"
        },
        {
          "type": "boolean"
        },
        {
          "items": {
            "$ref": "#/$defs/Schema10"
          },
          "type": "array"
        },
        {
          "additionalProperties": {
            "$ref": "#/$defs/Schema10"
          },
          "type": "object"
        },
        {
          "type": "null"
        }
      ]
    },
    "Schema11": {
      "additionalProperties": false,
      "properties": {
        "creator_ref": {
          "anyOf": [
            {
              "maxLength": 2048,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "include_details": {
          "default": false,
          "type": "boolean"
        },
        "recent_content_limit": {
          "anyOf": [
            {
              "exclusiveMinimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "url": {
          "anyOf": [
            {
              "maxLength": 4096,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "type": "object"
    },
    "Schema12": {
      "additionalProperties": false,
      "properties": {
        "filters": {
          "anyOf": [
            {
              "additionalProperties": {
                "$ref": "#/$defs/Schema10"
              },
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "include_details": {
          "default": false,
          "type": "boolean"
        },
        "max_items": {
          "anyOf": [
            {
              "exclusiveMinimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "pages": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "const": "max",
              "type": "string"
            }
          ],
          "default": 3
        },
        "platform": {
          "enum": [
            "xhs",
            "douyin",
            "bilibili",
            "weibo",
            "wechat",
            "wechat_channels",
            "web",
            "amazon",
            "facebook",
            "instagram",
            "jd",
            "kuaishou",
            "linkedin",
            "reddit",
            "search",
            "taobao",
            "tiktok",
            "twitter",
            "xianyu",
            "youtube",
            "zhihu"
          ],
          "type": "string"
        },
        "query": {
          "maxLength": 500,
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "platform",
        "query"
      ],
      "type": "object"
    },
    "Schema2": {
      "additionalProperties": false,
      "properties": {
        "country": {
          "default": "US",
          "enum": [
            "US",
            "GB",
            "DE",
            "FR",
            "IN",
            "CA",
            "JP",
            "ES",
            "IT",
            "MX",
            "AE",
            "AU",
            "BR",
            "SA"
          ],
          "type": "string"
        },
        "page": {
          "default": 1,
          "maximum": 10000,
          "minimum": 1,
          "type": "integer"
        },
        "product": {
          "maxLength": 2048,
          "minLength": 10,
          "type": "string"
        },
        "since": {
          "default": "",
          "maxLength": 10,
          "type": "string"
        },
        "star": {
          "default": "all",
          "enum": [
            "all",
            "1",
            "2",
            "3",
            "4",
            "5"
          ],
          "type": "string"
        },
        "verified_purchase_only": {
          "default": "false",
          "enum": [
            "false",
            "true"
          ],
          "type": "string"
        }
      },
      "required": [
        "product"
      ],
      "type": "object"
    },
    "Schema3": {
      "additionalProperties": false,
      "properties": {
        "country": {
          "default": "US",
          "enum": [
            "US",
            "GB",
            "DE",
            "FR",
            "IN",
            "CA",
            "JP",
            "ES",
            "IT",
            "MX",
            "AE",
            "AU",
            "BR",
            "SA"
          ],
          "type": "string"
        },
        "page": {
          "default": 1,
          "maximum": 10000,
          "minimum": 1,
          "type": "integer"
        },
        "query": {
          "maxLength": 200,
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "query"
      ],
      "type": "object"
    },
    "Schema4": {
      "properties": {
        "filters": {
          "description": "Query-specific filters; shared scope belongs in common_filters.",
          "items": {
            "$ref": "#/$defs/Schema6"
          },
          "type": "array"
        },
        "group_by": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "limit": {
          "default": 100,
          "maximum": 1000,
          "minimum": 1,
          "type": "integer"
        },
        "metrics": {
          "items": {
            "type": "string"
          },
          "minItems": 1,
          "type": "array"
        },
        "name": {
          "pattern": "^[a-z][a-z0-9_]{0,63}$",
          "type": "string"
        },
        "order_by": {
          "items": {
            "$ref": "#/$defs/Schema5"
          },
          "type": "array"
        },
        "time": {
          "anyOf": [
            {
              "$ref": "#/$defs/Schema7"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Omit to inherit the main query time; provide for cross-period analysis."
        }
      },
      "required": [
        "name",
        "metrics"
      ],
      "type": "object"
    },
    "Schema5": {
      "properties": {
        "dir": {
          "default": "asc",
          "enum": [
            "asc",
            "desc"
          ],
          "type": "string"
        },
        "field": {
          "type": "string"
        }
      },
      "required": [
        "field"
      ],
      "type": "object"
    },
    "Schema6": {
      "properties": {
        "field": {
          "description": "Public dimension used to scope the query.",
          "type": "string"
        },
        "op": {
          "description": "Use eq with one platform raw value already returned by search_values or earlier context; use in with all relevant returned raw values.",
          "enum": [
            "eq",
            "neq",
            "in",
            "not_in",
            "gt",
            "gte",
            "lt",
            "lte",
            "contains",
            "is_unknown",
            "is_known"
          ],
          "type": "string"
        },
        "value": {
          "anyOf": [
            {},
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Single operand for eq, neq, comparisons, or contains."
        },
        "values": {
          "anyOf": [
            {
              "items": {},
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Platform raw values used by in or not_in."
        }
      },
      "required": [
        "field",
        "op"
      ],
      "type": "object"
    },
    "Schema7": {
      "properties": {
        "end": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Inclusive end month/date. Use together with start."
        },
        "grain": {
          "const": "month",
          "default": "month",
          "type": "string"
        },
        "last_complete_months": {
          "anyOf": [
            {
              "maximum": 60,
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Server-resolved latest complete months ending at the authenticated data-through month. Use instead of describe for current/latest/recent monthly questions."
        },
        "start": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Inclusive start month/date. Use together with end."
        }
      },
      "type": "object"
    },
    "Schema8": {
      "additionalProperties": false,
      "properties": {
        "platform": {
          "enum": [
            "xhs",
            "douyin",
            "bilibili",
            "weibo",
            "wechat",
            "wechat_channels",
            "web",
            "amazon",
            "facebook",
            "instagram",
            "jd",
            "kuaishou",
            "linkedin",
            "reddit",
            "search",
            "taobao",
            "tiktok",
            "twitter",
            "xianyu",
            "youtube",
            "zhihu"
          ],
          "type": "string"
        }
      },
      "required": [
        "platform"
      ],
      "type": "object"
    },
    "Schema9": {
      "additionalProperties": false,
      "properties": {
        "content_ref": {
          "anyOf": [
            {
              "maxLength": 2048,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "include_replies": {
          "default": false,
          "type": "boolean"
        },
        "max_comments": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "url": {
          "anyOf": [
            {
              "maxLength": 4096,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "idempotency_key": {
      "maxLength": 256,
      "minLength": 1,
      "type": "string"
    },
    "include_details": {
      "default": false,
      "type": "boolean"
    },
    "input": {
      "properties": {
        "additional_queries": {
          "description": "Up to three additional analyses for shares, comparisons, or multiple views.",
          "items": {
            "$ref": "#/$defs/Schema4"
          },
          "maxItems": 3,
          "type": "array"
        },
        "common_filters": {
          "description": "Filters applied to every query in the bundle.",
          "items": {
            "$ref": "#/$defs/Schema6"
          },
          "type": "array"
        },
        "dataset": {
          "const": "douyin"
        },
        "dry_run": {
          "default": false,
          "description": "Set true only when the user asks for a price preview.",
          "type": "boolean"
        },
        "filters": {
          "description": "Aligned query scope. Resolve user-supplied brand, shop, and category names with search_values; product/shop URLs are values for product_id/shop_id.",
          "items": {
            "$ref": "#/$defs/Schema6"
          },
          "type": "array"
        },
        "group_by": {
          "description": "Exact public result dimensions. Include month for a monthly trend; for entity results include the declared ID, name, and URL fields.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "idempotency_key": {
          "anyOf": [
            {
              "maxLength": 128,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Native run requires an outer idempotency_key that binds the entire single or non-atomic bundle request. Keep it on a network retry; replay returns existing result links without rerunning failed bundle items."
        },
        "limit": {
          "default": 100,
          "maximum": 1000,
          "minimum": 1,
          "type": "integer"
        },
        "main_query_name": {
          "anyOf": [
            {
              "pattern": "^[a-z][a-z0-9_]{0,63}$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Main result ID for a bundle; omit for one query. Use lowercase ASCII, digits, and underscores."
        },
        "max_credits": {
          "anyOf": [
            {
              "exclusiveMinimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "metrics": {
          "description": "Public metrics requested by the user; do not add unrequested metrics.",
          "items": {
            "type": "string"
          },
          "minItems": 1,
          "type": "array"
        },
        "order_by": {
          "description": "Sort by a returned metric or groupable dimension.",
          "items": {
            "$ref": "#/$defs/Schema5"
          },
          "type": "array"
        },
        "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
        },
        "time": {
          "$ref": "#/$defs/Schema7",
          "description": "Absolute range or last_complete_months; relative time needs no describe."
        }
      },
      "required": [
        "dataset",
        "metrics",
        "time"
      ],
      "type": "object"
    },
    "max_credits": {
      "anyOf": [
        {
          "minimum": 1,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ]
    },
    "max_detail_items": {
      "anyOf": [
        {
          "maximum": 128,
          "minimum": 1,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "operation": {
      "const": "query_metrics"
    },
    "pages": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "const": "max",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "wait_seconds": {
      "default": 10,
      "maximum": 30,
      "minimum": 0,
      "type": "integer"
    }
  },
  "required": [
    "operation",
    "input",
    "idempotency_key"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "idempotency_key": "directory-example",
  "input": {
    "dataset": "douyin",
    "group_by": [
      "brand"
    ],
    "limit": 10,
    "metrics": [
      "gmv"
    ],
    "time": {
      "last_complete_months": 1
    }
  },
  "operation": "query_metrics"
}
```

### Synthetic response / 合成响应

```json
{
  "data": [],
  "meta": {
    "dataset": "douyin"
  }
}
```

- compiled (boolean): 暂无字段说明
- data (array): 暂无字段说明
- estimate (object): 暂无字段说明
- meta (object): 暂无字段说明
- plan_digest (string): 暂无字段说明
- results (array): 暂无字段说明
## run

native · unknown · api_key

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

抖音同步读取需要 API Key；遵循数据集授权及现有查询计费。

使用现有抖音查询价目表，由查询应用结算。

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

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

### Input schema / 输入契约

```json
{
  "$defs": {
    "Schema1": {
      "additionalProperties": false,
      "properties": {
        "country": {
          "default": "US",
          "enum": [
            "US",
            "GB",
            "DE",
            "FR",
            "IN",
            "CA",
            "JP",
            "ES",
            "IT",
            "MX",
            "AE",
            "AU",
            "BR",
            "SA"
          ],
          "type": "string"
        },
        "include_trends": {
          "default": "true",
          "enum": [
            "true",
            "false"
          ],
          "type": "string"
        },
        "product": {
          "maxLength": 2048,
          "minLength": 10,
          "type": "string"
        }
      },
      "required": [
        "product"
      ],
      "type": "object"
    },
    "Schema10": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "integer"
        },
        {
          "type": "number"
        },
        {
          "type": "boolean"
        },
        {
          "items": {
            "$ref": "#/$defs/Schema10"
          },
          "type": "array"
        },
        {
          "additionalProperties": {
            "$ref": "#/$defs/Schema10"
          },
          "type": "object"
        },
        {
          "type": "null"
        }
      ]
    },
    "Schema11": {
      "additionalProperties": false,
      "properties": {
        "creator_ref": {
          "anyOf": [
            {
              "maxLength": 2048,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "include_details": {
          "default": false,
          "type": "boolean"
        },
        "recent_content_limit": {
          "anyOf": [
            {
              "exclusiveMinimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "url": {
          "anyOf": [
            {
              "maxLength": 4096,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "type": "object"
    },
    "Schema12": {
      "additionalProperties": false,
      "properties": {
        "filters": {
          "anyOf": [
            {
              "additionalProperties": {
                "$ref": "#/$defs/Schema10"
              },
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "include_details": {
          "default": false,
          "type": "boolean"
        },
        "max_items": {
          "anyOf": [
            {
              "exclusiveMinimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "pages": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "const": "max",
              "type": "string"
            }
          ],
          "default": 3
        },
        "platform": {
          "enum": [
            "xhs",
            "douyin",
            "bilibili",
            "weibo",
            "wechat",
            "wechat_channels",
            "web",
            "amazon",
            "facebook",
            "instagram",
            "jd",
            "kuaishou",
            "linkedin",
            "reddit",
            "search",
            "taobao",
            "tiktok",
            "twitter",
            "xianyu",
            "youtube",
            "zhihu"
          ],
          "type": "string"
        },
        "query": {
          "maxLength": 500,
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "platform",
        "query"
      ],
      "type": "object"
    },
    "Schema2": {
      "additionalProperties": false,
      "properties": {
        "country": {
          "default": "US",
          "enum": [
            "US",
            "GB",
            "DE",
            "FR",
            "IN",
            "CA",
            "JP",
            "ES",
            "IT",
            "MX",
            "AE",
            "AU",
            "BR",
            "SA"
          ],
          "type": "string"
        },
        "page": {
          "default": 1,
          "maximum": 10000,
          "minimum": 1,
          "type": "integer"
        },
        "product": {
          "maxLength": 2048,
          "minLength": 10,
          "type": "string"
        },
        "since": {
          "default": "",
          "maxLength": 10,
          "type": "string"
        },
        "star": {
          "default": "all",
          "enum": [
            "all",
            "1",
            "2",
            "3",
            "4",
            "5"
          ],
          "type": "string"
        },
        "verified_purchase_only": {
          "default": "false",
          "enum": [
            "false",
            "true"
          ],
          "type": "string"
        }
      },
      "required": [
        "product"
      ],
      "type": "object"
    },
    "Schema3": {
      "additionalProperties": false,
      "properties": {
        "country": {
          "default": "US",
          "enum": [
            "US",
            "GB",
            "DE",
            "FR",
            "IN",
            "CA",
            "JP",
            "ES",
            "IT",
            "MX",
            "AE",
            "AU",
            "BR",
            "SA"
          ],
          "type": "string"
        },
        "page": {
          "default": 1,
          "maximum": 10000,
          "minimum": 1,
          "type": "integer"
        },
        "query": {
          "maxLength": 200,
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "query"
      ],
      "type": "object"
    },
    "Schema4": {
      "properties": {
        "filters": {
          "description": "Query-specific filters; shared scope belongs in common_filters.",
          "items": {
            "$ref": "#/$defs/Schema6"
          },
          "type": "array"
        },
        "group_by": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "limit": {
          "default": 100,
          "maximum": 1000,
          "minimum": 1,
          "type": "integer"
        },
        "metrics": {
          "items": {
            "type": "string"
          },
          "minItems": 1,
          "type": "array"
        },
        "name": {
          "pattern": "^[a-z][a-z0-9_]{0,63}$",
          "type": "string"
        },
        "order_by": {
          "items": {
            "$ref": "#/$defs/Schema5"
          },
          "type": "array"
        },
        "time": {
          "anyOf": [
            {
              "$ref": "#/$defs/Schema7"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Omit to inherit the main query time; provide for cross-period analysis."
        }
      },
      "required": [
        "name",
        "metrics"
      ],
      "type": "object"
    },
    "Schema5": {
      "properties": {
        "dir": {
          "default": "asc",
          "enum": [
            "asc",
            "desc"
          ],
          "type": "string"
        },
        "field": {
          "type": "string"
        }
      },
      "required": [
        "field"
      ],
      "type": "object"
    },
    "Schema6": {
      "properties": {
        "field": {
          "description": "Public dimension used to scope the query.",
          "type": "string"
        },
        "op": {
          "description": "Use eq with one platform raw value already returned by search_values or earlier context; use in with all relevant returned raw values.",
          "enum": [
            "eq",
            "neq",
            "in",
            "not_in",
            "gt",
            "gte",
            "lt",
            "lte",
            "contains",
            "is_unknown",
            "is_known"
          ],
          "type": "string"
        },
        "value": {
          "anyOf": [
            {},
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Single operand for eq, neq, comparisons, or contains."
        },
        "values": {
          "anyOf": [
            {
              "items": {},
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Platform raw values used by in or not_in."
        }
      },
      "required": [
        "field",
        "op"
      ],
      "type": "object"
    },
    "Schema7": {
      "properties": {
        "end": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Inclusive end month/date. Use together with start."
        },
        "grain": {
          "const": "month",
          "default": "month",
          "type": "string"
        },
        "last_complete_months": {
          "anyOf": [
            {
              "maximum": 60,
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Server-resolved latest complete months ending at the authenticated data-through month. Use instead of describe for current/latest/recent monthly questions."
        },
        "start": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Inclusive start month/date. Use together with end."
        }
      },
      "type": "object"
    },
    "Schema8": {
      "additionalProperties": false,
      "properties": {
        "platform": {
          "enum": [
            "xhs",
            "douyin",
            "bilibili",
            "weibo",
            "wechat",
            "wechat_channels",
            "web",
            "amazon",
            "facebook",
            "instagram",
            "jd",
            "kuaishou",
            "linkedin",
            "reddit",
            "search",
            "taobao",
            "tiktok",
            "twitter",
            "xianyu",
            "youtube",
            "zhihu"
          ],
          "type": "string"
        }
      },
      "required": [
        "platform"
      ],
      "type": "object"
    },
    "Schema9": {
      "additionalProperties": false,
      "properties": {
        "content_ref": {
          "anyOf": [
            {
              "maxLength": 2048,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "include_replies": {
          "default": false,
          "type": "boolean"
        },
        "max_comments": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "url": {
          "anyOf": [
            {
              "maxLength": 4096,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "idempotency_key": {
      "maxLength": 256,
      "minLength": 1,
      "type": "string"
    },
    "include_details": {
      "default": false,
      "type": "boolean"
    },
    "input": {
      "properties": {
        "additional_queries": {
          "description": "Up to three additional analyses for shares, comparisons, or multiple views.",
          "items": {
            "$ref": "#/$defs/Schema4"
          },
          "maxItems": 3,
          "type": "array"
        },
        "common_filters": {
          "description": "Filters applied to every query in the bundle.",
          "items": {
            "$ref": "#/$defs/Schema6"
          },
          "type": "array"
        },
        "dataset": {
          "const": "douyin"
        },
        "dry_run": {
          "default": false,
          "description": "Set true only when the user asks for a price preview.",
          "type": "boolean"
        },
        "filters": {
          "description": "Aligned query scope. Resolve user-supplied brand, shop, and category names with search_values; product/shop URLs are values for product_id/shop_id.",
          "items": {
            "$ref": "#/$defs/Schema6"
          },
          "type": "array"
        },
        "group_by": {
          "description": "Exact public result dimensions. Include month for a monthly trend; for entity results include the declared ID, name, and URL fields.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "idempotency_key": {
          "anyOf": [
            {
              "maxLength": 128,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Native run requires an outer idempotency_key that binds the entire single or non-atomic bundle request. Keep it on a network retry; replay returns existing result links without rerunning failed bundle items."
        },
        "limit": {
          "default": 100,
          "maximum": 1000,
          "minimum": 1,
          "type": "integer"
        },
        "main_query_name": {
          "anyOf": [
            {
              "pattern": "^[a-z][a-z0-9_]{0,63}$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Main result ID for a bundle; omit for one query. Use lowercase ASCII, digits, and underscores."
        },
        "max_credits": {
          "anyOf": [
            {
              "exclusiveMinimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "metrics": {
          "description": "Public metrics requested by the user; do not add unrequested metrics.",
          "items": {
            "type": "string"
          },
          "minItems": 1,
          "type": "array"
        },
        "order_by": {
          "description": "Sort by a returned metric or groupable dimension.",
          "items": {
            "$ref": "#/$defs/Schema5"
          },
          "type": "array"
        },
        "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
        },
        "time": {
          "$ref": "#/$defs/Schema7",
          "description": "Absolute range or last_complete_months; relative time needs no describe."
        }
      },
      "required": [
        "dataset",
        "metrics",
        "time"
      ],
      "type": "object"
    },
    "max_credits": {
      "anyOf": [
        {
          "minimum": 1,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ]
    },
    "max_detail_items": {
      "anyOf": [
        {
          "maximum": 128,
          "minimum": 1,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "operation": {
      "const": "query_metrics"
    },
    "pages": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "const": "max",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "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
    },
    "wait_seconds": {
      "default": 10,
      "maximum": 30,
      "minimum": 0,
      "type": "integer"
    }
  },
  "required": [
    "operation",
    "input",
    "idempotency_key"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "idempotency_key": "directory-example",
  "input": {
    "dataset": "douyin",
    "group_by": [
      "brand"
    ],
    "limit": 10,
    "metrics": [
      "gmv"
    ],
    "time": {
      "last_complete_months": 1
    }
  },
  "operation": "query_metrics"
}
```

### Synthetic response / 合成响应

```json
{
  "data": [],
  "meta": {
    "dataset": "douyin"
  }
}
```

- compiled (boolean): 暂无字段说明
- data (array): 暂无字段说明
- estimate (object): 暂无字段说明
- meta (object): 暂无字段说明
- plan_digest (string): 暂无字段说明
- results (array): 暂无字段说明
## POST /v1/agent/run

native · unknown · api_key

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

抖音数据查询需要 API Key；遵循数据集授权及查询价目表。

使用 Asklear 数据查询价目表结算。

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

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

### Input schema / 输入契约

```json
{
  "$defs": {
    "Schema1": {
      "additionalProperties": false,
      "properties": {
        "country": {
          "default": "US",
          "enum": [
            "US",
            "GB",
            "DE",
            "FR",
            "IN",
            "CA",
            "JP",
            "ES",
            "IT",
            "MX",
            "AE",
            "AU",
            "BR",
            "SA"
          ],
          "type": "string"
        },
        "include_trends": {
          "default": "true",
          "enum": [
            "true",
            "false"
          ],
          "type": "string"
        },
        "product": {
          "maxLength": 2048,
          "minLength": 10,
          "type": "string"
        }
      },
      "required": [
        "product"
      ],
      "type": "object"
    },
    "Schema10": {
      "additionalProperties": false,
      "properties": {
        "filters": {
          "anyOf": [
            {
              "additionalProperties": {
                "$ref": "#/$defs/Schema8"
              },
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "include_details": {
          "default": false,
          "type": "boolean"
        },
        "max_items": {
          "anyOf": [
            {
              "exclusiveMinimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "pages": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "const": "max",
              "type": "string"
            }
          ],
          "default": 3
        },
        "platform": {
          "enum": [
            "xhs",
            "douyin",
            "bilibili",
            "weibo",
            "wechat",
            "wechat_channels",
            "web",
            "amazon",
            "facebook",
            "instagram",
            "jd",
            "kuaishou",
            "linkedin",
            "reddit",
            "search",
            "taobao",
            "tiktok",
            "twitter",
            "xianyu",
            "youtube",
            "zhihu"
          ],
          "type": "string"
        },
        "query": {
          "maxLength": 500,
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "platform",
        "query"
      ],
      "type": "object"
    },
    "Schema2": {
      "additionalProperties": false,
      "properties": {
        "country": {
          "default": "US",
          "enum": [
            "US",
            "GB",
            "DE",
            "FR",
            "IN",
            "CA",
            "JP",
            "ES",
            "IT",
            "MX",
            "AE",
            "AU",
            "BR",
            "SA"
          ],
          "type": "string"
        },
        "page": {
          "default": 1,
          "maximum": 10000,
          "minimum": 1,
          "type": "integer"
        },
        "product": {
          "maxLength": 2048,
          "minLength": 10,
          "type": "string"
        },
        "since": {
          "default": "",
          "maxLength": 10,
          "type": "string"
        },
        "star": {
          "default": "all",
          "enum": [
            "all",
            "1",
            "2",
            "3",
            "4",
            "5"
          ],
          "type": "string"
        },
        "verified_purchase_only": {
          "default": "false",
          "enum": [
            "false",
            "true"
          ],
          "type": "string"
        }
      },
      "required": [
        "product"
      ],
      "type": "object"
    },
    "Schema3": {
      "additionalProperties": false,
      "properties": {
        "country": {
          "default": "US",
          "enum": [
            "US",
            "GB",
            "DE",
            "FR",
            "IN",
            "CA",
            "JP",
            "ES",
            "IT",
            "MX",
            "AE",
            "AU",
            "BR",
            "SA"
          ],
          "type": "string"
        },
        "page": {
          "default": 1,
          "maximum": 10000,
          "minimum": 1,
          "type": "integer"
        },
        "query": {
          "maxLength": 200,
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "query"
      ],
      "type": "object"
    },
    "Schema4": {
      "properties": {
        "field": {
          "description": "Public dimension used to scope the query.",
          "type": "string"
        },
        "op": {
          "description": "Use eq with one platform raw value already returned by search_values or earlier context; use in with all relevant returned raw values.",
          "enum": [
            "eq",
            "neq",
            "in",
            "not_in",
            "gt",
            "gte",
            "lt",
            "lte",
            "contains",
            "is_unknown",
            "is_known"
          ],
          "type": "string"
        },
        "value": {
          "anyOf": [
            {},
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Single operand for eq, neq, comparisons, or contains."
        },
        "values": {
          "anyOf": [
            {
              "items": {},
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Platform raw values used by in or not_in."
        }
      },
      "required": [
        "field",
        "op"
      ],
      "type": "object"
    },
    "Schema5": {
      "properties": {
        "end": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Inclusive end month/date. Use together with start."
        },
        "grain": {
          "const": "month",
          "default": "month",
          "type": "string"
        },
        "last_complete_months": {
          "anyOf": [
            {
              "maximum": 60,
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Server-resolved latest complete months ending at the authenticated data-through month. Use instead of describe for current/latest/recent monthly questions."
        },
        "start": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Inclusive start month/date. Use together with end."
        }
      },
      "type": "object"
    },
    "Schema6": {
      "additionalProperties": false,
      "properties": {
        "platform": {
          "enum": [
            "xhs",
            "douyin",
            "bilibili",
            "weibo",
            "wechat",
            "wechat_channels",
            "web",
            "amazon",
            "facebook",
            "instagram",
            "jd",
            "kuaishou",
            "linkedin",
            "reddit",
            "search",
            "taobao",
            "tiktok",
            "twitter",
            "xianyu",
            "youtube",
            "zhihu"
          ],
          "type": "string"
        }
      },
      "required": [
        "platform"
      ],
      "type": "object"
    },
    "Schema7": {
      "additionalProperties": false,
      "properties": {
        "content_ref": {
          "anyOf": [
            {
              "maxLength": 2048,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "include_replies": {
          "default": false,
          "type": "boolean"
        },
        "max_comments": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "url": {
          "anyOf": [
            {
              "maxLength": 4096,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "type": "object"
    },
    "Schema8": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "integer"
        },
        {
          "type": "number"
        },
        {
          "type": "boolean"
        },
        {
          "items": {
            "$ref": "#/$defs/Schema8"
          },
          "type": "array"
        },
        {
          "additionalProperties": {
            "$ref": "#/$defs/Schema8"
          },
          "type": "object"
        },
        {
          "type": "null"
        }
      ]
    },
    "Schema9": {
      "additionalProperties": false,
      "properties": {
        "creator_ref": {
          "anyOf": [
            {
              "maxLength": 2048,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "include_details": {
          "default": false,
          "type": "boolean"
        },
        "recent_content_limit": {
          "anyOf": [
            {
              "exclusiveMinimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "url": {
          "anyOf": [
            {
              "maxLength": 4096,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "idempotency_key": {
      "maxLength": 256,
      "minLength": 1,
      "type": "string"
    },
    "include_details": {
      "default": false,
      "type": "boolean"
    },
    "input": {
      "properties": {
        "dataset": {
          "const": "douyin"
        },
        "dry_run": {
          "default": false,
          "type": "boolean"
        },
        "fields": {
          "description": "Raw detail output fields. Use query_metrics for rankings and product or shop links.",
          "items": {
            "type": "string"
          },
          "maxItems": 34,
          "minItems": 1,
          "type": "array"
        },
        "filters": {
          "description": "Raw detail-field filters for a tightly scoped drilldown.",
          "items": {
            "$ref": "#/$defs/Schema4"
          },
          "type": "array"
        },
        "idempotency_key": {
          "anyOf": [
            {
              "maxLength": 128,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Native execution binds the complete request to the outer idempotency_key."
        },
        "limit": {
          "default": 100,
          "maximum": 1000,
          "minimum": 1,
          "type": "integer"
        },
        "max_credits": {
          "anyOf": [
            {
              "exclusiveMinimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "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
        },
        "time": {
          "$ref": "#/$defs/Schema5"
        }
      },
      "required": [
        "dataset",
        "fields",
        "time"
      ],
      "type": "object"
    },
    "max_credits": {
      "anyOf": [
        {
          "minimum": 1,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ]
    },
    "max_detail_items": {
      "anyOf": [
        {
          "maximum": 128,
          "minimum": 1,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "operation": {
      "const": "query_details"
    },
    "pages": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "const": "max",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "wait_seconds": {
      "default": 10,
      "maximum": 30,
      "minimum": 0,
      "type": "integer"
    }
  },
  "required": [
    "operation",
    "input",
    "idempotency_key"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "idempotency_key": "directory-example",
  "input": {
    "dataset": "douyin",
    "fields": [
      "product_id"
    ],
    "limit": 10,
    "time": {
      "last_complete_months": 1
    }
  },
  "operation": "query_details"
}
```

### Synthetic response / 合成响应

```json
{
  "data": [],
  "meta": {
    "dataset": "douyin"
  }
}
```

- billing (object): 暂无字段说明
- compiled (boolean): 暂无字段说明
- data (array): 暂无字段说明
- estimate (object): 暂无字段说明
- meta (object): 暂无字段说明
- plan_digest (string): 暂无字段说明
- results (array): 暂无字段说明
## run

native · unknown · api_key

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

抖音数据查询需要 API Key；遵循数据集授权及查询价目表。

使用 Asklear 数据查询价目表结算。

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

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

### Input schema / 输入契约

```json
{
  "$defs": {
    "Schema1": {
      "additionalProperties": false,
      "properties": {
        "country": {
          "default": "US",
          "enum": [
            "US",
            "GB",
            "DE",
            "FR",
            "IN",
            "CA",
            "JP",
            "ES",
            "IT",
            "MX",
            "AE",
            "AU",
            "BR",
            "SA"
          ],
          "type": "string"
        },
        "include_trends": {
          "default": "true",
          "enum": [
            "true",
            "false"
          ],
          "type": "string"
        },
        "product": {
          "maxLength": 2048,
          "minLength": 10,
          "type": "string"
        }
      },
      "required": [
        "product"
      ],
      "type": "object"
    },
    "Schema10": {
      "additionalProperties": false,
      "properties": {
        "filters": {
          "anyOf": [
            {
              "additionalProperties": {
                "$ref": "#/$defs/Schema8"
              },
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "include_details": {
          "default": false,
          "type": "boolean"
        },
        "max_items": {
          "anyOf": [
            {
              "exclusiveMinimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "pages": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "const": "max",
              "type": "string"
            }
          ],
          "default": 3
        },
        "platform": {
          "enum": [
            "xhs",
            "douyin",
            "bilibili",
            "weibo",
            "wechat",
            "wechat_channels",
            "web",
            "amazon",
            "facebook",
            "instagram",
            "jd",
            "kuaishou",
            "linkedin",
            "reddit",
            "search",
            "taobao",
            "tiktok",
            "twitter",
            "xianyu",
            "youtube",
            "zhihu"
          ],
          "type": "string"
        },
        "query": {
          "maxLength": 500,
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "platform",
        "query"
      ],
      "type": "object"
    },
    "Schema2": {
      "additionalProperties": false,
      "properties": {
        "country": {
          "default": "US",
          "enum": [
            "US",
            "GB",
            "DE",
            "FR",
            "IN",
            "CA",
            "JP",
            "ES",
            "IT",
            "MX",
            "AE",
            "AU",
            "BR",
            "SA"
          ],
          "type": "string"
        },
        "page": {
          "default": 1,
          "maximum": 10000,
          "minimum": 1,
          "type": "integer"
        },
        "product": {
          "maxLength": 2048,
          "minLength": 10,
          "type": "string"
        },
        "since": {
          "default": "",
          "maxLength": 10,
          "type": "string"
        },
        "star": {
          "default": "all",
          "enum": [
            "all",
            "1",
            "2",
            "3",
            "4",
            "5"
          ],
          "type": "string"
        },
        "verified_purchase_only": {
          "default": "false",
          "enum": [
            "false",
            "true"
          ],
          "type": "string"
        }
      },
      "required": [
        "product"
      ],
      "type": "object"
    },
    "Schema3": {
      "additionalProperties": false,
      "properties": {
        "country": {
          "default": "US",
          "enum": [
            "US",
            "GB",
            "DE",
            "FR",
            "IN",
            "CA",
            "JP",
            "ES",
            "IT",
            "MX",
            "AE",
            "AU",
            "BR",
            "SA"
          ],
          "type": "string"
        },
        "page": {
          "default": 1,
          "maximum": 10000,
          "minimum": 1,
          "type": "integer"
        },
        "query": {
          "maxLength": 200,
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "query"
      ],
      "type": "object"
    },
    "Schema4": {
      "properties": {
        "field": {
          "description": "Public dimension used to scope the query.",
          "type": "string"
        },
        "op": {
          "description": "Use eq with one platform raw value already returned by search_values or earlier context; use in with all relevant returned raw values.",
          "enum": [
            "eq",
            "neq",
            "in",
            "not_in",
            "gt",
            "gte",
            "lt",
            "lte",
            "contains",
            "is_unknown",
            "is_known"
          ],
          "type": "string"
        },
        "value": {
          "anyOf": [
            {},
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Single operand for eq, neq, comparisons, or contains."
        },
        "values": {
          "anyOf": [
            {
              "items": {},
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Platform raw values used by in or not_in."
        }
      },
      "required": [
        "field",
        "op"
      ],
      "type": "object"
    },
    "Schema5": {
      "properties": {
        "end": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Inclusive end month/date. Use together with start."
        },
        "grain": {
          "const": "month",
          "default": "month",
          "type": "string"
        },
        "last_complete_months": {
          "anyOf": [
            {
              "maximum": 60,
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Server-resolved latest complete months ending at the authenticated data-through month. Use instead of describe for current/latest/recent monthly questions."
        },
        "start": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Inclusive start month/date. Use together with end."
        }
      },
      "type": "object"
    },
    "Schema6": {
      "additionalProperties": false,
      "properties": {
        "platform": {
          "enum": [
            "xhs",
            "douyin",
            "bilibili",
            "weibo",
            "wechat",
            "wechat_channels",
            "web",
            "amazon",
            "facebook",
            "instagram",
            "jd",
            "kuaishou",
            "linkedin",
            "reddit",
            "search",
            "taobao",
            "tiktok",
            "twitter",
            "xianyu",
            "youtube",
            "zhihu"
          ],
          "type": "string"
        }
      },
      "required": [
        "platform"
      ],
      "type": "object"
    },
    "Schema7": {
      "additionalProperties": false,
      "properties": {
        "content_ref": {
          "anyOf": [
            {
              "maxLength": 2048,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "include_replies": {
          "default": false,
          "type": "boolean"
        },
        "max_comments": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "url": {
          "anyOf": [
            {
              "maxLength": 4096,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "type": "object"
    },
    "Schema8": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "integer"
        },
        {
          "type": "number"
        },
        {
          "type": "boolean"
        },
        {
          "items": {
            "$ref": "#/$defs/Schema8"
          },
          "type": "array"
        },
        {
          "additionalProperties": {
            "$ref": "#/$defs/Schema8"
          },
          "type": "object"
        },
        {
          "type": "null"
        }
      ]
    },
    "Schema9": {
      "additionalProperties": false,
      "properties": {
        "creator_ref": {
          "anyOf": [
            {
              "maxLength": 2048,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "include_details": {
          "default": false,
          "type": "boolean"
        },
        "recent_content_limit": {
          "anyOf": [
            {
              "exclusiveMinimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "url": {
          "anyOf": [
            {
              "maxLength": 4096,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "idempotency_key": {
      "maxLength": 256,
      "minLength": 1,
      "type": "string"
    },
    "include_details": {
      "default": false,
      "type": "boolean"
    },
    "input": {
      "properties": {
        "dataset": {
          "const": "douyin"
        },
        "dry_run": {
          "default": false,
          "type": "boolean"
        },
        "fields": {
          "description": "Raw detail output fields. Use query_metrics for rankings and product or shop links.",
          "items": {
            "type": "string"
          },
          "maxItems": 34,
          "minItems": 1,
          "type": "array"
        },
        "filters": {
          "description": "Raw detail-field filters for a tightly scoped drilldown.",
          "items": {
            "$ref": "#/$defs/Schema4"
          },
          "type": "array"
        },
        "idempotency_key": {
          "anyOf": [
            {
              "maxLength": 128,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Native execution binds the complete request to the outer idempotency_key."
        },
        "limit": {
          "default": 100,
          "maximum": 1000,
          "minimum": 1,
          "type": "integer"
        },
        "max_credits": {
          "anyOf": [
            {
              "exclusiveMinimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "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
        },
        "time": {
          "$ref": "#/$defs/Schema5"
        }
      },
      "required": [
        "dataset",
        "fields",
        "time"
      ],
      "type": "object"
    },
    "max_credits": {
      "anyOf": [
        {
          "minimum": 1,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ]
    },
    "max_detail_items": {
      "anyOf": [
        {
          "maximum": 128,
          "minimum": 1,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "operation": {
      "const": "query_details"
    },
    "pages": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "const": "max",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "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
    },
    "wait_seconds": {
      "default": 10,
      "maximum": 30,
      "minimum": 0,
      "type": "integer"
    }
  },
  "required": [
    "operation",
    "input",
    "idempotency_key"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "idempotency_key": "directory-example",
  "input": {
    "dataset": "douyin",
    "fields": [
      "product_id"
    ],
    "limit": 10,
    "time": {
      "last_complete_months": 1
    }
  },
  "operation": "query_details"
}
```

### Synthetic response / 合成响应

```json
{
  "data": [],
  "meta": {
    "dataset": "douyin"
  }
}
```

- billing (object): 暂无字段说明
- compiled (boolean): 暂无字段说明
- data (array): 暂无字段说明
- estimate (object): 暂无字段说明
- meta (object): 暂无字段说明
- plan_digest (string): 暂无字段说明
- results (array): 暂无字段说明
## POST /v1/agent/run

native · unknown · api_key

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

抖音数据查询需要 API Key；遵循数据集授权及查询价目表。

使用 Asklear 数据查询价目表结算。

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

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

### Input schema / 输入契约

```json
{
  "$defs": {
    "Schema1": {
      "additionalProperties": false,
      "properties": {
        "country": {
          "default": "US",
          "enum": [
            "US",
            "GB",
            "DE",
            "FR",
            "IN",
            "CA",
            "JP",
            "ES",
            "IT",
            "MX",
            "AE",
            "AU",
            "BR",
            "SA"
          ],
          "type": "string"
        },
        "include_trends": {
          "default": "true",
          "enum": [
            "true",
            "false"
          ],
          "type": "string"
        },
        "product": {
          "maxLength": 2048,
          "minLength": 10,
          "type": "string"
        }
      },
      "required": [
        "product"
      ],
      "type": "object"
    },
    "Schema2": {
      "additionalProperties": false,
      "properties": {
        "country": {
          "default": "US",
          "enum": [
            "US",
            "GB",
            "DE",
            "FR",
            "IN",
            "CA",
            "JP",
            "ES",
            "IT",
            "MX",
            "AE",
            "AU",
            "BR",
            "SA"
          ],
          "type": "string"
        },
        "page": {
          "default": 1,
          "maximum": 10000,
          "minimum": 1,
          "type": "integer"
        },
        "product": {
          "maxLength": 2048,
          "minLength": 10,
          "type": "string"
        },
        "since": {
          "default": "",
          "maxLength": 10,
          "type": "string"
        },
        "star": {
          "default": "all",
          "enum": [
            "all",
            "1",
            "2",
            "3",
            "4",
            "5"
          ],
          "type": "string"
        },
        "verified_purchase_only": {
          "default": "false",
          "enum": [
            "false",
            "true"
          ],
          "type": "string"
        }
      },
      "required": [
        "product"
      ],
      "type": "object"
    },
    "Schema3": {
      "additionalProperties": false,
      "properties": {
        "country": {
          "default": "US",
          "enum": [
            "US",
            "GB",
            "DE",
            "FR",
            "IN",
            "CA",
            "JP",
            "ES",
            "IT",
            "MX",
            "AE",
            "AU",
            "BR",
            "SA"
          ],
          "type": "string"
        },
        "page": {
          "default": 1,
          "maximum": 10000,
          "minimum": 1,
          "type": "integer"
        },
        "query": {
          "maxLength": 200,
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "query"
      ],
      "type": "object"
    },
    "Schema4": {
      "properties": {
        "field": {
          "type": "string"
        },
        "kw": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "limit": {
          "default": 20,
          "maximum": 100,
          "minimum": 1,
          "type": "integer"
        },
        "name": {
          "pattern": "^[a-z][a-z0-9_]{0,63}$",
          "type": "string"
        }
      },
      "required": [
        "name",
        "field"
      ],
      "type": "object"
    },
    "Schema5": {
      "additionalProperties": false,
      "properties": {
        "platform": {
          "enum": [
            "xhs",
            "douyin",
            "bilibili",
            "weibo",
            "wechat",
            "wechat_channels",
            "web",
            "amazon",
            "facebook",
            "instagram",
            "jd",
            "kuaishou",
            "linkedin",
            "reddit",
            "search",
            "taobao",
            "tiktok",
            "twitter",
            "xianyu",
            "youtube",
            "zhihu"
          ],
          "type": "string"
        }
      },
      "required": [
        "platform"
      ],
      "type": "object"
    },
    "Schema6": {
      "additionalProperties": false,
      "properties": {
        "content_ref": {
          "anyOf": [
            {
              "maxLength": 2048,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "include_replies": {
          "default": false,
          "type": "boolean"
        },
        "max_comments": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "url": {
          "anyOf": [
            {
              "maxLength": 4096,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "type": "object"
    },
    "Schema7": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "integer"
        },
        {
          "type": "number"
        },
        {
          "type": "boolean"
        },
        {
          "items": {
            "$ref": "#/$defs/Schema7"
          },
          "type": "array"
        },
        {
          "additionalProperties": {
            "$ref": "#/$defs/Schema7"
          },
          "type": "object"
        },
        {
          "type": "null"
        }
      ]
    },
    "Schema8": {
      "additionalProperties": false,
      "properties": {
        "creator_ref": {
          "anyOf": [
            {
              "maxLength": 2048,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "include_details": {
          "default": false,
          "type": "boolean"
        },
        "recent_content_limit": {
          "anyOf": [
            {
              "exclusiveMinimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "url": {
          "anyOf": [
            {
              "maxLength": 4096,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "type": "object"
    },
    "Schema9": {
      "additionalProperties": false,
      "properties": {
        "filters": {
          "anyOf": [
            {
              "additionalProperties": {
                "$ref": "#/$defs/Schema7"
              },
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "include_details": {
          "default": false,
          "type": "boolean"
        },
        "max_items": {
          "anyOf": [
            {
              "exclusiveMinimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "pages": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "const": "max",
              "type": "string"
            }
          ],
          "default": 3
        },
        "platform": {
          "enum": [
            "xhs",
            "douyin",
            "bilibili",
            "weibo",
            "wechat",
            "wechat_channels",
            "web",
            "amazon",
            "facebook",
            "instagram",
            "jd",
            "kuaishou",
            "linkedin",
            "reddit",
            "search",
            "taobao",
            "tiktok",
            "twitter",
            "xianyu",
            "youtube",
            "zhihu"
          ],
          "type": "string"
        },
        "query": {
          "maxLength": 500,
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "platform",
        "query"
      ],
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "idempotency_key": {
      "maxLength": 256,
      "minLength": 1,
      "type": "string"
    },
    "include_details": {
      "default": false,
      "type": "boolean"
    },
    "input": {
      "properties": {
        "additional_searches": {
          "items": {
            "$ref": "#/$defs/Schema4"
          },
          "maxItems": 3,
          "type": "array"
        },
        "dataset": {
          "const": "douyin"
        },
        "dry_run": {
          "default": false,
          "description": "Set true only when the user asks for a price preview.",
          "type": "boolean"
        },
        "field": {
          "description": "Searchable field for a user-supplied name. category searches every category level. Exact IDs and URLs are ready to query.",
          "type": "string"
        },
        "idempotency_key": {
          "anyOf": [
            {
              "maxLength": 128,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Native execution binds the complete request to the outer idempotency_key."
        },
        "kw": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "limit": {
          "default": 20,
          "maximum": 100,
          "minimum": 1,
          "type": "integer"
        },
        "max_credits": {
          "anyOf": [
            {
              "exclusiveMinimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "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": [
        "dataset",
        "field"
      ],
      "type": "object"
    },
    "max_credits": {
      "anyOf": [
        {
          "minimum": 1,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ]
    },
    "max_detail_items": {
      "anyOf": [
        {
          "maximum": 128,
          "minimum": 1,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "operation": {
      "const": "search_values"
    },
    "pages": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "const": "max",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "wait_seconds": {
      "default": 10,
      "maximum": 30,
      "minimum": 0,
      "type": "integer"
    }
  },
  "required": [
    "operation",
    "input",
    "idempotency_key"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "idempotency_key": "directory-example",
  "input": {
    "dataset": "douyin",
    "field": "brand",
    "kw": null,
    "limit": 20
  },
  "operation": "search_values"
}
```

### Synthetic response / 合成响应

```json
{
  "data": [],
  "meta": {
    "dataset": "douyin"
  }
}
```

- billing (object): 暂无字段说明
- candidate_count (integer): 暂无字段说明
- compiled (boolean): 暂无字段说明
- data (array): 暂无字段说明
- estimate (object): 暂无字段说明
- field (string): 暂无字段说明
- keyword (string|null): 暂无字段说明
- matches (array): 暂无字段说明
- meta (object): 暂无字段说明
- plan_digest (string): 暂无字段说明
- requires_clarification (boolean): 暂无字段说明
- results (array): 暂无字段说明
- status (string): 暂无字段说明
- values (array): 暂无字段说明
## run

native · unknown · api_key

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

抖音数据查询需要 API Key；遵循数据集授权及查询价目表。

使用 Asklear 数据查询价目表结算。

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

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

### Input schema / 输入契约

```json
{
  "$defs": {
    "Schema1": {
      "additionalProperties": false,
      "properties": {
        "country": {
          "default": "US",
          "enum": [
            "US",
            "GB",
            "DE",
            "FR",
            "IN",
            "CA",
            "JP",
            "ES",
            "IT",
            "MX",
            "AE",
            "AU",
            "BR",
            "SA"
          ],
          "type": "string"
        },
        "include_trends": {
          "default": "true",
          "enum": [
            "true",
            "false"
          ],
          "type": "string"
        },
        "product": {
          "maxLength": 2048,
          "minLength": 10,
          "type": "string"
        }
      },
      "required": [
        "product"
      ],
      "type": "object"
    },
    "Schema2": {
      "additionalProperties": false,
      "properties": {
        "country": {
          "default": "US",
          "enum": [
            "US",
            "GB",
            "DE",
            "FR",
            "IN",
            "CA",
            "JP",
            "ES",
            "IT",
            "MX",
            "AE",
            "AU",
            "BR",
            "SA"
          ],
          "type": "string"
        },
        "page": {
          "default": 1,
          "maximum": 10000,
          "minimum": 1,
          "type": "integer"
        },
        "product": {
          "maxLength": 2048,
          "minLength": 10,
          "type": "string"
        },
        "since": {
          "default": "",
          "maxLength": 10,
          "type": "string"
        },
        "star": {
          "default": "all",
          "enum": [
            "all",
            "1",
            "2",
            "3",
            "4",
            "5"
          ],
          "type": "string"
        },
        "verified_purchase_only": {
          "default": "false",
          "enum": [
            "false",
            "true"
          ],
          "type": "string"
        }
      },
      "required": [
        "product"
      ],
      "type": "object"
    },
    "Schema3": {
      "additionalProperties": false,
      "properties": {
        "country": {
          "default": "US",
          "enum": [
            "US",
            "GB",
            "DE",
            "FR",
            "IN",
            "CA",
            "JP",
            "ES",
            "IT",
            "MX",
            "AE",
            "AU",
            "BR",
            "SA"
          ],
          "type": "string"
        },
        "page": {
          "default": 1,
          "maximum": 10000,
          "minimum": 1,
          "type": "integer"
        },
        "query": {
          "maxLength": 200,
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "query"
      ],
      "type": "object"
    },
    "Schema4": {
      "properties": {
        "field": {
          "type": "string"
        },
        "kw": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "limit": {
          "default": 20,
          "maximum": 100,
          "minimum": 1,
          "type": "integer"
        },
        "name": {
          "pattern": "^[a-z][a-z0-9_]{0,63}$",
          "type": "string"
        }
      },
      "required": [
        "name",
        "field"
      ],
      "type": "object"
    },
    "Schema5": {
      "additionalProperties": false,
      "properties": {
        "platform": {
          "enum": [
            "xhs",
            "douyin",
            "bilibili",
            "weibo",
            "wechat",
            "wechat_channels",
            "web",
            "amazon",
            "facebook",
            "instagram",
            "jd",
            "kuaishou",
            "linkedin",
            "reddit",
            "search",
            "taobao",
            "tiktok",
            "twitter",
            "xianyu",
            "youtube",
            "zhihu"
          ],
          "type": "string"
        }
      },
      "required": [
        "platform"
      ],
      "type": "object"
    },
    "Schema6": {
      "additionalProperties": false,
      "properties": {
        "content_ref": {
          "anyOf": [
            {
              "maxLength": 2048,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "include_replies": {
          "default": false,
          "type": "boolean"
        },
        "max_comments": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "url": {
          "anyOf": [
            {
              "maxLength": 4096,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "type": "object"
    },
    "Schema7": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "integer"
        },
        {
          "type": "number"
        },
        {
          "type": "boolean"
        },
        {
          "items": {
            "$ref": "#/$defs/Schema7"
          },
          "type": "array"
        },
        {
          "additionalProperties": {
            "$ref": "#/$defs/Schema7"
          },
          "type": "object"
        },
        {
          "type": "null"
        }
      ]
    },
    "Schema8": {
      "additionalProperties": false,
      "properties": {
        "creator_ref": {
          "anyOf": [
            {
              "maxLength": 2048,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "include_details": {
          "default": false,
          "type": "boolean"
        },
        "recent_content_limit": {
          "anyOf": [
            {
              "exclusiveMinimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "url": {
          "anyOf": [
            {
              "maxLength": 4096,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "type": "object"
    },
    "Schema9": {
      "additionalProperties": false,
      "properties": {
        "filters": {
          "anyOf": [
            {
              "additionalProperties": {
                "$ref": "#/$defs/Schema7"
              },
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "include_details": {
          "default": false,
          "type": "boolean"
        },
        "max_items": {
          "anyOf": [
            {
              "exclusiveMinimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "pages": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "const": "max",
              "type": "string"
            }
          ],
          "default": 3
        },
        "platform": {
          "enum": [
            "xhs",
            "douyin",
            "bilibili",
            "weibo",
            "wechat",
            "wechat_channels",
            "web",
            "amazon",
            "facebook",
            "instagram",
            "jd",
            "kuaishou",
            "linkedin",
            "reddit",
            "search",
            "taobao",
            "tiktok",
            "twitter",
            "xianyu",
            "youtube",
            "zhihu"
          ],
          "type": "string"
        },
        "query": {
          "maxLength": 500,
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "platform",
        "query"
      ],
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "idempotency_key": {
      "maxLength": 256,
      "minLength": 1,
      "type": "string"
    },
    "include_details": {
      "default": false,
      "type": "boolean"
    },
    "input": {
      "properties": {
        "additional_searches": {
          "items": {
            "$ref": "#/$defs/Schema4"
          },
          "maxItems": 3,
          "type": "array"
        },
        "dataset": {
          "const": "douyin"
        },
        "dry_run": {
          "default": false,
          "description": "Set true only when the user asks for a price preview.",
          "type": "boolean"
        },
        "field": {
          "description": "Searchable field for a user-supplied name. category searches every category level. Exact IDs and URLs are ready to query.",
          "type": "string"
        },
        "idempotency_key": {
          "anyOf": [
            {
              "maxLength": 128,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Native execution binds the complete request to the outer idempotency_key."
        },
        "kw": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "limit": {
          "default": 20,
          "maximum": 100,
          "minimum": 1,
          "type": "integer"
        },
        "max_credits": {
          "anyOf": [
            {
              "exclusiveMinimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "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": [
        "dataset",
        "field"
      ],
      "type": "object"
    },
    "max_credits": {
      "anyOf": [
        {
          "minimum": 1,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ]
    },
    "max_detail_items": {
      "anyOf": [
        {
          "maximum": 128,
          "minimum": 1,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "operation": {
      "const": "search_values"
    },
    "pages": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "const": "max",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "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
    },
    "wait_seconds": {
      "default": 10,
      "maximum": 30,
      "minimum": 0,
      "type": "integer"
    }
  },
  "required": [
    "operation",
    "input",
    "idempotency_key"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "idempotency_key": "directory-example",
  "input": {
    "dataset": "douyin",
    "field": "brand",
    "kw": null,
    "limit": 20
  },
  "operation": "search_values"
}
```

### Synthetic response / 合成响应

```json
{
  "data": [],
  "meta": {
    "dataset": "douyin"
  }
}
```

- billing (object): 暂无字段说明
- candidate_count (integer): 暂无字段说明
- compiled (boolean): 暂无字段说明
- data (array): 暂无字段说明
- estimate (object): 暂无字段说明
- field (string): 暂无字段说明
- keyword (string|null): 暂无字段说明
- matches (array): 暂无字段说明
- meta (object): 暂无字段说明
- plan_digest (string): 暂无字段说明
- requires_clarification (boolean): 暂无字段说明
- results (array): 暂无字段说明
- status (string): 暂无字段说明
- values (array): 暂无字段说明
## POST /v1/agent/run

native · unknown · api_key

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

抖音数据查询需要 API Key；遵循数据集授权及查询价目表。

使用 Asklear 数据查询价目表结算。

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

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

### Input schema / 输入契约

```json
{
  "$defs": {
    "Schema1": {
      "additionalProperties": false,
      "properties": {
        "country": {
          "default": "US",
          "enum": [
            "US",
            "GB",
            "DE",
            "FR",
            "IN",
            "CA",
            "JP",
            "ES",
            "IT",
            "MX",
            "AE",
            "AU",
            "BR",
            "SA"
          ],
          "type": "string"
        },
        "include_trends": {
          "default": "true",
          "enum": [
            "true",
            "false"
          ],
          "type": "string"
        },
        "product": {
          "maxLength": 2048,
          "minLength": 10,
          "type": "string"
        }
      },
      "required": [
        "product"
      ],
      "type": "object"
    },
    "Schema10": {
      "additionalProperties": false,
      "properties": {
        "filters": {
          "anyOf": [
            {
              "additionalProperties": {
                "$ref": "#/$defs/Schema8"
              },
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "include_details": {
          "default": false,
          "type": "boolean"
        },
        "max_items": {
          "anyOf": [
            {
              "exclusiveMinimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "pages": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "const": "max",
              "type": "string"
            }
          ],
          "default": 3
        },
        "platform": {
          "enum": [
            "xhs",
            "douyin",
            "bilibili",
            "weibo",
            "wechat",
            "wechat_channels",
            "web",
            "amazon",
            "facebook",
            "instagram",
            "jd",
            "kuaishou",
            "linkedin",
            "reddit",
            "search",
            "taobao",
            "tiktok",
            "twitter",
            "xianyu",
            "youtube",
            "zhihu"
          ],
          "type": "string"
        },
        "query": {
          "maxLength": 500,
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "platform",
        "query"
      ],
      "type": "object"
    },
    "Schema2": {
      "additionalProperties": false,
      "properties": {
        "country": {
          "default": "US",
          "enum": [
            "US",
            "GB",
            "DE",
            "FR",
            "IN",
            "CA",
            "JP",
            "ES",
            "IT",
            "MX",
            "AE",
            "AU",
            "BR",
            "SA"
          ],
          "type": "string"
        },
        "page": {
          "default": 1,
          "maximum": 10000,
          "minimum": 1,
          "type": "integer"
        },
        "product": {
          "maxLength": 2048,
          "minLength": 10,
          "type": "string"
        },
        "since": {
          "default": "",
          "maxLength": 10,
          "type": "string"
        },
        "star": {
          "default": "all",
          "enum": [
            "all",
            "1",
            "2",
            "3",
            "4",
            "5"
          ],
          "type": "string"
        },
        "verified_purchase_only": {
          "default": "false",
          "enum": [
            "false",
            "true"
          ],
          "type": "string"
        }
      },
      "required": [
        "product"
      ],
      "type": "object"
    },
    "Schema3": {
      "additionalProperties": false,
      "properties": {
        "country": {
          "default": "US",
          "enum": [
            "US",
            "GB",
            "DE",
            "FR",
            "IN",
            "CA",
            "JP",
            "ES",
            "IT",
            "MX",
            "AE",
            "AU",
            "BR",
            "SA"
          ],
          "type": "string"
        },
        "page": {
          "default": 1,
          "maximum": 10000,
          "minimum": 1,
          "type": "integer"
        },
        "query": {
          "maxLength": 200,
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "query"
      ],
      "type": "object"
    },
    "Schema4": {
      "properties": {
        "field": {
          "description": "Public dimension used to scope the query.",
          "type": "string"
        },
        "op": {
          "description": "Use eq with one platform raw value already returned by search_values or earlier context; use in with all relevant returned raw values.",
          "enum": [
            "eq",
            "neq",
            "in",
            "not_in",
            "gt",
            "gte",
            "lt",
            "lte",
            "contains",
            "is_unknown",
            "is_known"
          ],
          "type": "string"
        },
        "value": {
          "anyOf": [
            {},
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Single operand for eq, neq, comparisons, or contains."
        },
        "values": {
          "anyOf": [
            {
              "items": {},
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Platform raw values used by in or not_in."
        }
      },
      "required": [
        "field",
        "op"
      ],
      "type": "object"
    },
    "Schema5": {
      "properties": {
        "end": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Inclusive end month/date. Use together with start."
        },
        "grain": {
          "const": "month",
          "default": "month",
          "type": "string"
        },
        "last_complete_months": {
          "anyOf": [
            {
              "maximum": 60,
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Server-resolved latest complete months ending at the authenticated data-through month. Use instead of describe for current/latest/recent monthly questions."
        },
        "start": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Inclusive start month/date. Use together with end."
        }
      },
      "type": "object"
    },
    "Schema6": {
      "additionalProperties": false,
      "properties": {
        "platform": {
          "enum": [
            "xhs",
            "douyin",
            "bilibili",
            "weibo",
            "wechat",
            "wechat_channels",
            "web",
            "amazon",
            "facebook",
            "instagram",
            "jd",
            "kuaishou",
            "linkedin",
            "reddit",
            "search",
            "taobao",
            "tiktok",
            "twitter",
            "xianyu",
            "youtube",
            "zhihu"
          ],
          "type": "string"
        }
      },
      "required": [
        "platform"
      ],
      "type": "object"
    },
    "Schema7": {
      "additionalProperties": false,
      "properties": {
        "content_ref": {
          "anyOf": [
            {
              "maxLength": 2048,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "include_replies": {
          "default": false,
          "type": "boolean"
        },
        "max_comments": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "url": {
          "anyOf": [
            {
              "maxLength": 4096,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "type": "object"
    },
    "Schema8": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "integer"
        },
        {
          "type": "number"
        },
        {
          "type": "boolean"
        },
        {
          "items": {
            "$ref": "#/$defs/Schema8"
          },
          "type": "array"
        },
        {
          "additionalProperties": {
            "$ref": "#/$defs/Schema8"
          },
          "type": "object"
        },
        {
          "type": "null"
        }
      ]
    },
    "Schema9": {
      "additionalProperties": false,
      "properties": {
        "creator_ref": {
          "anyOf": [
            {
              "maxLength": 2048,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "include_details": {
          "default": false,
          "type": "boolean"
        },
        "recent_content_limit": {
          "anyOf": [
            {
              "exclusiveMinimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "url": {
          "anyOf": [
            {
              "maxLength": 4096,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "idempotency_key": {
      "maxLength": 256,
      "minLength": 1,
      "type": "string"
    },
    "include_details": {
      "default": false,
      "type": "boolean"
    },
    "input": {
      "additionalProperties": false,
      "description": "Bounded request for resolving a product title to public identities.",
      "properties": {
        "dataset": {
          "const": "douyin"
        },
        "dry_run": {
          "default": false,
          "description": "Return a price preview without executing or charging.",
          "type": "boolean"
        },
        "filters": {
          "description": "Optional brand, category, or shop filters. Only eq and in are supported.",
          "items": {
            "$ref": "#/$defs/Schema4"
          },
          "maxItems": 8,
          "type": "array"
        },
        "idempotency_key": {
          "anyOf": [
            {
              "maxLength": 128,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Native execution binds the complete request to the outer idempotency_key."
        },
        "limit": {
          "default": 20,
          "maximum": 50,
          "minimum": 1,
          "type": "integer"
        },
        "max_credits": {
          "anyOf": [
            {
              "exclusiveMinimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "query": {
          "description": "Product title fragment to match.",
          "maxLength": 128,
          "minLength": 1,
          "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
        },
        "time": {
          "anyOf": [
            {
              "$ref": "#/$defs/Schema5"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Optional monthly range. Omit to use the latest authorized complete month."
        }
      },
      "required": [
        "dataset",
        "query"
      ],
      "type": "object"
    },
    "max_credits": {
      "anyOf": [
        {
          "minimum": 1,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ]
    },
    "max_detail_items": {
      "anyOf": [
        {
          "maximum": 128,
          "minimum": 1,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "operation": {
      "const": "search_products"
    },
    "pages": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "const": "max",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "wait_seconds": {
      "default": 10,
      "maximum": 30,
      "minimum": 0,
      "type": "integer"
    }
  },
  "required": [
    "operation",
    "input",
    "idempotency_key"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "idempotency_key": "directory-example",
  "input": {
    "dataset": "douyin",
    "limit": 10,
    "query": "sample"
  },
  "operation": "search_products"
}
```

### Synthetic response / 合成响应

```json
{
  "data": [],
  "meta": {
    "dataset": "douyin"
  }
}
```

- billing (object): 暂无字段说明
- compiled (boolean): 暂无字段说明
- data (array): 暂无字段说明
- estimate (object): 暂无字段说明
- meta (object): 暂无字段说明
- plan_digest (string): 暂无字段说明
- results (array): 暂无字段说明
## run

native · unknown · api_key

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

抖音数据查询需要 API Key；遵循数据集授权及查询价目表。

使用 Asklear 数据查询价目表结算。

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

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

### Input schema / 输入契约

```json
{
  "$defs": {
    "Schema1": {
      "additionalProperties": false,
      "properties": {
        "country": {
          "default": "US",
          "enum": [
            "US",
            "GB",
            "DE",
            "FR",
            "IN",
            "CA",
            "JP",
            "ES",
            "IT",
            "MX",
            "AE",
            "AU",
            "BR",
            "SA"
          ],
          "type": "string"
        },
        "include_trends": {
          "default": "true",
          "enum": [
            "true",
            "false"
          ],
          "type": "string"
        },
        "product": {
          "maxLength": 2048,
          "minLength": 10,
          "type": "string"
        }
      },
      "required": [
        "product"
      ],
      "type": "object"
    },
    "Schema10": {
      "additionalProperties": false,
      "properties": {
        "filters": {
          "anyOf": [
            {
              "additionalProperties": {
                "$ref": "#/$defs/Schema8"
              },
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "include_details": {
          "default": false,
          "type": "boolean"
        },
        "max_items": {
          "anyOf": [
            {
              "exclusiveMinimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "pages": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "const": "max",
              "type": "string"
            }
          ],
          "default": 3
        },
        "platform": {
          "enum": [
            "xhs",
            "douyin",
            "bilibili",
            "weibo",
            "wechat",
            "wechat_channels",
            "web",
            "amazon",
            "facebook",
            "instagram",
            "jd",
            "kuaishou",
            "linkedin",
            "reddit",
            "search",
            "taobao",
            "tiktok",
            "twitter",
            "xianyu",
            "youtube",
            "zhihu"
          ],
          "type": "string"
        },
        "query": {
          "maxLength": 500,
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "platform",
        "query"
      ],
      "type": "object"
    },
    "Schema2": {
      "additionalProperties": false,
      "properties": {
        "country": {
          "default": "US",
          "enum": [
            "US",
            "GB",
            "DE",
            "FR",
            "IN",
            "CA",
            "JP",
            "ES",
            "IT",
            "MX",
            "AE",
            "AU",
            "BR",
            "SA"
          ],
          "type": "string"
        },
        "page": {
          "default": 1,
          "maximum": 10000,
          "minimum": 1,
          "type": "integer"
        },
        "product": {
          "maxLength": 2048,
          "minLength": 10,
          "type": "string"
        },
        "since": {
          "default": "",
          "maxLength": 10,
          "type": "string"
        },
        "star": {
          "default": "all",
          "enum": [
            "all",
            "1",
            "2",
            "3",
            "4",
            "5"
          ],
          "type": "string"
        },
        "verified_purchase_only": {
          "default": "false",
          "enum": [
            "false",
            "true"
          ],
          "type": "string"
        }
      },
      "required": [
        "product"
      ],
      "type": "object"
    },
    "Schema3": {
      "additionalProperties": false,
      "properties": {
        "country": {
          "default": "US",
          "enum": [
            "US",
            "GB",
            "DE",
            "FR",
            "IN",
            "CA",
            "JP",
            "ES",
            "IT",
            "MX",
            "AE",
            "AU",
            "BR",
            "SA"
          ],
          "type": "string"
        },
        "page": {
          "default": 1,
          "maximum": 10000,
          "minimum": 1,
          "type": "integer"
        },
        "query": {
          "maxLength": 200,
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "query"
      ],
      "type": "object"
    },
    "Schema4": {
      "properties": {
        "field": {
          "description": "Public dimension used to scope the query.",
          "type": "string"
        },
        "op": {
          "description": "Use eq with one platform raw value already returned by search_values or earlier context; use in with all relevant returned raw values.",
          "enum": [
            "eq",
            "neq",
            "in",
            "not_in",
            "gt",
            "gte",
            "lt",
            "lte",
            "contains",
            "is_unknown",
            "is_known"
          ],
          "type": "string"
        },
        "value": {
          "anyOf": [
            {},
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Single operand for eq, neq, comparisons, or contains."
        },
        "values": {
          "anyOf": [
            {
              "items": {},
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Platform raw values used by in or not_in."
        }
      },
      "required": [
        "field",
        "op"
      ],
      "type": "object"
    },
    "Schema5": {
      "properties": {
        "end": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Inclusive end month/date. Use together with start."
        },
        "grain": {
          "const": "month",
          "default": "month",
          "type": "string"
        },
        "last_complete_months": {
          "anyOf": [
            {
              "maximum": 60,
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Server-resolved latest complete months ending at the authenticated data-through month. Use instead of describe for current/latest/recent monthly questions."
        },
        "start": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Inclusive start month/date. Use together with end."
        }
      },
      "type": "object"
    },
    "Schema6": {
      "additionalProperties": false,
      "properties": {
        "platform": {
          "enum": [
            "xhs",
            "douyin",
            "bilibili",
            "weibo",
            "wechat",
            "wechat_channels",
            "web",
            "amazon",
            "facebook",
            "instagram",
            "jd",
            "kuaishou",
            "linkedin",
            "reddit",
            "search",
            "taobao",
            "tiktok",
            "twitter",
            "xianyu",
            "youtube",
            "zhihu"
          ],
          "type": "string"
        }
      },
      "required": [
        "platform"
      ],
      "type": "object"
    },
    "Schema7": {
      "additionalProperties": false,
      "properties": {
        "content_ref": {
          "anyOf": [
            {
              "maxLength": 2048,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "include_replies": {
          "default": false,
          "type": "boolean"
        },
        "max_comments": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "url": {
          "anyOf": [
            {
              "maxLength": 4096,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "type": "object"
    },
    "Schema8": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "integer"
        },
        {
          "type": "number"
        },
        {
          "type": "boolean"
        },
        {
          "items": {
            "$ref": "#/$defs/Schema8"
          },
          "type": "array"
        },
        {
          "additionalProperties": {
            "$ref": "#/$defs/Schema8"
          },
          "type": "object"
        },
        {
          "type": "null"
        }
      ]
    },
    "Schema9": {
      "additionalProperties": false,
      "properties": {
        "creator_ref": {
          "anyOf": [
            {
              "maxLength": 2048,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "include_details": {
          "default": false,
          "type": "boolean"
        },
        "recent_content_limit": {
          "anyOf": [
            {
              "exclusiveMinimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "url": {
          "anyOf": [
            {
              "maxLength": 4096,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "idempotency_key": {
      "maxLength": 256,
      "minLength": 1,
      "type": "string"
    },
    "include_details": {
      "default": false,
      "type": "boolean"
    },
    "input": {
      "additionalProperties": false,
      "description": "Bounded request for resolving a product title to public identities.",
      "properties": {
        "dataset": {
          "const": "douyin"
        },
        "dry_run": {
          "default": false,
          "description": "Return a price preview without executing or charging.",
          "type": "boolean"
        },
        "filters": {
          "description": "Optional brand, category, or shop filters. Only eq and in are supported.",
          "items": {
            "$ref": "#/$defs/Schema4"
          },
          "maxItems": 8,
          "type": "array"
        },
        "idempotency_key": {
          "anyOf": [
            {
              "maxLength": 128,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Native execution binds the complete request to the outer idempotency_key."
        },
        "limit": {
          "default": 20,
          "maximum": 50,
          "minimum": 1,
          "type": "integer"
        },
        "max_credits": {
          "anyOf": [
            {
              "exclusiveMinimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "query": {
          "description": "Product title fragment to match.",
          "maxLength": 128,
          "minLength": 1,
          "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
        },
        "time": {
          "anyOf": [
            {
              "$ref": "#/$defs/Schema5"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Optional monthly range. Omit to use the latest authorized complete month."
        }
      },
      "required": [
        "dataset",
        "query"
      ],
      "type": "object"
    },
    "max_credits": {
      "anyOf": [
        {
          "minimum": 1,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ]
    },
    "max_detail_items": {
      "anyOf": [
        {
          "maximum": 128,
          "minimum": 1,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "operation": {
      "const": "search_products"
    },
    "pages": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "const": "max",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "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
    },
    "wait_seconds": {
      "default": 10,
      "maximum": 30,
      "minimum": 0,
      "type": "integer"
    }
  },
  "required": [
    "operation",
    "input",
    "idempotency_key"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "idempotency_key": "directory-example",
  "input": {
    "dataset": "douyin",
    "limit": 10,
    "query": "sample"
  },
  "operation": "search_products"
}
```

### Synthetic response / 合成响应

```json
{
  "data": [],
  "meta": {
    "dataset": "douyin"
  }
}
```

- billing (object): 暂无字段说明
- compiled (boolean): 暂无字段说明
- data (array): 暂无字段说明
- estimate (object): 暂无字段说明
- meta (object): 暂无字段说明
- plan_digest (string): 暂无字段说明
- results (array): 暂无字段说明
## POST /v1/agent/run

native · unknown · api_key

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

销售排行榜需要 API Key 和数据集授权。

使用 Asklear 数据查询价目表结算。

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

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

### Input schema / 输入契约

```json
{
  "$defs": {
    "Schema1": {
      "additionalProperties": false,
      "properties": {
        "country": {
          "default": "US",
          "enum": [
            "US",
            "GB",
            "DE",
            "FR",
            "IN",
            "CA",
            "JP",
            "ES",
            "IT",
            "MX",
            "AE",
            "AU",
            "BR",
            "SA"
          ],
          "type": "string"
        },
        "include_trends": {
          "default": "true",
          "enum": [
            "true",
            "false"
          ],
          "type": "string"
        },
        "product": {
          "maxLength": 2048,
          "minLength": 10,
          "type": "string"
        }
      },
      "required": [
        "product"
      ],
      "type": "object"
    },
    "Schema2": {
      "additionalProperties": false,
      "properties": {
        "country": {
          "default": "US",
          "enum": [
            "US",
            "GB",
            "DE",
            "FR",
            "IN",
            "CA",
            "JP",
            "ES",
            "IT",
            "MX",
            "AE",
            "AU",
            "BR",
            "SA"
          ],
          "type": "string"
        },
        "page": {
          "default": 1,
          "maximum": 10000,
          "minimum": 1,
          "type": "integer"
        },
        "product": {
          "maxLength": 2048,
          "minLength": 10,
          "type": "string"
        },
        "since": {
          "default": "",
          "maxLength": 10,
          "type": "string"
        },
        "star": {
          "default": "all",
          "enum": [
            "all",
            "1",
            "2",
            "3",
            "4",
            "5"
          ],
          "type": "string"
        },
        "verified_purchase_only": {
          "default": "false",
          "enum": [
            "false",
            "true"
          ],
          "type": "string"
        }
      },
      "required": [
        "product"
      ],
      "type": "object"
    },
    "Schema3": {
      "additionalProperties": false,
      "properties": {
        "country": {
          "default": "US",
          "enum": [
            "US",
            "GB",
            "DE",
            "FR",
            "IN",
            "CA",
            "JP",
            "ES",
            "IT",
            "MX",
            "AE",
            "AU",
            "BR",
            "SA"
          ],
          "type": "string"
        },
        "page": {
          "default": 1,
          "maximum": 10000,
          "minimum": 1,
          "type": "integer"
        },
        "query": {
          "maxLength": 200,
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "query"
      ],
      "type": "object"
    },
    "Schema4": {
      "additionalProperties": false,
      "properties": {
        "platform": {
          "enum": [
            "xhs",
            "douyin",
            "bilibili",
            "weibo",
            "wechat",
            "wechat_channels",
            "web",
            "amazon",
            "facebook",
            "instagram",
            "jd",
            "kuaishou",
            "linkedin",
            "reddit",
            "search",
            "taobao",
            "tiktok",
            "twitter",
            "xianyu",
            "youtube",
            "zhihu"
          ],
          "type": "string"
        }
      },
      "required": [
        "platform"
      ],
      "type": "object"
    },
    "Schema5": {
      "additionalProperties": false,
      "properties": {
        "content_ref": {
          "anyOf": [
            {
              "maxLength": 2048,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "include_replies": {
          "default": false,
          "type": "boolean"
        },
        "max_comments": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "url": {
          "anyOf": [
            {
              "maxLength": 4096,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "type": "object"
    },
    "Schema6": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "integer"
        },
        {
          "type": "number"
        },
        {
          "type": "boolean"
        },
        {
          "items": {
            "$ref": "#/$defs/Schema6"
          },
          "type": "array"
        },
        {
          "additionalProperties": {
            "$ref": "#/$defs/Schema6"
          },
          "type": "object"
        },
        {
          "type": "null"
        }
      ]
    },
    "Schema7": {
      "additionalProperties": false,
      "properties": {
        "creator_ref": {
          "anyOf": [
            {
              "maxLength": 2048,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "include_details": {
          "default": false,
          "type": "boolean"
        },
        "recent_content_limit": {
          "anyOf": [
            {
              "exclusiveMinimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "url": {
          "anyOf": [
            {
              "maxLength": 4096,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "type": "object"
    },
    "Schema8": {
      "additionalProperties": false,
      "properties": {
        "filters": {
          "anyOf": [
            {
              "additionalProperties": {
                "$ref": "#/$defs/Schema6"
              },
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "include_details": {
          "default": false,
          "type": "boolean"
        },
        "max_items": {
          "anyOf": [
            {
              "exclusiveMinimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "pages": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "const": "max",
              "type": "string"
            }
          ],
          "default": 3
        },
        "platform": {
          "enum": [
            "xhs",
            "douyin",
            "bilibili",
            "weibo",
            "wechat",
            "wechat_channels",
            "web",
            "amazon",
            "facebook",
            "instagram",
            "jd",
            "kuaishou",
            "linkedin",
            "reddit",
            "search",
            "taobao",
            "tiktok",
            "twitter",
            "xianyu",
            "youtube",
            "zhihu"
          ],
          "type": "string"
        },
        "query": {
          "maxLength": 500,
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "platform",
        "query"
      ],
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "approved_plan_digest": {
      "anyOf": [
        {
          "maxLength": 2048,
          "minLength": 1,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "idempotency_key": {
      "maxLength": 256,
      "minLength": 1,
      "type": "string"
    },
    "include_details": {
      "default": false,
      "type": "boolean"
    },
    "input": {
      "additionalProperties": false,
      "properties": {
        "agg": {
          "pattern": "^[a-z][a-z0-9_]{0,63}$",
          "type": "string"
        },
        "by": {
          "anyOf": [
            {
              "pattern": "^[a-z][a-z0-9_]{0,63}$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "dataset": {
          "const": "douyin"
        },
        "month": {
          "pattern": "^\\d{4}-(0[1-9]|1[0-2])$",
          "type": "string"
        },
        "top": {
          "default": 100,
          "maximum": 1000,
          "minimum": 1,
          "type": "integer"
        }
      },
      "required": [
        "dataset",
        "agg",
        "month"
      ],
      "type": "object"
    },
    "max_credits": {
      "anyOf": [
        {
          "minimum": 0,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "max_detail_items": {
      "anyOf": [
        {
          "maximum": 128,
          "minimum": 1,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "operation": {
      "const": "get_ranking"
    },
    "pages": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "const": "max",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "wait_seconds": {
      "default": 10,
      "maximum": 30,
      "minimum": 0,
      "type": "integer"
    }
  },
  "required": [
    "operation",
    "input",
    "idempotency_key"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "idempotency_key": "directory-example",
  "input": {
    "agg": "brand",
    "by": "gmv",
    "dataset": "douyin",
    "month": "2026-06",
    "top": 10
  },
  "operation": "get_ranking"
}
```

### Synthetic response / 合成响应

```json
{
  "data": [],
  "meta": {
    "dataset": "douyin"
  }
}
```

- data (array): 暂无字段说明
- meta (object): 暂无字段说明
## run

native · unknown · api_key

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

销售排行榜需要 API Key 和数据集授权。

使用 Asklear 数据查询价目表结算。

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

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

### Input schema / 输入契约

```json
{
  "$defs": {
    "Schema1": {
      "additionalProperties": false,
      "properties": {
        "country": {
          "default": "US",
          "enum": [
            "US",
            "GB",
            "DE",
            "FR",
            "IN",
            "CA",
            "JP",
            "ES",
            "IT",
            "MX",
            "AE",
            "AU",
            "BR",
            "SA"
          ],
          "type": "string"
        },
        "include_trends": {
          "default": "true",
          "enum": [
            "true",
            "false"
          ],
          "type": "string"
        },
        "product": {
          "maxLength": 2048,
          "minLength": 10,
          "type": "string"
        }
      },
      "required": [
        "product"
      ],
      "type": "object"
    },
    "Schema2": {
      "additionalProperties": false,
      "properties": {
        "country": {
          "default": "US",
          "enum": [
            "US",
            "GB",
            "DE",
            "FR",
            "IN",
            "CA",
            "JP",
            "ES",
            "IT",
            "MX",
            "AE",
            "AU",
            "BR",
            "SA"
          ],
          "type": "string"
        },
        "page": {
          "default": 1,
          "maximum": 10000,
          "minimum": 1,
          "type": "integer"
        },
        "product": {
          "maxLength": 2048,
          "minLength": 10,
          "type": "string"
        },
        "since": {
          "default": "",
          "maxLength": 10,
          "type": "string"
        },
        "star": {
          "default": "all",
          "enum": [
            "all",
            "1",
            "2",
            "3",
            "4",
            "5"
          ],
          "type": "string"
        },
        "verified_purchase_only": {
          "default": "false",
          "enum": [
            "false",
            "true"
          ],
          "type": "string"
        }
      },
      "required": [
        "product"
      ],
      "type": "object"
    },
    "Schema3": {
      "additionalProperties": false,
      "properties": {
        "country": {
          "default": "US",
          "enum": [
            "US",
            "GB",
            "DE",
            "FR",
            "IN",
            "CA",
            "JP",
            "ES",
            "IT",
            "MX",
            "AE",
            "AU",
            "BR",
            "SA"
          ],
          "type": "string"
        },
        "page": {
          "default": 1,
          "maximum": 10000,
          "minimum": 1,
          "type": "integer"
        },
        "query": {
          "maxLength": 200,
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "query"
      ],
      "type": "object"
    },
    "Schema4": {
      "additionalProperties": false,
      "properties": {
        "platform": {
          "enum": [
            "xhs",
            "douyin",
            "bilibili",
            "weibo",
            "wechat",
            "wechat_channels",
            "web",
            "amazon",
            "facebook",
            "instagram",
            "jd",
            "kuaishou",
            "linkedin",
            "reddit",
            "search",
            "taobao",
            "tiktok",
            "twitter",
            "xianyu",
            "youtube",
            "zhihu"
          ],
          "type": "string"
        }
      },
      "required": [
        "platform"
      ],
      "type": "object"
    },
    "Schema5": {
      "additionalProperties": false,
      "properties": {
        "content_ref": {
          "anyOf": [
            {
              "maxLength": 2048,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "include_replies": {
          "default": false,
          "type": "boolean"
        },
        "max_comments": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "url": {
          "anyOf": [
            {
              "maxLength": 4096,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "type": "object"
    },
    "Schema6": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "integer"
        },
        {
          "type": "number"
        },
        {
          "type": "boolean"
        },
        {
          "items": {
            "$ref": "#/$defs/Schema6"
          },
          "type": "array"
        },
        {
          "additionalProperties": {
            "$ref": "#/$defs/Schema6"
          },
          "type": "object"
        },
        {
          "type": "null"
        }
      ]
    },
    "Schema7": {
      "additionalProperties": false,
      "properties": {
        "creator_ref": {
          "anyOf": [
            {
              "maxLength": 2048,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "include_details": {
          "default": false,
          "type": "boolean"
        },
        "recent_content_limit": {
          "anyOf": [
            {
              "exclusiveMinimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "url": {
          "anyOf": [
            {
              "maxLength": 4096,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "type": "object"
    },
    "Schema8": {
      "additionalProperties": false,
      "properties": {
        "filters": {
          "anyOf": [
            {
              "additionalProperties": {
                "$ref": "#/$defs/Schema6"
              },
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "include_details": {
          "default": false,
          "type": "boolean"
        },
        "max_items": {
          "anyOf": [
            {
              "exclusiveMinimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "pages": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "const": "max",
              "type": "string"
            }
          ],
          "default": 3
        },
        "platform": {
          "enum": [
            "xhs",
            "douyin",
            "bilibili",
            "weibo",
            "wechat",
            "wechat_channels",
            "web",
            "amazon",
            "facebook",
            "instagram",
            "jd",
            "kuaishou",
            "linkedin",
            "reddit",
            "search",
            "taobao",
            "tiktok",
            "twitter",
            "xianyu",
            "youtube",
            "zhihu"
          ],
          "type": "string"
        },
        "query": {
          "maxLength": 500,
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "platform",
        "query"
      ],
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "approved_plan_digest": {
      "anyOf": [
        {
          "maxLength": 2048,
          "minLength": 1,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "idempotency_key": {
      "maxLength": 256,
      "minLength": 1,
      "type": "string"
    },
    "include_details": {
      "default": false,
      "type": "boolean"
    },
    "input": {
      "additionalProperties": false,
      "properties": {
        "agg": {
          "pattern": "^[a-z][a-z0-9_]{0,63}$",
          "type": "string"
        },
        "by": {
          "anyOf": [
            {
              "pattern": "^[a-z][a-z0-9_]{0,63}$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "dataset": {
          "const": "douyin"
        },
        "month": {
          "pattern": "^\\d{4}-(0[1-9]|1[0-2])$",
          "type": "string"
        },
        "top": {
          "default": 100,
          "maximum": 1000,
          "minimum": 1,
          "type": "integer"
        }
      },
      "required": [
        "dataset",
        "agg",
        "month"
      ],
      "type": "object"
    },
    "max_credits": {
      "anyOf": [
        {
          "minimum": 0,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "max_detail_items": {
      "anyOf": [
        {
          "maximum": 128,
          "minimum": 1,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "operation": {
      "const": "get_ranking"
    },
    "pages": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "const": "max",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "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
    },
    "wait_seconds": {
      "default": 10,
      "maximum": 30,
      "minimum": 0,
      "type": "integer"
    }
  },
  "required": [
    "operation",
    "input",
    "idempotency_key"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "idempotency_key": "directory-example",
  "input": {
    "agg": "brand",
    "by": "gmv",
    "dataset": "douyin",
    "month": "2026-06",
    "top": 10
  },
  "operation": "get_ranking"
}
```

### Synthetic response / 合成响应

```json
{
  "data": [],
  "meta": {
    "dataset": "douyin"
  }
}
```

- data (array): 暂无字段说明
- meta (object): 暂无字段说明
## POST /v1/agent/run

native · unknown · api_key

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

数据样例需要 API Key，并受样例配额限制。

使用现有样例配额；数据查询费用为 0，不涉及供应商 API 采购。

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

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

### Input schema / 输入契约

```json
{
  "$defs": {
    "Schema1": {
      "additionalProperties": false,
      "properties": {
        "country": {
          "default": "US",
          "enum": [
            "US",
            "GB",
            "DE",
            "FR",
            "IN",
            "CA",
            "JP",
            "ES",
            "IT",
            "MX",
            "AE",
            "AU",
            "BR",
            "SA"
          ],
          "type": "string"
        },
        "include_trends": {
          "default": "true",
          "enum": [
            "true",
            "false"
          ],
          "type": "string"
        },
        "product": {
          "maxLength": 2048,
          "minLength": 10,
          "type": "string"
        }
      },
      "required": [
        "product"
      ],
      "type": "object"
    },
    "Schema2": {
      "additionalProperties": false,
      "properties": {
        "country": {
          "default": "US",
          "enum": [
            "US",
            "GB",
            "DE",
            "FR",
            "IN",
            "CA",
            "JP",
            "ES",
            "IT",
            "MX",
            "AE",
            "AU",
            "BR",
            "SA"
          ],
          "type": "string"
        },
        "page": {
          "default": 1,
          "maximum": 10000,
          "minimum": 1,
          "type": "integer"
        },
        "product": {
          "maxLength": 2048,
          "minLength": 10,
          "type": "string"
        },
        "since": {
          "default": "",
          "maxLength": 10,
          "type": "string"
        },
        "star": {
          "default": "all",
          "enum": [
            "all",
            "1",
            "2",
            "3",
            "4",
            "5"
          ],
          "type": "string"
        },
        "verified_purchase_only": {
          "default": "false",
          "enum": [
            "false",
            "true"
          ],
          "type": "string"
        }
      },
      "required": [
        "product"
      ],
      "type": "object"
    },
    "Schema3": {
      "additionalProperties": false,
      "properties": {
        "country": {
          "default": "US",
          "enum": [
            "US",
            "GB",
            "DE",
            "FR",
            "IN",
            "CA",
            "JP",
            "ES",
            "IT",
            "MX",
            "AE",
            "AU",
            "BR",
            "SA"
          ],
          "type": "string"
        },
        "page": {
          "default": 1,
          "maximum": 10000,
          "minimum": 1,
          "type": "integer"
        },
        "query": {
          "maxLength": 200,
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "query"
      ],
      "type": "object"
    },
    "Schema4": {
      "additionalProperties": false,
      "properties": {
        "platform": {
          "enum": [
            "xhs",
            "douyin",
            "bilibili",
            "weibo",
            "wechat",
            "wechat_channels",
            "web",
            "amazon",
            "facebook",
            "instagram",
            "jd",
            "kuaishou",
            "linkedin",
            "reddit",
            "search",
            "taobao",
            "tiktok",
            "twitter",
            "xianyu",
            "youtube",
            "zhihu"
          ],
          "type": "string"
        }
      },
      "required": [
        "platform"
      ],
      "type": "object"
    },
    "Schema5": {
      "additionalProperties": false,
      "properties": {
        "content_ref": {
          "anyOf": [
            {
              "maxLength": 2048,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "include_replies": {
          "default": false,
          "type": "boolean"
        },
        "max_comments": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "url": {
          "anyOf": [
            {
              "maxLength": 4096,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "type": "object"
    },
    "Schema6": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "integer"
        },
        {
          "type": "number"
        },
        {
          "type": "boolean"
        },
        {
          "items": {
            "$ref": "#/$defs/Schema6"
          },
          "type": "array"
        },
        {
          "additionalProperties": {
            "$ref": "#/$defs/Schema6"
          },
          "type": "object"
        },
        {
          "type": "null"
        }
      ]
    },
    "Schema7": {
      "additionalProperties": false,
      "properties": {
        "creator_ref": {
          "anyOf": [
            {
              "maxLength": 2048,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "include_details": {
          "default": false,
          "type": "boolean"
        },
        "recent_content_limit": {
          "anyOf": [
            {
              "exclusiveMinimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "url": {
          "anyOf": [
            {
              "maxLength": 4096,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "type": "object"
    },
    "Schema8": {
      "additionalProperties": false,
      "properties": {
        "filters": {
          "anyOf": [
            {
              "additionalProperties": {
                "$ref": "#/$defs/Schema6"
              },
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "include_details": {
          "default": false,
          "type": "boolean"
        },
        "max_items": {
          "anyOf": [
            {
              "exclusiveMinimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "pages": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "const": "max",
              "type": "string"
            }
          ],
          "default": 3
        },
        "platform": {
          "enum": [
            "xhs",
            "douyin",
            "bilibili",
            "weibo",
            "wechat",
            "wechat_channels",
            "web",
            "amazon",
            "facebook",
            "instagram",
            "jd",
            "kuaishou",
            "linkedin",
            "reddit",
            "search",
            "taobao",
            "tiktok",
            "twitter",
            "xianyu",
            "youtube",
            "zhihu"
          ],
          "type": "string"
        },
        "query": {
          "maxLength": 500,
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "platform",
        "query"
      ],
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "approved_plan_digest": {
      "anyOf": [
        {
          "maxLength": 2048,
          "minLength": 1,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "idempotency_key": {
      "maxLength": 256,
      "minLength": 1,
      "type": "string"
    },
    "include_details": {
      "default": false,
      "type": "boolean"
    },
    "input": {
      "additionalProperties": false,
      "properties": {
        "dataset": {
          "const": "douyin"
        },
        "n": {
          "default": 10,
          "maximum": 10,
          "minimum": 1,
          "type": "integer"
        }
      },
      "required": [
        "dataset"
      ],
      "type": "object"
    },
    "max_credits": {
      "anyOf": [
        {
          "minimum": 0,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "max_detail_items": {
      "anyOf": [
        {
          "maximum": 128,
          "minimum": 1,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "operation": {
      "const": "sample_rows"
    },
    "pages": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "const": "max",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "wait_seconds": {
      "default": 10,
      "maximum": 30,
      "minimum": 0,
      "type": "integer"
    }
  },
  "required": [
    "operation",
    "input",
    "idempotency_key"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "idempotency_key": "directory-example",
  "input": {
    "dataset": "douyin",
    "n": 10
  },
  "operation": "sample_rows"
}
```

### Synthetic response / 合成响应

```json
{
  "data": [],
  "meta": {
    "dataset": "douyin"
  }
}
```

- data (array): 暂无字段说明
- meta (object): 暂无字段说明
## run

native · unknown · api_key

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

数据样例需要 API Key，并受样例配额限制。

使用现有样例配额；数据查询费用为 0，不涉及供应商 API 采购。

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

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

### Input schema / 输入契约

```json
{
  "$defs": {
    "Schema1": {
      "additionalProperties": false,
      "properties": {
        "country": {
          "default": "US",
          "enum": [
            "US",
            "GB",
            "DE",
            "FR",
            "IN",
            "CA",
            "JP",
            "ES",
            "IT",
            "MX",
            "AE",
            "AU",
            "BR",
            "SA"
          ],
          "type": "string"
        },
        "include_trends": {
          "default": "true",
          "enum": [
            "true",
            "false"
          ],
          "type": "string"
        },
        "product": {
          "maxLength": 2048,
          "minLength": 10,
          "type": "string"
        }
      },
      "required": [
        "product"
      ],
      "type": "object"
    },
    "Schema2": {
      "additionalProperties": false,
      "properties": {
        "country": {
          "default": "US",
          "enum": [
            "US",
            "GB",
            "DE",
            "FR",
            "IN",
            "CA",
            "JP",
            "ES",
            "IT",
            "MX",
            "AE",
            "AU",
            "BR",
            "SA"
          ],
          "type": "string"
        },
        "page": {
          "default": 1,
          "maximum": 10000,
          "minimum": 1,
          "type": "integer"
        },
        "product": {
          "maxLength": 2048,
          "minLength": 10,
          "type": "string"
        },
        "since": {
          "default": "",
          "maxLength": 10,
          "type": "string"
        },
        "star": {
          "default": "all",
          "enum": [
            "all",
            "1",
            "2",
            "3",
            "4",
            "5"
          ],
          "type": "string"
        },
        "verified_purchase_only": {
          "default": "false",
          "enum": [
            "false",
            "true"
          ],
          "type": "string"
        }
      },
      "required": [
        "product"
      ],
      "type": "object"
    },
    "Schema3": {
      "additionalProperties": false,
      "properties": {
        "country": {
          "default": "US",
          "enum": [
            "US",
            "GB",
            "DE",
            "FR",
            "IN",
            "CA",
            "JP",
            "ES",
            "IT",
            "MX",
            "AE",
            "AU",
            "BR",
            "SA"
          ],
          "type": "string"
        },
        "page": {
          "default": 1,
          "maximum": 10000,
          "minimum": 1,
          "type": "integer"
        },
        "query": {
          "maxLength": 200,
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "query"
      ],
      "type": "object"
    },
    "Schema4": {
      "additionalProperties": false,
      "properties": {
        "platform": {
          "enum": [
            "xhs",
            "douyin",
            "bilibili",
            "weibo",
            "wechat",
            "wechat_channels",
            "web",
            "amazon",
            "facebook",
            "instagram",
            "jd",
            "kuaishou",
            "linkedin",
            "reddit",
            "search",
            "taobao",
            "tiktok",
            "twitter",
            "xianyu",
            "youtube",
            "zhihu"
          ],
          "type": "string"
        }
      },
      "required": [
        "platform"
      ],
      "type": "object"
    },
    "Schema5": {
      "additionalProperties": false,
      "properties": {
        "content_ref": {
          "anyOf": [
            {
              "maxLength": 2048,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "include_replies": {
          "default": false,
          "type": "boolean"
        },
        "max_comments": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "url": {
          "anyOf": [
            {
              "maxLength": 4096,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "type": "object"
    },
    "Schema6": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "integer"
        },
        {
          "type": "number"
        },
        {
          "type": "boolean"
        },
        {
          "items": {
            "$ref": "#/$defs/Schema6"
          },
          "type": "array"
        },
        {
          "additionalProperties": {
            "$ref": "#/$defs/Schema6"
          },
          "type": "object"
        },
        {
          "type": "null"
        }
      ]
    },
    "Schema7": {
      "additionalProperties": false,
      "properties": {
        "creator_ref": {
          "anyOf": [
            {
              "maxLength": 2048,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "include_details": {
          "default": false,
          "type": "boolean"
        },
        "recent_content_limit": {
          "anyOf": [
            {
              "exclusiveMinimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "url": {
          "anyOf": [
            {
              "maxLength": 4096,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "type": "object"
    },
    "Schema8": {
      "additionalProperties": false,
      "properties": {
        "filters": {
          "anyOf": [
            {
              "additionalProperties": {
                "$ref": "#/$defs/Schema6"
              },
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "include_details": {
          "default": false,
          "type": "boolean"
        },
        "max_items": {
          "anyOf": [
            {
              "exclusiveMinimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "pages": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "const": "max",
              "type": "string"
            }
          ],
          "default": 3
        },
        "platform": {
          "enum": [
            "xhs",
            "douyin",
            "bilibili",
            "weibo",
            "wechat",
            "wechat_channels",
            "web",
            "amazon",
            "facebook",
            "instagram",
            "jd",
            "kuaishou",
            "linkedin",
            "reddit",
            "search",
            "taobao",
            "tiktok",
            "twitter",
            "xianyu",
            "youtube",
            "zhihu"
          ],
          "type": "string"
        },
        "query": {
          "maxLength": 500,
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "platform",
        "query"
      ],
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "approved_plan_digest": {
      "anyOf": [
        {
          "maxLength": 2048,
          "minLength": 1,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "idempotency_key": {
      "maxLength": 256,
      "minLength": 1,
      "type": "string"
    },
    "include_details": {
      "default": false,
      "type": "boolean"
    },
    "input": {
      "additionalProperties": false,
      "properties": {
        "dataset": {
          "const": "douyin"
        },
        "n": {
          "default": 10,
          "maximum": 10,
          "minimum": 1,
          "type": "integer"
        }
      },
      "required": [
        "dataset"
      ],
      "type": "object"
    },
    "max_credits": {
      "anyOf": [
        {
          "minimum": 0,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "max_detail_items": {
      "anyOf": [
        {
          "maximum": 128,
          "minimum": 1,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "operation": {
      "const": "sample_rows"
    },
    "pages": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "const": "max",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "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
    },
    "wait_seconds": {
      "default": 10,
      "maximum": 30,
      "minimum": 0,
      "type": "integer"
    }
  },
  "required": [
    "operation",
    "input",
    "idempotency_key"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "idempotency_key": "directory-example",
  "input": {
    "dataset": "douyin",
    "n": 10
  },
  "operation": "sample_rows"
}
```

### Synthetic response / 合成响应

```json
{
  "data": [],
  "meta": {
    "dataset": "douyin"
  }
}
```

- data (array): 暂无字段说明
- meta (object): 暂无字段说明
## POST /v1/agent/run

native · unknown · api_key

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

数据范围与字段说明需要 API Key 和数据集授权。

仅读取元数据，不收取数据查询费用，也不涉及供应商 API 采购。

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

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

### Input schema / 输入契约

```json
{
  "$defs": {
    "Schema1": {
      "additionalProperties": false,
      "properties": {
        "country": {
          "default": "US",
          "enum": [
            "US",
            "GB",
            "DE",
            "FR",
            "IN",
            "CA",
            "JP",
            "ES",
            "IT",
            "MX",
            "AE",
            "AU",
            "BR",
            "SA"
          ],
          "type": "string"
        },
        "include_trends": {
          "default": "true",
          "enum": [
            "true",
            "false"
          ],
          "type": "string"
        },
        "product": {
          "maxLength": 2048,
          "minLength": 10,
          "type": "string"
        }
      },
      "required": [
        "product"
      ],
      "type": "object"
    },
    "Schema2": {
      "additionalProperties": false,
      "properties": {
        "country": {
          "default": "US",
          "enum": [
            "US",
            "GB",
            "DE",
            "FR",
            "IN",
            "CA",
            "JP",
            "ES",
            "IT",
            "MX",
            "AE",
            "AU",
            "BR",
            "SA"
          ],
          "type": "string"
        },
        "page": {
          "default": 1,
          "maximum": 10000,
          "minimum": 1,
          "type": "integer"
        },
        "product": {
          "maxLength": 2048,
          "minLength": 10,
          "type": "string"
        },
        "since": {
          "default": "",
          "maxLength": 10,
          "type": "string"
        },
        "star": {
          "default": "all",
          "enum": [
            "all",
            "1",
            "2",
            "3",
            "4",
            "5"
          ],
          "type": "string"
        },
        "verified_purchase_only": {
          "default": "false",
          "enum": [
            "false",
            "true"
          ],
          "type": "string"
        }
      },
      "required": [
        "product"
      ],
      "type": "object"
    },
    "Schema3": {
      "additionalProperties": false,
      "properties": {
        "country": {
          "default": "US",
          "enum": [
            "US",
            "GB",
            "DE",
            "FR",
            "IN",
            "CA",
            "JP",
            "ES",
            "IT",
            "MX",
            "AE",
            "AU",
            "BR",
            "SA"
          ],
          "type": "string"
        },
        "page": {
          "default": 1,
          "maximum": 10000,
          "minimum": 1,
          "type": "integer"
        },
        "query": {
          "maxLength": 200,
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "query"
      ],
      "type": "object"
    },
    "Schema4": {
      "additionalProperties": false,
      "properties": {
        "platform": {
          "enum": [
            "xhs",
            "douyin",
            "bilibili",
            "weibo",
            "wechat",
            "wechat_channels",
            "web",
            "amazon",
            "facebook",
            "instagram",
            "jd",
            "kuaishou",
            "linkedin",
            "reddit",
            "search",
            "taobao",
            "tiktok",
            "twitter",
            "xianyu",
            "youtube",
            "zhihu"
          ],
          "type": "string"
        }
      },
      "required": [
        "platform"
      ],
      "type": "object"
    },
    "Schema5": {
      "additionalProperties": false,
      "properties": {
        "content_ref": {
          "anyOf": [
            {
              "maxLength": 2048,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "include_replies": {
          "default": false,
          "type": "boolean"
        },
        "max_comments": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "url": {
          "anyOf": [
            {
              "maxLength": 4096,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "type": "object"
    },
    "Schema6": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "integer"
        },
        {
          "type": "number"
        },
        {
          "type": "boolean"
        },
        {
          "items": {
            "$ref": "#/$defs/Schema6"
          },
          "type": "array"
        },
        {
          "additionalProperties": {
            "$ref": "#/$defs/Schema6"
          },
          "type": "object"
        },
        {
          "type": "null"
        }
      ]
    },
    "Schema7": {
      "additionalProperties": false,
      "properties": {
        "creator_ref": {
          "anyOf": [
            {
              "maxLength": 2048,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "include_details": {
          "default": false,
          "type": "boolean"
        },
        "recent_content_limit": {
          "anyOf": [
            {
              "exclusiveMinimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "url": {
          "anyOf": [
            {
              "maxLength": 4096,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "type": "object"
    },
    "Schema8": {
      "additionalProperties": false,
      "properties": {
        "filters": {
          "anyOf": [
            {
              "additionalProperties": {
                "$ref": "#/$defs/Schema6"
              },
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "include_details": {
          "default": false,
          "type": "boolean"
        },
        "max_items": {
          "anyOf": [
            {
              "exclusiveMinimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "pages": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "const": "max",
              "type": "string"
            }
          ],
          "default": 3
        },
        "platform": {
          "enum": [
            "xhs",
            "douyin",
            "bilibili",
            "weibo",
            "wechat",
            "wechat_channels",
            "web",
            "amazon",
            "facebook",
            "instagram",
            "jd",
            "kuaishou",
            "linkedin",
            "reddit",
            "search",
            "taobao",
            "tiktok",
            "twitter",
            "xianyu",
            "youtube",
            "zhihu"
          ],
          "type": "string"
        },
        "query": {
          "maxLength": 500,
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "platform",
        "query"
      ],
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "approved_plan_digest": {
      "anyOf": [
        {
          "maxLength": 2048,
          "minLength": 1,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "idempotency_key": {
      "maxLength": 256,
      "minLength": 1,
      "type": "string"
    },
    "include_details": {
      "default": false,
      "type": "boolean"
    },
    "input": {
      "additionalProperties": false,
      "properties": {
        "dataset": {
          "const": "douyin"
        },
        "task": {
          "anyOf": [
            {
              "pattern": "^[a-z][a-z0-9_]*$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "required": [
        "dataset"
      ],
      "type": "object"
    },
    "max_credits": {
      "anyOf": [
        {
          "minimum": 0,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "max_detail_items": {
      "anyOf": [
        {
          "maximum": 128,
          "minimum": 1,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "operation": {
      "const": "describe"
    },
    "pages": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "const": "max",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "wait_seconds": {
      "default": 10,
      "maximum": 30,
      "minimum": 0,
      "type": "integer"
    }
  },
  "required": [
    "operation",
    "input",
    "idempotency_key"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "idempotency_key": "directory-example",
  "input": {
    "dataset": "douyin"
  },
  "operation": "describe"
}
```

### Synthetic response / 合成响应

```json
{
  "dataset": "douyin",
  "fields": []
}
```

- attributes (array): 暂无字段说明
- available_months (array): 暂无字段说明
- capability_version (string): 暂无字段说明
- catalog_only (boolean): 暂无字段说明
- contract_version (string): 暂无字段说明
- dataset (string): 暂无字段说明
- dataset_document (object): 暂无字段说明
- detail_fields (array): 暂无字段说明
- dimensions (array): 暂无字段说明
- display_name (string): 暂无字段说明
- document (object): 暂无字段说明
- entity_types (array): 暂无字段说明
- examples (array): 暂无字段说明
- field_contract_version (integer): 暂无字段说明
- fields (array): 暂无字段说明
- filters_allowed (array): 暂无字段说明
- known_gaps (array): 暂无字段说明
- limitations (array): 暂无字段说明
- limits (object): 暂无字段说明
- metrics (array): 暂无字段说明
- platform_methods (object): 暂无字段说明
- query_contract (object): 暂无字段说明
- recipe (object): 暂无字段说明
- recipes (array): 暂无字段说明
- release_checksum (string|null): 暂无字段说明
- release_ref (string|null): 暂无字段说明
- restatements (array): 暂无字段说明
- supported_tasks (array): 暂无字段说明
- task (string): 暂无字段说明
- time_grain (string): 暂无字段说明
- time_range (object): 暂无字段说明
- time_ranges (array): 暂无字段说明
## run

native · unknown · api_key

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

数据范围与字段说明需要 API Key 和数据集授权。

仅读取元数据，不收取数据查询费用，也不涉及供应商 API 采购。

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

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

### Input schema / 输入契约

```json
{
  "$defs": {
    "Schema1": {
      "additionalProperties": false,
      "properties": {
        "country": {
          "default": "US",
          "enum": [
            "US",
            "GB",
            "DE",
            "FR",
            "IN",
            "CA",
            "JP",
            "ES",
            "IT",
            "MX",
            "AE",
            "AU",
            "BR",
            "SA"
          ],
          "type": "string"
        },
        "include_trends": {
          "default": "true",
          "enum": [
            "true",
            "false"
          ],
          "type": "string"
        },
        "product": {
          "maxLength": 2048,
          "minLength": 10,
          "type": "string"
        }
      },
      "required": [
        "product"
      ],
      "type": "object"
    },
    "Schema2": {
      "additionalProperties": false,
      "properties": {
        "country": {
          "default": "US",
          "enum": [
            "US",
            "GB",
            "DE",
            "FR",
            "IN",
            "CA",
            "JP",
            "ES",
            "IT",
            "MX",
            "AE",
            "AU",
            "BR",
            "SA"
          ],
          "type": "string"
        },
        "page": {
          "default": 1,
          "maximum": 10000,
          "minimum": 1,
          "type": "integer"
        },
        "product": {
          "maxLength": 2048,
          "minLength": 10,
          "type": "string"
        },
        "since": {
          "default": "",
          "maxLength": 10,
          "type": "string"
        },
        "star": {
          "default": "all",
          "enum": [
            "all",
            "1",
            "2",
            "3",
            "4",
            "5"
          ],
          "type": "string"
        },
        "verified_purchase_only": {
          "default": "false",
          "enum": [
            "false",
            "true"
          ],
          "type": "string"
        }
      },
      "required": [
        "product"
      ],
      "type": "object"
    },
    "Schema3": {
      "additionalProperties": false,
      "properties": {
        "country": {
          "default": "US",
          "enum": [
            "US",
            "GB",
            "DE",
            "FR",
            "IN",
            "CA",
            "JP",
            "ES",
            "IT",
            "MX",
            "AE",
            "AU",
            "BR",
            "SA"
          ],
          "type": "string"
        },
        "page": {
          "default": 1,
          "maximum": 10000,
          "minimum": 1,
          "type": "integer"
        },
        "query": {
          "maxLength": 200,
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "query"
      ],
      "type": "object"
    },
    "Schema4": {
      "additionalProperties": false,
      "properties": {
        "platform": {
          "enum": [
            "xhs",
            "douyin",
            "bilibili",
            "weibo",
            "wechat",
            "wechat_channels",
            "web",
            "amazon",
            "facebook",
            "instagram",
            "jd",
            "kuaishou",
            "linkedin",
            "reddit",
            "search",
            "taobao",
            "tiktok",
            "twitter",
            "xianyu",
            "youtube",
            "zhihu"
          ],
          "type": "string"
        }
      },
      "required": [
        "platform"
      ],
      "type": "object"
    },
    "Schema5": {
      "additionalProperties": false,
      "properties": {
        "content_ref": {
          "anyOf": [
            {
              "maxLength": 2048,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "include_replies": {
          "default": false,
          "type": "boolean"
        },
        "max_comments": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "url": {
          "anyOf": [
            {
              "maxLength": 4096,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "type": "object"
    },
    "Schema6": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "integer"
        },
        {
          "type": "number"
        },
        {
          "type": "boolean"
        },
        {
          "items": {
            "$ref": "#/$defs/Schema6"
          },
          "type": "array"
        },
        {
          "additionalProperties": {
            "$ref": "#/$defs/Schema6"
          },
          "type": "object"
        },
        {
          "type": "null"
        }
      ]
    },
    "Schema7": {
      "additionalProperties": false,
      "properties": {
        "creator_ref": {
          "anyOf": [
            {
              "maxLength": 2048,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "include_details": {
          "default": false,
          "type": "boolean"
        },
        "recent_content_limit": {
          "anyOf": [
            {
              "exclusiveMinimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "url": {
          "anyOf": [
            {
              "maxLength": 4096,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "type": "object"
    },
    "Schema8": {
      "additionalProperties": false,
      "properties": {
        "filters": {
          "anyOf": [
            {
              "additionalProperties": {
                "$ref": "#/$defs/Schema6"
              },
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "include_details": {
          "default": false,
          "type": "boolean"
        },
        "max_items": {
          "anyOf": [
            {
              "exclusiveMinimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "pages": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "const": "max",
              "type": "string"
            }
          ],
          "default": 3
        },
        "platform": {
          "enum": [
            "xhs",
            "douyin",
            "bilibili",
            "weibo",
            "wechat",
            "wechat_channels",
            "web",
            "amazon",
            "facebook",
            "instagram",
            "jd",
            "kuaishou",
            "linkedin",
            "reddit",
            "search",
            "taobao",
            "tiktok",
            "twitter",
            "xianyu",
            "youtube",
            "zhihu"
          ],
          "type": "string"
        },
        "query": {
          "maxLength": 500,
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "platform",
        "query"
      ],
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "approved_plan_digest": {
      "anyOf": [
        {
          "maxLength": 2048,
          "minLength": 1,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "idempotency_key": {
      "maxLength": 256,
      "minLength": 1,
      "type": "string"
    },
    "include_details": {
      "default": false,
      "type": "boolean"
    },
    "input": {
      "additionalProperties": false,
      "properties": {
        "dataset": {
          "const": "douyin"
        },
        "task": {
          "anyOf": [
            {
              "pattern": "^[a-z][a-z0-9_]*$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "required": [
        "dataset"
      ],
      "type": "object"
    },
    "max_credits": {
      "anyOf": [
        {
          "minimum": 0,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "max_detail_items": {
      "anyOf": [
        {
          "maximum": 128,
          "minimum": 1,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "operation": {
      "const": "describe"
    },
    "pages": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "const": "max",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "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
    },
    "wait_seconds": {
      "default": 10,
      "maximum": 30,
      "minimum": 0,
      "type": "integer"
    }
  },
  "required": [
    "operation",
    "input",
    "idempotency_key"
  ],
  "type": "object"
}
```

### Synthetic request / 合成请求

```json
{
  "idempotency_key": "directory-example",
  "input": {
    "dataset": "douyin"
  },
  "operation": "describe"
}
```

### Synthetic response / 合成响应

```json
{
  "dataset": "douyin",
  "fields": []
}
```

- attributes (array): 暂无字段说明
- available_months (array): 暂无字段说明
- capability_version (string): 暂无字段说明
- catalog_only (boolean): 暂无字段说明
- contract_version (string): 暂无字段说明
- dataset (string): 暂无字段说明
- dataset_document (object): 暂无字段说明
- detail_fields (array): 暂无字段说明
- dimensions (array): 暂无字段说明
- display_name (string): 暂无字段说明
- document (object): 暂无字段说明
- entity_types (array): 暂无字段说明
- examples (array): 暂无字段说明
- field_contract_version (integer): 暂无字段说明
- fields (array): 暂无字段说明
- filters_allowed (array): 暂无字段说明
- known_gaps (array): 暂无字段说明
- limitations (array): 暂无字段说明
- limits (object): 暂无字段说明
- metrics (array): 暂无字段说明
- platform_methods (object): 暂无字段说明
- query_contract (object): 暂无字段说明
- recipe (object): 暂无字段说明
- recipes (array): 暂无字段说明
- release_checksum (string|null): 暂无字段说明
- release_ref (string|null): 暂无字段说明
- restatements (array): 暂无字段说明
- supported_tasks (array): 暂无字段说明
- task (string): 暂无字段说明
- time_grain (string): 暂无字段说明
- time_range (object): 暂无字段说明
- time_ranges (array): 暂无字段说明
