API Design

Style Guide

The API Style Guide enforces consistent design standards across every specification in your organization. Routebase ships with 57 built-in linting rules — covering naming, completeness, best practices, security, and structure — and lets you add custom rules on top. Violations surface live in the API Designer and can block publishing.

The Style Guide is available on the Pro plan; on lower plans the settings page shows an upgrade prompt. Configuring it requires the org:manage-governance permission (Admins and Owners).

Configuring the style guide

Open Settings → Style Guide: "Configure organization-wide style guide rules. These settings apply to all projects unless overridden."

The General card controls enforcement behavior:

Setting Description Default
Style Guide Enable automated design governance for your API specifications. On
Enforce on Publish Block publishing API versions that have error-level violations. Off

Click Save Changes to apply (or Reset to discard).

The Style Guide settings page with the General card and the rules table

Rules and severities

The Rules card lists every rule with its category badge, name, target, and a severity dropdown. Filter by category, search by name, and page through the list. Each rule's severity can be set to:

Severity Effect
Error Blocks publishing when Enforce on Publish is enabled.
Warning Reported, but never blocks.
Info Informational hint.
Off Rule disabled.

Rules you've changed from their default are marked with an override badge and can be reset to the default with one click. Rules that only apply to OpenAPI 3.0 specs carry a 3.0 only badge; your own rules carry a custom badge.

Naming conventions

Some naming rules don't hard-wire the convention they enforce — for those the table shows a Convention column with a dropdown, and the rule checks whatever you pick there.

The rule for URL paths is the one that matters in practice: it defaults to kebab-case but also accepts camelCase, PascalCase and lowercase. So a team that has always written /userProfiles doesn't have to choose between switching its whole URL scheme and turning the rule off — it sets the convention and keeps the check.

Project-level overrides

Each project can override severities for its own specs: open the project and use its Style Guide tab. The project view adds a Source column showing where each severity comes from — Custom (this project), Org, or Default — and overridden rules can be reset back to the organization default.

Built-in rules

Routebase ships 57 built-in rules in five categories. Each rule has a default severity — Error, Warning or Info — which you can change per organization and per project; the tables below list the default.

Rules whose name says "must" are not automatically errors: severity and wording are set independently, so a rule can be named "must" and default to Warning.

Naming (8)

Rule Default Checks
Path parameters must use camelCase Warning Path parameter names (e.g., {userId}) should use camelCase naming convention.
Query parameters must use camelCase Warning Query parameter names should use camelCase naming convention.
Schema names must use PascalCase Warning Schema names should use PascalCase naming convention (e.g., 'UserProfile').
Schema properties must use camelCase Warning Object property names in schemas should use camelCase naming convention.
URL paths must follow the configured case convention Warning Path segments (excluding path parameters) must follow the configured naming convention (default: kebab-case). The convention is configurable.
Custom headers must use Train-Case Info Custom header parameter names should use Train-Case (e.g., 'X-Request-Id').
Enum values must use UPPER_SNAKE_CASE Info String enum values in schemas should use UPPER_SNAKE_CASE naming convention.
Operation IDs must use camelCase Info Operation IDs should use camelCase naming convention (e.g., 'getUsers').

Completeness (10)

Rule Default Checks
API must have a server URL Warning The API specification should define at least one server URL.
API must have a version Warning The API specification should define a version string.
Operations must have a description Warning Each endpoint should have a description explaining its purpose and behavior.
Operations must have a summary Warning Each endpoint should have a brief summary.
API must have a license Info The API specification should include a license identifier.
API must have contact information Info The API specification should include a contact email for consumers to reach out.
Parameters should have descriptions Info Each parameter should have a description explaining its purpose and expected values.
Responses must have a description Info Each response should have a description explaining what it represents.
Schemas must have a description Info Each schema should have a description explaining what data it represents.
Tags should have descriptions Info Each endpoint tag should have a description to document the group's purpose.

Best practices (19)

Rule Default Checks
Operation IDs must be unique Error Each operation ID must be unique across all endpoints in the specification.
Path parameters must be declared Error Each {parameter} in the path must have a corresponding parameter definition with 'in: path'.
Paths must be unique Error Two endpoints on the same method must not address the same route. OpenAPI ignores the
Paths must not have empty segments Error Paths must not contain double slashes or empty segments (e.g., '/users//profile').
Server URL must match URL-path versioning pattern Error When using URL-path versioning, server URLs should include a version prefix (e.g., /v1).
Deprecated versions should have a sunset date Warning Deprecated API versions should define a sunset date to inform consumers when the version will be removed.
Operation IDs must be valid in URLs Warning Operation IDs must contain only alphanumeric characters, dots, hyphens, and underscores to be safely used in URLs.
Operation tags must be defined Warning Tags used on operations must be defined in the specification's global tags list.
Paths should not end with a trailing slash Warning Paths should not have a trailing slash (e.g., '/users/' should be '/users').
Schema references must resolve Warning Every $ref in a schema must point to a schema that exists in this specification.
Server URL must not be example.com Warning The server URL should be a real API endpoint, not a placeholder like example.com.
Success responses should return an object, not a bare array Warning Top-level API responses should be JSON objects for extensibility, not bare arrays.
Tag names must be unique Warning Each tag name must be unique within the specification to avoid ambiguity.
Endpoints should define error responses Info Each endpoint should define at least one error response (4xx or 5xx) or a default response.
Error responses should use application/problem+json Info 4xx and 5xx responses should use the RFC 7807 Problem Details format (application/problem+json).
List endpoints should have pagination parameters Info GET endpoints that return collections should include pagination query parameters.
No unused schema components Info Schemas defined in components should be referenced by at least one endpoint or other schema.
Published versions should have aliases Info Published API versions should have human-readable aliases (e.g., 'v1') for easier consumer adoption.
Versioning strategy should be configured Info API specifications should have a versioning strategy configured to enable consistent version management.

Security (10)

Rule Default Checks
Descriptions must not contain eval() Error Description fields must not contain eval() calls which could be exploited for XSS in rendered API documentation.
Descriptions must not contain script tags Error Description fields must not contain