Respondology · OpenAPI Overlay 1.0.0

API Evangelist enhancements for the Respondology API

22 actions 22 updates documentation extends ../openapi/respondology-api-openapi.json
Derived by API Evangelist Built from the contracts Respondology publishes. Respondology did not publish this file.
View Overlay File View on GitHub Overlay Specification

What the actions change

operationIdsecurityx-agentic-accesssecuritySchemes

Targets 10

$.paths['/moderation_reasons'].get
$.paths['/external_api/v1/comments'].post
$.paths['/external_api/v1/comments/{id}'].patch
$.paths['/external_api/v1/comments/{id}'].get
$.paths['/external_api/v1/comments/{id}'].delete
$.paths['/external_api/v1/posts'].post
$.paths['/external_api/v1/posts/{id}'].patch
$.paths['/external_api/v1/posts/{id}'].get
$.paths['/external_api/v1/posts/{id}'].delete
$.components

OpenAPI Overlay

Raw ↑
# Generated: 2026-08-26
# method: generated
# source: derived from openapi/respondology-api-openapi.json (verbatim upstream spec fetched
#         from https://api.respondology.io/swagger.json). This Overlay captures API Evangelist
#         enhancements only. It NEVER mutates the original contract.
overlay: 1.0.0
info:
  title: API Evangelist enhancements for the Respondology API
  version: 1.0.0
extends: ../openapi/respondology-api-openapi.json
actions:
  # ---- 1. The upstream spec declares no operationId on ANY of its 9 operations.
  #         Without them, generated SDKs invent method names and no crosswalk can bind a tool.
  - target: $.paths['/moderation_reasons'].get
    update:
      operationId: listModerationReasons
  - target: $.paths['/external_api/v1/comments'].post
    update:
      operationId: submitComment
  - target: $.paths['/external_api/v1/comments/{id}'].patch
    update:
      operationId: updateComment
  - target: $.paths['/external_api/v1/comments/{id}'].get
    update:
      operationId: getComment
  - target: $.paths['/external_api/v1/comments/{id}'].delete
    update:
      operationId: deleteComment
  - target: $.paths['/external_api/v1/posts'].post
    update:
      operationId: submitPost
  - target: $.paths['/external_api/v1/posts/{id}'].patch
    update:
      operationId: updatePost
  - target: $.paths['/external_api/v1/posts/{id}'].get
    update:
      operationId: getPost
  - target: $.paths['/external_api/v1/posts/{id}'].delete
    update:
      operationId: deletePost

  # ---- 2. Authentication is modeled only as a repeated required header PARAMETER.
  #         Declare it as a real securityScheme so tooling enforces it.
  - target: $.components
    update:
      securitySchemes:
        ApiKeyAuth:
          type: apiKey
          in: header
          name: X-Api-Key
          description: >-
            API key issued by a Respondology account manager during onboarding.
            Required on all /external_api/v1 operations.

  # ---- 3. Apply that scheme to every authenticated operation.
  - target: $.paths['/external_api/v1/comments'].post
    update:
      security:
        - ApiKeyAuth: []
  - target: $.paths['/external_api/v1/comments/{id}'].patch
    update:
      security:
        - ApiKeyAuth: []
  - target: $.paths['/external_api/v1/comments/{id}'].get
    update:
      security:
        - ApiKeyAuth: []
  - target: $.paths['/external_api/v1/comments/{id}'].delete
    update:
      security:
        - ApiKeyAuth: []
  - target: $.paths['/external_api/v1/posts'].post
    update:
      security:
        - ApiKeyAuth: []
  - target: $.paths['/external_api/v1/posts/{id}'].patch
    update:
      security:
        - ApiKeyAuth: []
  - target: $.paths['/external_api/v1/posts/{id}'].get
    update:
      security:
        - ApiKeyAuth: []
  - target: $.paths['/external_api/v1/posts/{id}'].delete
    update:
      security:
        - ApiKeyAuth: []

  # ---- 4. Record consequence/reversibility metadata for agent callers.
  #         The two destructive operations are the ones an agent must not retry blindly.
  - target: $.paths['/external_api/v1/comments/{id}'].delete
    update:
      x-agentic-access:
        action-class: delete
        consequence: destructive
        reversible: unknown
        note: >-
          Accepted asynchronously (202) with no result webhook and no stated window. The contract does
          not say whether deletion un-hides a comment already moderated on the source platform.
  - target: $.paths['/external_api/v1/posts/{id}'].delete
    update:
      x-agentic-access:
        action-class: delete
        consequence: destructive
        reversible: unknown
        note: Accepted asynchronously (202) with no result webhook and no stated retention window.
  - target: $.paths['/external_api/v1/comments'].post
    update:
      x-agentic-access:
        action-class: create
        consequence: moderating
        idempotent: false
        note: >-
          No idempotency guard. A retry after timeout creates a second comment record with a new
          comment_id and fires a second result webhook.
  - target: $.paths['/external_api/v1/posts'].post
    update:
      x-agentic-access:
        action-class: create
        consequence: recording
        idempotent: false
        note: No idempotency guard; a retry after timeout creates a duplicate post record.

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/respondology-api-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.