WSO2 · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for WSO2 API Manager - Publisher API
258 actions
258 updates
phrasing
extends
openapi/wso2-publisher-api.yaml
Generated by API Evangelist
Written by API Evangelist tooling for WSO2's API. It is a proposal applied on top of the contract, not a document WSO2 publishes.
What the actions change
x-apievangelist-phrasing
Targets 258 · first 16 shown; the file carries all of them
$.info
$.paths['/apis'].get
$.paths['/apis'].post
$.paths['/design-assistant/chat'].post
$.paths['/design-assistant/generate-api-payload'].post
$.paths['/apis/{apiId}'].get
$.paths['/apis/{apiId}'].put
$.paths['/apis/{apiId}'].delete
$.paths['/apis/{apiId}/topics'].put
$.paths['/apis/{apiId}/sequence-backend/{type}/content'].get
$.paths['/apis/{apiId}/sequence-backend/{type}'].delete
$.paths['/apis/{apiId}/sequence-backend'].get
$.paths['/apis/{apiId}/sequence-backend'].put
$.paths['/apis/{apiId}/reimport-service'].put
$.paths['/apis/{apiId}/swagger'].get
$.paths['/apis/{apiId}/swagger'].put
OpenAPI Overlay
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
title: API Evangelist conversational phrasing for WSO2 API Manager - Publisher API
version: 1.0.0
extends: openapi/wso2-publisher-api.yaml
actions:
- target: $.info
update:
x-apievangelist-phrasing:
method: generated
generated: '2026-10-01'
generator: build-phrasing.py
label: Generated by API Evangelist
operations: 257
- target: $.paths['/apis'].get
update:
x-apievangelist-phrasing:
intent: Search the APIs in the publisher
effect: read
questions:
- How do I list every API I've created in the WSO2 Publisher?
- Can I filter my published APIs by provider or name with a search condition?
instructions:
- text: List all APIs in the publisher portal.
- text: Search my publisher APIs matching {query}.
slots:
query: query.query
method: generated
generated: '2026-10-01'
- target: $.paths['/apis'].post
update:
x-apievangelist-phrasing:
intent: Create a new API
effect: write
questions:
- How do I create a brand-new API with a name, context and version?
- What details are required when defining a new API from scratch?
instructions:
- text: Create a new API named {name} at context {context} with version {version}.
slots:
name: requestBody.name
context: requestBody.context
version: requestBody.version
- text: Create API {name} version {version} on {context} tagged {tags}.
slots:
name: requestBody.name
version: requestBody.version
context: requestBody.context
tags: requestBody.tags
method: generated
generated: '2026-10-01'
- target: $.paths['/design-assistant/chat'].post
update:
x-apievangelist-phrasing:
intent: Generate an API spec from plain language
effect: write
questions:
- Can the API Design Assistant turn a plain-English description into an API specification?
- Is it possible to keep chatting with the design assistant in the same session to refine a spec?
instructions:
- text: 'Ask the design assistant to draft a spec for: {text}.'
slots:
text: requestBody.text
- text: Continue design assistant session {session_id} with the request {text}.
slots:
session_id: requestBody.session_id
text: requestBody.text
method: generated
generated: '2026-10-01'
- target: $.paths['/design-assistant/generate-api-payload'].post
update:
x-apievangelist-phrasing:
intent: Build an API payload from the assistant's spec
effect: write
questions:
- Once the design assistant has a spec, how do I turn it into an API creation payload?
- Can I generate the API payload from a stored design assistant session?
instructions:
- text: Generate the API payload for design assistant session {session_id}.
slots:
session_id: requestBody.session_id
- text: Turn the spec from design session {session_id} into a ready-to-create API payload.
slots:
session_id: requestBody.session_id
method: generated
generated: '2026-10-01'
- target: $.paths['/apis/{apiId}'].get
update:
x-apievangelist-phrasing:
intent: Get full details of an API
effect: read
questions:
- What's the full configuration of one of my APIs, including endpoints and policies?
- Can I see every attribute of a single API by its ID?
instructions:
- text: Show me the complete details of API {apiId}.
slots:
apiId: path.apiId
- text: Fetch the configuration of API {apiId}.
slots:
apiId: path.apiId
method: generated
generated: '2026-10-01'
- target: $.paths['/apis/{apiId}'].put
update:
x-apievangelist-phrasing:
intent: Update an existing API
effect: write
questions:
- Can I change an API's description or tags after it's created?
- Which properties of an existing API can't be changed when updating it?
instructions:
- text: Update API {apiId} with the description {description}.
slots:
apiId: path.apiId
description: requestBody.description
- text: Change the tags on API {apiId} to {tags}.
slots:
apiId: path.apiId
tags: requestBody.tags
method: generated
generated: '2026-10-01'
- target: $.paths['/apis/{apiId}'].delete
update:
x-apievangelist-phrasing:
intent: Delete an API
effect: destructive
questions:
- How do I permanently remove an API from the publisher?
- Can I delete an API I no longer need?
instructions:
- text: Delete API {apiId}.
slots:
apiId: path.apiId
- text: Remove the API {apiId} from the publisher for good.
slots:
apiId: path.apiId
method: generated
generated: '2026-10-01'
- target: $.paths['/apis/{apiId}/topics'].put
update:
x-apievangelist-phrasing:
intent: Update topics of an async API
effect: write
questions:
- How do I change the topics exposed by a WebSocket or streaming API?
- Can I replace the topic list on an existing async API?
instructions:
- text: Update the topics of async API {apiId} to {list}.
slots:
apiId: path.apiId
list: requestBody.list
- text: Replace the channel topics on streaming API {apiId}.
slots:
apiId: path.apiId
method: generated
generated: '2026-10-01'
- target: $.paths['/apis/{apiId}/sequence-backend/{type}/content'].get
update:
x-apievangelist-phrasing:
intent: Download a custom backend sequence
effect: read
questions:
- Can I download the actual sequence file used as an API's custom backend?
- Where do I get the content of the sandbox or production backend sequence?
instructions:
- text: Get the {type} custom backend sequence content for API {apiId}.
slots:
type: path.type
apiId: path.apiId
- text: Download the sequence backend file of type {type} from API {apiId}.
slots:
type: path.type
apiId: path.apiId
method: generated
generated: '2026-10-01'
- target: $.paths['/apis/{apiId}/sequence-backend/{type}'].delete
update:
x-apievangelist-phrasing:
intent: Remove an API's sequence backend
effect: destructive
questions:
- How do I remove the custom sequence backend from an API?
- Can I delete just the sandbox sequence backend and keep production?
instructions:
- text: Delete the {type} sequence backend of API {apiId}.
slots:
type: path.type
apiId: path.apiId
- text: Remove the custom {type} backend sequence from API {apiId}.
slots:
type: path.type
apiId: path.apiId
method: generated
generated: '2026-10-01'
- target: $.paths['/apis/{apiId}/sequence-backend'].get
update:
x-apievangelist-phrasing:
intent: List an API's sequence backends
effect: read
questions:
- Which custom sequence backends are configured on my API?
- Does this API use a sequence as its endpoint?
instructions:
- text: List the sequence backends configured on API {apiId}.
slots:
apiId: path.apiId
- text: Show sequence backend metadata for API {apiId}.
slots:
apiId: path.apiId
method: generated
generated: '2026-10-01'
- target: $.paths['/apis/{apiId}/sequence-backend'].put
update:
x-apievangelist-phrasing:
intent: Use a sequence as an API's endpoint
effect: write
questions:
- Can I swap an API's backend for a custom mediation sequence?
- How do I upload a sequence file to act as the API endpoint?
instructions:
- text: Upload {sequence} as the {type} sequence backend for API {apiId}.
slots:
sequence: requestBody.sequence
type: requestBody.type
apiId: path.apiId
- text: Switch API {apiId} to use a custom sequence backend.
slots:
apiId: path.apiId
method: generated
generated: '2026-10-01'
- target: $.paths['/apis/{apiId}/reimport-service'].put
update:
x-apievangelist-phrasing:
intent: Re-import an API's catalog service
effect: write
questions:
- If the service in the Service Catalog changed, how do I refresh the API built from it?
- Can I re-sync an API with its source catalog service?
instructions:
- text: Re-import the catalog service behind API {apiId}.
slots:
apiId: path.apiId
- text: Refresh API {apiId} from the latest version of its Service Catalog entry.
slots:
apiId: path.apiId
method: generated
generated: '2026-10-01'
- target: $.paths['/apis/{apiId}/swagger'].get
update:
x-apievangelist-phrasing:
intent: Get an API's OpenAPI definition
effect: read
questions:
- How do I download the Swagger or OpenAPI definition of one of my APIs?
- Can I export the OpenAPI document an API is currently using?
instructions:
- text: Get the Swagger definition of API {apiId}.
slots:
apiId: path.apiId
- text: Show me the OpenAPI document for API {apiId}.
slots:
apiId: path.apiId
method: generated
generated: '2026-10-01'
- target: $.paths['/apis/{apiId}/swagger'].put
update:
x-apievangelist-phrasing:
intent: Replace an API's OpenAPI definition
effect: write
questions:
- Can I replace an existing API's Swagger definition with a new file or URL?
- What's the way to push an updated OpenAPI document onto an API?
instructions:
- text: Update the Swagger definition of API {apiId} from {url}.
slots:
apiId: path.apiId
url: requestBody.url
- text: Replace API {apiId}'s OpenAPI definition with {apiDefinition}.
slots:
apiId: path.apiId
apiDefinition: requestBody.apiDefinition
method: generated
generated: '2026-10-01'
- target: $.paths['/apis/{apiId}/generate-mock-scripts'].post
update:
x-apievangelist-phrasing:
intent: Generate mock responses from examples
effect: write
questions:
- Can I generate mock response payloads from the examples in my API definition?
- Is there a way to prototype an API with auto-generated mock scripts?
instructions:
- text: Generate mock response scripts for API {apiId}.
slots:
apiId: path.apiId
- text: Create mock payloads from the Swagger examples of API {apiId}.
slots:
apiId: path.apiId
method: generated
generated: '2026-10-01'
- target: $.paths['/apis/{apiId}/generated-mock-scripts'].get
update:
x-apievangelist-phrasing:
intent: Get an API's generated mock responses
effect: read
questions:
- Where can I see the mock responses that were already generated for an API?
- What mock scripts exist for my prototyped API?
instructions:
- text: Show the generated mock scripts of API {apiId}.
slots:
apiId: path.apiId
- text: Fetch the existing mock response payloads for API {apiId}.
slots:
apiId: path.apiId
method: generated
generated: '2026-10-01'
- target: $.paths['/apis/{apiId}/resource-policies'].get
update:
x-apievangelist-phrasing:
intent: List an API's inflow/outflow resource policies
effect: read
questions:
- Which in or out conversion policies are defined on an API's resources?
- Can I filter an API's resource policies by path and HTTP verb?
instructions:
- text: List the {sequenceType} resource policies of API {apiId}.
slots:
sequenceType: query.sequenceType
apiId: path.apiId
- text: Get the {sequenceType} policy for {verb} {resourcePath} on API {apiId}.
slots:
sequenceType: query.sequenceType
verb: query.verb
resourcePath: query.resourcePath
apiId: path.apiId
method: generated
generated: '2026-10-01'
- target: $.paths['/apis/{apiId}/resource-policies/{resourcePolicyId}'].get
update:
x-apievangelist-phrasing:
intent: Get one resource policy of an API
effect: read
questions:
- How can I look at a single inflow or outflow resource policy by its identifier?
- What does a specific resource conversion policy on my API contain?
instructions:
- text: Get resource policy {resourcePolicyId} of API {apiId}.
slots:
resourcePolicyId: path.resourcePolicyId
apiId: path.apiId
- text: Show the definition of conversion policy {resourcePolicyId} on API {apiId}.
slots:
resourcePolicyId: path.resourcePolicyId
apiId: path.apiId
method: generated
generated: '2026-10-01'
- target: $.paths['/apis/{apiId}/resource-policies/{resourcePolicyId}'].put
update:
x-apievangelist-phrasing:
intent: Update a resource policy of an API
effect: write
questions:
- Can I edit the content of an existing inflow or outflow resource policy?
- How do I change the conversion logic for one API resource?
instructions:
- text: Update resource policy {resourcePolicyId} on API {apiId} with content {content}.
slots:
resourcePolicyId: path.resourcePolicyId
apiId: path.apiId
content: requestBody.content
- text: Rewrite the conversion policy {resourcePolicyId} for API {apiId}.
slots:
resourcePolicyId: path.resourcePolicyId
apiId: path.apiId
method: generated
generated: '2026-10-01'
- target: $.paths['/apis/{apiId}/thumbnail'].get
update:
x-apievangelist-phrasing:
intent: Download an API's thumbnail
effect: read
questions:
- How do I download the thumbnail image shown for an API?
- Can I get the icon image an API uses in the developer portal?
instructions:
- text: Download the thumbnail image of API {apiId}.
slots:
apiId: path.apiId
- text: Get the icon for API {apiId}.
slots:
apiId: path.apiId
method: generated
generated: '2026-10-01'
- target: $.paths['/apis/{apiId}/thumbnail'].put
update:
x-apievangelist-phrasing:
intent: Upload an API's thumbnail
effect: write
questions:
- Can I set a custom thumbnail image for an API?
- What image do I upload to change an API's portal icon?
instructions:
- text: Upload {file} as the thumbnail for API {apiId}.
slots:
file: requestBody.file
apiId: path.apiId
- text: Replace API {apiId}'s icon with the image {file}.
slots:
apiId: path.apiId
file: requestBody.file
method: generated
generated: '2026-10-01'
- target: $.paths['/apis/{apiId}/subscription-policies'].get
update:
x-apievangelist-phrasing:
intent: Get an API's subscription throttling tiers
effect: read
questions:
- Which subscription throttling tiers are attached to my API?
- Can I see the rate-limit plans subscribers can choose for an AI API?
instructions:
- text: List the subscription throttling policies on API {apiId}.
slots:
apiId: path.apiId
- text: Show subscription tiers for API {apiId} in organization {organizationID}.
slots:
apiId: path.apiId
organizationID: query.organizationID
method: generated
generated: '2026-10-01'
- target: $.paths['/apis/copy-api'].post
update:
x-apievangelist-phrasing:
intent: Create a new version of an API
effect: write
questions:
- How do I copy an existing API into a new version number?
- Can the new API version be made the default version?
instructions:
- text: Create version {newVersion} of API {apiId}.
slots:
newVersion: query.newVersion
apiId: query.apiId
- text: Copy API {apiId} to new version {newVersion} and make it default {defaultVersion}.
slots:
apiId: query.apiId
newVersion: query.newVersion
defaultVersion: query.defaultVersion
method: generated
generated: '2026-10-01'
- target: $.paths['/apis/change-lifecycle'].post
update:
x-apievangelist-phrasing:
intent: Change an API's lifecycle state
effect: write
questions:
- How do I publish an API that's still in the created state?
- Can I deprecate or retire an API through a lifecycle action?
instructions:
- text: Apply lifecycle action {action} to API {apiId}.
slots:
action: query.action
apiId: query.apiId
- text: Publish API {apiId}.
slots:
apiId: query.apiId
method: generated
generated: '2026-10-01'
- target: $.paths['/apis/{apiId}/lifecycle-history'].get
update:
x-apievangelist-phrasing:
intent: Get an API's lifecycle change history
effect: read
questions:
- Who moved my API between lifecycle states and when?
- Can I see the full history of an API being published, deprecated or retired?
instructions:
- text: Show the lifecycle history of API {apiId}.
slots:
apiId: path.apiId
- text: List every past lifecycle state change for API {apiId}.
slots:
apiId: path.apiId
method: generated
generated: '2026-10-01'
- target: $.paths['/apis/{apiId}/lifecycle-state'].get
update:
x-apievangelist-phrasing:
intent: Get an API's current lifecycle state
effect: read
questions:
- What lifecycle state is my API in right now, and what actions are allowed next?
- Which checklist items apply before I can promote an API?
instructions:
- text: Get the current lifecycle state of API {apiId}.
slots:
apiId: path.apiId
- text: Show available lifecycle transitions for API {apiId}.
slots:
apiId: path.apiId
method: generated
generated: '2026-10-01'
- target: $.paths['/apis/{apiId}/lifecycle-state/pending-tasks'].delete
update:
x-apievangelist-phrasing:
intent: Cancel an API's pending lifecycle requests
effect: destructive
questions:
- My API's publish request is stuck awaiting approval; can I cancel it?
- How do I clear pending lifecycle workflow tasks on an API?
instructions:
- text: Cancel pending lifecycle state change tasks for API {apiId}.
slots:
apiId: path.apiId
- text: Remove the lifecycle approval request waiting on API {apiId}.
slots:
apiId: path.apiId
method: generated
generated: '2026-10-01'
- target: $.paths['/apis/{apiId}/revisions'].get
update:
x-apievangelist-phrasing:
intent: List revisions of an API
effect: read
questions:
- What revisions have been created for my API?
- Can I list only the deployed revisions of an API?
instructions:
- text: List revisions of API {apiId}.
slots:
apiId: path.apiId
- text: Show API {apiId} revisions matching {query}.
slots:
apiId: path.apiId
query: query.query
method: generated
generated: '2026-10-01'
- target: $.paths['/apis/{apiId}/revisions'].post
update:
x-apievangelist-phrasing:
intent: Create a revision of an API
effect: write
questions:
- How do I snapshot the current state of an API as a revision?
- Can I add a description when I cut a new API revision?
instructions:
- text: Create a new revision of API {apiId}.
slots:
apiId: path.apiId
- text: Cut a revision of API {apiId} described as {description}.
slots:
apiId: path.apiId
description: requestBody.description
method: generated
generated: '2026-10-01'
- target: $.paths['/apis/{apiId}/revisions/{revisionId}'].get
update:
x-apievangelist-phrasing:
intent: Get one revision of an API
effect: read
questions:
- Can I look up a single API revision by its ID?
- What details are stored for a specific revision of an API?
instructions:
- text: Get revision {revisionId} of API {apiId}.
slots:
revisionId: path.revisionId
apiId: path.apiId
- text: Show details for API {apiId} revision {revisionId}.
slots:
apiId: path.apiId
revisionId: path.revisionId
method: generated
generated: '2026-10-01'
- target: $.paths['/apis/{apiId}/revisions/{revisionId}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a revision of an API
effect: destructive
questions:
- How do I delete an old API revision I no longer need?
- Can I clean up unused revisions of an API?
instructions:
- text: Delete revision {revisionId} of API {apiId}.
slots:
revisionId: path.revisionId
apiId: path.apiId
- text: Remove API {apiId}'s revision {revisionId}.
slots:
apiId: path.apiId
revisionId: path.revisionId
method: generated
generated: '2026-10-01'
- target: $.paths['/apis/{apiId}/deployments'].get
update:
x-apievangelist-phrasing:
intent: List where an API's revisions are deployed
effect: read
questions:
- Which gateway environments is my API currently deployed to?
- How many gateways are live for each deployed API revision?
instructions:
- text: List the deployments of API {apiId}.
slots:
apiId: path.apiId
- text: Show which revision of API {apiId} is deployed to each gateway.
slots:
apiId: path.apiId
method: generated
generated: '2026-10-01'
- target: $.paths['/apis/{apiId}/deployments/{deploymentId}'].put
update:
x-apievangelist-phrasing:
intent: Show or hide an API deployment on the portal
effect: write
questions:
- Can I hide a particular API gateway deployment from the developer portal?
- How do I control whether an API deployment is displayed to developers?
instructions:
- text: Set displayOnDevportal to {displayOnDevportal} for deployment {deploymentId} of API {apiId}.
slots:
displayOnDevportal: requestBody.displayOnDevportal
deploymentId: path.deploymentId
apiId: path.apiId
- text: Hide deployment {deploymentId} of API {apiId} from the developer portal.
slots:
deploymentId: path.deploymentId
apiId: path.apiId
method: generated
generated: '2026-10-01'
- target: $.paths['/apis/{apiId}/deploy-revision'].post
update:
x-apievangelist-phrasing:
intent: Deploy an API revision to gateways
effect: write
questions:
- How do I push an API revision out to the gateway?
- Can I choose which revision of an API to deploy?
instructions:
- text: Deploy revision {revisionId} of API {apiId}.
slots:
revisionId: query.revisionId
apiId: path.apiId
- text: Roll API {apiId} revision {revisionId} out to the gateways.
slots:
apiId: path.apiId
revisionId: query.revisionId
method: generated
generated: '2026-10-01'
- target: $.paths['/apis/{apiId}/undeploy-revision'].post
update:
x-apievangelist-phrasing:
intent: Undeploy an API revision
effect: destructive
questions:
- How do I take an API revision off the gateway?
- Can I undeploy an API from all environments at once?
instructions:
- text: Undeploy revision {revisionId} of API {apiId}.
slots:
revisionId: query.revisionId
apiId: path.apiId
- text: Remove API {apiId} from every gateway environment.
slots:
apiId: path.apiId
method: generated
generated: '2026-10-01'
- target: $.paths['/apis/{apiId}/restore-revision'].post
update:
x-apievangelist-phrasing:
intent: Restore an API to a past revision
effect: write
questions:
- Can I roll the working copy of an API back to an earlier revision?
- What happens to my current API when I restore an old revision?
instructions:
- text: Restore API {apiId} to revision {revisionId}.
slots:
apiId: path.apiId
revisionId: query.revisionId
- text: Roll back the current API {apiId} to its revision {revisionId}.
slots:
apiId: path.apiId
revisionId: query.revisionId
method: generated
generated: '2026-10-01'
- target: $.paths['/apis/{apiId}/cancel-revision-workflow/{revisionId}/{envName}'].delete
update:
x-apievangelist-phrasing:
intent: Cancel a pending API deployment approval
effect: destructive
questions:
- An API revision deployment is waiting for approval; how do I withdraw it?
- Can I cancel a pending deployment workflow for one environment?
instructions:
- text: Cancel the pending deployment of API {apiId} revision {revisionId} to {envName}.
slots:
apiId: path.apiId
revisionId: path.revisionId
envName: path.envName
- text: Withdraw the {envName} deployment request for revision {revisionId} of API {apiId}.
slots:
envName: path.envName
revisionId: path.revisionId
apiId: path.apiId
method: generated
generated: '2026-10-01'
- target: $.paths['/apis/import-service'].post
update:
x-apievangelist-phrasing:
intent: Create an API from a catalog service
effect: write
questions:
- Can I create an API directly from a service in the Service Catalog?
- What's needed to turn a catalog service into a managed API?
instructions:
- text: Create an API from catalog service {serviceKey} named {name}.
slots:
serviceKey: query.serviceKey
name: requestBody.name
- text: Import service {serviceKey} as API {name} version {version} at {context}.
slots:
serviceKey: query.serviceKey
name: requestBody.name
version: requestBody.version
context: requestBody.context
method: generated
generated: '2026-10-01'
- target: $.paths['/apis/{apiId}/comments'].get
update:
x-apievangelist-phrasing:
intent: List comments on an API
effect: read
questions:
- What feedback have developers left as comments on my API?
- Can I include commenter details when listing API comments?
instructions:
- text: List the comments on API {apiId}.
slots:
apiId: path.apiId
- text: Show comments for API {apiId} with commenter info.
slots:
apiId: path.apiId
method: generated
generated: '2026-10-01'
- target: $.paths['/apis/{apiId}/comments'].post
update:
x-apievangelist-phrasing:
intent: Comment on an API
effect: write
questions:
- Can I post a comment on an API as the publisher?
- How do I reply to an existing comment thread on an API?
instructions:
- text: Post the comment {content} on API {apiId}.
slots:
content: requestBody.content
apiId: path.apiId
- text: Reply to comment {replyTo} on API {apiId} with {content}.
slots:
replyTo: query.replyTo
apiId: path.apiId
content: requestBody.content
method: generated
generated: '2026-10-01'
- target: $.paths['/apis/{apiId}/comments/{commentId}'].get
update:
x-apievangelist-phrasing:
intent: Get one comment on an API
effect: read
questions:
- Can I open a single API comment along with its replies?
- How many replies does a specific comment on my API have?
instructions:
- text: Get comment {commentId} on API {apiId}.
slots:
commentId: path.commentId
apiId: path.apiId
- text: Show API {apiId} comment {commentId} with up to {replyLimit} replies.
slots:
apiId: path.apiId
commentId: path.commentId
replyLimit: query.replyLimit
method: generated
generated: '2026-10-01'
- target: $.paths['/apis/{apiId}/comments/{commentId}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a comment on an API
effect: destructive
questions:
- How do I remove an inappropriate comment from an API?
- Can a publisher delete comments developers left on an API?
instructions:
- text: Delete comment {commentId} from API {apiId}.
slots:
commentId: path.commentId
apiId: path.apiId
- text: Remove API {apiId}'s comment {commentId}.
slots:
apiId: path.apiId
commentId: path.commentId
method: generated
generated: '2026-10-01'
- target: $.paths['/apis/{apiId}/comments/{commentId}'].patch
update:
x-apievangelist-phrasing:
intent: Edit a comment on an API
effect: write
questions:
- Can I fix a typo in a comment I already posted on an API?
- Is it possible to change the category of an API comment?
instructions:
- text: Edit comment {commentId} on API {apiId} to say {content}.
slots:
commentId: path.commentId
apiId: path.apiId
content: requestBody.content
- text: Change the category of API {apiId} comment {commentId} to {category}.
slots:
apiId: path.apiId
commentId: path.commentId
category: requestBody.category
method: generated
generated: '2026-10-01'
- target: $.paths['/apis/{apiId}/comments/{commentId}/replies'].get
update:
x-apievangelist-phrasing:
intent: List replies to an API comment
effect: read
questions:
- What replies has a comment on my API received?
- Can I page through the reply thread of an API comment?
instructions:
- text: List replies to comment {commentId} on API {apiId}.
slots:
commentId: path.commentId
apiId: path.apiId
- text: Show the reply thread under API {apiId} comment {commentId}.
slots:
apiId: path.apiId
commentId: path.commentId
method: generated
generated: '2026-10-01'
- target: $.paths['/apis/{apiId}/mcp-servers-usage'].get
update:
x-apievangelist-phrasing:
intent: Find MCP servers built on an API
effect: read
questions:
- Which MCP servers depend on this API?
- Before I change an API, can I see what MCP servers use it?
instructions:
- text: List MCP servers that use API {apiId}.
slots:
apiId: path.apiId
- text: Find every MCP server generated from API {apiId}.
slots:
apiId: path.apiId
method: generated
generated: '2026-10-01'
- target: $.paths['/mcp-servers/validate-mcp-server'].post
update:
x-apievangelist-phrasing:
intent: Validate a third-party MCP server URL
effect: read
questions:
- Can I check that an external MCP server URL is reachable before proxying it?
- Will the gateway accept this third-party MCP server and its security settings?
instructions:
- text: Validate the third-party MCP server at {url}.
slots:
url: requestBody.url
- text: Check external MCP server {url} using security info {securityInfo}.
slots:
url: requestBody.url
securityInfo: requestBody.securityInfo
method: generated
generated: '2026-10-01'
# --- truncated at 32 KB (168 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/wso2/refs/heads/main/overlays/wso2-publisher-api-phrasing-overlay.yaml
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.
Call it yourself
curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/wso2-publisher-api-phrasing-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.