7SIGNAL · OpenAPI Overlay 1.0.0
API Evangelist enhancements to the 7SIGNAL Platform API
4 actions
4 updates
update
Generated by API Evangelist
Written by API Evangelist tooling for 7SIGNAL's API. It is a proposal applied on top of the contract, not a document 7SIGNAL publishes.
What the actions change
x-origintokenUrlx-apievangelist
Targets 3
$.servers
$.info
$.components.securitySchemes.oauth2.flows.clientCredentials
OpenAPI Overlay
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.