ghostroute_batch_check
Batch form of ghostroute_check: one verdict per subject, aligned to
input order. The batch is validated whole before anything is charged,
run or signed: an empty or non-array subjects, or any invalid subject,
fails the entire batch with 400 invalid_request (the message names
subjects[i]), and more than 50 subjects fails it with 413
payload_too_large. A {ok:false, error} entry appears inline only
when the check for an already-valid subject fails at runtime; the other
subjects still return their verdicts.
Use this tool when:
You need routing-integrity / sovereignty verdicts for many endpoints at once.
Inputs:
subjects(body, required): 1-50 IPs, domains, ASNs (AS####) or cert hashes.receipt(body, optional): whentrue, each verdict is a signed, persisted GhostRoute receipt.
Returns:
count,results[]— each{ok, subject, ...verdict}(plusreceipt_id,signaturewhen receipts were requested).
Cost:
Each subject costs one rate-limit unit (the first is the request itself). A batch larger than the remaining budget is refused whole with 429 and charges nothing beyond that first unit, so the effective maximum per call is min(50, remaining + 1): anonymous 10/min, free 50/day, supporter 500/day, pro 5,000/day, enterprise unlimited.
Latency:
Subjects run in parallel; roughly the slowest single check (300-900ms cold).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| receipt | No | When `true`, issue a signed, persisted GhostRoute receipt per subject. | |
| subjects | Yes |