curl --request GET \
--url 'https://api.novita.ai/openapi/v1/billing/apikey/bill/list?cycleType=Day&category=llm&startTime=1767225600&endTime=1769817599' \
--header 'Authorization: Bearer <API_KEY>'
curl --request GET \
--url 'https://api.novita.ai/openapi/v1/billing/apikey/bill/list?cycleType=Hour&category=llm&startTime=1767225600&endTime=1767830399' \
--header 'Authorization: Bearer <API_KEY>'
{
"bills": [
{
"userId": "<string>",
"startTime": "1767225600",
"endTime": "1767311999",
"billingMethod": 1,
"productName": "<string>",
"category": "llm",
"ownerID": "<api_key_id>",
"billNum0": "1000",
"billNum1": "500",
"basePrice0": "0",
"basePrice1": "0",
"discountPrice0": "0",
"discountPrice1": "0",
"amount": "10000",
"voucherAmount": "0",
"payAmount": "10000",
"payAmountDisplay": 1,
"pricePrecision": 1,
"productId": "<string>",
"apikeyName": "<string>",
"apikeyMask": "sk-****"
}
]
}
Basic
Query API Key Billing
GET
/
openapi
/
v1
/
billing
/
apikey
/
bill
/
list
curl --request GET \
--url 'https://api.novita.ai/openapi/v1/billing/apikey/bill/list?cycleType=Day&category=llm&startTime=1767225600&endTime=1769817599' \
--header 'Authorization: Bearer <API_KEY>'
curl --request GET \
--url 'https://api.novita.ai/openapi/v1/billing/apikey/bill/list?cycleType=Hour&category=llm&startTime=1767225600&endTime=1767830399' \
--header 'Authorization: Bearer <API_KEY>'
{
"bills": [
{
"userId": "<string>",
"startTime": "1767225600",
"endTime": "1767311999",
"billingMethod": 1,
"productName": "<string>",
"category": "llm",
"ownerID": "<api_key_id>",
"billNum0": "1000",
"billNum1": "500",
"basePrice0": "0",
"basePrice1": "0",
"discountPrice0": "0",
"discountPrice1": "0",
"amount": "10000",
"voucherAmount": "0",
"payAmount": "10000",
"payAmountDisplay": 1,
"pricePrecision": 1,
"productId": "<string>",
"apikeyName": "<string>",
"apikeyMask": "sk-****"
}
]
}
Request Headers
string
erforderlich
Enum:
application/jsonstring
erforderlich
Bearer authentication format, for example: Bearer {{API Key}}.
Query Parameters
string
erforderlich
Billing granularity. The maximum query range depends on the granularity you pick:
Hour(up to 7 days per request)Day(up to 31 days per request)Week(up to 31 days per request)Month(up to 31 days per request)
string
Product type or business category. Common values:
llm, gen_api, web_search.string
Product name. Supports fuzzy matching.
integer
erforderlich
Query start time, Unix timestamp in seconds (int64). Must be greater than or equal to
2026-01-01 00:00:00.integer
erforderlich
Query end time, Unix timestamp in seconds (int64). Must be greater than
startTime.This endpoint only supports data after
2026-01-01 00:00:00. It does not support pagination. The range between startTime and endTime must stay within the limit for the cycleType you request: 7 days for Hour, 31 days for Day, Week, and Month. To cover a longer period, split it into several requests.The query range limit is now enforced by the API. It used to be applied only in the Novita console, so requests sent directly to this endpoint were never rejected for being too long. If your integration queries more than 31 days at once (or more than 7 days with The message always names the limit and the granularity that was rejected, so you can split the range and retry.
cycleType=Hour), it now fails with HTTP 400 and a message in the form:time range must not exceed 31 days for cycleType "Month"
The API Key billing page in the Novita console offers only hourly and daily granularity. This endpoint still accepts all four values, so
Week and Month remain available to API callers even though they are no longer offered in the console.Response Parameters
object[]
erforderlich
API Key bill list.
Ausblenden properties
Ausblenden properties
string
erforderlich
User account ID.
string
erforderlich
Bill start time, Unix timestamp in seconds. It marks the first second of the billing period. With
cycleType=Hour, it is the top of that hour, for example 10:00:00.string
erforderlich
Bill end time, Unix timestamp in seconds. It marks the last second of the billing period. With
cycleType=Hour, it is minute 59 and second 59 of the same hour, for example 10:59:59.int32
erforderlich
Billing method:
1 (pay-as-you-go), 2 (subscription).string
erforderlich
Product name.
string
erforderlich
Product type or subcategory.
string
erforderlich
API Key ID.
string
erforderlich
API Key name.
string
erforderlich
Masked API Key.
string
erforderlich
Product ID.
string
erforderlich
Usage field 0. For
llm, this usually means input price per 1M tokens; GPU: price per card per hour; storage: price per GB per day.string
erforderlich
Usage field 1. For
llm, this usually means output tokens.string
erforderlich
Usage field 2. For
llm, this usually means read cache price per 1M tokens.string
erforderlich
Usage field 3. For
llm, this usually means write 5-minute cache price per 1M tokens.string
erforderlich
Usage field 4. For
llm, this usually means reasoning token price per 1M tokens.string
erforderlich
Usage field 5. For
llm, this usually means write 1-hour cache price per 1M tokens.string
Usage field 6.
string
Usage field 7.
string
Usage field 8.
string
Usage field 9.
string
Usage field 10.
string
Usage field 11.
string
Usage field 12.
string
Usage field 13.
string
Usage field 14.
string
Usage field 15.
string
erforderlich
Original price field 0. For
llm: input price per 1M tokens; GPU: price per card per hour; storage: price per GB per day.string
erforderlich
Original price field 1. For
llm, output price per 1M tokens.string
erforderlich
Original price field 2. For
llm, read cache price per 1M tokens.string
erforderlich
Original price field 3. For
llm, write 5-minute cache price per 1M tokens.string
erforderlich
Original price field 4. For
llm, reasoning token price per 1M tokens.string
erforderlich
Original price field 5. For
llm, write 1-hour cache price per 1M tokens.string
erforderlich
Discounted price field 0. For
llm, discounted input token price.string
erforderlich
Discounted price field 1. For
llm, discounted output token price.string
erforderlich
Discounted price field 2. For
llm, discounted read cache price per 1M tokens.string
erforderlich
Discounted price field 3. For
llm, discounted write 5-minute cache price per 1M tokens.string
erforderlich
Discounted price field 4. For
llm, discounted reasoning token price per 1M tokens.string
erforderlich
Discounted price field 5. For
llm, discounted write 1-hour cache price per 1M tokens.string
erforderlich
Total amount, unit is 1/10000 USD.
string
erforderlich
Amount deducted by vouchers, unit is 1/10000 USD.
string
erforderlich
Cash payment amount, unit is 1/10000 USD.
float
erforderlich
Display value of cash payment amount, in USD.
int32
erforderlich
Price precision. Unit price (USD) = unit price / 10000 /
pricePrecision.string
LLM series.
string
Request count.
object
Multimodal model billing details.
object
Tiered billing configuration.
curl --request GET \
--url 'https://api.novita.ai/openapi/v1/billing/apikey/bill/list?cycleType=Day&category=llm&startTime=1767225600&endTime=1769817599' \
--header 'Authorization: Bearer <API_KEY>'
curl --request GET \
--url 'https://api.novita.ai/openapi/v1/billing/apikey/bill/list?cycleType=Hour&category=llm&startTime=1767225600&endTime=1767830399' \
--header 'Authorization: Bearer <API_KEY>'
{
"bills": [
{
"userId": "<string>",
"startTime": "1767225600",
"endTime": "1767311999",
"billingMethod": 1,
"productName": "<string>",
"category": "llm",
"ownerID": "<api_key_id>",
"billNum0": "1000",
"billNum1": "500",
"basePrice0": "0",
"basePrice1": "0",
"discountPrice0": "0",
"discountPrice1": "0",
"amount": "10000",
"voucherAmount": "0",
"payAmount": "10000",
"payAmountDisplay": 1,
"pricePrecision": 1,
"productId": "<string>",
"apikeyName": "<string>",
"apikeyMask": "sk-****"
}
]
}
Zuletzt geändert am 10. August 2026