Guides / Errors
エラーコード
エラーは HTTP ステータスコードと、JSON 本文の error.code で通知します。処理の分岐には code を使ってください。message は人が読むための英語の文章で、変更される場合があります。各コードの説明はこのページの表にあります。
レスポンスの形式
http
HTTP/2 403
content-type: application/json
{
"error": {
"code": "PLAN_REQUIRED",
"message": "This endpoint requires the Enterprise plan. Contact: help@alpsoft.io",
"docs": "https://openapi.chickstockfi.com/docs"
}
}code: 下表の大文字のコードです。プログラムでの分岐に使います。message: 原因と対処を記載した英語の文章です。ログに残し、利用者向けの画面には code に応じた独自の文言を表示してください。docs: 関連ドキュメントの URL です。レスポンスによっては含まれない場合があります。
クエリパラメータの検査(例: limit の範囲)を通らなかった場合は、同じ形で 400 BAD_REQUEST を返し、message にどの項目がなぜ誤りかを記載します。
本文のない 400
エンコードしていない韓国語などの非 ASCII クエリ値は、API に届く前にエッジで本文のない 400として拒否されることがあります。このレスポンスには
error がありません。 クエリ値は curl -G --data-urlencode "account=매출액" のようにエンコードして送るか、英語コード(account=revenue、period=FY2025)を使ってください。Data API のコード
| ステータス | コード | 意味 | 対処 |
|---|---|---|---|
| 400 | BAD_SYMBOL | 銘柄コードの形式が正しくありません | 韓国株は6桁のコード(例: 005930)を指定します。ニュースは英数字1〜12文字のティッカーにも対応しています。 サムスン電子 · 005930 |
| 400 | BAD_ID | 受付番号・記事 ID の形式が正しくありません | 開示は14桁の受付番号を、記事はレスポンスの id をそのまま指定します。 |
| 400 | BAD_QUERY | 検索語がありません | 検索エンドポイントに q を指定します。 |
| 400 | BAD_DATE | 日付の形式が正しくないか、存在しない日付です | YYYY-MM-DD 形式の実在する日付を指定してください。message に誤りのあるパラメータが記載されます。 |
| 400 | BAD_PERIOD | period の形式が正しくありません | 財務諸表は FY2025・2026Q3・2025H1・latest_quarter、コンセンサス・ガイダンスは 2026Q3・FY2026・last・next を使います。message に受け付ける形式が記載されます。 |
| 400 | BAD_REQUEST | 必須の条件が指定されていません | 例: /clinical-trials には symbol または sponsor が必要です。 |
| 400 | UNSUPPORTED_MARKET | 対応していない市場の銘柄です | ブリーフィングは KOSPI・KOSDAQ の銘柄と ETF にのみ対応しています。 |
| 400 | BAD_CURSOR | cursor の形式が誤っているか、別のフィルターで取得したものです | 前のレスポンスの next_cursor を同じフィルターのまま送ってください。フィルターを変えたら cursor なしで最初から呼び出します。 |
| 400 | MARKET_NOT_AVAILABLE | 準備中の市場です(日本・中国) | 現在は韓国(KR)・米国(US)のデータのみご提供しています。 |
| 401 | UNAUTHORIZED | キーがないか、Data API キーの形式(ck_live_)ではありません | ヘッダーを確認してください。PRO API キーは Data API では使えません。 |
| 401 | INVALID_KEY | 存在しないキー、または失効したキーです | コンソールで有効なキーを確認し、必要に応じて新しく発行してください。 |
| 401 | KEY_EXPIRED | API ドキュメント用セッションキー(ck_docs_)が失効しました | ログインした状態で API ドキュメントから再取得するか、ご自身のキーを使ってください。ドキュメント用セッションキーは最長 60 分です。 |
| 403 | PLAN_REQUIRED | 有料等級(Launch · Business · Scale · Enterprise)または PoC が必要なエンドポイントです | 無料トライアルキーを使用しているか、有料等級の契約期間が終了して Free に切り替わったアカウントです。契約状況を確認するか、導入のお問い合わせをお送りください。 |
| 403 | MARKET_NOT_ENTITLED | 契約外の市場のデータです | GET /key の markets で契約範囲を確認してください。範囲の追加は help@alpsoft.io までお問い合わせください。このリクエストは上限にカウントしません。 |
| 403 | POC_ENDED | PoC 期間が終了し、アカウントが停止しています | すべてのキーに同じレスポンスが返ります。期間の延長や正式契約については help@alpsoft.io までお問い合わせください。延長後は同じキーで再びご利用いただけます。 |
| 403 | READ_ONLY_KEY | API ドキュメント用セッションキーで GET 以外のリクエストを送りました | ドキュメント用セッションキーは GET エンドポイントのみ呼び出せます。POST /query などはご自身のキーで送ってください。 |
| 403 | FEATURE_DISABLED | 提供を終了したエンドポイントです | 既存の契約キーにのみ開放されています。代わりのエンドポイントはリファレンスの説明を参照してください。 |
| 404 | SYMBOL_NOT_FOUND | Phoenix AI が把握していない銘柄です | 形式は正しいものの上場銘柄ではありません。コード・ティッカーを確認してください。銘柄はあるがデータがない場合は NOT_FOUND です。 |
| 404 | NOT_APPLICABLE | この証券の種類には該当しないデータです | ETF・ETN などファンド型の商品には財務諸表・指標・コンセンサスなどの企業データがありません。ニュース・開示はそのまま呼び出せます。 |
| 404 | NOT_FOUND | 銘柄はあるものの、指定したデータ(勘定科目・期間など)がありません | コード・ID を確認してください。同じリクエストを繰り返さないでください。 |
| 404 | NO_HISTORY | 指定した日付に保存されたブリーフィングがありません | 過去の日付は保存済みのものだけを提供します。date を省略すると当日のブリーフィングを取得できます。 |
| 429 | RATE_LIMITED | 1分あたりの上限を超えました | Retry-After の秒数だけ待ってから再送してください。 |
| 429 | QUOTA_EXCEEDED | 1日の上限に達しました | 韓国時間の0時以降に再試行してください。 |
| 429 | AI_QUOTA_EXCEEDED | 等級ごとの1日の AI 呼び出し上限に達しました | Retry-After(韓国時間の0時まで)が経過してから再試行してください。通常のデータ呼び出しは引き続き利用できます。 |
| 429 | AI_MONTHLY_QUOTA_EXCEEDED | 契約した AI 呼び出しの月間上限に達しました | Retry-After(次の周期またはプラン終了まで)が経過してから再試行してください。通常のデータ呼び出しは引き続き利用できます。 |
| 500 | INTERNAL | サーバーエラーです | 少し時間をおいて再試行してください。解決しない場合はお問い合わせください。 |
| 503 | UNAVAILABLE | 一時的に処理できません | 少し時間をおいて、バックオフしながら再試行してください。 |
PRO API のコード
| ステータス | コード | 意味 | 対処 |
|---|---|---|---|
| 400 | BAD_REQUEST · BAD_SYMBOL | パラメータ・銘柄コードの形式エラー | リファレンスで形式を確認してください(開示の受付番号は14桁、韓国株は6桁のコードまたは米国株のティッカー)。 |
| 401 | UNAUTHORIZED | キーがないか、PRO API キーの形式(ck_pers_)ではありません | ヘッダーを確認してください。 |
| 401 | WRONG_KEY_SCOPE | Data API キー(ck_live_)または API ドキュメント用セッションキー(ck_docs_)で PRO API を呼び出しました | コンソールで PRO API キーを発行して使用してください。MCP は Data API キーでも接続でき、その場合は Data API ツールのみが表示されます。エラーの docs は MCP 接続ガイド(/docs/mcp)を指します。 |
| 401 | INVALID_KEY | 存在しないキー、または失効したキーです | 有効なキーを確認してください。 |
| 402 | BUDGET_EXCEEDED | 今月の AI コスト上限に達しました | 保存済みの要約は引き続き取得できます。翌月に再び利用可能になります。上限の引き上げはお問い合わせください。 |
| 403 | PLAN_REQUIRED | アカウントに PRO プランがありません | プランを契約してから再試行してください。 |
| 403 | PLAN_EXPIRED | プランの期間が終了しました | プランを延長してください。 |
| 403 | PLAN_NOT_STARTED | プランの開始日前です | message に記載された開始時刻以降に呼び出してください。 |
| 403 | PLAN_INACTIVE | プランが停止または解約されています | お問い合わせください。 |
| 400 · 403 | MARKET_NOT_AVAILABLE · MARKET_NOT_ENTITLED | 準備中の市場(日本・中国)・契約外の市場 | /me の markets で契約範囲を確認してください。MCP ツールは同じコードのツールエラーで応答します。 |
| 403 | POC_ENDED | PoC 期間が終了したアカウントです | PRO API のプランが残っていても停止します。期間の延長や正式契約についてお問い合わせください。 |
| 403 | PRODUCT_REQUIRED | このエンドポイントに必要な商品(Data または Ask)がプランに含まれていません | Bundle、または該当する商品のプランに変更してください。 |
| 403 | PRO_ACCESS_REQUIRED | 対話型の質問を利用する権限がないアカウントです | お問い合わせください。 |
| 404 | NOT_FOUND | データが見つかりません | コード・受付番号を確認してください。 |
| 409 | ASK_IN_PROGRESS | 処理中の質問がすでにあります(アカウントあたり同時に1件) | 処理中の job_id の結果を受け取ってから、新しい質問を送ってください。 |
| 429 | RATE_LIMITED | 1秒あたりの上限を超えました | Retry-After の秒数だけ待ってください。 |
| 429 | DAILY_QUOTA_EXCEEDED | 1日の呼び出し上限に達しました | 韓国時間の0時に再び利用可能になります(Retry-After あり)。 |
| 429 | SUMMARY_DAILY_LIMIT | 本日の AI 開示要約の生成上限に達しました | 保存済みの要約は引き続き取得できます(generate=false)。 |
| 429 | ASK_DAILY_LIMIT | 本日の質問の上限に達しました(Web 版 PRO を含む) | 韓国時間の0時以降に再度質問してください。 |
| 429 | AI_QUOTA_EXCEEDED | アカウントの1日の AI 呼び出し上限に達しました | 質問・要約の生成は韓国時間の0時に再び利用可能になります(Retry-After あり)。 |
| 429 | AI_MONTHLY_QUOTA_EXCEEDED | アカウントの AI 呼び出しの月間上限に達しました | 質問・要約の生成は次の周期(またはプラン終了)に再び利用可能になります(Retry-After あり)。 |
| 503 | UNAVAILABLE | 一時的に処理できません | 少し時間をおいて再試行してください。 |
MCP ツールの呼び出しで上限に達した場合は、HTTP エラーではなくツールの結果がエラー(isError)として返り、同じコードが含まれます。詳しくはMCP 接続をご覧ください。