エラー
REST APIは慣例的なHTTPステータスコードと一貫したJSONエラー形式を使用します。
# エラー形式
JSONエンドポイントは以下を返します:
{ "error": "templateId is required." }
(署名付きレンダーURL パスは成功時にバイナリを提供するため、短い text/plain ボディを返します。)
# ステータスコード
| ステータス | 意味 | 典型的な原因 |
|---|---|---|
200 |
OK | レンダリング/スクリーンショット完了。 |
202 |
Accepted | 非同期ジョブがキューに登録されました — GET /v1/renders/{id} をポーリングしてください。 |
400 |
Bad request | template が欠落しているか、バッチが50を超えているか、許可されていないスクリーンショットURLです。 |
401 |
Unauthorized | APIキーが欠落しているか、無効であるか、失効しています。 |
402 |
Payment required | 無料プランのクォータを使い果たしました — レンダリングを続行するにはアップグレードしてください。 |
403 |
Forbidden | 署名付きレンダーURL上の署名が不正であるか欠落しています。 |
404 |
Not found | 不明なテンプレート、ジョブ、またはパスです。 |
405 |
Method not allowed | エンドポイントに対するHTTPメソッドが間違っています。 |
500 |
Server error | 予期しない障害です (再試行してください; 問題が解決しない場合はサポートにお問い合わせください)。 |
# クォータ
無料 プランでは、レンダリングは月間上限で 402 によってハードストップします。有料 プランではレンダリング途中でブロックされることはありません — 超過はメーター方式で課金されます (レンダリングが停止することはありません)。GET /v1/account またはアプリの Usage ページで現在の使用状況を確認してください。
# エラー処理
from mostlyrender import MostlyRender, MostlyRenderError
try:
out = mr.render("tpl_abc", modifications={"title": "Hello"})
except MostlyRenderError as e:
print(e.status, e.body) # e.g. 402 { "error": "…quota…" }
バッチ では、アイテムごとの障害はリクエスト全体を失敗させません — 失敗した各アイテムは results 内の { "error": … } エントリです。