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.
View Overlay File View on GitHub Overlay Specification

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

Raw ↑
# 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.
All 92 tools →

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.