hardcoded-api-url
Hardcoded API URLs make it hard to switch between environments
Applies to: Go, JavaScript, Python, Ruby, Rust, TypeScript
Why this matters
When you hardcode URLs like 'https://api.example.com', you can't easily switch between development, staging, and production. Use environment variables or config files instead.
Catch it before it ships
pip install stablestack # or: npx stablestackstablestack # scans your project, API004 includedstablestack explain API004API004 is part of the Pro rule set. See pricing — the free tier ships 24 checks with no signup.
False positive in your codebase? Suppress a single line with # noqa: API004
More API Contracts checks
unhandled-api-error
API calls without error handling will crash on network failures
API002inconsistent-api-naming
Mixed naming conventions (snake_case/camelCase) in API code cause bugs
API003missing-content-type
POST/PUT requests without Content-Type may fail or be misinterpreted
API005api-type-alignment
Backend endpoints should have response_model; frontend should use generated types.
API006cross-file-type-mismatch
Cross-file type mismatch between API endpoint and client call site.
API007untyped-api-response
API endpoint has no typed response — consumers can't rely on the response shape.