予算API
作品ごとの予算の状態(発注済み・着地見込みのそれぞれで判定)と工程の進捗を読み取るAPIエンドポイントです。 予算の設定はアプリの画面から行います(APIでは提供していません)。予算を超えたことを知らせる Webhook はまだありません。
GET /api/v1/budgets
作品ごとの予算の状態・着地見込みの状態・工程の進捗を取得します(全作品)。
必要なスコープ: budgets:read
レスポンス
{
"object": "list",
"data": [
{
"object": "budget",
"id": "clxxx...",
"project_id": "clxxx...",
"project_name": "作品名",
"has_budget": true,
"status": "warning",
"forecast_status": "over",
"progress": { "percent": 42, "total_processes": 1200, "completed_processes": 504 },
"amounts": {
"currency": "JPY",
"budget": 30000000,
"ordered": 25000000,
"paid": 12000000,
"remaining": 5000000,
"consumption_rate": 83.3,
"internal_accrued": 1500000,
"unordered_estimate": 6000000,
"forecast": 32500000
}
}
],
"has_more": false,
"next_cursor": null
}- ●ページ分けはしません(全作品を1回で返します)。
- ●status は発注済みの額、forecast_status は着地見込み(発注済み+内製の報酬+未発注の見込み)で判定した予算の状態です。none(予算未設定)/ ok / warning(80%以上)/ over(100%以上)。
- ●予算は作品の予算、無ければ話数の予算の合計です。
- ●金額(amounts)は amounts:read スコープを持つキーにだけ返します。予算・着地見込みは保存された値ではなく、呼び出しのたびに画面の予算一覧と同じ計算で出します(未発注の見込みは基準単価からの概算)。
- ●集計が重いため、組織ごとに1分あたり10回までです(超えると 429 RATE_LIMITED)。
GET /api/v1/projects/[id]/budget
作品1件の予算を、話数ごとの内訳とあわせて取得します。
必要なスコープ: budgets:read
レスポンス
{
"data": {
"object": "budget",
"id": "clxxx...",
"project_id": "clxxx...",
"project_name": "作品名",
"has_budget": true,
"status": "ok",
"forecast_status": "warning",
"amounts": { "currency": "JPY", "budget": 30000000, "ordered": 20000000, "…": "一覧と同じ項目" },
"episodes": [
{
"object": "episode_budget",
"episode_id": "clxxx...",
"episode_number": "1",
"episode_title": "第1話",
"has_budget": true,
"status": "ok",
"forecast_status": "ok",
"order_count": 48,
"amounts": { "currency": "JPY", "budget": 2500000, "ordered": 1800000, "…": "一覧と同じ項目" }
}
]
}
}- ●パスパラメータ id は作品ID。APIキーの組織に属さない作品は 404 になります。
- ●話数の status は話数の予算で判定します(話数に予算が無ければ none)。
- ●金額(amounts)は amounts:read スコープを持つキーにだけ返します。組織ごとに1分あたり10回まで(GET /api/v1/budgets と合わせて数えます)。