HTTP semantics

Errors should explain themselves without changing their meaning.

WebsiteIQ preserves the real HTTP status code. Browsers receive a concise recovery page; API clients receive application/problem+json with matching status, title, detail, and instance fields.

Response library

These responses are unindexed operational surfaces. They do not reveal stack traces, private report data, access tokens, or internal infrastructure.

StatusWebsiteIQ meaningCorrective action
400Bad RequestCorrect malformed JSON, fields, URLs, or protocol headers.
401UnauthorizedUse the complete report link or documented access-token header.
402Payment RequiredFollow a resource's exact x402 requirements only when settlement is enabled.
403ForbiddenCheck Origin, authorization, robots policy, and operation scope.
404Not FoundCheck the route, identifier, and complete unlisted report URL.
405Method Not AllowedUse the method in the Allow response header.
406Not AcceptableRequest a representation supported by the endpoint.
409ConflictRefresh current state before retrying an operation.
413Content Too LargeReduce the request body; do not upload site archives.
418Teapot diagnosticUse the API catalog or OpenAPI document instead of the diagnostic route.
422Unprocessable ContentUse a public HTTP(S) target that resolves safely and permits the crawler.
429Too Many RequestsRespect the published retry window.
500Internal Server ErrorRetry once later and report the request identifier if necessary.
502Bad GatewayCheck the target or upstream response.
503Service UnavailableRespect Retry-After when present.
504Gateway TimeoutRetry later or reduce the bounded operation.

MCP is intentionally 405 on browser GET

The WebsiteIQ MCP endpoint uses Streamable HTTP. A client initializes with POST /mcp. Because WebsiteIQ does not open a standalone SSE stream through GET, GET /mcp remains HTTP 405 with Allow: POST; the response body simply makes that correct result useful to a person.

Endpoint: https://websiteiq.xyz/mcp Transport: Streamable HTTP Protocol: 2025-11-25 Method: POST Accept: application/json, text/event-stream

Standards basis