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

API リファレンス

認証、利用上限、主要 endpoint を実行単位で確認します。

API 概要
OpenAPI Inventory会社検索会社プロフィール会社の観測データ開示一覧開示詳細開示比較観測データ検索ソースAPIリストAPIリスト見積もりリスト候補確認リスト保存リストEnrichmentリストExport調査アイテムクレジット残高クレジット利用サマリーフィードバックAPI外部調査API
API リファレンス

API リファレンス

Signal Foundry の HTTP API を、agent や既存システムから安全に呼び出すための入口です。

このページの内容19項目
まず決めること認証Account scopeRate limit と usageCredit boundary現行 surface の確認Public endpoint mapCompany readCross-company searchList workspaceSaved list operationsDiscovery runsSource importResearch / job artifacts / feedback / creditsID 解決共通 response の読み方エラー直接 API を使う前の smokeOpenAPI について

Signal Foundry API は、会社データ、観測データ、保存済み List、source import、research item、credit ledger を既存システムへ組み込むための HTTP surface です。

ただし、Claude Code / Codex から操作する場合はまず CLI を使います。CLI は同じ API を叩き、--json で agent が検証しやすい形に整えます。HTTP API は、自社の backend、batch、管理画面、partner integration から直接呼ぶときに使います。

endpoint の公開範囲、auth、credit tag、CLI equivalent は OpenAPI Endpoint Inventory を見ます。source と evidence の出所は Data Provenance を見ます。

まず決めること

判断CLI を使うHTTP API を使う
Claude Code / Codex が操作するYesNo
人間が terminal で調査するYesNo
既存 backend に組み込むNoYes
CSV export を file として受け取りたいYesYes
SDK / OpenAPI 生成の前提にしたいNo将来
失敗時に suggested command で復旧したいYesAPI error を解釈する必要あり

迷ったら、まず CLI の --json で 1 回成功させてから HTTP API に移してください。

認証

production は API key 必須です。送信方法はどちらか 1 つにしてください。

curl -s "$SIGNAL_FOUNDRY_BASE_URL/api/signal-foundry/companies?q=7203" \
  -H "Authorization: Bearer <SIGNAL_FOUNDRY_API_KEY>"

または:

curl -s "$SIGNAL_FOUNDRY_BASE_URL/api/signal-foundry/companies?q=7203" \
  -H "x-api-key: <SIGNAL_FOUNDRY_API_KEY>"

両方を送る場合は一致している必要があります。不一致なら 400 api_key_conflict です。

Account scope

通常、account_id は送りません。API key に紐づく account が自動で使われます。

HTTP API を直接使う場合も、request body や query に account を指定しないでください。API key account と request account が衝突した場合は 400 account_scope_conflict です。

Rate limit と usage

API key request は usage event と rate limit の対象です。

current default:

LimitValue対象
minute60全 API request
day10000rolling 24h の全 API request
heavy day2000companies, observations/search, lists export など

超過時は 429 rate_limit_exceeded と Retry-After header を返します。

Credit boundary

request usage と product credit は別物です。

操作Product credit
companies search / profile / observations / filings通常は消費しない
list estimate / list candidates消費しない
list materializesaved row の Basic credit
list enrich --source websitefound row の enrichment credit
list export消費しない
credits balance / credits summary消費しない

credit-consuming write は、必ず execute: true と maxCredits を付けます。CLI では --execute --max-credits <n> です。

operation ごとの正本は Credit Schedule です。

現行 surface の確認

API endpoint や filter は docs より実装が先に変わることがあります。組み込み前に、CLI と capability contract を確認してください。

sf data capabilities --json
sf --help
sf list --help

見る key:

  • contract_version
  • capabilities[].source_id
  • capabilities[].status
  • capabilities[].filters[]
  • capabilities[].entrypoints[]
  • capabilities[].pricing
  • capabilities[].limitations[]

網羅的な現況は Data Capability Map に寄せています。

Public endpoint map

Company read

JobEndpointCLI
短い identity 候補を返すGET /companies/identitysf companies identity <query> --json
会社を解決するGET /companiessf companies search <query> --json
1 社の profile を読むGET /companies/{companyId}/profilesf company profile <companyId> --json
根拠付き observation を読むGET /companies/{companyId}/observationssf company observations <companyId> --json
filing 一覧を見るGET /companies/{companyId}/filingssf company filings <companyId> --json
filing detail を見るGET /companies/{companyId}/filings/{filingId}sf filing show <companyId> <filingId> --json
前回 filing と比較するGET /companies/{companyId}/filings/{filingId}/comparesf filing compare <companyId> <filingId> --json

