WSO2 · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Wso2 API Keys API
17 actions
17 updates
phrasing
extends
openapi/wso2-api-keys-api-openapi.yml
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 17 · first 16 shown; the file carries all of them
$.info
$.paths['/api-keys'].get
$.paths['/api-keys/revoke'].post
$.paths['/apis/{apiId}/api-keys/generate'].post
$.paths['/apis/{apiId}/api-keys/regenerate'].post
$.paths['/apis/{apiId}/api-keys'].get
$.paths['/apis/{apiId}/api-keys/revoke'].post
$.paths['/apis/{apiId}/api-keys/associate'].post
$.paths['/apis/{apiId}/api-keys/dissociate'].post
$.paths['/applications/{applicationId}/api-keys/{keyType}/generate'].post
$.paths['/applications/{applicationId}/api-keys/{keyType}/regenerate'].post
$.paths['/applications/{applicationId}/api-keys/{keyType}'].get
$.paths['/applications/{applicationId}/api-keys/{keyType}/revoke'].post
$.paths['/applications/{applicationId}/api-keys/{keyType}/subscriptions'].get
$.paths['/applications/{applicationId}/api-keys/{keyType}/associate'].post
$.paths['/applications/{applicationId}/api-keys/{keyType}/dissociate'].post
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 Keys API
version: 1.0.0
extends: openapi/wso2-api-keys-api-openapi.yml
actions:
- target: $.info
update:
x-apievangelist-phrasing:
method: generated
generated: '2026-10-01'
generator: build-phrasing.py
label: Generated by API Evangelist
operations: 16
- target: $.paths['/api-keys'].get
update:
x-apievangelist-phrasing:
intent: List every API key as an admin
effect: read
questions:
- Can an admin see all the API keys issued across the WSO2 API Manager?
- Where do I get a full inventory of API keys in the admin portal?
instructions:
- text: List all API keys issued in the platform from the admin view.
- text: Show me every API key across all APIs and applications.
method: generated
generated: '2026-10-01'
- target: $.paths['/api-keys/revoke'].post
update:
x-apievangelist-phrasing:
intent: Revoke any API key as an admin
effect: destructive
questions:
- How does an administrator revoke someone's API key without going through the API or application?
- Can I kill a leaked API key from the admin console using only its UUID?
instructions:
- text: As admin, revoke API key {keyUUID}.
slots:
keyUUID: requestBody.keyUUID
- text: Use the admin endpoint to revoke the leaked key {keyUUID}.
slots:
keyUUID: requestBody.keyUUID
method: generated
generated: '2026-10-01'
- target: $.paths['/apis/{apiId}/api-keys/generate'].post
update:
x-apievangelist-phrasing:
intent: Generate an API key bound to one API
effect: write
questions:
- How do I generate a self-contained API key that works only for a single API?
- Can I set a validity period when generating a key directly for an API?
instructions:
- text: Generate an API key for API {apiId}.
slots:
apiId: path.apiId
- text: Create an API-bound key named {keyName} for API {apiId} valid for {validityPeriod} seconds.
slots:
keyName: requestBody.keyName
apiId: path.apiId
validityPeriod: requestBody.validityPeriod
method: generated
generated: '2026-10-01'
- target: $.paths['/apis/{apiId}/api-keys/regenerate'].post
update:
x-apievangelist-phrasing:
intent: Regenerate an API-bound API key
effect: write
questions:
- How do I rotate an API key that was issued directly for an API?
- Can I regenerate an API-scoped key instead of creating a brand-new one?
instructions:
- text: Regenerate API key {keyUUID} on API {apiId}.
slots:
keyUUID: requestBody.keyUUID
apiId: path.apiId
- text: Rotate the API-bound key {keyUUID} for API {apiId}.
slots:
keyUUID: requestBody.keyUUID
apiId: path.apiId
method: generated
generated: '2026-10-01'
- target: $.paths['/apis/{apiId}/api-keys'].get
update:
x-apievangelist-phrasing:
intent: List API keys bound to an API
effect: read
questions:
- Which self-contained keys have been generated directly for a given API?
- What API-bound keys exist on this API right now?
instructions:
- text: List the API-bound keys for API {apiId}.
slots:
apiId: path.apiId
- text: Show me the keys generated directly on API {apiId}.
slots:
apiId: path.apiId
method: generated
generated: '2026-10-01'
- target: $.paths['/apis/{apiId}/api-keys/revoke'].post
update:
x-apievangelist-phrasing:
intent: Revoke an API-bound API key
effect: destructive
questions:
- How do I revoke a key that was generated for a specific API rather than an application?
- Can an API owner disable one of the API's own keys?
instructions:
- text: Revoke API-bound key {keyUUID} on API {apiId}.
slots:
keyUUID: requestBody.keyUUID
apiId: path.apiId
- text: Disable the key {keyUUID} that was generated for API {apiId}.
slots:
keyUUID: requestBody.keyUUID
apiId: path.apiId
method: generated
generated: '2026-10-01'
- target: $.paths['/apis/{apiId}/api-keys/associate'].post
update:
x-apievangelist-phrasing:
intent: Link an API-bound key to an application
effect: write
questions:
- Can I attach a key generated on an API to an application from the API side?
- How do I associate an API's own key with a particular application?
instructions:
- text: On API {apiId}, associate key {keyUUID} with application {applicationUUID}.
slots:
apiId: path.apiId
keyUUID: requestBody.keyUUID
applicationUUID: requestBody.applicationUUID
- text: From API {apiId}, link its key {keyUUID} to app {applicationUUID}.
slots:
apiId: path.apiId
keyUUID: requestBody.keyUUID
applicationUUID: requestBody.applicationUUID
method: generated
generated: '2026-10-01'
- target: $.paths['/apis/{apiId}/api-keys/dissociate'].post
update:
x-apievangelist-phrasing:
intent: Unlink an API-bound key from its application
effect: write
questions:
- How do I detach an API's key from the application it was linked to, working from the API side?
- Can I remove a key association on an API without revoking the key?
instructions:
- text: On API {apiId}, remove the association for key {keyUUID}.
slots:
apiId: path.apiId
keyUUID: requestBody.keyUUID
- text: Detach API {apiId}'s key {keyUUID} from its application.
slots:
apiId: path.apiId
keyUUID: requestBody.keyUUID
method: generated
generated: '2026-10-01'
- target: $.paths['/applications/{applicationId}/api-keys/{keyType}/generate'].post
update:
x-apievangelist-phrasing:
intent: Generate an application API key
effect: write
questions:
- How do I generate a production or sandbox API key for my application?
- Can I name an application API key and give it an expiry when I create it?
instructions:
- text: Generate a {keyType} API key for application {applicationId}.
slots:
keyType: path.keyType
applicationId: path.applicationId
- text: Create an app key named {keyName} for application {applicationId} in {keyType}, valid {validityPeriod} seconds.
slots:
keyName: requestBody.keyName
applicationId: path.applicationId
keyType: path.keyType
validityPeriod: requestBody.validityPeriod
method: generated
generated: '2026-10-01'
- target: $.paths['/applications/{applicationId}/api-keys/{keyType}/regenerate'].post
update:
x-apievangelist-phrasing:
intent: Regenerate an application API key
effect: write
questions:
- How do I rotate one of my application's production keys?
- Can I regenerate an application key by its UUID instead of making a new one?
instructions:
- text: Regenerate application key {keyUUID} for app {applicationId} in {keyType}.
slots:
keyUUID: requestBody.keyUUID
applicationId: path.applicationId
keyType: path.keyType
- text: Rotate the {keyType} app key {keyUUID} of application {applicationId}.
slots:
keyType: path.keyType
keyUUID: requestBody.keyUUID
applicationId: path.applicationId
method: generated
generated: '2026-10-01'
- target: $.paths['/applications/{applicationId}/api-keys/{keyType}'].get
update:
x-apievangelist-phrasing:
intent: List an application's API keys by type
effect: read
questions:
- What sandbox keys does my application currently have?
- Where can I see all the production API keys issued for an application?
instructions:
- text: List the {keyType} API keys of application {applicationId}.
slots:
keyType: path.keyType
applicationId: path.applicationId
- text: Show application {applicationId}'s keys for the {keyType} environment.
slots:
applicationId: path.applicationId
keyType: path.keyType
method: generated
generated: '2026-10-01'
- target: $.paths['/applications/{applicationId}/api-keys/{keyType}/revoke'].post
update:
x-apievangelist-phrasing:
intent: Revoke an application API key
effect: destructive
questions:
- How do I revoke a sandbox key that belongs to my application?
- Can I revoke an application key by pasting the key value itself?
instructions:
- text: Revoke application key {keyUUID} for app {applicationId} in {keyType}.
slots:
keyUUID: requestBody.keyUUID
applicationId: path.applicationId
keyType: path.keyType
- text: Revoke the {keyType} key value {apikey} on application {applicationId}.
slots:
keyType: path.keyType
apikey: requestBody.apikey
applicationId: path.applicationId
method: generated
generated: '2026-10-01'
- target: $.paths['/applications/{applicationId}/api-keys/{keyType}/subscriptions'].get
update:
x-apievangelist-phrasing:
intent: List subscribed APIs holding unlinked keys
effect: read
questions:
- Which of my application's subscribed APIs have keys that are not yet associated with it?
- What subscribed APIs carry API keys I could still link to my app?
instructions:
- text: List subscribed APIs with unassociated {keyType} keys for application {applicationId}.
slots:
keyType: path.keyType
applicationId: path.applicationId
- text: Show which APIs application {applicationId} subscribes to that have {keyType} keys available to associate.
slots:
applicationId: path.applicationId
keyType: path.keyType
method: generated
generated: '2026-10-01'
- target: $.paths['/applications/{applicationId}/api-keys/{keyType}/associate'].post
update:
x-apievangelist-phrasing:
intent: Associate an API key with my application
effect: write
questions:
- How do I link a key from a subscribed API to my application?
- Can an application developer pull an API's key into their own app?
instructions:
- text: Associate key {keyUUID} from API {apiUUID} with application {applicationId} in {keyType}.
slots:
keyUUID: requestBody.keyUUID
apiUUID: requestBody.apiUUID
applicationId: path.applicationId
keyType: path.keyType
- text: Link API {apiUUID}'s key {keyUUID} to my app {applicationId} for {keyType}.
slots:
apiUUID: requestBody.apiUUID
keyUUID: requestBody.keyUUID
applicationId: path.applicationId
keyType: path.keyType
method: generated
generated: '2026-10-01'
- target: $.paths['/applications/{applicationId}/api-keys/{keyType}/dissociate'].post
update:
x-apievangelist-phrasing:
intent: Remove an API key association from my application
effect: write
questions:
- How do I unlink a key from my application without revoking it?
- Can an app owner drop an associated API key from the application side?
instructions:
- text: Remove key {keyUUID} from application {applicationId} in {keyType}.
slots:
keyUUID: requestBody.keyUUID
applicationId: path.applicationId
keyType: path.keyType
- text: Unlink the associated {keyType} key {keyUUID} from app {applicationId}.
slots:
keyType: path.keyType
keyUUID: requestBody.keyUUID
applicationId: path.applicationId
method: generated
generated: '2026-10-01'
- target: $.paths['/applications/{applicationId}/api-keys/{keyType}/associations'].get
update:
x-apievangelist-phrasing:
intent: List API key associations for an application
effect: read
questions:
- Which API keys are currently linked to my application?
- What key associations does an application have in sandbox?
instructions:
- text: List the {keyType} key associations of application {applicationId}.
slots:
keyType: path.keyType
applicationId: path.applicationId
- text: Show which keys are associated with app {applicationId} for {keyType}.
slots:
applicationId: path.applicationId
keyType: path.keyType
method: generated
generated: '2026-10-01'
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-api-keys-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.