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

# Query Bills

## Request Headers

<ParamField header="Content-Type" type="string" required={true}>
  Enum: `application/json`
</ParamField>

<ParamField header="Authorization" type="string" required={true}>
  Bearer authentication format: Bearer \{\{API Key}}.
</ParamField>

## Response

<ParamField query="cycleType" type="string" required={true}>
  Billing cycle granularity. Options:

  * `Hour`: By hour
  * `Day`: By day
  * `Week`: By week
  * `Month`: By month
</ParamField>

<ParamField query="productCategory" type="string" required={true}>
  Product type. Options:

  * `summary`: Summary bill
  * `llm`: Large language model
</ParamField>

<ParamField query="productName" type="string" required={false}>
  Product name. Supports fuzzy matching.
</ParamField>

<ParamField query="startTime" type="string" required={false}>
  Start time of the billing period query, timestamp (seconds). Default: 0.
</ParamField>

<ParamField query="endTime" type="string" required={false}>
  End time of the billing period query, timestamp (seconds). Default: 0.
</ParamField>

<ParamField query="ownerId" type="string" required={false}>
  Specify the instance ID to query.
</ParamField>

## Response Parameters

<ResponseField name="bills" type="object[]" required={true}>
  Pay-as-you-go instance billing information.

  <Expandable title="properties" defaultOpen={true}>
    <ResponseField name="userId" type="string" required={true}>
      User ID that the instance belongs to.
    </ResponseField>

    <ResponseField name="startTime" type="string" required={true}>
      Start time of the bill. Format is Unix timestamp.
    </ResponseField>

    <ResponseField name="endTime" type="string" required={true}>
      End time of the bill. Format is Unix timestamp.
    </ResponseField>

    <ResponseField name="billingMethod" type="string" required={true}>
      Billing method of the instance. A value of 1 indicates pay-as-you-go billing.
    </ResponseField>

    <ResponseField name="productName" type="string" required={true}>
      Product name.
    </ResponseField>

    <ResponseField name="category" type="string" required={true}>
      Product category.
    </ResponseField>

    <ResponseField name="ownerID" type="string" required={true}>
      Instance ID.
    </ResponseField>

    <ResponseField name="billNum0" type="string" required={true}>
      * llm: Input tokens
    </ResponseField>

    <ResponseField name="billNum1" type="string" required={true}>
      * llm: Output tokens
    </ResponseField>

    <ResponseField name="basePrice0" type="string" required={true}>
      Original price
    </ResponseField>

    <ResponseField name="basePrice1" type="string" required={true}>
      Not applicable
    </ResponseField>

    <ResponseField name="discountPrice0" type="string" required={true}>
      * llm: Input tokens unit price
      * Other: Unit price
    </ResponseField>

    <ResponseField name="discountPrice1" type="string" required={true}>
      * llm: Output tokens unit price
    </ResponseField>

    <ResponseField name="amount" type="string" required={true}>
      Total price.
    </ResponseField>

    <ResponseField name="voucherAmount" type="string" required={true}>
      Amount deducted by voucher.
    </ResponseField>

    <ResponseField name="payAmount" type="string" required={true}>
      Cash payment amount.
    </ResponseField>

    <ResponseField name="payAmountDisplay" type="string" required={true} />

    <ResponseField name="pricePrecision" type="string" required={true}>
      Price precision.
    </ResponseField>

    <ResponseField name="productId" type="string" required={true}>
      Product ID.
    </ResponseField>
  </Expandable>
</ResponseField>