Cross-company search

JobEndpointCLI
テーマに反応する会社を探すPOST /observations/searchsf observations search "<query>" --json

List workspace

JobEndpointCLIDetail
保存前に件数と credit を見積もるPOST /lists/estimatesf list estimate "<query>" --jsonLists Estimate
候補 preview を見るGET /lists/candidatessf list candidates --from-estimate <estimateId> --jsonLists Candidates
saved List を作るPOST /lists/materializesf list materialize --from-estimate <estimateId> --execute --max-credits <n> --jsonLists Materialize
website enrichment を見積もるPOST /lists/{listId}/enrichments/estimatesf list enrich <listId> --source website --estimate --jsonLists Enrichments
website enrichment を実行するPOST /lists/{listId}/enrichments/runsf list enrich <listId> --source website --execute --max-credits <n> --jsonLists Enrichments
CSV export するGET /lists/{listId}/exportsf list export <listId> --format csv --output ./list.csv --jsonLists Export

Saved list operations

JobEndpointCLINotes
saved List 一覧GET /listssf list ls --jsonstatus, refresh_cadence, limit
saved List detailGET /lists/{listId}sf list show <listId> --jsonrow projection と latest state
空 List / source List / explicit company List を作るPOST /listssf list create ... --json--from-source / --company-id
snapshot previewGET /lists/{listId}/previewsf list preview <listId> --jsonpublish 前確認
snapshot publishPOST /lists/{listId}/publishsf list publish <listId> --jsonsaved List snapshot
refreshPOST /lists/{listId}/refreshsf list refresh <listId> --execute --max-credits <n> --jsonsource refresh は sourceRefresh
latest diffGET /lists/{listId}/diffs/latestsf list diff <listId> --jsonwatchlist review の入力
status 更新PATCH /lists/{listId}/statusAPI onlyactive / paused / archived
schedule 更新PATCH /lists/{listId}/scheduleAPI onlymanual / daily / weekly
suppressionsGET/PATCH /lists/{listId}/suppressionsAPI onlyrow の抑制管理
diff row reviewPATCH /lists/{listId}/diff-rows/{diffRowId}/reviewAPI onlyactionable などの review outcome
diff row exclusionPATCH /lists/{listId}/diff-rows/{diffRowId}/exclusionAPI onlynot_actionable などの exclusion reason
workspace preferencesGET/PATCH /lists/{listId}/workspace-preferencesAPI onlyUI/workspace preference
delivery 設定PATCH /lists/{listId}/deliveryAPI onlyslack / webhook handoff
delivery 実行POST /lists/{listId}/deliverAPI onlysaved List の配信 handoff
due refresh 実行POST /lists/run-due-refreshesAPI onlyscheduler / operator 向け
pending delivery 実行POST /lists/run-pending-deliveriesAPI onlyscheduler / operator 向け

delivery は saved List の handoff surface です。approval workflow、CRM sync、full monitor / alert を agent が勝手に始める surface ではありません。

Discovery runs

JobEndpointCLI
estimate 後の run を見るGET /discovery/runs/{runId}sf discovery show <runId> --json
追加条件で refine / materialize するPOST /discovery/runs/{runId}sf discovery refine, sf discovery materialize

Source import

JobEndpointCLI
CSV を source として保存するPOST /sources/importsf source import ./companies.csv --json
headers / sample rows を見るGET /sources/{sourceId}/inspectsf source inspect <sourceId> --json
source columns を company field に map するPOST /sources/{sourceId}/mapsf source map <sourceId> --entity company ... --json
source rows を company に resolve するPOST /sources/{sourceId}/resolvesf source resolve <sourceId> --execute --max-credits <n> --json
ambiguous row を review するGET /sources/{sourceId}/reviewsf source review <sourceId> --status multiple_candidates --json
明示的に company を選ぶPOST /sources/{sourceId}/selectsf source select <sourceId> --row <rowId> --company <companyId> --max-credits <n> --json

Research / job artifacts / feedback / credits

