Before you start
- API in TEST:
https://test-api.segmnt.cloud GET /v1/billing/planuses your session cookie (the dashboard session).GET /v1/projects/{projectId}/usageaccepts a project API key (Authorization: Bearer sk_...) or your session cookie.- Days are UTC dates in the form
YYYY-MM-DD.
1. Usage of one project
GET /v1/projects/{projectId}/usage returns the stored seconds of the project
and the minutes watched in a date range.
storedSecondsis the total length of the project’s videos now, not only in the period. It counts videos that are encoding, ready or held for review, and it uses quality weighting. Deleting a video lowers it on the next call.watchedMinutescounts only the period you asked for.- A project API key works only for its own project. A key for another project
gets
404 not_found, the same as an unknown project. fromafterto, or a bad date, gets400 invalid_request.
2. Your plan, limits and usage
GET /v1/billing/plan returns your plan, its status, the current period, the
limits and your usage for the account.
plan.nameisPilotwhile a pilot account is inside its 30-day window.statusis one ofactive,pilot,past_due,canceled.currentPeriodis the current UTC month. Watched minutes reset at the start of each month. Thestartis inclusive and theendis exclusive.- In
limits,nullmeans no limit. maxQualityis the highest height you may play (720= 720p,1080= 1080p,2160= 4K): Free plays up to 720p, Starter up to 1080p, Pro and Agency up to 4K.whiteLabeltells you if you may hide our logo.usageis for the whole account: stored seconds now, watched minutes in the current period, and verified domains.- This call needs the session cookie. An API key cannot read it.
- The new-upload and project limits are enforced, but they are not in this answer yet. They are in the limits table below.
3. Limits
- The monthly counters (new uploads and watched minutes) reset at the start of each UTC month. Stored hours do not reset; they fall when you delete a video. A pilot is different: its new uploads are capped for the whole pilot, not per month.
- The pilot runs for 30 days and needs no credit card. When it ends, the account returns to its plan (usually Free).
- Paid plan numbers come from the plan catalog. See Plans, checkout and payment for the prices and how to buy a plan.
4. Quality weighting
Hours count by the quality of the source file, for stored time and for uploaded time:
Example: a 30-minute 4K lesson counts as 2 hours of stored time. A 30-minute
1440p lesson counts as 1 hour. This keeps the low price honest for everyone: a
4K file costs us more to store and to send.
5. What happens at a limit
When the account is over a limit, the API answers403 plan_limit_reached on
the action that would pass it. It can happen on:
What stops depends on the plan:
- Free, Starter and Pilot: uploads stop at the limit, and playback stops at the watched-minutes limit. Starter’s wall is watch time.
- Pro and Agency: uploads stop at the limit. Playback never stops: past the included minutes, extra watch time is cheap pay-as-you-go and is added to your next invoice. No “call sales” wall and no sudden stop.
GET /v1/billing/plan returns the extra watched minutes in
usage.overageMinutes. This number is always 0 for Free, Starter and
Pilot: those plans stop playback at the watched-minutes limit, so they are
never billed for overage. The pay-as-you-go amount applies only to Pro and
Agency, where you can see it here before the next invoice. The invoice itself
(A14) is not live yet.
You do not lose data. Delete videos or remove domains to go back under a limit,
or upgrade to raise it. When the month (or the pilot) ends, the counters reset.
6. Errors
Errors useapplication/problem+json. Use the code field in your code, not
the text. The type field links to https://docs.segmnt.cloud/errors/{code}.
Tested in TEST
Checked againsthttps://test-api.segmnt.cloud on 14 Oct 2026:
GET /v1/billing/planwith no session →401 unauthorized.GET /v1/projects/{projectId}/usagewith no credential →401 unauthorized.POSTon both routes →405 method_not_allowed.
403 plan_limit_reached cases on upload,
playback link, project and domain) is proved against TEST by our end-to-end tests.
The route behaviour and the limit checks are also covered by our API unit tests.