CAMARA Project · API Governance Rules
CAMARA Project — tooling rules
Spectral linting rules defining API design standards and conventions for CAMARA Project.
18 Rules
error 5
warn 10
Published by CAMARA Project
Served by the provider at https://github.com/camaraproject/tooling/blob/42da93798be5435257402eb4b0c35f9bcf7da2f8/linting/config/.spectral.yaml; the copy below was fetched from there.
Rule Categories
camara
Rules
warn
camara-discriminator-aware-unused-component
Detects unused OpenAPI components while treating discriminator mapping targets as references.
$
hint
camara-language-avoid-telco
This rule checks for telco-specific terminology in your API definitions and suggests more inclusive terms.
$..*.*
error
camara-oas-version
This rule validates the OpenAPI version in your specification and requires compliance with version 3.0.3.
$
warn
camara-path-param-id
This rule ensures consistent and descriptive naming for path parameters in your OpenAPI specification. Please use 'resource_id' instead of just 'id' for your path parameters.
$.paths[*][*].parameters[?(@.in == 'path')].name
warn
camara-security-no-secrets-in-path-or-query-parameters
This rule checks for sensitive data ('MSISDN' and 'IMSI') in API paths and suggests avoiding their use.
$.paths
error
camara-http-methods
Ensure that all path URLs have valid HTTP methods (GET, PUT, POST, DELETE, PATCH, OPTIONS).
$.paths[*][*]~
error
camara-get-no-request-body
$.paths.*.get$.paths.*.delete
warn
camara-reserved-words
This rule checks Reserved words must not be used in the following parts of an API specification [Paths, Request Body properties, Component, Operation Id, Security Schema]
$.paths$..parameters[*]$..components.schemas.*.properties.*$.paths.*.$.components.securitySchemes$.components.*.*$.paths.*.*.operationId
warn
camara-routes-description
This rule checks if each operation (POST, GET, DELETE, PUT, PATCH, OPTIONS) in your API specification has a description. Ensure that you have added a 'summary' field for each operation in your OpenAPI specification.
$.paths.*.post$.paths.*.get$.paths.*.delete$.paths.*.put$.paths.*.patch$.paths.*.options
warn
camara-parameters-descriptions
This Spectral rule ensures that each path parameter in the API specification has a descriptive and meaningful description.
$.paths..parameters.*
warn
camara-response-descriptions
This Spectral rule ensures that each responese object in the API specification has a descriptive and meaningful description.
$.paths..responses.*
warn
camara-properties-descriptions
This Spectral rule ensures that each propoerty within objects in the API specification has a descriptive and meaningful description.
$.components[examples,headers,links,parameters,pathItems,requestBodies,responses,schemas,securitySchemes].*$.components.*.*.properties.*
warn
camara-operation-summary
This rule checks if each operation (POST, GET, DELETE, PUT, PATCH, OPTIONS) in your API specification has a meaningful summary. Ensure that you have added a 'summary' field for each operation in your OpenAPI specification.
$.paths.*.post$.paths.*.get$.paths.*.delete$.paths.*.put$.paths.*.patch$.paths.*.options
hint
camara-discriminator-use
Ensure that API definition YAML files with oneOf or anyOf sections include a discriminator object for serialization, deserialization, and validation.
$.components.schemas[*]
hint
camara-operationid-casing-convention
This rule checks Operation ids should follow a specific case convention: camel case.
$.paths.*.*.operationId
warn
camara-schema-casing-convention
This rule checks schema should follow a specific case convention pascal case.
$.components.schemas[*]~
error
camara-path-casing-convention
Paths should be kebab-case.
$.paths[*]~
error
camara-schema-type-check
$.components.schemas.*
Spectral Ruleset
Work with this as data
Every ruleset here is available over the APIs.io API and to AI agents over MCP.