# Error messages, by API: what triggers each one

Every quoted error message the compendium has observed, with the exact condition that produced it and the trial ids that reproduce it. Search this page for the message you got.


## air-quality-api.open-meteo.com (open-meteo-air-quality)

- HTTP 400 "Bad Request" on GET /v1/air-quality: Sending a well-formed "end_date" (2026-10-13) without "start_date" is rejected with HTTP 400 "Bad Request", while the baseline without it returns HTTP 200. [#3029, #3018, #3028, #3074] (open-meteo-air-quality/get-v1-air-quality.html)
- HTTP 400 "Expected Int at 'forecast_days': Data found at 'forecast_days' was not Int" on GET /v1/air-quality: Parameter "forecast_days" (declared integer) rejects the non-integer value "abc" with HTTP 400 "Expected Int at 'forecast_days': Data found at 'forecast_days' was not Int". [#3027, #3061, #3063, #3062] (open-meteo-air-quality/get-v1-air-quality.html)
- HTTP 400 "Expected Int at 'past_days': Data found at 'past_days' was not Int" on GET /v1/air-quality: Parameter "past_days" (declared integer) rejects the non-integer value "abc" with HTTP 400 "Expected Int at 'past_days': Data found at 'past_days' was not Int". [#3026, #3052, #3054, #3053] (open-meteo-air-quality/get-v1-air-quality.html)
- HTTP 400 "Forecast days is invalid. Allowed range 0 to 7. Given 7." on GET /v1/air-quality: Parameter "forecast_days" enforces its documented maximum 7: "8" is rejected with HTTP 400 "Forecast days is invalid. Allowed range 0 to 7. Given 7.". [#3027, #3068, #3067, #3069] (open-meteo-air-quality/get-v1-air-quality.html)
- HTTP 400 "Invalid timezone" on GET /v1/air-quality: Parameter "timezone" rejects 2048-character string with HTTP 400 "Invalid timezone". [#3025, #3051, #3049] (open-meteo-air-quality/get-v1-air-quality.html)
- HTTP 400 "Invalid value at 'domains': Cannot initialize CamsApiDomain from invalid String value" on GET /v1/air-quality: Sending an empty value for "domains" is rejected with HTTP 400 "Invalid value at 'domains': Cannot initialize CamsApiDomain from invalid String value". [#3030, #3078] (open-meteo-air-quality/get-v1-air-quality.html)
- HTTP 400 "Invalid value at 'domains': Cannot initialize CamsApiDomain from invalid String value not_a_documented_value" on GET /v1/air-quality: Parameter "domains" is validated against its documented enum: an undocumented value is rejected with HTTP 400 "Invalid value at 'domains': Cannot initialize CamsApiDomain from invalid String value not_a_documented_value". [#3030, #3076] (open-meteo-air-quality/get-v1-air-quality.html)
- HTTP 400 "Invalid value at 'domains': Cannot initialize CamsApiDomain from invalid String value null" on GET /v1/air-quality: Sending the literal string "null" for "domains" is rejected with HTTP 400 "Invalid value at 'domains': Cannot initialize CamsApiDomain from invalid String value null". [#3030, #3077] (open-meteo-air-quality/get-v1-air-quality.html)
- HTTP 400 "Invalid value at 'timeformat': Cannot initialize Timeformat from invalid String value" on GET /v1/air-quality: Sending an empty value for "timeformat" is rejected with HTTP 400 "Invalid value at 'timeformat': Cannot initialize Timeformat from invalid String value". [#3024, #3048] (open-meteo-air-quality/get-v1-air-quality.html)
- HTTP 400 "Invalid value at 'timeformat': Cannot initialize Timeformat from invalid String value not_a_documented_value" on GET /v1/air-quality: Parameter "timeformat" is validated against its documented enum: an undocumented value is rejected with HTTP 400 "Invalid value at 'timeformat': Cannot initialize Timeformat from invalid String value not_a_documented_value". [#3024, #3046] (open-meteo-air-quality/get-v1-air-quality.html)
- HTTP 400 "Invalid value at 'timeformat': Cannot initialize Timeformat from invalid String value null" on GET /v1/air-quality: Sending the literal string "null" for "timeformat" is rejected with HTTP 400 "Invalid value at 'timeformat': Cannot initialize Timeformat from invalid String value null". [#3024, #3047] (open-meteo-air-quality/get-v1-air-quality.html)
- HTTP 400 "Invalid value: Cannot initialize Float from invalid String value null" on GET /v1/air-quality: Sending the literal string "null" for "latitude" is rejected with HTTP 400 "Invalid value: Cannot initialize Float from invalid String value null". [#3018, #3032, #3036] (open-meteo-air-quality/get-v1-air-quality.html)
- HTTP 400 "Invalid value: Cannot initialize SurfacePressureAndHeightVariable<VariableAndPreviousDay, VariableOrSpread<ForecastPressureVariable>, ForecastHeightVariable> from invalid String value null" on GET /v1/air-quality: Sending the literal string "null" for "current" is rejected with HTTP 400 "Invalid value: Cannot initialize SurfacePressureAndHeightVariable<VariableAndPreviousDay, VariableOrSpread<ForecastPressureVariable>, ForecastHeightVariable> from invalid String value null". [#3023, #3044, #3022, #3041] (open-meteo-air-quality/get-v1-air-quality.html)
- HTTP 400 "Parameter 'latitude' and 'longitude' must have the same number of elements" on GET /v1/air-quality: Omitting required parameter "latitude" is rejected with HTTP 400 "Parameter 'latitude' and 'longitude' must have the same number of elements". [#3018, #3019, #3020, #3035] (open-meteo-air-quality/get-v1-air-quality.html)
- HTTP 400 "Past days is invalid. Allowed range 0 to 5031. Given -1." on GET /v1/air-quality: Parameter "past_days" enforces its documented minimum 0: "-1" is rejected with HTTP 400 "Past days is invalid. Allowed range 0 to 5031. Given -1.". [#3026, #3058, #3056] (open-meteo-air-quality/get-v1-air-quality.html)
- HTTP 400 "Past days is invalid. Allowed range 0 to 5031. Given 2147483648." on GET /v1/air-quality: Parameter "past_days" rejects "2147483648" with HTTP 400 "Past days is invalid. Allowed range 0 to 5031. Given 2147483648.". [#3026, #3057] (open-meteo-air-quality/get-v1-air-quality.html)

## api.anthropic.com (anthropic-api)

- HTTP 401 "invalid x-api-key" on 2 endpoints (GET /v1/models/{model_id}, GET /v1/models): An invalid credential in "x-api-key" is rejected with HTTP 401 "invalid x-api-key". [#5838, #5843, #5810, #5833] (anthropic-api/get-v1-models-model-id.html)
- HTTP 400 "limit: Input should be a valid integer, unable to parse string as an integer" on GET /v1/models: Parameter "limit" (declared integer) rejects the non-integer value "abc" with HTTP 400 "limit: Input should be a valid integer, unable to parse string as an integer". [#5811, #5814, #5816, #5815] (anthropic-api/get-v1-models.html)
- HTTP 400 "limit: Input should be greater than or equal to 1" on GET /v1/models: Pagination parameter "limit" = 0 is rejected with HTTP 400 "limit: Input should be greater than or equal to 1". [#5811, #5823, #5820, #5818] (anthropic-api/get-v1-models.html)
- HTTP 400 "limit: Input should be less than or equal to 1000" on GET /v1/models: Pagination parameter "limit" = 999999999 is rejected with HTTP 400 "limit: Input should be less than or equal to 1000". [#5811, #5825, #5824, #5821] (anthropic-api/get-v1-models.html)
- HTTP 400 "Model with id ... not found" on GET /v1/models: An unknown model ID used as a before_id or after_id cursor is rejected with HTTP 400 "Model with id ... not found" rather than returning an empty page, while a known ID such as claude-opus-5-5 is accepted with HTTP 200. [#5829, #5813, #5826, #5812] (anthropic-api/get-v1-models.html)
- HTTP 400 "Model with id … not found" on GET /v1/models: An unknown model id passed as a before_id or after_id cursor is reported as HTTP 400 "Model with id … not found", while the same kind of unknown id in the path of GET /v1/models/{model_id} yields HTTP 404. [#5826, #5812, #5829, #5813] (anthropic-api/get-v1-models.html)
- HTTP 400 "Model with id null not found" on GET /v1/models: Sending the literal string "null" for "after_id" is rejected with HTTP 400 "Model with id null not found". [#5813, #5829, #5812, #5826] (anthropic-api/get-v1-models.html)
- HTTP 404 "model: null" on GET /v1/models/{model_id}: An unknown model id yields HTTP 400 when used as a list cursor on GET /v1/models, but HTTP 404 "model: null" when requested on GET /v1/models/{model_id}. [#5839, #5838, #5826, #5812] (anthropic-api/get-v1-models-model-id.html)
- HTTP 401 "x-api-key header is required" on 2 endpoints (GET /v1/models/{model_id}, GET /v1/models): Omitting "x-api-key" entirely is rejected with HTTP 401 "x-api-key header is required"; it is required to call this endpoint. [#5838, #5844, #5810, #5834] (anthropic-api/get-v1-models-model-id.html)

## api.binance.com (binance-spot-public)

- HTTP 451 "Service unavailable from a restricted location according to 'b. Eligibility' in https://www.binance.com/en/terms. Please contact customer service if you believe you received this message in error." on 8 endpoints (GET /api/v3/avgPrice, GET /api/v3/depth, GET /api/v3/exchangeInfo, GET /api/v3/klines, GET /api/v3/ticker/24hr, GET /api/v3/ticker/price, GET /api/v3/time, GET /api/v3/trades): The baseline request (required parameters only, values from the target file) does not succeed: HTTP 451 "Service unavailable from a restricted location according to 'b. Eligibility' in https://www.binance.com/en/terms. Please contact customer service if you believe you received this message in error.". Downstream claims for this endpoint are suppressed. [#4182, #4050, #3961, #4136] (binance-spot-public/get-api-v3-avgprice.html)

## api.binance.us (binance-us-spot-public)

- HTTP 400 "Duplicate values for parameter 'interval'." on GET /api/v3/klines: Sending "interval" twice is rejected with HTTP 400 "Duplicate values for parameter 'interval'.". [#4298, #4314] (binance-us-spot-public/get-api-v3-klines.html)
- HTTP 400 "Duplicate values for parameter 'symbol'." on 4 endpoints (GET /api/v3/avgPrice, GET /api/v3/depth, GET /api/v3/klines, GET /api/v3/trades): Sending "symbol" twice is rejected with HTTP 400 "Duplicate values for parameter 'symbol'.". [#4344, #4350, #4254, #4260] (binance-us-spot-public/get-api-v3-avgprice.html)
- HTTP 400 "Illegal characters found in parameter 'endTime'; legal range is '^[0-9]{1,20}$'." on GET /api/v3/klines: Parameter "endTime" rejects "-1" with HTTP 400 "Illegal characters found in parameter 'endTime'; legal range is '^[0-9]{1,20}$'.". [#4303, #4325, #4321, #4322] (binance-us-spot-public/get-api-v3-klines.html)
- HTTP 400 "Illegal characters found in parameter 'limit'; legal range is '^[0-9]{1,20}$'." on 3 endpoints (GET /api/v3/depth, GET /api/v3/klines, GET /api/v3/trades): Parameter "limit" rejects "-1" with HTTP 400 "Illegal characters found in parameter 'limit'; legal range is '^[0-9]{1,20}$'.". [#4256, #4265, #4306, #4335] (binance-us-spot-public/get-api-v3-depth.html)
- HTTP 400 "Illegal characters found in parameter 'permissions'; legal range is '^([A-Z0-9-_.]{1,36}|\[(" on GET /api/v3/exchangeInfo: Parameter "permissions" rejects 2048-character string with HTTP 400 "Illegal characters found in parameter 'permissions'; legal range is '^([A-Z0-9-_.]{1,36}|\[("[A-Z0-9-_.]{1,36}"(,"[A-Z0-9-_.]{1,36}"){0,}){0,1}\]|\[\[("[A-Z0-9-_.]{1,36}"(,"[A-Z0-9-_.]{1,36}"){0,}){0,1}\](,\[("[A-Z0-9-_.]{1,36}"(,"[A-Z0-9-_.]{1,36}"){0,}){0,1}\]){0,}\])$'.". [#4239, #4248, #4246] (binance-us-spot-public/get-api-v3-exchangeinfo.html)
- HTTP 400 "Illegal characters found in parameter 'startTime'; legal range is '^[0-9]{1,20}$'." on GET /api/v3/klines: Parameter "startTime" rejects "-1" with HTTP 400 "Illegal characters found in parameter 'startTime'; legal range is '^[0-9]{1,20}$'.". [#4302, #4319, #4315, #4316] (binance-us-spot-public/get-api-v3-klines.html)
- HTTP 400 "Illegal characters found in parameter 'symbol'; legal range is '^[\w\-._&&[^a-z]]{1,50}$'." on 7 endpoints (GET /api/v3/avgPrice, GET /api/v3/depth, GET /api/v3/exchangeInfo, GET /api/v3/klines, GET /api/v3/ticker/24hr, GET /api/v3/ticker/price, GET /api/v3/trades): Parameter "symbol" rejects 2048-character string with HTTP 400 "Illegal characters found in parameter 'symbol'; legal range is '^[\w\-._&&[^a-z]]{1,50}$'.". [#4344, #4349, #4254, #4259] (binance-us-spot-public/get-api-v3-avgprice.html)
- HTTP 400 "Illegal characters found in parameter 'symbols'; legal range is '^\[(" on 3 endpoints (GET /api/v3/exchangeInfo, GET /api/v3/ticker/24hr, GET /api/v3/ticker/price): Parameter "symbols" rejects 2048-character string with HTTP 400 "Illegal characters found in parameter 'symbols'; legal range is '^\[("[\w\-._&&[^a-z]]{1,50}"(,"[\w\-._&&[^a-z]]{1,50}"){0,}){0,1}\]$'.". [#4238, #4245, #4357, #4364] (binance-us-spot-public/get-api-v3-exchangeinfo.html)
- HTTP 400 "Illegal characters found in parameter 'timeZone'; legal range is '^[-+]?[0-9]{1,2}(:[0-9]{1,2})?$'." on GET /api/v3/klines: Parameter "timeZone" rejects 2048-character string with HTTP 400 "Illegal characters found in parameter 'timeZone'; legal range is '^[-+]?[0-9]{1,2}(:[0-9]{1,2})?$'.". [#4305, #4330, #4328] (binance-us-spot-public/get-api-v3-klines.html)
- HTTP 400 "Invalid interval." on GET /api/v3/klines: Parameter "interval" is validated against its documented enum: an undocumented value is rejected with HTTP 400 "Invalid interval.". [#4298, #4311, #4312] (binance-us-spot-public/get-api-v3-klines.html)
- HTTP 400 "Invalid ticker type." on GET /api/v3/ticker/24hr: Parameter "type" is validated against its documented enum: an undocumented value is rejected with HTTP 400 "Invalid ticker type.". [#4358, #4365, #4366] (binance-us-spot-public/get-api-v3-ticker-24hr.html)
- HTTP 400 "Mandatory parameter 'interval' was not sent, was empty/null, or malformed." on GET /api/v3/klines: Omitting required parameter "interval" is rejected with HTTP 400 "Mandatory parameter 'interval' was not sent, was empty/null, or malformed.". [#4298, #4300] (binance-us-spot-public/get-api-v3-klines.html)
- HTTP 400 "Mandatory parameter 'limit' was not sent, was empty/null, or malformed." on 3 endpoints (GET /api/v3/depth, GET /api/v3/klines, GET /api/v3/trades): Pagination parameter "limit" = 0 is rejected with HTTP 400 "Mandatory parameter 'limit' was not sent, was empty/null, or malformed.". [#4256, #4269, #4306, #4337] (binance-us-spot-public/get-api-v3-depth.html)
- HTTP 400 "Mandatory parameter 'symbol' was not sent, was empty/null, or malformed." on 4 endpoints (GET /api/v3/klines, GET /api/v3/avgPrice, GET /api/v3/depth, GET /api/v3/trades): Omitting every required parameter is rejected with HTTP 400 "Mandatory parameter 'symbol' was not sent, was empty/null, or malformed.". [#4298, #4301, #4344, #4345] (binance-us-spot-public/get-api-v3-klines.html)
- HTTP 400 "Not all sent parameters were read; ..." on GET /api/v3/avgPrice: Unknown-parameter rejections use different wording across endpoints: /time and /avgPrice return HTTP 400 "Too many parameters; expected 'N' and received 'M'." while exchangeInfo returns HTTP 400 "Not all sent parameters were read; ...". [#4351, #4344, #4232, #4231] (binance-us-spot-public/get-api-v3-avgprice.html)
- HTTP 400 "Not all sent parameters were read; read '0' parameter(s) but was sent '1'." on 3 endpoints (GET /api/v3/exchangeInfo, GET /api/v3/ticker/24hr, GET /api/v3/ticker/price): Unknown query parameters are rejected with HTTP 400 "Not all sent parameters were read; read '0' parameter(s) but was sent '1'.". [#4236, #4249, #4355, #4368] (binance-us-spot-public/get-api-v3-exchangeinfo.html)
- HTTP 400 "Not all sent parameters were read; read '1' parameter(s) but was sent '2'." on 2 endpoints (GET /api/v3/depth, GET /api/v3/trades): Unknown query parameters are rejected with HTTP 400 "Not all sent parameters were read; read '1' parameter(s) but was sent '2'.". [#4254, #4272, #4277, #4294] (binance-us-spot-public/get-api-v3-depth.html)
- HTTP 400 "Not all sent parameters were read; read '2' parameter(s) but was sent '3'." on GET /api/v3/klines: Unknown query parameters are rejected with HTTP 400 "Not all sent parameters were read; read '2' parameter(s) but was sent '3'.". [#4298, #4340] (binance-us-spot-public/get-api-v3-klines.html)
- HTTP 400 "Parameter 'endTime' was empty." on GET /api/v3/klines: Sending an empty value for "endTime" is rejected with HTTP 400 "Parameter 'endTime' was empty.". [#4303, #4323] (binance-us-spot-public/get-api-v3-klines.html)
- HTTP 400 "Parameter 'interval' was empty." on GET /api/v3/klines: Sending an empty value for "interval" is rejected with HTTP 400 "Parameter 'interval' was empty.". [#4298, #4313] (binance-us-spot-public/get-api-v3-klines.html)
- HTTP 400 "Parameter 'limit' was empty." on 3 endpoints (GET /api/v3/depth, GET /api/v3/klines, GET /api/v3/trades): Sending an empty value for "limit" is rejected with HTTP 400 "Parameter 'limit' was empty.". [#4256, #4263, #4306, #4333] (binance-us-spot-public/get-api-v3-depth.html)
- HTTP 400 "Parameter 'permissions' was empty." on GET /api/v3/exchangeInfo: Sending an empty value for "permissions" is rejected with HTTP 400 "Parameter 'permissions' was empty.". [#4239, #4247] (binance-us-spot-public/get-api-v3-exchangeinfo.html)
- HTTP 400 "Parameter 'startTime' was empty." on GET /api/v3/klines: Sending an empty value for "startTime" is rejected with HTTP 400 "Parameter 'startTime' was empty.". [#4302, #4317] (binance-us-spot-public/get-api-v3-klines.html)
- HTTP 400 "Parameter 'symbol' was empty." on 7 endpoints (GET /api/v3/avgPrice, GET /api/v3/depth, GET /api/v3/exchangeInfo, GET /api/v3/klines, GET /api/v3/ticker/24hr, GET /api/v3/ticker/price, GET /api/v3/trades): Sending an empty value for "symbol" is rejected with HTTP 400 "Parameter 'symbol' was empty.". [#4344, #4347, #4254, #4258] (binance-us-spot-public/get-api-v3-avgprice.html)
- HTTP 400 "Parameter 'symbols' was empty." on 3 endpoints (GET /api/v3/exchangeInfo, GET /api/v3/ticker/24hr, GET /api/v3/ticker/price): Sending an empty value for "symbols" is rejected with HTTP 400 "Parameter 'symbols' was empty.". [#4238, #4244, #4357, #4363] (binance-us-spot-public/get-api-v3-exchangeinfo.html)
- HTTP 400 "Parameter 'timeZone' was empty." on GET /api/v3/klines: Sending an empty value for "timeZone" is rejected with HTTP 400 "Parameter 'timeZone' was empty.". [#4305, #4329] (binance-us-spot-public/get-api-v3-klines.html)
- HTTP 400 "Parameter 'type' was empty." on GET /api/v3/ticker/24hr: Sending an empty value for "type" is rejected with HTTP 400 "Parameter 'type' was empty.". [#4358, #4367] (binance-us-spot-public/get-api-v3-ticker-24hr.html)
- HTTP 400 "Too many parameters; expected '0' and received '1'." on GET /api/v3/time: Unknown query parameters are rejected with HTTP 400 "Too many parameters; expected '0' and received '1'.". [#4231, #4232] (binance-us-spot-public/get-api-v3-time.html)
- HTTP 400 "Too many parameters; expected '1' and received '2'." on GET /api/v3/avgPrice: Unknown query parameters are rejected with HTTP 400 "Too many parameters; expected '1' and received '2'.". [#4344, #4351] (binance-us-spot-public/get-api-v3-avgprice.html)
- HTTP 400 "Too many parameters; expected 'N' and received 'M'." on GET /api/v3/avgPrice: Unknown-parameter rejections use different wording across endpoints: /time and /avgPrice return HTTP 400 "Too many parameters; expected 'N' and received 'M'." while exchangeInfo returns HTTP 400 "Not all sent parameters were read; ...". [#4351, #4344, #4232, #4231] (binance-us-spot-public/get-api-v3-avgprice.html)

## api.frankfurter.dev (frankfurter)

- HTTP 422 "invalid currency:" on 3 endpoints (GET /coverage, GET /rate/{base}/{quote}, GET /rates): Sending an empty value for "base" is rejected with HTTP 422 "invalid currency:". [#3429, #3433, #3533, #3548] (frankfurter/get-coverage.html)
- HTTP 422 "invalid currency: NULL" on 3 endpoints (GET /coverage, GET /rate/{base}/{quote}, GET /rates): Sending the literal string "null" for "base" is rejected with HTTP 422 "invalid currency: NULL". [#3429, #3432, #3430, #3436] (frankfurter/get-coverage.html)
- HTTP 422 "invalid date" on 2 endpoints (GET /rate/{base}/{quote}, GET /rates): Parameter "date" rejects 2048-character string with HTTP 422 "invalid date". [#3534, #3540, #3454, #3491] (frankfurter/get-rate-base-quote.html)
- HTTP 422 "invalid expand: not_a_documented_value" on GET /rates: Parameter "expand" is validated against its documented enum: an undocumented value is rejected with HTTP 422 "invalid expand: not_a_documented_value". [#3487, #3522] (frankfurter/get-rates.html)
- HTTP 422 "invalid expand: null" on GET /rates: Sending the literal string "null" for "expand" is rejected with HTTP 422 "invalid expand: null". [#3487, #3524] (frankfurter/get-rates.html)
- HTTP 422 "invalid group" on GET /rates: Parameter "group" is validated against its documented enum: an undocumented value is rejected with HTTP 422 "invalid group". [#3484, #3518, #3521, #3519] (frankfurter/get-rates.html)
- HTTP 422 "invalid scope" on GET /currencies: Parameter "scope" is validated against its documented enum: an undocumented value is rejected with HTTP 422 "invalid scope". [#3579, #3582, #3585, #3584] (frankfurter/get-currencies.html)
- HTTP 404 "not found" on 6 endpoints (GET /currency/{code}, GET /rate/{base}/{quote}, GET /coverage, GET /currencies, GET /providers, GET /rates): Parameter "code" rejects 2048-character string with HTTP 404 "not found". [#3563, #3569, #3536, #3545] (frankfurter/get-currency-code.html)
- HTTP 422 "unknown parameter: autopia_unknown_param" on 3 endpoints (GET /coverage, GET /rate/{base}/{quote}, GET /rates): Unknown query parameters are rejected with HTTP 422 "unknown parameter: autopia_unknown_param". [#3428, #3445, #3533, #3556] (frankfurter/get-coverage.html)

## api.github.com (github-rest)

- HTTP 401 "Bad credentials" on 7 endpoints (GET /rate_limit, GET /repos/{owner}/{repo}/commits, GET /repos/{owner}/{repo}/issues, GET /repos/{owner}/{repo}/releases, GET /repos/{owner}/{repo}, GET /search/repositories, GET /users/{username}): An invalid credential in "authorization" is rejected with HTTP 401 "Bad credentials". [#6346, #6348, #6366, #6426] (github-rest/get-rate-limit.html)
- HTTP 422 "Invalid datetime for since" on GET /repos/{owner}/{repo}/issues: Sending an empty value for "since" is rejected with HTTP 422 "Invalid datetime for since". [#6442, #6476] (github-rest/get-repos-owner-repo-issues.html)
- HTTP 422 "No commit found for SHA:" on GET /repos/{owner}/{repo}/commits: The path with a trailing slash returns HTTP 422 "No commit found for SHA:" (without it: HTTP 200). [#6366, #6429] (github-rest/get-repos-owner-repo-commits.html)
- HTTP 404 "Not Found" on 7 endpoints (GET /repos/{owner}/{repo}/commits, GET /repos/{owner}/{repo}/issues, GET /repos/{owner}/{repo}/releases, GET /repos/{owner}/{repo}, GET /users/{username}, GET /rate_limit, GET /search/repositories): Parameter "owner" rejects 2048-character string with HTTP 404 "Not Found". [#6366, #6421, #6424, #6367] (github-rest/get-repos-owner-repo-commits.html)
- HTTP 422 "Only the first 1000 search results are available" on GET /search/repositories: Pagination parameter "page" = 999999999 is rejected with HTTP 422 "Only the first 1000 search results are available". [#6550, #6578, #6577, #6575] (github-rest/get-search-repositories.html)
- HTTP 422 "Only the first 10000 results are available." on GET /repos/{owner}/{repo}/releases: Pagination parameter "page" = 999999999 is rejected with HTTP 422 "Only the first 10000 results are available.". [#6514, #6532, #6531, #6529] (github-rest/get-repos-owner-repo-releases.html)
- HTTP 422 "Pagination with the page parameter is not supported for large datasets, please use cursor based pagination (after/before)" on GET /repos/{owner}/{repo}/issues: Pagination parameter "page" = 999999999 is rejected with HTTP 422 "Pagination with the page parameter is not supported for large datasets, please use cursor based pagination (after/before)". [#6444, #6499, #6498, #6496] (github-rest/get-repos-owner-repo-issues.html)
- HTTP 422 "The since parameter needs to be in ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ" on GET /repos/{owner}/{repo}/issues: Parameter "since" rejects 2048-character string with HTTP 422 "The since parameter needs to be in ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ". [#6442, #6477, #6480, #6481] (github-rest/get-repos-owner-repo-issues.html)
- HTTP 422 "Validation Failed" on 2 endpoints (GET /repos/{owner}/{repo}/issues, GET /search/repositories): On GET /repos/{owner}/{repo}/issues, issue_field_values=test is rejected with HTTP 422 "Validation Failed", while the baseline without it returns HTTP 200. [#6438, #6431, #6545, #6546] (github-rest/get-repos-owner-repo-issues.html)

## api.open-meteo.com (open-meteo-forecast)

- HTTP 400 "Bad Request" on GET /v1/forecast: Sending a valid end_date without start_date is rejected with HTTP 400 "Bad Request", while the same request without end_date returns HTTP 200. [#3836, #3816, #3835] (open-meteo-forecast/get-v1-forecast.html)
- HTTP 400 "Expected Float at 'azimuth': Data found at 'azimuth' was not Float" on GET /v1/forecast: Parameter "azimuth" (declared number) rejects the non-number value "abc" with HTTP 400 "Expected Float at 'azimuth': Data found at 'azimuth' was not Float". [#3838, #3926, #3928, #3927] (open-meteo-forecast/get-v1-forecast.html)
- HTTP 400 "Expected Float at 'tilt': Data found at 'tilt' was not Float" on GET /v1/forecast: Parameter "tilt" (declared number) rejects the non-number value "abc" with HTTP 400 "Expected Float at 'tilt': Data found at 'tilt' was not Float". [#3837, #3920, #3924, #3921] (open-meteo-forecast/get-v1-forecast.html)
- HTTP 400 "Expected Int at 'forecast_days': Data found at 'forecast_days' was not Int" on GET /v1/forecast: Parameter "forecast_days" (declared integer) rejects the non-integer value "abc" with HTTP 400 "Expected Int at 'forecast_days': Data found at 'forecast_days' was not Int". [#3832, #3892, #3894, #3893] (open-meteo-forecast/get-v1-forecast.html)
- HTTP 400 "Expected Int at 'forecast_hours': Data found at 'forecast_hours' was not Int" on GET /v1/forecast: Parameter "forecast_hours" (declared integer) rejects the non-integer value "abc" with HTTP 400 "Expected Int at 'forecast_hours': Data found at 'forecast_hours' was not Int". [#3834, #3908, #3910, #3909] (open-meteo-forecast/get-v1-forecast.html)
- HTTP 400 "Expected Int at 'past_days': Data found at 'past_days' was not Int" on GET /v1/forecast: Parameter "past_days" (declared integer) rejects the non-integer value "abc" with HTTP 400 "Expected Int at 'past_days': Data found at 'past_days' was not Int". [#3831, #3883, #3885, #3884] (open-meteo-forecast/get-v1-forecast.html)
- HTTP 400 "Expected Int at 'past_hours': Data found at 'past_hours' was not Int" on GET /v1/forecast: Parameter "past_hours" (declared integer) rejects the non-integer value "abc" with HTTP 400 "Expected Int at 'past_hours': Data found at 'past_hours' was not Int". [#3833, #3902, #3904, #3903] (open-meteo-forecast/get-v1-forecast.html)
- HTTP 400 "Forecast days is invalid. Allowed range 0 to 16. Given 16." on GET /v1/forecast: Parameter "forecast_days" enforces its documented maximum 16: "17" is rejected with HTTP 400 "Forecast days is invalid. Allowed range 0 to 16. Given 16.". [#3832, #3900, #3899, #3901] (open-meteo-forecast/get-v1-forecast.html)
- HTTP 400 "Forecast days is invalid. Allowed range 0 to 384. Given 384." on GET /v1/forecast: Parameter "forecast_hours" rejects "2147483648" with HTTP 400 "Forecast days is invalid. Allowed range 0 to 384. Given 384.". [#3834, #3913, #3912] (open-meteo-forecast/get-v1-forecast.html)
- HTTP 400 "Invalid timezone" on GET /v1/forecast: Parameter "timezone" rejects 2048-character string with HTTP 400 "Invalid timezone". [#3830, #3882, #3880] (open-meteo-forecast/get-v1-forecast.html)
- HTTP 400 "Invalid value at 'cell_selection': Cannot initialize GridSelectionMode from invalid String value" on GET /v1/forecast: Sending an empty value for "cell_selection" is rejected with HTTP 400 "Invalid value at 'cell_selection': Cannot initialize GridSelectionMode from invalid String value". [#3839, #3934] (open-meteo-forecast/get-v1-forecast.html)
- HTTP 400 "Invalid value at 'cell_selection': Cannot initialize GridSelectionMode from invalid String value not_a_documented_value" on GET /v1/forecast: Parameter "cell_selection" is validated against its documented enum: an undocumented value is rejected with HTTP 400 "Invalid value at 'cell_selection': Cannot initialize GridSelectionMode from invalid String value not_a_documented_value". [#3839, #3931] (open-meteo-forecast/get-v1-forecast.html)
- HTTP 400 "Invalid value at 'cell_selection': Cannot initialize GridSelectionMode from invalid String value null" on GET /v1/forecast: Sending the literal string "null" for "cell_selection" is rejected with HTTP 400 "Invalid value at 'cell_selection': Cannot initialize GridSelectionMode from invalid String value null". [#3839, #3933] (open-meteo-forecast/get-v1-forecast.html)
- HTTP 400 "Invalid value at 'precipitation_unit': Cannot initialize PrecipitationUnit from invalid String value" on GET /v1/forecast: Sending an empty value for "precipitation_unit" is rejected with HTTP 400 "Invalid value at 'precipitation_unit': Cannot initialize PrecipitationUnit from invalid String value". [#3828, #3876] (open-meteo-forecast/get-v1-forecast.html)
- HTTP 400 "Invalid value at 'precipitation_unit': Cannot initialize PrecipitationUnit from invalid String value not_a_documented_value" on GET /v1/forecast: Parameter "precipitation_unit" is validated against its documented enum: an undocumented value is rejected with HTTP 400 "Invalid value at 'precipitation_unit': Cannot initialize PrecipitationUnit from invalid String value not_a_documented_value". [#3828, #3874] (open-meteo-forecast/get-v1-forecast.html)
- HTTP 400 "Invalid value at 'precipitation_unit': Cannot initialize PrecipitationUnit from invalid String value null" on GET /v1/forecast: Sending the literal string "null" for "precipitation_unit" is rejected with HTTP 400 "Invalid value at 'precipitation_unit': Cannot initialize PrecipitationUnit from invalid String value null". [#3828, #3875] (open-meteo-forecast/get-v1-forecast.html)
- HTTP 400 "Invalid value at 'temperature_unit': Cannot initialize TemperatureUnit from invalid String value" on GET /v1/forecast: Sending an empty value for "temperature_unit" is rejected with HTTP 400 "Invalid value at 'temperature_unit': Cannot initialize TemperatureUnit from invalid String value". [#3826, #3870] (open-meteo-forecast/get-v1-forecast.html)
- HTTP 400 "Invalid value at 'temperature_unit': Cannot initialize TemperatureUnit from invalid String value not_a_documented_value" on GET /v1/forecast: Parameter "temperature_unit" is validated against its documented enum: an undocumented value is rejected with HTTP 400 "Invalid value at 'temperature_unit': Cannot initialize TemperatureUnit from invalid String value not_a_documented_value". [#3826, #3868] (open-meteo-forecast/get-v1-forecast.html)
- HTTP 400 "Invalid value at 'temperature_unit': Cannot initialize TemperatureUnit from invalid String value null" on GET /v1/forecast: Sending the literal string "null" for "temperature_unit" is rejected with HTTP 400 "Invalid value at 'temperature_unit': Cannot initialize TemperatureUnit from invalid String value null". [#3826, #3869] (open-meteo-forecast/get-v1-forecast.html)
- HTTP 400 "Invalid value at 'timeformat': Cannot initialize Timeformat from invalid String value" on GET /v1/forecast: Sending an empty value for "timeformat" is rejected with HTTP 400 "Invalid value at 'timeformat': Cannot initialize Timeformat from invalid String value". [#3829, #3879] (open-meteo-forecast/get-v1-forecast.html)
- HTTP 400 "Invalid value at 'timeformat': Cannot initialize Timeformat from invalid String value not_a_documented_value" on GET /v1/forecast: Parameter "timeformat" is validated against its documented enum: an undocumented value is rejected with HTTP 400 "Invalid value at 'timeformat': Cannot initialize Timeformat from invalid String value not_a_documented_value". [#3829, #3877] (open-meteo-forecast/get-v1-forecast.html)
- HTTP 400 "Invalid value at 'timeformat': Cannot initialize Timeformat from invalid String value null" on GET /v1/forecast: Sending the literal string "null" for "timeformat" is rejected with HTTP 400 "Invalid value at 'timeformat': Cannot initialize Timeformat from invalid String value null". [#3829, #3878] (open-meteo-forecast/get-v1-forecast.html)
- HTTP 400 "Invalid value at 'wind_speed_unit': Cannot initialize WindspeedUnit from invalid String value" on GET /v1/forecast: Sending an empty value for "wind_speed_unit" is rejected with HTTP 400 "Invalid value at 'wind_speed_unit': Cannot initialize WindspeedUnit from invalid String value". [#3827, #3873] (open-meteo-forecast/get-v1-forecast.html)
- HTTP 400 "Invalid value at 'wind_speed_unit': Cannot initialize WindspeedUnit from invalid String value not_a_documented_value" on GET /v1/forecast: Parameter "wind_speed_unit" is validated against its documented enum: an undocumented value is rejected with HTTP 400 "Invalid value at 'wind_speed_unit': Cannot initialize WindspeedUnit from invalid String value not_a_documented_value". [#3827, #3871] (open-meteo-forecast/get-v1-forecast.html)
- HTTP 400 "Invalid value at 'wind_speed_unit': Cannot initialize WindspeedUnit from invalid String value null" on GET /v1/forecast: Sending the literal string "null" for "wind_speed_unit" is rejected with HTTP 400 "Invalid value at 'wind_speed_unit': Cannot initialize WindspeedUnit from invalid String value null". [#3827, #3872] (open-meteo-forecast/get-v1-forecast.html)
- HTTP 400 "Invalid value: Cannot initialize Float from invalid String value abc" on GET /v1/forecast: Parameter "elevation" (declared number) rejects the non-number value "abc" with HTTP 400 "Invalid value: Cannot initialize Float from invalid String value abc". [#3825, #3862] (open-meteo-forecast/get-v1-forecast.html)
- HTTP 400 "Invalid value: Cannot initialize Float from invalid String value null" on 2 endpoints (GET /v1/elevation, GET /v1/forecast): Sending the literal string "null" for "latitude" is rejected with HTTP 400 "Invalid value: Cannot initialize Float from invalid String value null". [#4002, #4014, #4023, #3825] (open-meteo-elevation/get-v1-elevation.html)
- HTTP 400 "Invalid value: Cannot initialize ForecastVariableDaily from invalid String value not_a_documented_value" on GET /v1/forecast: Parameter "daily" is validated against its documented enum: an undocumented value is rejected with HTTP 400 "Invalid value: Cannot initialize ForecastVariableDaily from invalid String value not_a_documented_value". [#3821, #3853] (open-meteo-forecast/get-v1-forecast.html)
- HTTP 400 "Invalid value: Cannot initialize ForecastVariableDaily from invalid String value null" on GET /v1/forecast: Sending the literal string "null" for "daily" is rejected with HTTP 400 "Invalid value: Cannot initialize ForecastVariableDaily from invalid String value null". [#3821, #3854] (open-meteo-forecast/get-v1-forecast.html)
- HTTP 400 "Invalid value: Cannot initialize MultiDomains from invalid String value not_a_documented_value" on GET /v1/forecast: Parameter "models" is validated against its documented enum: an undocumented value is rejected with HTTP 400 "Invalid value: Cannot initialize MultiDomains from invalid String value not_a_documented_value". [#3841, #3938] (open-meteo-forecast/get-v1-forecast.html)
- HTTP 400 "Invalid value: Cannot initialize MultiDomains from invalid String value null" on GET /v1/forecast: Sending the literal string "null" for "models" is rejected with HTTP 400 "Invalid value: Cannot initialize MultiDomains from invalid String value null". [#3841, #3939] (open-meteo-forecast/get-v1-forecast.html)
- HTTP 400 "Invalid value: Cannot initialize SurfacePressureAndHeightVariable<VariableAndPreviousDay, VariableOrSpread<ForecastPressureVariable>, ForecastHeightVariable> from invalid String value null" on GET /v1/forecast: Sending the literal string "null" for "current" is rejected with HTTP 400 "Invalid value: Cannot initialize SurfacePressureAndHeightVariable<VariableAndPreviousDay, VariableOrSpread<ForecastPressureVariable>, ForecastHeightVariable> from invalid String value null". [#3822, #3857, #3820, #3851] (open-meteo-forecast/get-v1-forecast.html)
- HTTP 400 "No data is available for this location" on GET /v1/forecast: Sending an empty value for "models" is rejected with HTTP 400 "No data is available for this location". [#3841, #3940] (open-meteo-forecast/get-v1-forecast.html)
- HTTP 400 "Parameter 'latitude' and 'longitude' must have the same number of elements" on 2 endpoints (GET /v1/elevation, GET /v1/forecast): Omitting required parameter "latitude" is rejected with HTTP 400 "Parameter 'latitude' and 'longitude' must have the same number of elements". [#4002, #4005, #4006, #4021] (open-meteo-elevation/get-v1-elevation.html)
- HTTP 400 "Parameter 'latitude' and 'longitude' must not be empty" on GET /v1/elevation: Omitting every required parameter is rejected with HTTP 400 "Parameter 'latitude' and 'longitude' must not be empty". [#4002, #4009] (open-meteo-elevation/get-v1-elevation.html)
- HTTP 400 "Parameter `&azimuth=` must be within -180° and 180°" on GET /v1/forecast: Parameter "azimuth" rejects "2147483648" with HTTP 400 "Parameter `&azimuth=` must be within -180° and 180°". [#3838, #3930] (open-meteo-forecast/get-v1-forecast.html)
- HTTP 400 "Parameter `&tilt=` must be within 0° and 90°" on GET /v1/forecast: Parameter "tilt" rejects "2147483648" with HTTP 400 "Parameter `&tilt=` must be within 0° and 90°". [#3837, #3925, #3923] (open-meteo-forecast/get-v1-forecast.html)
- HTTP 400 "Past days is invalid. Allowed range 0 to 2232. Given -1." on GET /v1/forecast: Parameter "past_hours" rejects "-1" with HTTP 400 "Past days is invalid. Allowed range 0 to 2232. Given -1.". [#3833, #3906] (open-meteo-forecast/get-v1-forecast.html)
- HTTP 400 "Past days is invalid. Allowed range 0 to 2232. Given 2147483648." on GET /v1/forecast: Parameter "past_hours" rejects "2147483648" with HTTP 400 "Past days is invalid. Allowed range 0 to 2232. Given 2147483648.". [#3833, #3907] (open-meteo-forecast/get-v1-forecast.html)
- HTTP 400 "Past days is invalid. Allowed range 0 to 93. Given -1." on GET /v1/forecast: Parameter "past_days" enforces its documented minimum 0: "-1" is rejected with HTTP 400 "Past days is invalid. Allowed range 0 to 93. Given -1.". [#3831, #3889, #3887] (open-meteo-forecast/get-v1-forecast.html)
- HTTP 400 "Past days is invalid. Allowed range 0 to 93. Given 2147483648." on GET /v1/forecast: Parameter "past_days" rejects "2147483648" with HTTP 400 "Past days is invalid. Allowed range 0 to 93. Given 2147483648.". [#3831, #3888] (open-meteo-forecast/get-v1-forecast.html)
- HTTP 400 "Past days is invalid. Allowed range 0 to 93. Given 920." on GET /v1/forecast: Parameter "past_days" enforces its documented maximum 92: "920" is rejected with HTTP 400 "Past days is invalid. Allowed range 0 to 93. Given 920.". [#3831, #3891] (open-meteo-forecast/get-v1-forecast.html)

## api.weather.gov (nws-weather-gov)

- HTTP 404 "'/gridpoints/32,81/forecast' is not a valid resource path" on GET /gridpoints/{wfo}/{x},{y}/forecast: Sending an empty value for "wfo" is rejected with HTTP 404 "'/gridpoints/32,81/forecast' is not a valid resource path". [#2880, #2887] (nws-weather-gov/get-gridpoints-wfo-x-y-forecast.html)
- HTTP 404 "'/gridpoints/TOP/,81/forecast' is not a valid resource path" on GET /gridpoints/{wfo}/{x},{y}/forecast: Sending an empty value for "x" is rejected with HTTP 404 "'/gridpoints/TOP/,81/forecast' is not a valid resource path". [#2880, #2890] (nws-weather-gov/get-gridpoints-wfo-x-y-forecast.html)
- HTTP 404 "'/gridpoints/TOP/32,/forecast' is not a valid resource path" on GET /gridpoints/{wfo}/{x},{y}/forecast: Sending an empty value for "y" is rejected with HTTP 404 "'/gridpoints/TOP/32,/forecast' is not a valid resource path". [#2880, #2897] (nws-weather-gov/get-gridpoints-wfo-x-y-forecast.html)
- HTTP 404 "'/points/,-97.0892' is not a valid resource path" on GET /points/{latitude},{longitude}: Sending an empty value for "latitude" is rejected with HTTP 404 "'/points/,-97.0892' is not a valid resource path". [#2991, #2994] (nws-weather-gov/get-points-latitude-longitude.html)
- HTTP 404 "'/points/39.7456,' is not a valid resource path" on GET /points/{latitude},{longitude}: Sending an empty value for "longitude" is rejected with HTTP 404 "'/points/39.7456,' is not a valid resource path". [#2991, #3003] (nws-weather-gov/get-points-latitude-longitude.html)
- HTTP 400 "Bad Request" on 6 endpoints (GET /alerts/active, GET /gridpoints/{wfo}/{x},{y}/forecast, GET /points/{latitude},{longitude}, GET /stations/{stationId}/observations, GET /stations/{stationId}, GET /stations): Unknown query parameters are rejected with HTTP 400 "Bad Request". [#2827, #2872, #2880, #2902] (nws-weather-gov/get-alerts-active.html)
- HTTP 400 "Invalid cursor" on GET /stations: On GET /stations, the cursor values "null", empty, and a 2048-character string are all rejected with HTTP 400 "Invalid cursor". [#2968, #2969, #2970, #2951] (nws-weather-gov/get-stations.html)
- HTTP 404 "Not Found" on 4 endpoints (GET /points/{latitude},{longitude}, GET /gridpoints/{wfo}/{x},{y}/forecast, GET /stations/{stationId}, GET /stations/{stationId}/observations): Parameter "latitude" enforces its documented maximum 90: "91" is rejected with HTTP 404 "Not Found". [#2991, #2999, #3008, #2880] (nws-weather-gov/get-points-latitude-longitude.html)
- HTTP 400 "Parameter \" on 2 endpoints (GET /stations/{stationId}/observations, GET /stations): On GET /stations/{stationId}/observations, sending an arbitrary cursor value ("test") is rejected with HTTP 400 "Parameter \"cursor\" is invalid: Invalid cursor", while the request without it returns HTTP 200. [#2913, #2910, #2951, #2947] (nws-weather-gov/get-stations-stationid-observations.html)
- HTTP 404 "Requested gridpoint ... does not exist" on GET /gridpoints/{wfo}/{x},{y}/forecast: On GET /gridpoints/{wfo}/{x},{y}/forecast, a negative x returns HTTP 404 generic "Not Found", while non-negative but nonexistent x values (0, 2147483648) return HTTP 404 "Requested gridpoint ... does not exist". [#2892, #2891, #2893, #2880] (nws-weather-gov/get-gridpoints-wfo-x-y-forecast.html)
- HTTP 404 "Requested gridpoint TOP:0,81 does not exist" on GET /gridpoints/{wfo}/{x},{y}/forecast: Parameter "x" rejects "0" with HTTP 404 "Requested gridpoint TOP:0,81 does not exist". [#2880, #2891] (nws-weather-gov/get-gridpoints-wfo-x-y-forecast.html)
- HTTP 404 "Requested gridpoint TOP:2147483648,81 does not exist" on GET /gridpoints/{wfo}/{x},{y}/forecast: Parameter "x" rejects "2147483648" with HTTP 404 "Requested gridpoint TOP:2147483648,81 does not exist". [#2880, #2893] (nws-weather-gov/get-gridpoints-wfo-x-y-forecast.html)
- HTTP 404 "Requested gridpoint TOP:32,0 does not exist" on GET /gridpoints/{wfo}/{x},{y}/forecast: Parameter "y" rejects "0" with HTTP 404 "Requested gridpoint TOP:32,0 does not exist". [#2880, #2898] (nws-weather-gov/get-gridpoints-wfo-x-y-forecast.html)
- HTTP 404 "Requested gridpoint TOP:32,2147483648 does not exist" on GET /gridpoints/{wfo}/{x},{y}/forecast: Parameter "y" rejects "2147483648" with HTTP 404 "Requested gridpoint TOP:32,2147483648 does not exist". [#2880, #2900] (nws-weather-gov/get-gridpoints-wfo-x-y-forecast.html)
- HTTP 404 "Unable to provide data for requested point" on GET /points/{latitude},{longitude}: On GET /points/{latitude},{longitude}, in-range coordinates without data (latitude 0 or -1) return HTTP 404 "Unable to provide data for requested point", whereas out-of-range latitudes (-91, 91) return HTTP 404 with the generic "Not Found". [#2995, #2996, #2998, #2999] (nws-weather-gov/get-points-latitude-longitude.html)
- HTTP 404 "Unable to provide data for requested point -1,-97.0892" on GET /points/{latitude},{longitude}: Parameter "latitude" rejects "-1" with HTTP 404 "Unable to provide data for requested point -1,-97.0892". [#2991, #2996] (nws-weather-gov/get-points-latitude-longitude.html)
- HTTP 404 "Unable to provide data for requested point 0,-97.0892" on GET /points/{latitude},{longitude}: Parameter "latitude" rejects "0" with HTTP 404 "Unable to provide data for requested point 0,-97.0892". [#2991, #2995] (nws-weather-gov/get-points-latitude-longitude.html)
- HTTP 404 "Unable to provide data for requested point 39.7456,-1" on GET /points/{latitude},{longitude}: Parameter "longitude" rejects "-1" with HTTP 404 "Unable to provide data for requested point 39.7456,-1". [#2991, #3005] (nws-weather-gov/get-points-latitude-longitude.html)
- HTTP 404 "Unable to provide data for requested point 39.7456,0" on GET /points/{latitude},{longitude}: Parameter "longitude" rejects "0" with HTTP 404 "Unable to provide data for requested point 39.7456,0". [#2991, #3004] (nws-weather-gov/get-points-latitude-longitude.html)

## date.nager.at (nager-date)

- HTTP 404 "Not Found" on 3 endpoints (GET /api/v3/CountryInfo/{countryCode}, GET /api/v3/IsTodayPublicHoliday/{countryCode}, GET /api/v3/LongWeekend/{year}/{countryCode}): Parameter "countryCode" rejects 2048-character string with HTTP 404 "Not Found". [#2729, #2732, #2784, #2804] (nager-date/get-api-v3-countryinfo-countrycode.html)
- HTTP 400 "One or more validation errors occurred." on GET /api/v3/PublicHolidays/{year}/{countryCode}: Parameter "year" rejects "2147483648" with HTTP 400 "One or more validation errors occurred.". [#2770, #2776, #2775, #2774] (nager-date/get-api-v3-publicholidays-year-countrycode.html)
- HTTP 404 "The country code provided is invalid or not recognized." on GET /api/v3/PublicHolidays/{year}/{countryCode}: Parameter "countryCode" rejects 2048-character string with HTTP 404 "The country code provided is invalid or not recognized.". [#2770, #2779, #2777] (nager-date/get-api-v3-publicholidays-year-countrycode.html)

## marine-api.open-meteo.com (open-meteo-marine)

- HTTP 400 "Bad Request" on GET /v1/marine: Sending start_date without end_date, or end_date without start_date, is rejected with HTTP 400 "Bad Request", although the baseline without either returns HTTP 200, so the two dates appear to be required together. [#3964, #3983, #3984] (open-meteo-marine/get-v1-marine.html)
- HTTP 400 "Expected Int at 'forecast_days': Data found at 'forecast_days' was not Int" on GET /v1/marine: Parameter "forecast_days" (declared integer) rejects the non-integer value "abc" with HTTP 400 "Expected Int at 'forecast_days': Data found at 'forecast_days' was not Int". [#3982, #4069, #4071, #4070] (open-meteo-marine/get-v1-marine.html)
- HTTP 400 "Expected Int at 'past_days': Data found at 'past_days' was not Int" on GET /v1/marine: Parameter "past_days" (declared integer) rejects the non-integer value "abc" with HTTP 400 "Expected Int at 'past_days': Data found at 'past_days' was not Int". [#3980, #4056, #4058, #4057] (open-meteo-marine/get-v1-marine.html)
- HTTP 400 "Forecast days is invalid. Allowed range 0 to 16. Given 16." on GET /v1/marine: Parameter "forecast_days" enforces its documented maximum 16: "17" is rejected with HTTP 400 "Forecast days is invalid. Allowed range 0 to 16. Given 16.". [#3982, #4078, #4076, #4079] (open-meteo-marine/get-v1-marine.html)
- HTTP 400 "Invalid timezone" on GET /v1/marine: Parameter "timezone" rejects 2048-character string with HTTP 400 "Invalid timezone". [#3979, #4055, #4052] (open-meteo-marine/get-v1-marine.html)
- HTTP 400 "Invalid value at 'cell_selection': Cannot initialize GridSelectionMode from invalid String value" on GET /v1/marine: Sending an empty value for "cell_selection" is rejected with HTTP 400 "Invalid value at 'cell_selection': Cannot initialize GridSelectionMode from invalid String value". [#3985, #4091] (open-meteo-marine/get-v1-marine.html)
- HTTP 400 "Invalid value at 'cell_selection': Cannot initialize GridSelectionMode from invalid String value not_a_documented_value" on GET /v1/marine: Parameter "cell_selection" is validated against its documented enum: an undocumented value is rejected with HTTP 400 "Invalid value at 'cell_selection': Cannot initialize GridSelectionMode from invalid String value not_a_documented_value". [#3985, #4088] (open-meteo-marine/get-v1-marine.html)
- HTTP 400 "Invalid value at 'cell_selection': Cannot initialize GridSelectionMode from invalid String value null" on GET /v1/marine: Sending the literal string "null" for "cell_selection" is rejected with HTTP 400 "Invalid value at 'cell_selection': Cannot initialize GridSelectionMode from invalid String value null". [#3985, #4089] (open-meteo-marine/get-v1-marine.html)
- HTTP 400 "Invalid value at 'length_unit': Cannot initialize LengthUnit from invalid String value" on GET /v1/marine: Sending an empty value for "length_unit" is rejected with HTTP 400 "Invalid value at 'length_unit': Cannot initialize LengthUnit from invalid String value". [#3976, #4045] (open-meteo-marine/get-v1-marine.html)
- HTTP 400 "Invalid value at 'length_unit': Cannot initialize LengthUnit from invalid String value not_a_documented_value" on GET /v1/marine: Parameter "length_unit" is validated against its documented enum: an undocumented value is rejected with HTTP 400 "Invalid value at 'length_unit': Cannot initialize LengthUnit from invalid String value not_a_documented_value". [#3976, #4040] (open-meteo-marine/get-v1-marine.html)
- HTTP 400 "Invalid value at 'length_unit': Cannot initialize LengthUnit from invalid String value null" on GET /v1/marine: Sending the literal string "null" for "length_unit" is rejected with HTTP 400 "Invalid value at 'length_unit': Cannot initialize LengthUnit from invalid String value null". [#3976, #4042] (open-meteo-marine/get-v1-marine.html)
- HTTP 400 "Invalid value at 'temperature_unit': Cannot initialize TemperatureUnit from invalid String value" on GET /v1/marine: Sending an empty value for "temperature_unit" is rejected with HTTP 400 "Invalid value at 'temperature_unit': Cannot initialize TemperatureUnit from invalid String value". [#3974, #4032] (open-meteo-marine/get-v1-marine.html)
- HTTP 400 "Invalid value at 'temperature_unit': Cannot initialize TemperatureUnit from invalid String value not_a_documented_value" on GET /v1/marine: Parameter "temperature_unit" is validated against its documented enum: an undocumented value is rejected with HTTP 400 "Invalid value at 'temperature_unit': Cannot initialize TemperatureUnit from invalid String value not_a_documented_value". [#3974, #4026] (open-meteo-marine/get-v1-marine.html)
- HTTP 400 "Invalid value at 'temperature_unit': Cannot initialize TemperatureUnit from invalid String value null" on GET /v1/marine: Sending the literal string "null" for "temperature_unit" is rejected with HTTP 400 "Invalid value at 'temperature_unit': Cannot initialize TemperatureUnit from invalid String value null". [#3974, #4030] (open-meteo-marine/get-v1-marine.html)
- HTTP 400 "Invalid value at 'timeformat': Cannot initialize Timeformat from invalid String value" on GET /v1/marine: Sending an empty value for "timeformat" is rejected with HTTP 400 "Invalid value at 'timeformat': Cannot initialize Timeformat from invalid String value". [#3978, #4051] (open-meteo-marine/get-v1-marine.html)
- HTTP 400 "Invalid value at 'timeformat': Cannot initialize Timeformat from invalid String value not_a_documented_value" on GET /v1/marine: Parameter "timeformat" is validated against its documented enum: an undocumented value is rejected with HTTP 400 "Invalid value at 'timeformat': Cannot initialize Timeformat from invalid String value not_a_documented_value". [#3978, #4047] (open-meteo-marine/get-v1-marine.html)
- HTTP 400 "Invalid value at 'timeformat': Cannot initialize Timeformat from invalid String value null" on GET /v1/marine: Sending the literal string "null" for "timeformat" is rejected with HTTP 400 "Invalid value at 'timeformat': Cannot initialize Timeformat from invalid String value null". [#3978, #4049] (open-meteo-marine/get-v1-marine.html)
- HTTP 400 "Invalid value at 'wind_speed_unit': Cannot initialize WindspeedUnit from invalid String value" on GET /v1/marine: Sending an empty value for "wind_speed_unit" is rejected with HTTP 400 "Invalid value at 'wind_speed_unit': Cannot initialize WindspeedUnit from invalid String value". [#3975, #4039] (open-meteo-marine/get-v1-marine.html)
- HTTP 400 "Invalid value at 'wind_speed_unit': Cannot initialize WindspeedUnit from invalid String value not_a_documented_value" on GET /v1/marine: Parameter "wind_speed_unit" is validated against its documented enum: an undocumented value is rejected with HTTP 400 "Invalid value at 'wind_speed_unit': Cannot initialize WindspeedUnit from invalid String value not_a_documented_value". [#3975, #4034] (open-meteo-marine/get-v1-marine.html)
- HTTP 400 "Invalid value at 'wind_speed_unit': Cannot initialize WindspeedUnit from invalid String value null" on GET /v1/marine: Sending the literal string "null" for "wind_speed_unit" is rejected with HTTP 400 "Invalid value at 'wind_speed_unit': Cannot initialize WindspeedUnit from invalid String value null". [#3975, #4036] (open-meteo-marine/get-v1-marine.html)
- HTTP 400 "Invalid value: Cannot initialize Float from invalid String value null" on GET /v1/marine: Sending the literal string "null" for "latitude" is rejected with HTTP 400 "Invalid value: Cannot initialize Float from invalid String value null". [#3964, #3989, #3995] (open-meteo-marine/get-v1-marine.html)
- HTTP 400 "Invalid value: Cannot initialize ForecastVariableDaily from invalid String value not_a_documented_value" on GET /v1/marine: Parameter "daily" is validated against its documented enum: an undocumented value is rejected with HTTP 400 "Invalid value: Cannot initialize ForecastVariableDaily from invalid String value not_a_documented_value". [#3970, #4007] (open-meteo-marine/get-v1-marine.html)
- HTTP 400 "Invalid value: Cannot initialize ForecastVariableDaily from invalid String value null" on GET /v1/marine: Sending the literal string "null" for "daily" is rejected with HTTP 400 "Invalid value: Cannot initialize ForecastVariableDaily from invalid String value null". [#3970, #4008] (open-meteo-marine/get-v1-marine.html)
- HTTP 400 "Invalid value: Cannot initialize MultiDomains from invalid String value not_a_documented_value" on GET /v1/marine: Parameter "models" is validated against its documented enum: an undocumented value is rejected with HTTP 400 "Invalid value: Cannot initialize MultiDomains from invalid String value not_a_documented_value". [#3987, #4092] (open-meteo-marine/get-v1-marine.html)
- HTTP 400 "Invalid value: Cannot initialize MultiDomains from invalid String value null" on GET /v1/marine: Sending the literal string "null" for "models" is rejected with HTTP 400 "Invalid value: Cannot initialize MultiDomains from invalid String value null". [#3987, #4093] (open-meteo-marine/get-v1-marine.html)
- HTTP 400 "Invalid value: Cannot initialize SurfacePressureAndHeightVariable<VariableAndPreviousDay, VariableOrSpread<ForecastPressureVariable>, ForecastHeightVariable> from invalid String value null" on GET /v1/marine: Sending the literal string "null" for "current" is rejected with HTTP 400 "Invalid value: Cannot initialize SurfacePressureAndHeightVariable<VariableAndPreviousDay, VariableOrSpread<ForecastPressureVariable>, ForecastHeightVariable> from invalid String value null". [#3971, #4015, #3969, #4001] (open-meteo-marine/get-v1-marine.html)
- HTTP 400 "No data is available for this location" on GET /v1/marine: Sending an empty value for "models" is rejected with HTTP 400 "No data is available for this location". [#3987, #4095] (open-meteo-marine/get-v1-marine.html)
- HTTP 400 "Parameter 'latitude' and 'longitude' must have the same number of elements" on GET /v1/marine: Omitting required parameter "latitude" is rejected with HTTP 400 "Parameter 'latitude' and 'longitude' must have the same number of elements". [#3964, #3965, #3966, #3993] (open-meteo-marine/get-v1-marine.html)
- HTTP 400 "Past days is invalid. Allowed range 0 to 31695. Given -1." on GET /v1/marine: Parameter "past_days" enforces its documented minimum 0: "-1" is rejected with HTTP 400 "Past days is invalid. Allowed range 0 to 31695. Given -1.". [#3980, #4065, #4061] (open-meteo-marine/get-v1-marine.html)
- HTTP 400 "Past days is invalid. Allowed range 0 to 31695. Given 2147483648." on GET /v1/marine: Parameter "past_days" rejects "2147483648" with HTTP 400 "Past days is invalid. Allowed range 0 to 31695. Given 2147483648.". [#3980, #4062] (open-meteo-marine/get-v1-marine.html)

## openlibrary.org (openlibrary)

- HTTP 403 "<html>
<head><title>403 Forbidden</title></head>
<body>
<center><h1>403 Forbidden</h1></center>
<hr><center>nginx/1.30.5</center>
</body>
</html>" on 2 endpoints (GET /languages.json, GET /subjects/{key}.json): Parameter "limit" rejects "2147483648" with HTTP 403 "<html>
<head><title>403 Forbidden</title></head>
<body>
<center><h1>403 Forbidden</h1></center>
<hr><center>nginx/1.30.5</center>
</body>
</html>". [#3479, #3500, #3742, #3755] (openlibrary/get-languages-json.html)
- HTTP 404 "notfound" on GET /subjects/{key}.json: Sending an empty value for "key" is rejected with HTTP 404 "notfound". [#3741, #3786] (openlibrary/get-subjects-key-json.html)

## pokeapi.co (pokeapi)

- HTTP 404 "Not Found" on 4 endpoints (GET /api/v2/berry/{id}/, GET /api/v2/pokemon/{id}/, GET /api/v2/pokemon/{pokemon_id}/encounters, GET /api/v2/type/{id}/): Parameter "id" rejects 2048-character string with HTTP 404 "Not Found". [#3243, #3246, #3278, #3281] (pokeapi/get-api-v2-berry-id.html)

## pypi.org (pypi)

- HTTP 404 "404 Not Found" on GET /simple/{project}/: Parameter "project" rejects 2048-character string with HTTP 404 "404 Not Found". [#5803, #5806] (pypi/get-simple-project.html)
- HTTP 404 "Not Found" on 2 endpoints (GET /pypi/{project}/json, GET /pypi/{project}/{version}/json): Parameter "project" rejects 2048-character string with HTTP 404 "Not Found". [#5784, #5787, #5792, #5795] (pypi/get-pypi-project-json.html)

## registry.npmjs.org (npm-registry)

- HTTP 400 "'from' query parameter must be an integer" on GET /-/v1/search: Parameter "from" enforces its documented minimum 0: "-1" is rejected with HTTP 400 "'from' query parameter must be an integer". [#5309, #5377] (npm-registry/get-v1-search.html)
- HTTP 400 "'size' query parameter must be an integer" on GET /-/v1/search: The literal value "null" for size is rejected with HTTP 400 "'size' query parameter must be an integer", while an empty size value is accepted with HTTP 200. [#5346, #5348, #5306, #5354] (npm-registry/get-v1-search.html)
- HTTP 400 "'text' query parameter is required" on GET /-/v1/search: Omitting required parameter "text" is rejected with HTTP 400 "'text' query parameter is required". [#5302, #5303, #5340, #5319] (npm-registry/get-v1-search.html)
- HTTP 404 "/-/package/dist-tags does not exist" on GET /-/package/{package}/dist-tags: Sending an empty value for "package" is rejected with HTTP 404 "/-/package/dist-tags does not exist". [#5277, #5281] (npm-registry/get-package-package-dist-tags.html)
- HTTP 404 "/-/v1/search/ does not exist" on GET /-/v1/search: Adding a trailing slash to the search path returns HTTP 404 "/-/v1/search/ does not exist" instead of the HTTP 200 results. [#5420, #5302] (npm-registry/get-v1-search.html)
- HTTP 400 "Bad request" on GET /{package}: Parameter "package" rejects 2048-character string with HTTP 400 "Bad request". [#5245, #5249] (npm-registry/get-package.html)
- HTTP 405 "GET is not allowed" on GET /-/package/{package}/dist-tags: The path with a trailing slash returns HTTP 405 "GET is not allowed" (without it: HTTP 200). [#5277, #5293] (npm-registry/get-package-package-dist-tags.html)
- HTTP 404 "Not Found" on 2 endpoints (GET /-/package/{package}/dist-tags, GET /{package}/{version}): Parameter "package" rejects 2048-character string with HTTP 404 "Not Found". [#5277, #5283, #5255, #5260] (npm-registry/get-package-package-dist-tags.html)
- HTTP 400 "The 'text' parameter must be between 2 and 64 characters" on GET /-/v1/search: Parameter "text" rejects 2048-character string with HTTP 400 "The 'text' parameter must be between 2 and 64 characters". [#5302, #5321] (npm-registry/get-v1-search.html)
- HTTP 404 "version not found: null" on GET /{package}/{version}: Sending the literal string "null" for "version" is rejected with HTTP 404 "version not found: null". [#5255, #5262] (npm-registry/get-package-version.html)