> ## Documentation Index
> Fetch the complete documentation index at: https://ppio.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# 查询账单列表

## 请求头

<ParamField header="Authorization" type="string" required={true}>
  Bearer 身份验证格式，例如：Bearer \{\{API 密钥}}。
</ParamField>

## 查询参数

<ParamField query="cycleType" type="string" required={true}>
  统计粒度。取值：

  * `Hour`：按小时。
  * `Day`：按天。
  * `Week`：按周。
  * `Month`：按月。
</ParamField>

<ParamField query="productCategory" type="string" required={true}>
  产品类型。常用值：

  * `summary`：总账单。
  * `gpu`：GPU 实例。
  * `llm`：LLM API。
  * `serverless`：Serverless Endpoint。
  * `cloud_storage`：存储资源。
  * `gen_api`：图像/视频/音频生成 API。
  * `cloud_sandbox`：Agent 沙箱。
  * `llm_dedicated_endpoint`：LLM 专属端点。
  * `web_search`：联网搜索。
  * `bare_metal`：裸金属。
</ParamField>

<ParamField query="productName" type="string" required={false}>
  产品名称，支持模糊匹配。
</ParamField>

<ParamField query="category" type="string" required={false}>
  产品子分类。
</ParamField>

<ParamField query="startTime" type="integer" required={false}>
  查询开始时间，秒级 Unix 时间戳（int64）。
</ParamField>

<ParamField query="endTime" type="integer" required={false}>
  查询结束时间，秒级 Unix 时间戳（int64）。
</ParamField>

<ParamField query="ownerId" type="string" required={false}>
  资源实例 ID。
</ParamField>

<Info>
  当前接口不分页，建议单次查询时间范围不超过 31 天。如需拉取更长时间，建议按自然月或自然周分段请求。
</Info>

## 响应参数

