code. When one query parameter is at fault,
param names it:
An endpoint may add a more specific code of its own; treat a code you don’t know by its HTTP status.
Message strings are for humans and may change; codes are the contract.
Parameters are checked before anything is counted
Requests made with an API key, an OAuth token or through the MCP server are checked against the endpoint’s parameters in the OpenAPI spec before they reach your plan. A parameter the endpoint does not list, a value of the wrong type, outside its allowed values or above its maximum, a parameter given twice, or a missing required one is refused with a400 and one of the codes above. These 400s are not
metered: they spend no per-minute, daily or monthly allowance and no prepaid credits. A limit above the
maximum the spec states for it is refused, never silently lowered. An error the endpoint finds after that check (an unknown
company, a period it does not hold) counts as a request like any other.