Saperly · OpenAPI Overlay 1.0.0

API Evangelist enhancements for the Saperly API

5 actions 5 updates documentation extends ../openapi/_original/saperly-openapi.yml
Derived by API Evangelist Built from the contracts Saperly publishes. Saperly did not publish this file.
View Overlay File View on GitHub Overlay Specification

What the actions change

securitySchemessecurityx-apievangelist-notesx-mcp-serverx-idempotency-keydescription

Targets 5

$.components
$
$.info
$.paths[*][?(@.operationId == "voice.place" || @.operationId == "messaging.send" || @.operationId == "numbers.provision")]
$.tags[?(@.name == "keys")]

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enhancements for the Saperly API
  version: 1.0.0
extends: ../openapi/_original/saperly-openapi.yml
x-generated: '2026-10-07'
x-method: generated
x-source: https://saperly.com/docs/guides/authentication, https://saperly.com/docs/guides/errors-and-idempotency,
  https://saperly.com/docs/sdks/mcp
actions:
- target: $.components
  update:
    securitySchemes:
      bearerApiKey:
        type: http
        scheme: bearer
        description: Scoped Saperly API key, prefixed sap_sk_live_. Carries scopes (read | write | admin), an optional
          number allow-list and an optional spend cap; the workspace is resolved from the key.
- target: $
  update:
    security:
    - bearerApiKey: []
- target: $.info
  update:
    x-apievangelist-notes: 'Every mutating endpoint accepts an Idempotency-Key header (UUID v4): same key + same
      body replays the stored result; same key + different body -> 422 IdempotencyKeyMismatch; in-flight replay
      -> 409 IdempotencyConflict. Errors are tagged JSON bodies discriminated by _tag.'
    x-mcp-server: https://api.saperly.com/mcp
- target: $.paths[*][?(@.operationId == "voice.place" || @.operationId == "messaging.send" || @.operationId == "numbers.provision")]
  update:
    x-idempotency-key: Idempotency-Key header (UUID v4) accepted; see https://saperly.com/docs/guides/errors-and-idempotency
- target: $.tags[?(@.name == "keys")]
  update:
    description: 'Scoped key provisioning: a key with the admin scope (keys:admin) mints ceiling-bounded child keys.'

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/saperly-openapi-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?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.