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
requis
Enum:
application/jsonstring
requis
Bearer authentication format, for example: Bearer {{API Key}}.
Query Parameters
string
requis
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
requis
Query start time, Unix timestamp in seconds (int64). Must be greater than or equal to
2026-01-01 00:00:00.integer
requis
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[]
requis
API Key bill list.
Masquer properties
Masquer properties
string
requis
User account ID.
string
requis
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
requis
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
requis
Billing method:
1 (pay-as-you-go), 2 (subscription).string
requis
Product name.
string
requis
Product type or subcategory.
string
requis
API Key ID.
string
requis
API Key name.
string
requis
Masked API Key.
string
requis
Product ID.
string
requis
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
requis
Usage field 1. For
llm, this usually means output tokens.string
requis
Usage field 2. For
llm, this usually means read cache price per 1M tokens.string
requis
Usage field 3. For
llm, this usually means write 5-minute cache price per 1M tokens.string
requis
Usage field 4. For
llm, this usually means reasoning token price per 1M tokens.string
requis
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
requis
Original price field 0. For
llm: input price per 1M tokens; GPU: price per card per hour; storage: price per GB per day.string
requis
Original price field 1. For
llm, output price per 1M tokens.string
requis
Original price field 2. For
llm, read cache price per 1M tokens.string
requis
Original price field 3. For
llm, write 5-minute cache price per 1M tokens.string
requis
Original price field 4. For
llm, reasoning token price per 1M tokens.string
requis
Original price field 5. For
llm, write 1-hour cache price per 1M tokens.string
requis
Discounted price field 0. For
llm, discounted input token price.string
requis
Discounted price field 1. For
llm, discounted output token price.string
requis
Discounted price field 2. For
llm, discounted read cache price per 1M tokens.string
requis
Discounted price field 3. For
llm, discounted write 5-minute cache price per 1M tokens.string
requis
Discounted price field 4. For
llm, discounted reasoning token price per 1M tokens.string
requis
Discounted price field 5. For
llm, discounted write 1-hour cache price per 1M tokens.string
requis
Total amount, unit is 1/10000 USD.
string
requis
Amount deducted by vouchers, unit is 1/10000 USD.
string
requis
Cash payment amount, unit is 1/10000 USD.
float
requis
Display value of cash payment amount, in USD.
int32
requis
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-****"
}
]
}
Dernière modification le 10 août 2026