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