naftiko: 1.0.0-alpha2 info: label: AppSumo Licensing API — Licenses description: 'AppSumo Licensing API — Licenses. 3 operations. Lead operation: AppSumo - Get License. Self-contained Naftiko capability covering one Appsumo business surface.' tags: - Appsumo - Licenses created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: APPSUMO_API_KEY: APPSUMO_API_KEY capability: consumes: - type: http namespace: licensing-licenses baseUri: https://appsumo.com/api/v2 description: AppSumo Licensing API — Licenses business capability. Self-contained, no shared references. resources: - name: licenses-licenseKey path: /licenses/{licenseKey} operations: - name: getlicense method: GET description: AppSumo - Get License outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: licenseKey in: path type: string description: The license key to retrieve information for required: true - name: licenses-licenseKey-activate path: /licenses/{licenseKey}/activate operations: - name: activatelicense method: POST description: AppSumo - Activate License outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: licenseKey in: path type: string description: The license key to activate required: true - name: body in: body type: object description: Request body (JSON). required: true - name: licenses-licenseKey-deactivate path: /licenses/{licenseKey}/deactivate operations: - name: deactivatelicense method: POST description: AppSumo - Deactivate License outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: licenseKey in: path type: string description: The license key to deactivate required: true authentication: type: apikey key: X-AppSumo-API-Key value: '{{env.APPSUMO_API_KEY}}' placement: header exposes: - type: rest namespace: licensing-licenses-rest port: 8080 description: REST adapter for AppSumo Licensing API — Licenses. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/licenses/{licensekey} name: licenses-licensekey description: REST surface for licenses-licenseKey. operations: - method: GET name: getlicense description: AppSumo - Get License call: licensing-licenses.getlicense with: licenseKey: rest.licenseKey outputParameters: - type: object mapping: $. - path: /v1/licenses/{licensekey}/activate name: licenses-licensekey-activate description: REST surface for licenses-licenseKey-activate. operations: - method: POST name: activatelicense description: AppSumo - Activate License call: licensing-licenses.activatelicense with: licenseKey: rest.licenseKey body: rest.body outputParameters: - type: object mapping: $. - path: /v1/licenses/{licensekey}/deactivate name: licenses-licensekey-deactivate description: REST surface for licenses-licenseKey-deactivate. operations: - method: POST name: deactivatelicense description: AppSumo - Deactivate License call: licensing-licenses.deactivatelicense with: licenseKey: rest.licenseKey outputParameters: - type: object mapping: $. - type: mcp namespace: licensing-licenses-mcp port: 9090 transport: http description: MCP adapter for AppSumo Licensing API — Licenses. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: appsumo-get-license description: AppSumo - Get License hints: readOnly: true destructive: false idempotent: true call: licensing-licenses.getlicense with: licenseKey: tools.licenseKey outputParameters: - type: object mapping: $. - name: appsumo-activate-license description: AppSumo - Activate License hints: readOnly: false destructive: false idempotent: false call: licensing-licenses.activatelicense with: licenseKey: tools.licenseKey body: tools.body outputParameters: - type: object mapping: $. - name: appsumo-deactivate-license description: AppSumo - Deactivate License hints: readOnly: false destructive: false idempotent: false call: licensing-licenses.deactivatelicense with: licenseKey: tools.licenseKey outputParameters: - type: object mapping: $.