Skip to content

Usage API

What was streamed in a month and what it cost, stream by stream, and per customer — what a partner bills its own customers from.

This page is generated from the OpenAPI specification; the same text is inMarkdown for tools and AI assistants.

Read a month's usage

GET/v1/usage

What was streamed in a month (UTC) and what it cost, broken down stream by stream. With customer_ref, one customer’s — what a partner bills that customer from.

Query parameters

NameTypeDescription
monthstring

YYYY-MM. Defaults to the current month (UTC).

customer_refstring

Only this customer’s usage.

Response 200

The month’s usage.

Fields
NameTypeDescription
monthrequiredstring

YYYY-MM.

customer_refstring

Your identifier for a customer. 1-128 letters, digits, ., _ or -; not . or ...

stream_hours_usedrequirednumber
restream_destination_hours_usedrequirednumber
captions_hours_usednumber
translation_language_hours_usednumber
stream_hour_caprequirednumber or null

Your organization’s monthly cap, or null for none.

stream_hours_remainingrequirednumber or null
streamsrequiredarray of object
streams[].playback_idrequiredstring
streams[].customer_refrequiredstring

Your identifier for a customer. 1-128 letters, digits, ., _ or -; not . or ...

streams[].titlerequiredstring
streams[].tierrequiredstring

standard_1080p ($5 per stream-hour) or pro_4k ($20 per stream-hour).

One of "standard_1080p", "pro_4k".

streams[].billable_minutesrequiredinteger
streams[].unit_rate_usd_per_hourrequirednumber
streams[].amount_usdrequirednumber
streams[].occurred_atrequiredstring (date-time)
streams[].restream_billable_minutesrequiredinteger
streams[].restream_destinationsrequiredinteger
streams[].restream_unit_rate_usd_per_hourrequirednumber or null
streams[].restream_amount_usdrequirednumber
streams[].restream_destination_minutesrequiredarray of integer
streams[].end_reasonrequiredstring or null
streams[].started_atrequiredstring (date-time) or null
streams[].captionsobject
streams[].captions.captions_billable_minutesrequiredinteger
streams[].captions.captions_amount_usdrequirednumber
streams[].captions.translationsrequiredarray of object
streams[].captions.translations[].languagerequiredstring
streams[].captions.translations[].namerequiredstring
streams[].captions.translations[].billable_minutesrequiredinteger
streams[].captions.translations[].unit_rate_usd_per_hourrequirednumber
streams[].captions.translations[].amount_usdrequirednumber
streams[].captions.translation_billable_minutesrequiredinteger
streams[].captions.translation_amount_usdrequirednumber

Errors

StatusCodeMeaning
400invalid_month

month is not YYYY-MM.

400invalid_customer_ref

customer_ref is not a valid customer reference.

Terminal window
curl "https://api.cardinalstreaming.com/v1/usage?month=2026-09&customer_ref=grace-chapel" \
-H "Authorization: Bearer $CARDINAL_API_KEY"

Read usage month by month

GET/v1/usage/months

One entry per calendar month (UTC), oldest first, with zero months included: broadcasts, billed stream minutes by tier, every priced line and the total in cents — the amounts the month’s invoice uses. The current month is the invoice so far (broadcasts that have ended).

Query parameters

NameTypeDescription
fromstring

First month, YYYY-MM. Defaults to eleven months before to.

tostring

Last month, YYYY-MM, inclusive. Defaults to the current month. At most 36 months from from.

customer_refstring

Only this customer’s usage.

Response 200

Usage by month.

Fields
NameTypeDescription
fromrequiredstring
torequiredstring
customer_refstring

Echoed when the request named one.

monthsrequiredarray of object
months[].monthrequiredstring

YYYY-MM (UTC).

months[].streamsrequiredinteger

Broadcasts that ended (and were billed) in the month.

months[].stream_minutesrequiredobject

Billed stream minutes by tier; both tiers are always present.

months[].stream_minutes.standard_1080prequiredinteger
months[].stream_minutes.pro_4krequiredinteger
months[].linesrequiredarray of object
months[].lines[].productrequiredstring

One of "stream", "restream", "captions", "translation".

months[].lines[].tierrequiredstring

One of "standard_1080p", "pro_4k".

months[].lines[].minutesrequiredinteger

Billed minutes.

months[].lines[].centsrequiredinteger

The amount in whole cents, exactly as invoiced.

months[].usage_centsrequiredinteger

Errors

StatusCodeMeaning
400invalid_month

from or to is not YYYY-MM.

400invalid_range

from is after to, or the range is longer than 36 months.

400invalid_customer_ref

customer_ref is not a valid customer reference.

Terminal window
curl "https://api.cardinalstreaming.com/v1/usage/months?from=2026-04&to=2026-09" \
-H "Authorization: Bearer $CARDINAL_API_KEY"

Read a month's usage by customer

GET/v1/usage/customers

One month’s usage per customer, highest spend first, with the name you gave each. Only customers that streamed that month appear.

Query parameters

NameTypeDescription
monthstring

YYYY-MM. Defaults to the current month (UTC).

Response 200

Usage by customer.

Fields
NameTypeDescription
monthrequiredstring
customersrequiredarray of object
customers[].customer_refrequiredstring
customers[].namerequiredstring or null
customers[].streamsrequiredinteger
customers[].stream_minutesrequiredobject

Billed stream minutes by tier; both tiers are always present.

customers[].stream_minutes.standard_1080prequiredinteger
customers[].stream_minutes.pro_4krequiredinteger
customers[].linesrequiredarray of object
customers[].lines[].productrequiredstring

One of "stream", "restream", "captions", "translation".

customers[].lines[].tierrequiredstring

One of "standard_1080p", "pro_4k".

customers[].lines[].minutesrequiredinteger

Billed minutes.

customers[].lines[].centsrequiredinteger

The amount in whole cents, exactly as invoiced.

customers[].usage_centsrequiredinteger

Errors

StatusCodeMeaning
400invalid_month

month is not YYYY-MM.

Terminal window
curl "https://api.cardinalstreaming.com/v1/usage/customers?month=2026-09" \
-H "Authorization: Bearer $CARDINAL_API_KEY"