JobEndpointCLI
external research item を読むGET /research/itemssf research ls --json
external research item を保存するPOST /research/itemssf research add <companyId> --content "..." --json
external research を直接 estimate / fetch するPOST /research/external/estimate, POST /research/external/fetch通常は sf research add / ls --json
job artifact を一覧するGET /job-artifactssf job artifact ls --json
job artifact を保存するPOST /job-artifacts通常は sf job ... --save --json
job artifact detail を見るGET /job-artifacts/{artifactId}sf job artifact show <artifactId> --json
feedback を送るPOST /feedbacksf feedback create "..." --json
credit 残高を見るGET /credits/balancesf credits balance --json
credit ledger summary を見るGET /creditssf credits summary --json
usage summary を見るGET /usage/summaryAPI only
credit usage を見るGET /usage/creditsAPI only

ID 解決

companyId は canonical company_id を推奨します。

よく使う値:

  • jpx_7203
  • 7203
  • corporate number
  • normalized company name
  • website domain

1 社 API に入る前に、次で候補を固定してください。

sf companies identity KEYENCE --json
sf companies search 7203 --json

見る key:

  • identity.company_id
  • identity.matched_by
  • candidates[].candidate_rank_reason
  • companies[].company.company_id
  • companies[].query_match
  • meta.returned_companies

filingId は、edinet_fil_* の filing_id か EDINET doc_id を使えます。比較前に sf company filings <companyId> --json で選び、必要なら sf filing show <companyId> <filingId> --json で artifact_health / fact_stats / segment_metrics を確認します。

共通 response の読み方

成功 response は endpoint ごとに違いますが、agent はまず次の種類の key を見ます。

Surface見る key
companiescompanies[].company.company_id, meta.returned_companies
profilecompany.company_id, profile, sources
observationsobservations[], meta.returned_observations
filingsfilings[].filing_id, filings[].doc_id
lists estimateestimate.estimate_id, counts.matched_companies, billing.materialize.estimated_credits
lists materializelist.list_id, list.row_count, billing.credits_used
lists previewrows[], meta.returned_rows
source resolverun.resolved_count, run.multiple_candidates_count, run.not_found_count, run.review_required_count
enrich runrun.run_id, run.found_count, billing.credits_used
company research jobcompany_summary, important_observations, filings, evidence, evidence_gaps, next_actions
creditsbalance.available_credits, summary.totalQuantity

エラー

共通 error envelope:

{
  "error": {
    "code": "invalid_query",
    "message": "Invalid query parameters"
  }
}

主な code:

Code復旧
invalid_queryquery parameter を schema に合わせる
invalid_requestrequest body を schema に合わせる
invalid_api_keyAPI key を再発行し、CLI なら sf auth setup をやり直す
api_key_revokedactive key に差し替える
api_key_rotatedrotation 後の key に差し替える
api_key_expiredkey を再発行する
account_scope_conflictrequest body / query の account 指定を外し、API key の account に任せる
company_not_foundsf companies search <query> --json に戻る
filing_not_foundsf company filings <companyId> --json で filing を選び直す
estimate_not_foundsf list estimate "<query>" --json からやり直す
max_credits_requiredmaxCredits / --max-credits を付ける
max_credits_exceededquery を狭めるか上限を上げる
credit_balance_insufficientsf credits balance --json で残高を見る
rate_limit_exceededRetry-After まで待つ

直接 API を使う前の smoke

HTTP API を実装に組み込む前に、同じ操作を CLI で通します。

sf version --json --check-update
sf auth show --json
sf companies search 7203 --json
sf credits balance --json

list workflow なら:

sf list estimate "上場企業のうち、売上100億以上" --json
sf list candidates --from-estimate <estimateId> --json
sf list materialize --from-estimate <estimateId> --execute --max-credits <n> --json

OpenAPI について

OpenAPI は external integration / SDK generation には有効です。ただし現時点では、CLI JSON contract と docs の recovery path を先に正本にします。

OpenAPI 化の前に整理すること:

  • endpoint visibility と auth / credit boundary を固定する
  • route-local Zod schema を export 可能にする
  • success response schema の owner を決める
  • auth / rate / credit tag taxonomy を固定する
  • /llms.txt と API reference の重複を整理する

endpoint inventory は OpenAPI Endpoint Inventory に固定します。この backlog は Docs Map の方針に従って管理します。

このページの内容

まず決めること認証Account scopeRate limit と usageCredit boundary現行 surface の確認Public endpoint mapCompany readCross-company searchList workspaceSaved list operationsDiscovery runsSource importResearch / job artifacts / feedback / creditsID 解決共通 response の読み方エラー直接 API を使う前の smokeOpenAPI について