1.8 KiB
1.8 KiB
Quota API
Base path: /api/v1/quota
All endpoints require Authorization: Bearer <jwt>.
Related: 02 - Videos API, 01 - System Overview
GET /quota/history
Get YouTube API quota usage history for the current team.
Query parameters:
| Param | Type | Description |
|---|---|---|
from |
ISO date | Start of the date range |
to |
ISO date | End of the date range |
channelId |
string | Filter by channel |
Response:
[
{
"id": "cuid",
"datePt": "ISO datetime",
"units": 50,
"operation": "videos.update",
"actionId": "uuid",
"actionType": "video_sync",
"channelId": "cuid",
"videoId": "cuid",
"video": {
"id": "cuid",
"title": "Video Title",
"youtubeVideoId": "abc123"
}
}
]
Field notes:
| Field | Notes |
|---|---|
datePt |
Timestamp of the quota spend, in Pacific Time (quota resets at midnight PT). |
units |
Number of quota units consumed by the operation. |
operation |
YouTube API method called (e.g. videos.update). |
actionType |
Internal action that triggered the spend (e.g. video_sync). |
GET /quota/today
Get the total YouTube API quota consumed today (Pacific Time), plus the daily limit and remaining units.
Response:
{
"used": 450,
"limit": 10000,
"remaining": 9550
}
Notes
- The YouTube API quota limit is 10,000 units per day, resetting at midnight Pacific Time.
- A
videos.updatecall (triggered by a sync job) costs 50 units. QuotaService.canSpend()and.spend()are called before every YouTube write. If the remaining quota is insufficient, the operation is rejected.- Quota is tracked per team and per channel.
- See 02 - Videos API —
POST /videos/:id/syncfor the sync flow that consumes quota.