Agromonitoring · API Governance Rules
Agromonitoring API Rules
Spectral linting rules defining API design standards and conventions for Agromonitoring.
27 Rules
error 11
warn 16
Rule Categories
agromonitoring
error
no
query
schema
servers
Rules
warn
agromonitoring-operation-summary-title-case
Operation summaries must use Title Case
$.paths[*][*].summary
warn
agromonitoring-operation-summary-prefix
Operation summaries should start with a verb
$.paths[*][*].summary
error
agromonitoring-operationid-camelcase
OperationId must use camelCase
$.paths[*][*].operationId
error
agromonitoring-appid-query-required
All operations must require the appid query parameter for authentication
$.paths[*][get,post,put,delete,patch]
error
agromonitoring-response-200-defined
All operations must define a 200 response
$.paths[*][*].responses
warn
agromonitoring-response-400-defined
All operations should define a 400 error response
$.paths[*][*].responses
warn
agromonitoring-response-401-defined
All operations should define a 401 unauthorized response
$.paths[*][*].responses
warn
agromonitoring-schema-ref-components
Response schemas should use $ref to components/schemas
$.paths[*][*].responses[*].content[*].schema
warn
agromonitoring-info-contact
API info must include contact details
$.info
error
agromonitoring-info-version
API info must include version
$.info
warn
agromonitoring-tags-defined
All operations must have at least one tag
$.paths[*][*]
warn
agromonitoring-property-snake-case
Schema properties should use snake_case
$.components.schemas[*].properties
error
agromonitoring-polygon-id-field
Polygon schema must include an id field
$.components.schemas.Polygon.properties
error
agromonitoring-geo-json-coordinates
GeoJson schema must include coordinates field
$.components.schemas.GeoJson.properties
warn
agromonitoring-ndvi-value-range
NDVI values should include minimum/maximum bounds
$.components.schemas.NdviRecord.properties.ndvi
error
agromonitoring-weather-temp-field
WeatherData schema must include temp field
$.components.schemas.WeatherData.properties
error
agromonitoring-soil-moisture-field
SoilData schema must include moisture field
$.components.schemas.SoilData.properties
error
agromonitoring-server-url-defined
API must define at least one server URL
$.servers
error
agromonitoring-security-scheme-apikey
API must define an API key security scheme
$.components.securitySchemes
warn
agromonitoring-path-lowercase
Path segments should use lowercase
$.paths
error
servers-https-only
Server URLs must use HTTPS.
$.servers[*].url
warn
servers-expected-domain
Server URLs should be on the agromonitoring.com domain.
$.servers[*].url
warn
query-params-casing
Query parameters should be snake_case (the dominant convention in this API).
$.paths[*][get,post,put,patch,delete].parameters[?(@.in=='query')]
warn
schema-names-casing
Component schema names should be PascalCase (the dominant convention in this API).
$.components.schemas
warn
schema-properties-casing
Schema properties should be snake_case (the dominant convention in this API).
$.components.schemas[*].properties
warn
error-schema-defined
A shared error schema (ErrorResponse) should be defined for error payloads.
$.components.schemas
warn
no-empty-descriptions
Descriptions must not be empty strings.
$..description