What the API tester cannot do yet, what you see when you hit it, and what to do instead. Each one is a gap the API tester reports, never a finding it invents.
These are by design. Do not look for a flag that turns them off.
- Default request timeout is 180s.
network.requestTimeoutMs(per attempt) aborts a stuckfetch, including a hung stream;0disables it. Watchstatus=in_flightandidle_msin the progress log as that budget is consumed. - A long
Retry-Afteris not waited for. A 429 is retried up to 5 times and a 503 that names its wait up to 3, each waiting outRetry-Afterup tonetwork.maxRetryAfterMs(default 60s). A longer wait is neither waited for nor retried: the answer stands, and its finding names the wait and the limit. One 401 forces a credential refresh and a single retry; a second 401 is evidence. - Network throws are not HTTP. Offline, DNS, reset or timeout: 4 retries, then one wait (default 60s) for the link. If it does not come back,
net.unreachableis recorded, the remaining work stands down, the report is still written, and the run exits3. Failed attempts are journaled asstatus: 0with{ error: "network", kind }. - No
servers[]at run time.testing api initreads the first absolute server URL intobaseUrl; a run always usesbaseUrl. Extra hosts areorigins[], each with its ownspec. An app origin that answers HTML andSet-Cookieis a request step with an absolute URL, not a dummy spec inorigins[]. - No OCR. Multipart file parts are sent as dummy, pool,
eachorresolveUploadbytes. The API tester checks HTTP statuses and JSON answers, not whether a PDF is a real invoice. - No webhook, callback or link-object following, except the explicit auth or invite GET of a URL
resolveOutOfBandreturned. A hook-sidefetchof that URL is not a recorded exchange. - URL
$refs are not fetched. In-document$refs are, and so are relative refs to files inside the document's own folder. x-idempotentis not the idempotency check. That check keys off a documentedIdempotency-Keyheader.- Rate-limit pacing covers only the API tester's own requests. It cannot see other traffic to the backend, so a shared budget can still trip while the API tester's own share stayed within the declared rate.
- An equality-only filter grammar cannot express
neq,gt,like,andoror; those checks do not apply, they do not fail.or()is PostgREST-only. - Leftover rows on a shared database poison numeric and filter checks (
1, 10, 2from old text-sorted rows beside a fresh numeric cohort). Wipe them between runs if a--keep-fixturesrun or a crashed teardown left any. --onlytakes plan names (store, notstoresor/v1/stores).--opstrusts support operations. A targeted green means the targets passed, given that what they needed worked. A defect in an untargeted operation is out of scope, even when a target called it.- The default cohort is 7.
pagination.limit-respects-documented-maxneedscohortSizeabove the documented maximum. - One principal writes: the one
writernames, or the first. Further principals are peers and a rank lattice, not a pool of writers.