<ResponseField name="bills" type="object[]" required={true}>
  账单列表。

  <Expandable title="properties" defaultOpen={true}>
    <ResponseField name="userId" type="string" required={true}>
      用户账号 ID。
    </ResponseField>

    <ResponseField name="startTime" type="string" required={true}>
      账单开始时间，秒级 Unix 时间戳。
    </ResponseField>

    <ResponseField name="endTime" type="string" required={true}>
      账单结束时间，秒级 Unix 时间戳。
    </ResponseField>

    <ResponseField name="billingMethod" type="int32" required={true}>
      计费方式：`1`（按量计费）、`2`（包年包月）。
    </ResponseField>

    <ResponseField name="productName" type="string" required={true}>
      产品名称。
    </ResponseField>

    <ResponseField name="category" type="string" required={true}>
      产品类型或产品子分类。
    </ResponseField>

    <ResponseField name="ownerID" type="string" required={true}>
      资源实例 ID。
    </ResponseField>

    <ResponseField name="productId" type="string" required={true}>
      产品 ID。
    </ResponseField>

    <ResponseField name="billNum0" type="string" required={true}>
      用量字段 0。不同产品类型含义不同：

      * `llm`：输入 Token 数。
      * `gpu`：卡数 × 计费时长。
      * `cloud_storage`：存储容量 × 计费时长。
      * `serverless`：所有 worker 数量 × 时长之和。
    </ResponseField>

    <ResponseField name="billNum1" type="string" required={true}>
      用量字段 1。`llm` 时通常表示输出 Token。
    </ResponseField>

    <ResponseField name="billNum2" type="string" required={true}>
      用量字段 2。`llm` 时通常表示读 Cache Token。
    </ResponseField>

    <ResponseField name="billNum3" type="string" required={true}>
      用量字段 3。`llm` 时通常表示写 5min Cache Token。
    </ResponseField>

    <ResponseField name="billNum4" type="string" required={true}>
      用量字段 4。`llm` 时通常表示输出 Reasoning Token，当前不支持。
    </ResponseField>

    <ResponseField name="billNum5" type="string" required={true}>
      用量字段 5。`llm` 时通常表示写 1h Cache Token。
    </ResponseField>

    <ResponseField name="billNum6" type="string" required={false}>
      用量字段 6。
    </ResponseField>

    <ResponseField name="billNum7" type="string" required={false}>
      用量字段 7。
    </ResponseField>

    <ResponseField name="billNum8" type="string" required={false}>
      用量字段 8。
    </ResponseField>

    <ResponseField name="billNum9" type="string" required={false}>
      用量字段 9。
    </ResponseField>

    <ResponseField name="billNum10" type="string" required={false}>
      用量字段 10。
    </ResponseField>

    <ResponseField name="billNum11" type="string" required={false}>
      用量字段 11。
    </ResponseField>

    <ResponseField name="billNum12" type="string" required={false}>
      用量字段 12。
    </ResponseField>

    <ResponseField name="billNum13" type="string" required={false}>
      用量字段 13。
    </ResponseField>

    <ResponseField name="billNum14" type="string" required={false}>
      用量字段 14。
    </ResponseField>

    <ResponseField name="billNum15" type="string" required={false}>
      用量字段 15。
    </ResponseField>

    <ResponseField name="basePrice0" type="string" required={true}>
      原价字段 0。

      * `llm`：输入 / 1M Token 单价。
      * `gpu`：单价 / 卡 / 小时。
      * `cloud_storage`：单价 / GB / 天。
    </ResponseField>

    <ResponseField name="basePrice1" type="string" required={true}>
      原价字段 1。`llm` 时通常表示输出 / 1M Token 单价。
    </ResponseField>

    <ResponseField name="basePrice2" type="string" required={true}>
      原价字段 2。`llm` 时通常表示读 Cache / 1M Token 单价。
    </ResponseField>

    <ResponseField name="basePrice3" type="string" required={true}>
      原价字段 3。`llm` 时通常表示写 5min Cache / 1M Token 单价。
    </ResponseField>

    <ResponseField name="basePrice4" type="string" required={true}>
      原价字段 4。`llm` 时通常表示写 Reasoning Token / 1M Token 单价。
    </ResponseField>

    <ResponseField name="basePrice5" type="string" required={true}>
      原价字段 5。`llm` 时通常表示写 1h Cache / 1M Token 单价。
    </ResponseField>

    <ResponseField name="discountPrice0" type="string" required={true}>
      折后单价字段 0。

      * `llm`：输入 / 1M Token 折后单价。
      * `gpu`：折后单价 / 卡 / 小时。
      * `cloud_storage`：折后单价 / GB / 天。
    </ResponseField>

    <ResponseField name="discountPrice1" type="string" required={true}>
      折后单价字段 1。`llm` 时通常表示输出 / 1M Token 折后单价。
    </ResponseField>

    <ResponseField name="discountPrice2" type="string" required={true}>
      折后单价字段 2。`llm` 时通常表示读 Cache / 1M Token 折后单价。
    </ResponseField>

    <ResponseField name="discountPrice3" type="string" required={true}>
      折后单价字段 3。`llm` 时通常表示写 5min Cache / 1M Token 折后单价。
    </ResponseField>

    <ResponseField name="discountPrice4" type="string" required={true}>
      折后单价字段 4。`llm` 时通常表示写 Reasoning Token / 1M Token 折后单价。
    </ResponseField>

    <ResponseField name="discountPrice5" type="string" required={true}>
      折后单价字段 5。`llm` 时通常表示写 1h Cache / 1M Token 折后单价。
    </ResponseField>

    <ResponseField name="amount" type="string" required={true}>
      总费用，单位为 1/10000 元。
    </ResponseField>

    <ResponseField name="voucherAmount" type="string" required={true}>
      代金券抵扣费用，单位为 1/10000 元。
    </ResponseField>

    <ResponseField name="payAmount" type="string" required={true}>
      现金支付费用，单位为 1/10000 元。
    </ResponseField>

    <ResponseField name="payAmountDisplay" type="float" required={true}>
      现金支付费用展示值，单位为元。
    </ResponseField>

    <ResponseField name="pricePrecision" type="int32" required={true}>
      价格精度。单价（元）= 单价 / 10000 / `pricePrecision`。
    </ResponseField>

    <ResponseField name="llmSeries" type="string" required={false}>
      大语言模型系列。
    </ResponseField>

    <ResponseField name="requestCount" type="string" required={false}>
      请求次数。
    </ResponseField>

    <ResponseField name="multimodalPricing" type="object" required={false}>
      多模态模型计费明细。
    </ResponseField>

    <ResponseField name="tieredConfig" type="object" required={false}>
      阶梯计费配置。
    </ResponseField>
  </Expandable>
</ResponseField>

<RequestExample>
  ```bash theme={null}
  curl --request GET \
    --url 'https://api.ppio.com/openapi/v1/billing/bill/list?cycleType=Day&productCategory=llm&startTime=1764547200&endTime=1767225599' \
    --header 'Authorization: Bearer <API_KEY>'
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "bills": [
      {
        "userId": "<string>",
        "startTime": "1764547200",
        "endTime": "1764633599",
        "billingMethod": 1,
        "productName": "<string>",
        "category": "llm",
        "ownerID": "<string>",
        "billNum0": "1000",
        "billNum1": "500",
        "basePrice0": "0",
        "basePrice1": "0",
        "discountPrice0": "0",
        "discountPrice1": "0",
        "amount": "10000",
        "voucherAmount": "0",
        "payAmount": "10000",
        "payAmountDisplay": 1,
        "pricePrecision": 1,
        "productId": "<string>"
      }
    ]
  }
  ```
</ResponseExample>
