Glue · API Governance Rules

Glue — talks rules

Spectral linting rules defining API design standards and conventions for Glue.

15 Rules error 14
View Rules File View on GitHub

Rule Categories

RESTFUL ruleset

Rules

hint
ruleset-version
RESTful API standards ruleset version 1.0.0 (json version)
$
error
RESTFUL-STD-1.1-NAMING-FUNDAMENTALS-API-NAME
$.info.title
error
RESTFUL-STD-1.2-ENUM-UPPER-SNAKE-CASE
$.components.schemas.*..enum[*]$.components.*..x-extensible-enum[*]$.paths.*.*..schema..enum[*]$.paths.*.*..schema..x-extensible-enum[*]
error
RESTFUL-STD-2.1.1-CONSISTENCY-FUNDAMENTALS-URI-PARAMS
$.paths..parameters[?(@.in=='path')].name
error
RESTFUL-STD-2.1.2-CONSISTENCY-FUNDAMENTALS-DESCRIPTION-PATH-PARAMS
$.paths..parameters[?(@.in=='path')]
error
RESTFUL-STD-2.1.2-CONSISTENCY-FUNDAMENTALS-DESCRIPTION-QUERY-PARAMS
$.paths..parameters[?(@.in=='query')]
error
RESTFUL-STD-2.1.2-CONSISTENCY-FUNDAMENTALS-DESCRIPTION-REQUEST-HEADERS
$.paths..parameters[?(@.in=='header')]
error
RESTFUL-STD-2.1.2-CONSISTENCY-FUNDAMENTALS-DESCRIPTION-RESPONSE-HEADERS
$.paths..responses..headers
error
RESTFUL-STD-2.1.2-CONSISTENCY-FUNDAMENTALS-DESCRIPTION-REQUEST-BODY
$.paths[*].*.requestBody$.components.requestBodies.*
error
RESTFUL-STD-2.1.2-CONSISTENCY-FUNDAMENTALS-DESCRIPTION-RESPONSE-BODY
$.paths[*]..responses.*
error
RESTFUL-STD-2.1.2-CONSISTENCY-FUNDAMENTALS-DESCRIPTION-COOKIES
$.paths..responses..cookies
error
RESTFUL-STD-2.3.1-CONSISTENCY-FUNDAMENTALS-INTEGER-MAX
$.paths..parameters[?(@.schema.type=='integer')].schema
error
RESTFUL-STD-2.3.1-CONSISTENCY-FUNDAMENTALS-INTEGER-MIN
$.paths..parameters[?(@.schema.type=='integer')].schema
error
RESTFUL-STD-2.3.2-CONSISTENCY-FUNDAMENTALS-STRING-MAXLENGTH
$.paths..parameters[?(@.schema.type=='string')].schema
error
RESTFUL-STD-2.3.2-CONSISTENCY-FUNDAMENTALS-STRING-MINLENGTH
$.paths..parameters[?(@.schema.type=='string')].schema

Spectral Ruleset

glue-talks-spectral-rules.yml Raw ↑
# harvested from https://github.com/apiglue/talks/blob/3b4fb169d32eac883f17ae215a73995488750eb4/api-design/rulesets/api-design-standards-ruleset-extended.json on 2026-10-09 — a Spectral ruleset published in the provider's own GitHub repository (apiglue/talks); found by GitHub code search, fetched verbatim and converted from JSON to YAML
x-method: harvested
x-stamped: 2026-10-09
x-source-url: https://github.com/apiglue/talks/blob/3b4fb169d32eac883f17ae215a73995488750eb4/api-design/rulesets/api-design-standards-ruleset-extended.json
extends:
- - spectral:oas
  - all
