RouterOS · API Governance Rules
RouterOS API Rules
Spectral linting rules defining API design standards and conventions for RouterOS.
10 Rules
warn 6
info 2
Rule Categories
routeros
Rules
warn
routeros-operation-summary-title-case
Operation summaries must use Title Case.
$.paths[*][*].summary
warn
routeros-operationid-kebab-case
operationId must use camelCase (RouterOS convention).
$.paths[*][*].operationId
warn
routeros-path-kebab-case
API paths must use kebab-case segments mirroring RouterOS menu hierarchy.
$.paths[*]~
warn
routeros-tags-title-case
All tags must use Title Case.
$.paths[*][*].tags[*]
warn
routeros-response-200-schema
GET operations must return a schema in 200 responses.
$.paths[*].get.responses['200'].content[*].schema
warn
routeros-security-basic-auth
RouterOS REST API uses HTTP Basic Auth; security must be defined.
$.paths[*][*]
hint
routeros-error-schema-defined
Error responses must reference the Error schema component.
$.paths[*][*].responses['4XX','5XX'].content[*].schema
info
routeros-put-for-create
RouterOS uses PUT (not POST) for creating resources.
$.paths[*].post
hint
routeros-id-path-param-star-prefix
RouterOS IDs use asterisk-prefixed strings (e.g., *1). Document this in examples.
$.paths[*][*].parameters[?(@.name == 'id')].example
info
routeros-string-typed-values
RouterOS returns all values as strings even for numeric/boolean properties.
$.components.schemas[*].properties[?(@.type == 'boolean')]