コンテンツにスキップ

エラーハンドリング

ANKK パブリック API は、詳細なエラー JSON ボディを伴う標準的な HTTP ステータスコードを返します。


すべてのエラーレスポンスは以下の形式に従います。

{
"error": "idempotency_conflict",
"message": "The idempotency key was already used with a different request payload.",
"param": "idempotency_key"
}

🚦 HTTP ステータスコード・リファレンス

Section titled “🚦 HTTP ステータスコード・リファレンス”
ステータスコードエラーコード意味と推奨されるアクション
400 Bad Requestinvalid_input, validation_failedリクエストボディまたはパラメータの形式が正しくありません。ペイロードを修正してください。
401 Unauthorizedunauthorized, invalid_api_keyAPI キーが不足しているか、無効です。
403 Forbiddeninsufficient_scope, quota_exceededスコープが不足しているか、プランのクォータを超過しています。
404 Not Foundnot_foundリソース (content_id, connection_id) が見つかりません。
409 Conflictidempotency_conflict異なるペイロードでべき等キーが再利用されました。
423 Lockedbrand_locked請求またはポリシーによりブランドがロックされています。請求を確認してください。
429 Too Many Requestsrate_limitedレート制限を超過しました。Retry-After に従って待機してください。
500 Server Errorinternal_server_errorサーバー内部のエラーです。バックオフを伴う再試行が可能です。
503 Service Unavailablesns_provider_unavailable外部のソーシャルネットワークで障害が発生しています。後で再試行してください。

🔍 一般的なビジネスエラーの例

Section titled “🔍 一般的なビジネスエラーの例”

1. 403 Insufficient Scope (スコープ不足)

Section titled “1. 403 Insufficient Scope (スコープ不足)”
{
"error": "insufficient_scope",
"message": "The API key does not have the required 'publishing:create' scope."
}

2. 409 Idempotency Conflict (べき等性の競合)

Section titled “2. 409 Idempotency Conflict (べき等性の競合)”
{
"error": "idempotency_conflict",
"message": "Idempotency key 'launch-001' is already bound to a different request hash.",
"param": "idempotency_key"
}

3. 400 Media Validation Failed (メディア検証失敗)

Section titled “3. 400 Media Validation Failed (メディア検証失敗)”
{
"error": "sns_content_media_maximum_exceeded",
"message": "Bluesky supports a maximum of 4 images per post.",
"param": "media"
}

  • 再試行可能 (5xx, ネットワークタイムアウト): 全く同じ idempotency_key を使用して、エクスポネンシャル・ジッター・バックオフを伴い再送信します。
  • 再試行不可 (400, 401, 403, 404, 409): クライアントコードまたはペイロードを修正し、新しいべき等キーで再発行してください。