7SIGNAL · OpenAPI Overlay 1.0.0

API Evangelist enhancements to the 7SIGNAL Platform API

4 actions 4 updates update
Derived by API Evangelist Built from the contracts 7SIGNAL publishes. 7SIGNAL did not publish this file.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-origintokenUrlx-apievangelist

Targets 3

$.servers
$.info
$.components.securitySchemes.oauth2.flows.clientCredentials

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enhancements to the 7SIGNAL Platform API
  version: 1.0.0
x-provenance:
  generated: '2026-09-05'
  method: generated
  source: openapi/7signalsolutions-openapi.json
  extends: openapi/7signalsolutions-openapi.json
  upstream: https://api-v2.7signal.com/api/gateway-v2.json
  note: This overlay records ONLY what the enrichment pipeline changed or added on top of 7SIGNAL's published contract.
    The upstream document is a $ref hub across 51 separately-served JSON fragments; the copy in openapi/ is a faithful
    bundle of those fragments with external $refs hoisted into components (schemas/parameters/requestBodies/responses).
    No operation, parameter, schema or response was added, removed or reworded.
actions:
- target: $.servers
  description: 'The published contract declares `servers: [{ "url": "/", "description": "API Gateway" }]` — a relative
    server, which is correct for a Swagger UI loading the spec from its own host but unusable by any client that
    reads the file standalone. Replaced with the absolute production host that 7SIGNAL''s own documentation names
    ("The base URL for all API endpoints is https://api-v2.7signal.com").'
  update:
  - url: https://api-v2.7signal.com
    description: 7SIGNAL API Gateway (production)
- target: $.info
  description: Record where the contract was fetched from and the license as published.
  update:
    x-origin:
    - url: https://api-v2.7signal.com/api/gateway-v2.json
      format: openapi
      version: 3.0.3
      fetched: '2026-09-05'
      http_status: 200
      discovered_via: https://api-v2.7signal.com/swagger-ui/swagger-initializer.js, which configures SwaggerUIBundle
        with url "/api/gateway-v2.json". /v3/api-docs, /v2/api-docs and /openapi.json all return 401 on this host;
        the spec is served anonymously only at that path.
      fragments: 51
- target: $.components.securitySchemes.oauth2.flows.clientCredentials
  description: The published tokenUrl is the relative path "/oauth2/token"; absolutized against the documented base
    URL so the scheme is usable from a standalone copy of the spec.
  update:
    tokenUrl: https://api-v2.7signal.com/oauth2/token
- target: $.info
  description: Cross-links to the derived and searched artifacts in this repository, so a consumer of the spec alone
    can find the runtime semantics that are documented outside it.
  update:
    x-apievangelist:
      authentication: authentication/7signalsolutions-authentication.yml
      scopes: scopes/7signalsolutions-scopes.yml
      conventions: conventions/7signalsolutions-conventions.yml
      errors: errors/7signalsolutions-problem-types.yml
      rate_limits: rate-limits/7signalsolutions-rate-limits.yml
      lifecycle: lifecycle/7signalsolutions-lifecycle.yml
      webhooks: asyncapi/7signalsolutions-webhooks.yml
      data_model: data-model/7signalsolutions-data-model.yml
      mcp: mcp/7signalsolutions-mcp.yml
x-gaps-observed:
  description: Contract gaps observed but deliberately NOT patched — an overlay that invents responses would be
    fabrication. Recorded here so the gap is measurable rather than silently repaired.
  items:
  - 401 Unauthorized is declared on 0 of 215 operations, although it is the primary auth failure mode
  - 429 Too Many Requests is declared on 0 of 215 operations, although rate limiting is documented and enforced
  - The oauth2 scopes map is empty; only 3 operations name a scope (read)
  - No tags[] declaration at the document root, though all 215 operations carry tags (32 distinct)
  - 60 of 215 operations have a summary but no description
  - 'IncidentResponse.resolutionReason (alert-incidents/schema.json) carries `nullable: true` as a sibling of `allOf`
    with no `type` — the one hard lint error in the contract (Redocly nullable-type-sibling). It is 7SIGNAL''s defect
    in the fragment they serve, verified present in openapi/_original/, and is deliberately NOT patched here: an
    overlay that silently repairs a provider''s spec would hide the measurement.'
  - 47 media-type examples and 6 schema examples do not validate against their own schemas (Redocly no-invalid-media-type-examples
    / no-invalid-schema-examples) — e.g. common.Range.toAsDateString carries an example that does not match format
    date-time.
  - 3 operations reference an oauth2 scope (`read`) that the securityScheme's scopes map does not define (Redocly
    security-scopes-defined).
  - 1 operation declares no 4xx response at all (Redocly operation-4xx-response).
x-lint:
  tool: '@redocly/cli lint (built-in recommended)'
  run: '2026-09-05'
  target: openapi/7signalsolutions-openapi.json
  result: 1 error, 64 warnings
  errors: 1
  warnings: 64
  note: Every finding traces to the upstream fragments; none was introduced by bundling. Nothing was patched.

Work with this as data

Every overlay 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 openapi overlays

4 MCP tools reach this
  • find_overlaysBrowse and filter every overlay 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 overlay
curl "https://apis.io/api/v1/overlays/7signalsolutions-gateway-v2-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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.