Jack Henry & Associates · API Governance Rules

Jack Henry & Associates API Rules

Spectral linting rules defining API design standards and conventions for Jack Henry & Associates.

Jack Henry & Associates API Rules is a Spectral governance ruleset published by Jack Henry & Associates on the APIs.io network, containing 4 lint rules.

The ruleset includes 1 error-severity rule and 3 warning-severity rules.

Tagged areas include Financial Services, Banking, Core Banking, Digital Banking, and Payments.

Rulesets can be applied to your own OpenAPI specs via Spectral to enforce the same governance standards.

4 Rules error 1 warn 3
View Rules File View on GitHub

Rule Categories

jh

Rules

error
jh-payments-paths-versioned
Jack Henry Payments paths MUST live under /payments/v1.
$.paths.*~
warn
jh-payments-sandbox-present
Payments specs MUST advertise both production and sandbox servers.
$.servers
warn
jh-payments-summary-title-case
Operation summaries should use Title Case.
$.paths[*][get,post,put,delete,patch].summary
warn
jh-payments-amount-required
Payment request schemas MUST require an amount property.
$.components.schemas[?(@property.match(/Request$/i))].required

Spectral Ruleset

Raw ↑
extends: [[spectral:oas, all]]
rules:
  jh-payments-paths-versioned:
    description: Jack Henry Payments paths MUST live under /payments/v1.
    given: $.paths.*~
    severity: error
    then:
      function: pattern
      functionOptions:
        match: '^/payments/v1/'
  jh-payments-sandbox-present:
    description: Payments specs MUST advertise both production and sandbox servers.
    given: $.servers
    severity: warn
    then:
      function: length
      functionOptions:
        min: 2
  jh-payments-summary-title-case:
    description: Operation summaries should use Title Case.
    given: $.paths[*][get,post,put,delete,patch].summary
    severity: warn
    then:
      function: pattern
      functionOptions:
        match: '^([A-Z][a-zA-Z0-9]*\s?)+$'
  jh-payments-amount-required:
    description: Payment request schemas MUST require an amount property.
    given: $.components.schemas[?(@property.match(/Request$/i))].required
    severity: warn
    then:
      function: schema
      functionOptions:
        schema:
          type: array
          contains: { const: amount }