Trimble · API Governance Rules
Trimble — openapi spectral rules rules
Spectral linting rules defining API design standards and conventions for Trimble.
33 Rules
error 11
warn 22
Published by Trimble
Served by the provider at https://github.com/trimble-oss/openapi-spectral-rules/blob/b2d1164182a2d1799f8e4cbf8089bf53b9077804/spectral.yaml; the copy below was fetched from there.
Rule Categories
tas
tdp
Rules
warn
tas-api-server-url-invalid
API URLs should meet the Trimble API Standards
$.servers
warn
tas-api-server-url-version-invalid
API URLs versions should meet the Trimble API Standards
$.servers
error
tas-openapi-v3-schema-properties-names-camel-case
Ensuring that schema property names are camel case.
$..properties.
warn
tas-no-http-verbs-in-path
HTTP verbs should be not be in URL paths
$.paths
error
tas-structured-data-format
All APIs returning structured data SHOULD support JSON as the default format.
$.paths.*.
warn
tas-structured-data-format-support-json-response-body
All APIs returning structured data SHOULD support JSON as the default format.
$.paths.*.
warn
tdp-http-response-code
All APIs should return a valid http response code.
$..responses
warn
tas-check-queryparameter-in-endpoint
Check if the given resource path has queryparameter.
$.paths
warn
tdp-does-spec-contains-valid-http-verbs
All APIs MUST have a valid http verb.
$.paths.*
error
tdp-spec-should-not-be-empty
Spec should not be empty.
$
warn
tdp-tag-pascal-case
$.tags[*].name$.paths[*][*].tags[*]
warn
tdp-tag-camel-case
Detects a tag with camelCase (personalItem) text within it
$.tags[*].name$.paths[*][*].tags[*]
warn
tdp-tag-no-versions
$.tags[*].name$.paths[*][*].tags[*]
warn
tdp-minimum-spec-version
The spec version should be 3 or greater.
$
warn
tdp-operation-summary-description
Operation summaries and description should not match
$.paths[*].[get,post,put,patch,delete]
error
tas-operation-delete-204-status-code
All DELETE methods MUST have a 204 response.
$.paths[*].delete.responses
error
tdp-operation-post-201-202-status-code
POST create methods MUST have a 201 or 202 response, while search POST endpoints should return 200.
$.paths[*].post.responses
error
tas-operation-400-response-body
All 400 responses must include a response body.
$.paths.*.*.responses['400']
warn
tas-check-content-type-for-206-get-response-code
Check if the get response code 206 has content-type and content-range.
$.paths.*.
error
tas-standard-error-payload
All 4XX and 5XX response codes must follow Trimble API Standard.
$.paths.*.*.responses.
warn
tas-check-description-for-all-error-responses
Check if the response description is appropriate for all requests.
$.paths.*.*.responses.
warn
tas-check-description-for-all-success-responses
Check if the response description is appropriate for all requests.
$.paths.*.
error
tas-check-for-content-type-in-put-and-post-responses
All API responses MUST include the Content-Type header in all responses
$.paths[*].post.responses$.paths[*].put.responses
error
tdp-check-for-path-parameters-in-parameter-block
Check for the path parameter in the parameter block.
$.paths.
error
tdp-check-for-response-in-every-request
Check if every request has their respective responses.
$.paths.*
warn
tas-delete-must-not-return-body
Check if the delete response does not have any body.
$.paths.*.
error
tdp-invalid-symbol-in-path
Check if the given endpoint has queryparameter.
$.paths.
warn
tas-info-x-trimble-api-standard-format
If present, x-trimble-api-standard should match Trimble release format RYYYY.N.
$.info
warn
tas-response-redirect-location
Redirection responses 307/308 should define a Location header.
$.paths[*].[get,post,put,patch,delete,head,options,trace,connect]
warn
tas-response-redirect-prefer-307-308
Prefer 307/308 redirection responses over 301/302 for method/body preservation.
$.paths[*].[get,post,put,patch,delete,head,options,trace,connect]
warn
tas-standard-metadata-fields-r2026
Standard metadata should use r2026.1 naming and expected basic field types.
$.components.schemas.*.properties
warn
tas-trn-format
TRN-like fields should use the Trimble Resource Name (TRN) format.
$.components.schemas.*.properties
warn
tas-pagination-links-structure
Paginated operations should expose pagination metadata and links structure.
$.paths[*].[get,post]
Spectral Ruleset
Work with this as data
Every ruleset here is available over the APIs.io API and to AI agents over MCP.