State Street · API Governance Rules
State Street API Rules
Spectral linting rules defining API design standards and conventions for State Street.
16 Rules
error 10
warn 6
Rule Categories
state
Rules
error
state-street-info-contact-required
All State Street APIs must include contact information
$.info
error
state-street-operation-summary-title-case
Operation summaries must use Title Case per State Street API standards
$.paths[*][get,post,put,patch,delete].summary
error
state-street-operation-id-camel-case
Operation IDs must use camelCase
$.paths[*][get,post,put,patch,delete].operationId
error
state-street-operation-tags-required
All operations must be tagged
$.paths[*][get,post,put,patch,delete]
error
state-street-path-versioned
All paths must start with a version prefix
$.paths
error
state-street-oauth2-required
State Street APIs must use OAuth2 Client Credentials
$.components.securitySchemes[*]
error
state-street-oauth2-client-credentials
OAuth2 must use Client Credentials flow per RFC 6749 Section 4.4.2
$.components.securitySchemes[*][?(@.type=='oauth2')].flows
warn
state-street-correlation-id-header
APIs should support X-Correlation-ID header for request tracing
$.components.parameters
warn
state-street-pagination-get-lists
List operations must support pagination
$.paths[*].get.parameters
warn
state-street-response-429-rate-limit
APIs must document rate limiting responses
$.paths[*][get,post,put,patch,delete].responses
error
state-street-json-default-format
API must use application/json as the primary content type
$.paths[*][get,post,put,patch,delete].responses['200'].content
warn
state-street-schema-description
All schema components must have descriptions
$.components.schemas[*]
warn
state-street-error-schema-consistent
Error responses should reference the standard Error schema
$.paths[*][get,post,put,patch,delete].responses[4*,5*].content['application/json']
error
state-street-security-global
API must apply security globally
$
error
state-street-servers-defined
API must define servers
$
warn
state-street-parameter-description
All parameters must have descriptions
$.paths[*][get,post,put,patch,delete].parameters[*]