SignalWire · OpenAPI Overlay 1.0.0

API Evangelist enhancements for the SignalWire REST API

5 actions 5 updates update extends ../openapi/signalwire-rest-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for SignalWire's API. It is a proposal applied on top of the contract, not a document SignalWire publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-domain-standardx-apievangelist-artifactsx-agent-notesx-reversibility

Targets 3

$.info
$.tags[?(@.name=='Campaign Registry: Brands')]
$.tags[?(@.name=='E911 Addresses')]

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enhancements for the SignalWire REST API
  version: 1.0.0
extends: ../openapi/signalwire-rest-openapi.yml
x-generated: '2026-08-27'
x-method: generated
x-source: openapi/signalwire-rest-openapi.yml plus the artifacts in this repository
x-note: >-
  Non-destructive Overlay 1.0.0 capturing API Evangelist's enrichment of SignalWire's own contract.
  The upstream spec is never mutated. Every value asserted below is sourced from SignalWire's own
  published documentation or from a probe recorded in this repository.
actions:
- target: $.info
  description: Point the contract at the provider's published operating references.
  update:
    x-apievangelist-artifacts:
      authentication: authentication/signalwire-authentication.yml
      conventions: conventions/signalwire-conventions.yml
      errors: errors/signalwire-problem-types.yml
      rate_limits: rate-limits/signalwire-rate-limits.yml
      lifecycle: lifecycle/signalwire-lifecycle.yml
      webhooks: asyncapi/signalwire-webhooks.yml
      data_model: data-model/signalwire-data-model.yml
      conformance: conformance/signalwire-conformance.yml
      mcp: mcp/signalwire-mcp.yml
- target: $.info
  description: Record the runtime facts an agent needs that the contract does not state.
  update:
    x-agent-notes:
      tenancy: >-
        servers[] is templated on {space_name}. Every request goes to the customer's own Space
        subdomain; there is no shared production host. An agent must be given the Space subdomain
        before any call is possible.
      https_only: Plain HTTP requests are refused with no automatic upgrade.
      idempotency: >-
        Not supported. No Idempotency-Key header is declared on any operation. Retrying a POST that
        places a call or sends a message can duplicate it.
      pagination: Link-based — follow links.next rather than constructing page URLs.
      error_envelope: '{"errors":[{type,code,message,attribute,url}]} on /api/*; {"errors":[{detail,status,title,code}]} on /api/relay/rest. May carry multiple entries.'
      rate_limit_on_exhaustion: HTTP 429; back off and retry.
      test_mode: >-
        None published. There is no test credential prefix and no magic test number range; calls and
        messages placed with a live token are real and billed.
- target: $.info
  description: Record the reversibility posture derived from the contract itself.
  update:
    x-reversibility:
      grade: verified
      cancel_call: >-
        Update the call with Status=canceled before it connects, or Status=completed to hang up an
        in-progress call.
      cancel_fax: >-
        Update the fax with Status=canceled; the fax must still be in queued status.
      redact_message: Terminal-state messages only; irreversible once redacted.
      deletes: 37 DELETE/redact operations, no restore path and no retention window published.
- target: "$.tags[?(@.name=='Campaign Registry: Brands')]"
  description: Name the domain standard the tag implements.
  update:
    x-domain-standard: A2P 10DLC / The Campaign Registry (TCR)
- target: "$.tags[?(@.name=='E911 Addresses')]"
  description: Name the domain standard the tag implements.
  update:
    x-domain-standard: E911 emergency address registration