Signal Foundry
ドキュメント
サポート 戻る
ドキュメントユースケースAPI リファレンスリリースノート

概要

Agent が迷わず使える順に整理しています。

はじめに
sf CLI をインストールクイックスタートデータの出所カバレッジとタグ
CLI 概要
基本コマンドCLI 認証会社検索求人検索建設業許可検索ヘルプとエラーコマンドとフラグCLI 更新
認証
APIキーのライフサイクル利用状況の見方
請求
クレジット表
トラブルシュート
認証・接続・制限エラー低ヒット検索の見直し方クレジットと maxCredits の失敗
CLI

ヘルプとエラー対応

`--help`、構造化 error、exit code、復旧コマンドの読み方をまとめます。

このページの内容7項目
Help の読み方Error envelopeExit codeよくある復旧Idempotencyやってはいけないこと次に読むページ

Claude Code / Codex で sf を使うときは、失敗を文章で推測せず、CLI が返す構造化 error を次の行動に使います。このページが error envelope と復旧コマンドの正本です。

Help の読み方

sf --help --json
sf search --help --json
sf company --help --json
sf signals --help --json
sf usage --help --json
sf query --help --json
sf job search --help --json
sf construction search --help --json
sf credits balance --help --json
sf credits summary --help --json

help では次を確認します。

  • Usage: 必須 argument と option
  • Examples: --json 付きの実行例
  • Next: 次に打つコマンド候補

エージェントは、クレジット消費を伴う実行の前に sf credits balance --json で残高を確認し、ユーザーが指定した予算を超える実行はしません。

Error envelope

usage error の例です。

{
  "ok": false,
  "error": {
    "code": "usage_error",
    "exit_code": 2,
    "hint": "先に `sf search <query> --json` で company_id を解決してください。",
    "message": "companyId is required",
    "retryable": false,
    "suggested_next_commands": [
      "sf search <query> --json",
      "sf company jpx_7203 --json"
    ],
    "type": "usage_error"
  }
}

network error の例です。

{
  "ok": false,
  "error": {
    "code": "network_error",
    "exit_code": 3,
    "hint": "接続先を確認してください。",
    "message": "接続できませんでした。",
    "retryable": true,
    "suggested_next_commands": [
      "sf auth show --json",
      "sf login --json"
    ],
    "type": "network_error"
  }
}

まず見る key:

  • ok
  • error.code
  • error.exit_code
  • error.hint
  • error.retryable
  • error.suggested_next_commands[]

error.suggested_next_commands[0] は次の候補です。ただし、候補がクレジット消費コマンドなら、対象と credit 残高を確認してから実行します。

max_credits_exceeded が返る場合は type: "budget_limit" です。retry / backoff で解決するものではありません。検索条件や対象を絞って再実行してください。

Exit code

Exit codeMeaning最初に見るもの
2usage errorsf <surface> --help
3network errorsf auth show --json
4auth errorsf auth show --json の authMode と base URL
5not foundID 解決コマンド
6rate limitRetry-After と待機
7remote/server errorerror.hint と再試行可否
8company resolve に一致候補なしJSON の status: "not_found" と gaps[]
9条件が未対応(機械可読な拒否)JSON の status: "unsupported" / "blocked" と gaps[].code

sf company <input> --json は、API 呼び出し自体が成功しても会社候補を解決できない場合に exit 8 を返します。JSON は ok: true / status: "not_found" のままです。sf search の0件は正当な検索結果なので exit 0 のままです。

サーバーが条件を未対応と判定した場合(例: 四半期指定)、CLI は契約 payload(status: "unsupported" と gaps[].code)をそのまま出力し、exit 9 を返します。これは接続エラーではありません。quarter_financial_period のような未対応条件は、同じ条件のまま再試行しても結果は変わらないため、gaps[].code を読み、対応する structured filter または company_query.v1 へ条件を移してください。

よくある復旧

Error次に打つコマンド補足
usage_errorsf <surface> --help --json必須オプションを確認
auth_errorsf auth show --jsoneffectiveBaseUrl と credential preview を確認
authentication_required / invalid_oauth_tokensf auth show --jsonOAuth token がない、期限切れ、または接続先が違う場合は sf login --json
company_not_foundsf search <query> --json自由入力を Company Card / Signals に渡さない
invalid_querysf <surface> --help --jsontopic.arguments[] と topic.options[] にない入力を渡していないか確認
max_credits_requiredsf <command> --help --jsonusage estimate と上限を確認する
max_credits_exceededsf credits balance --json検索条件や対象を絞って再実行する
credit_balance_insufficientsf credits balance --json付与の残高を確認
rate_limit_exceeded待機して再実行error.rate_limit.retryAfterSeconds または Retry-After に従う

Idempotency

credit を消費する HTTP の POST endpoint は、Idempotency-Key header(opt-in)で安全に再試行できます。CLI に idempotency のフラグはありません。CLI で同じ操作を再実行する場合は、error が retryable: true か、error.suggested_next_commands が再試行を指示しているかを見てから、同じコマンドをそのまま再実行します。

同じ会社 / signal を再実行する場合は、二重消費を避けるために同じ意図の再試行として扱います。

やってはいけないこと

  • unsupported / needs_human を 0 件成功にする
  • クレジット消費コマンドを上限なしで走らせる
  • 曖昧な会社候補をエージェントが勝手に確定する
  • API key や顧客秘密情報を support 連絡に入れる

次に読むページ

  • 最小実行順: 基本コマンド
  • usage / credit の失敗: クレジットと maxCredits の失敗

このページの内容

Help の読み方Error envelopeExit codeよくある復旧Idempotencyやってはいけないこと次に読むページ