rules:
  ruleset-version:
    description: RESTful API standards ruleset version 1.0.0 (json version)
    documentationUrl: https://github.com/apiglue/talks
    severity: hint
    given: $
    then:
      function: falsy
  RESTFUL-STD-1.1-NAMING-FUNDAMENTALS-API-NAME:
    severity: error
    message: 1.1 - API name must be descriptive and only contain alphanumeric characters
    documentationUrl: https://github.com/apiglue/talks/blob/master/api-design/improving-api-design-with-the-help/standards.md#11-api-name
    given: $.info.title
    then:
    - field: '@key'
      function: pattern
      functionOptions:
        match: ^[a-zA-Z0-9]+[a-zA-Z0-9 ]*$
  RESTFUL-STD-1.2-ENUM-UPPER-SNAKE-CASE:
    severity: error
    message: 1.2 - ENUM and x-extensible-enum values must user UPPER_SNAKE_CASE formatting
    documentationUrl: https://github.com/apiglue/talks/blob/master/api-design/improving-api-design-with-the-help/standards.md#12-enum-values-must-be-upper-snake-case
    given:
    - $.components.schemas.*..enum[*]
    - $.components.*..x-extensible-enum[*]
    - $.paths.*.*..schema..enum[*]
    - $.paths.*.*..schema..x-extensible-enum[*]
    then:
    - function: pattern
      functionOptions:
        match: ^[A-Z][A-Z_0-9]*$
  RESTFUL-STD-2.1.1-CONSISTENCY-FUNDAMENTALS-URI-PARAMS:
    severity: error
    message: 2.1.1 - URI parameters must be formatted as lower camel case
    documentationUrl: https://github.com/apiglue/talks/blob/master/api-design/improving-api-design-with-the-help/standards.md#211---uri-parameters
    given: $.paths..parameters[?(@.in=='path')].name
    then:
      function: casing
      functionOptions:
        type: camel
  RESTFUL-STD-2.1.2-CONSISTENCY-FUNDAMENTALS-DESCRIPTION-PATH-PARAMS:
    severity: error
    message: 2.1.2 - Path parameters must have a description
    documentationUrl: https://github.com/apiglue/talks/blob/master/api-design/improving-api-design-with-the-help/standards.md#221---descriptions
    given: $.paths..parameters[?(@.in=='path')]
    then:
    - field: description
      function: truthy
  RESTFUL-STD-2.1.2-CONSISTENCY-FUNDAMENTALS-DESCRIPTION-QUERY-PARAMS:
    severity: error
    message: 2.1.2 - Query parameters must have a description
    documentationUrl: https://github.com/apiglue/talks/blob/master/api-design/improving-api-design-with-the-help/standards.md#221---descriptions
    given: $.paths..parameters[?(@.in=='query')]
    then:
    - field: description
      function: truthy
  RESTFUL-STD-2.1.2-CONSISTENCY-FUNDAMENTALS-DESCRIPTION-REQUEST-HEADERS:
    severity: error
    message: Request headers must have a description
    documentationUrl: https://github.com/apiglue/talks/blob/master/api-design/improving-api-design-with-the-help/standards.md#221---descriptions
    given: $.paths..parameters[?(@.in=='header')]
    then:
    - field: description
      function: truthy
  RESTFUL-STD-2.1.2-CONSISTENCY-FUNDAMENTALS-DESCRIPTION-RESPONSE-HEADERS:
    severity: error
    message: 2.1.2 - Response headers must have a description
    documentationUrl: https://github.com/apiglue/talks/blob/master/api-design/improving-api-design-with-the-help/standards.md#221---descriptions
    given: $.paths..responses..headers
    then:
    - field: description
      function: truthy
  RESTFUL-STD-2.1.2-CONSISTENCY-FUNDAMENTALS-DESCRIPTION-REQUEST-BODY:
    severity: error
    message: 2.1.2 -Request body must have a description
    documentationUrl: https://github.com/apiglue/talks/blob/master/api-design/improving-api-design-with-the-help/standards.md#221---descriptions
    given:
    - $.paths[*].*.requestBody
    - $.components.requestBodies.*
    then:
    - field: description
      function: truthy
  RESTFUL-STD-2.1.2-CONSISTENCY-FUNDAMENTALS-DESCRIPTION-RESPONSE-BODY:
    severity: error
    message: 2.1.2 - Response body must have a description
    documentationUrl: https://github.com/apiglue/talks/blob/master/api-design/improving-api-design-with-the-help/standards.md#221---descriptions
    given:
    - $.paths[*]..responses.*
    then:
    - field: description
      function: truthy
  RESTFUL-STD-2.1.2-CONSISTENCY-FUNDAMENTALS-DESCRIPTION-COOKIES:
    severity: error
    message: 2.1.2 - Cookies must have a description
    documentationUrl: https://github.com/apiglue/talks/blob/master/api-design/improving-api-design-with-the-help/standards.md#221---descriptions
    given: $.paths..responses..cookies
    then:
    - field: description
      function: truthy
  RESTFUL-STD-2.3.1-CONSISTENCY-FUNDAMENTALS-INTEGER-MAX:
    severity: error
    message: 2.3.1 - Integer properties must have a maximum value
    documentationUrl: https://github.com/apiglue/talks/blob/master/api-design/improving-api-design-with-the-help-of-llms/src/standards.md#231-integer-data-type-lower-and-upper-limits
    given: $.paths..parameters[?(@.schema.type=='integer')].schema
    then:
    - field: maximum
      function: truthy
  RESTFUL-STD-2.3.1-CONSISTENCY-FUNDAMENTALS-INTEGER-MIN:
    severity: error
    message: 2.3.1 - Integer properties must have a minimum value
    documentationUrl: https://github.com/apiglue/talks/blob/master/api-design/improving-api-design-with-the-help-of-llms/src/standards.md#231-integer-data-type-lower-and-upper-limits
    given: $.paths..parameters[?(@.schema.type=='integer')].schema
    then:
    - field: minimum
      function: truthy
  RESTFUL-STD-2.3.2-CONSISTENCY-FUNDAMENTALS-STRING-MAXLENGTH:
    severity: error
    message: 2.3.2 - String properties must have a maxLength
    documentationUrl: https://github.com/apiglue/talks/blob/master/api-design/improving-api-design-with-the-help-of-llms/src/standards.md#232-string-data-type-lower-and-upper-limits
    given: $.paths..parameters[?(@.schema.type=='string')].schema
    then:
    - field: maxLength
      function: truthy
  RESTFUL-STD-2.3.2-CONSISTENCY-FUNDAMENTALS-STRING-MINLENGTH:
    severity: error
    message: 2.3.2 - String properties must have a minLength
    documentationUrl: https://github.com/apiglue/talks/blob/master/api-design/improving-api-design-with-the-help-of-llms/src/standards.md#232-string-data-type-lower-and-upper-limits
    given: $.paths..parameters[?(@.schema.type=='string')].schema
    then:
    - field: minLength
      function: truthy

Work with this as data

Every ruleset here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for spectral rules

4 MCP tools reach this
  • find_rulesBrowse and filter every ruleset in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This ruleset
curl "https://apis.io/api/v1/rules/glue-talks-spectral-rules"
All spectral rules
curl "https://apis.io/api/v1/rules?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.