naftiko: 1.0.0-alpha2 info: label: webMethods API Gateway Service Management API — APIs description: 'webMethods API Gateway Service Management API — APIs. 16 operations. Lead operation: List All APIs. Self-contained Naftiko capability covering one Software Ag business surface.' tags: - Software Ag - APIs created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: SOFTWARE_AG_API_KEY: SOFTWARE_AG_API_KEY capability: consumes: - type: http namespace: webmethods-api-gateway-apis baseUri: http://localhost:5555/rest/apigateway description: webMethods API Gateway Service Management API — APIs business capability. Self-contained, no shared references. resources: - name: apis path: /apis operations: - name: getapis method: GET description: List All APIs outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: apiIds in: query type: string description: Comma-separated list of API IDs to filter - name: from in: query type: integer description: Starting index for pagination - name: size in: query type: integer description: Number of results to return - name: createapi method: POST description: Create API outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: deleteapis method: DELETE description: Delete Multiple APIs outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: apiIds in: query type: string description: Comma-separated list of API IDs to delete required: true - name: forceDelete in: query type: boolean description: Force delete even if API has active subscriptions - name: apis-apiId path: /apis/{apiId} operations: - name: getapi method: GET description: Get API outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: apiId in: path type: string description: Unique identifier of the API required: true - name: format in: query type: string description: Export format for the API definition - name: updateapi method: PUT description: Update API outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: apiId in: path type: string description: Unique identifier of the API required: true - name: overwriteTags in: query type: boolean description: Whether to overwrite existing tags - name: body in: body type: object description: Request body (JSON). required: true - name: deleteapi method: DELETE description: Delete API outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: apiId in: path type: string description: Unique identifier of the API required: true - name: apis-apiId-activate path: /apis/{apiId}/activate operations: - name: activateapi method: PUT description: Activate API outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: apiId in: path type: string description: Unique identifier of the API required: true - name: apis-apiId-deactivate path: /apis/{apiId}/deactivate operations: - name: deactivateapi method: PUT description: Deactivate API outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: apiId in: path type: string description: Unique identifier of the API required: true - name: apis-apiId-gatewayEndpoints path: /apis/{apiId}/gatewayEndpoints operations: - name: updategatewayendpoints method: PUT description: Update Gateway Endpoints outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: apiId in: path type: string description: Unique identifier of the API required: true - name: body in: body type: object description: Request body (JSON). required: true - name: apis-apiId-implementation path: /apis/{apiId}/implementation operations: - name: updateapiimplementation method: PUT description: Update API Implementation outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: apiId in: path type: string description: Unique identifier of the API required: true - name: body in: body type: object description: Request body (JSON). required: true - name: apis-apiId-mock-disable path: /apis/{apiId}/mock/disable operations: - name: disableapimock method: PUT description: Disable API Mocking outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: apiId in: path type: string description: Unique identifier of the API required: true - name: apis-apiId-mock-enable path: /apis/{apiId}/mock/enable operations: - name: enableapimock method: PUT description: Enable API Mocking outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: apiId in: path type: string description: Unique identifier of the API required: true - name: apis-apiId-packages path: /apis/{apiId}/packages operations: - name: getapipackages method: GET description: List API Packages outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: apiId in: path type: string description: Unique identifier of the API required: true - name: apis-apiId-providerspecification path: /apis/{apiId}/providerspecification operations: - name: downloadproviderspecification method: GET description: Download Provider Specification outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: apiId in: path type: string description: Unique identifier of the API required: true - name: apis-apiId-tracing-disable path: /apis/{apiId}/tracing/disable operations: - name: disableapitracing method: PUT description: Disable API Tracing outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: apiId in: path type: string description: Unique identifier of the API required: true - name: apis-apiId-tracing-enable path: /apis/{apiId}/tracing/enable operations: - name: enableapitracing method: PUT description: Enable API Tracing outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: apiId in: path type: string description: Unique identifier of the API required: true authentication: type: basic username: '{{env.SOFTWARE_AG_USER}}' password: '{{env.SOFTWARE_AG_PASS}}' exposes: - type: rest namespace: webmethods-api-gateway-apis-rest port: 8080 description: REST adapter for webMethods API Gateway Service Management API — APIs. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/apis name: apis description: REST surface for apis. operations: - method: GET name: getapis description: List All APIs call: webmethods-api-gateway-apis.getapis with: apiIds: rest.apiIds from: rest.from size: rest.size outputParameters: - type: object mapping: $. - method: POST name: createapi description: Create API call: webmethods-api-gateway-apis.createapi with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteapis description: Delete Multiple APIs call: webmethods-api-gateway-apis.deleteapis with: apiIds: rest.apiIds forceDelete: rest.forceDelete outputParameters: - type: object mapping: $. - path: /v1/apis/{apiid} name: apis-apiid description: REST surface for apis-apiId. operations: - method: GET name: getapi description: Get API call: webmethods-api-gateway-apis.getapi with: apiId: rest.apiId format: rest.format outputParameters: - type: object mapping: $. - method: PUT name: updateapi description: Update API call: webmethods-api-gateway-apis.updateapi with: apiId: rest.apiId overwriteTags: rest.overwriteTags body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteapi description: Delete API call: webmethods-api-gateway-apis.deleteapi with: apiId: rest.apiId outputParameters: - type: object mapping: $. - path: /v1/apis/{apiid}/activate name: apis-apiid-activate description: REST surface for apis-apiId-activate. operations: - method: PUT name: activateapi description: Activate API call: webmethods-api-gateway-apis.activateapi with: apiId: rest.apiId outputParameters: - type: object mapping: $. - path: /v1/apis/{apiid}/deactivate name: apis-apiid-deactivate description: REST surface for apis-apiId-deactivate. operations: - method: PUT name: deactivateapi description: Deactivate API call: webmethods-api-gateway-apis.deactivateapi with: apiId: rest.apiId outputParameters: - type: object mapping: $. - path: /v1/apis/{apiid}/gatewayendpoints name: apis-apiid-gatewayendpoints description: REST surface for apis-apiId-gatewayEndpoints. operations: - method: PUT name: updategatewayendpoints description: Update Gateway Endpoints call: webmethods-api-gateway-apis.updategatewayendpoints with: apiId: rest.apiId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/apis/{apiid}/implementation name: apis-apiid-implementation description: REST surface for apis-apiId-implementation. operations: - method: PUT name: updateapiimplementation description: Update API Implementation call: webmethods-api-gateway-apis.updateapiimplementation with: apiId: rest.apiId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/apis/{apiid}/mock/disable name: apis-apiid-mock-disable description: REST surface for apis-apiId-mock-disable. operations: - method: PUT name: disableapimock description: Disable API Mocking call: webmethods-api-gateway-apis.disableapimock with: apiId: rest.apiId outputParameters: - type: object mapping: $. - path: /v1/apis/{apiid}/mock/enable name: apis-apiid-mock-enable description: REST surface for apis-apiId-mock-enable. operations: - method: PUT name: enableapimock description: Enable API Mocking call: webmethods-api-gateway-apis.enableapimock with: apiId: rest.apiId outputParameters: - type: object mapping: $. - path: /v1/apis/{apiid}/packages name: apis-apiid-packages description: REST surface for apis-apiId-packages. operations: - method: GET name: getapipackages description: List API Packages call: webmethods-api-gateway-apis.getapipackages with: apiId: rest.apiId outputParameters: - type: object mapping: $. - path: /v1/apis/{apiid}/providerspecification name: apis-apiid-providerspecification description: REST surface for apis-apiId-providerspecification. operations: - method: GET name: downloadproviderspecification description: Download Provider Specification call: webmethods-api-gateway-apis.downloadproviderspecification with: apiId: rest.apiId outputParameters: - type: object mapping: $. - path: /v1/apis/{apiid}/tracing/disable name: apis-apiid-tracing-disable description: REST surface for apis-apiId-tracing-disable. operations: - method: PUT name: disableapitracing description: Disable API Tracing call: webmethods-api-gateway-apis.disableapitracing with: apiId: rest.apiId outputParameters: - type: object mapping: $. - path: /v1/apis/{apiid}/tracing/enable name: apis-apiid-tracing-enable description: REST surface for apis-apiId-tracing-enable. operations: - method: PUT name: enableapitracing description: Enable API Tracing call: webmethods-api-gateway-apis.enableapitracing with: apiId: rest.apiId outputParameters: - type: object mapping: $. - type: mcp namespace: webmethods-api-gateway-apis-mcp port: 9090 transport: http description: MCP adapter for webMethods API Gateway Service Management API — APIs. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-all-apis description: List All APIs hints: readOnly: true destructive: false idempotent: true call: webmethods-api-gateway-apis.getapis with: apiIds: tools.apiIds from: tools.from size: tools.size outputParameters: - type: object mapping: $. - name: create-api description: Create API hints: readOnly: false destructive: false idempotent: false call: webmethods-api-gateway-apis.createapi with: body: tools.body outputParameters: - type: object mapping: $. - name: delete-multiple-apis description: Delete Multiple APIs hints: readOnly: false destructive: true idempotent: true call: webmethods-api-gateway-apis.deleteapis with: apiIds: tools.apiIds forceDelete: tools.forceDelete outputParameters: - type: object mapping: $. - name: get-api description: Get API hints: readOnly: true destructive: false idempotent: true call: webmethods-api-gateway-apis.getapi with: apiId: tools.apiId format: tools.format outputParameters: - type: object mapping: $. - name: update-api description: Update API hints: readOnly: false destructive: false idempotent: true call: webmethods-api-gateway-apis.updateapi with: apiId: tools.apiId overwriteTags: tools.overwriteTags body: tools.body outputParameters: - type: object mapping: $. - name: delete-api description: Delete API hints: readOnly: false destructive: true idempotent: true call: webmethods-api-gateway-apis.deleteapi with: apiId: tools.apiId outputParameters: - type: object mapping: $. - name: activate-api description: Activate API hints: readOnly: false destructive: false idempotent: true call: webmethods-api-gateway-apis.activateapi with: apiId: tools.apiId outputParameters: - type: object mapping: $. - name: deactivate-api description: Deactivate API hints: readOnly: false destructive: false idempotent: true call: webmethods-api-gateway-apis.deactivateapi with: apiId: tools.apiId outputParameters: - type: object mapping: $. - name: update-gateway-endpoints description: Update Gateway Endpoints hints: readOnly: false destructive: false idempotent: true call: webmethods-api-gateway-apis.updategatewayendpoints with: apiId: tools.apiId body: tools.body outputParameters: - type: object mapping: $. - name: update-api-implementation description: Update API Implementation hints: readOnly: false destructive: false idempotent: true call: webmethods-api-gateway-apis.updateapiimplementation with: apiId: tools.apiId body: tools.body outputParameters: - type: object mapping: $. - name: disable-api-mocking description: Disable API Mocking hints: readOnly: false destructive: false idempotent: true call: webmethods-api-gateway-apis.disableapimock with: apiId: tools.apiId outputParameters: - type: object mapping: $. - name: enable-api-mocking description: Enable API Mocking hints: readOnly: false destructive: false idempotent: true call: webmethods-api-gateway-apis.enableapimock with: apiId: tools.apiId outputParameters: - type: object mapping: $. - name: list-api-packages description: List API Packages hints: readOnly: true destructive: false idempotent: true call: webmethods-api-gateway-apis.getapipackages with: apiId: tools.apiId outputParameters: - type: object mapping: $. - name: download-provider-specification description: Download Provider Specification hints: readOnly: true destructive: false idempotent: true call: webmethods-api-gateway-apis.downloadproviderspecification with: apiId: tools.apiId outputParameters: - type: object mapping: $. - name: disable-api-tracing description: Disable API Tracing hints: readOnly: false destructive: false idempotent: true call: webmethods-api-gateway-apis.disableapitracing with: apiId: tools.apiId outputParameters: - type: object mapping: $. - name: enable-api-tracing description: Enable API Tracing hints: readOnly: false destructive: false idempotent: true call: webmethods-api-gateway-apis.enableapitracing with: apiId: tools.apiId outputParameters: - type: object mapping: $.