naftiko: 1.0.0-alpha2 info: label: Koyeb Rest API — Apps description: 'Koyeb Rest API — Apps. 9 operations. Lead operation: List App events. Self-contained Naftiko capability covering one Koyeb business surface.' tags: - Koyeb - Apps created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: KOYEB_API_KEY: KOYEB_API_KEY capability: consumes: - type: http namespace: koyeb-apps baseUri: https://app.koyeb.com description: Koyeb Rest API — Apps business capability. Self-contained, no shared references. resources: - name: v1-app_events path: /v1/app_events operations: - name: listappevents method: GET description: List App events outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: app_id in: query type: string description: (Optional) Filter on app id - name: types in: query type: array description: (Optional) Filter on app event types - name: limit in: query type: string description: (Optional) The number of items to return - name: offset in: query type: string description: (Optional) The offset in the list of item to return - name: order in: query type: string description: (Optional) Sorts the list in the ascending or the descending order - name: v1-apps path: /v1/apps operations: - name: listapps method: GET description: List App outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: limit in: query type: string description: (Optional) The number of items to return - name: offset in: query type: string description: (Optional) The offset in the list of item to return - name: name in: query type: string description: (Optional) A filter for name - name: project_id in: query type: string description: (Optional) A filter for the project ID - name: createapp method: POST description: Create App outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: app in: body type: string required: true - name: v1-apps-id path: /v1/apps/{id} operations: - name: getapp method: GET description: Get App outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The id of the App required: true - name: deleteapp method: DELETE description: Delete App outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The id of the App to delete required: true - name: updateapp method: PUT description: Update App outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The id of the app to update. required: true - name: app in: body type: string required: true - name: update_mask in: query type: string - name: updateapp2 method: PATCH description: Update App outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The id of the app to update. required: true - name: app in: body type: string required: true - name: update_mask in: query type: string - name: v1-apps-id-pause path: /v1/apps/{id}/pause operations: - name: pauseapp method: POST description: Pause App outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The id of the app to pause. required: true - name: v1-apps-id-resume path: /v1/apps/{id}/resume operations: - name: resumeapp method: POST description: Resume App outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The id of the app to resume. required: true exposes: - type: rest namespace: koyeb-apps-rest port: 8080 description: REST adapter for Koyeb Rest API — Apps. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v1/app-events name: v1-app-events description: REST surface for v1-app_events. operations: - method: GET name: listappevents description: List App events call: koyeb-apps.listappevents with: app_id: rest.app_id types: rest.types limit: rest.limit offset: rest.offset order: rest.order outputParameters: - type: object mapping: $. - path: /v1/v1/apps name: v1-apps description: REST surface for v1-apps. operations: - method: GET name: listapps description: List App call: koyeb-apps.listapps with: limit: rest.limit offset: rest.offset name: rest.name project_id: rest.project_id outputParameters: - type: object mapping: $. - method: POST name: createapp description: Create App call: koyeb-apps.createapp with: app: rest.app outputParameters: - type: object mapping: $. - path: /v1/v1/apps/{id} name: v1-apps-id description: REST surface for v1-apps-id. operations: - method: GET name: getapp description: Get App call: koyeb-apps.getapp with: id: rest.id outputParameters: - type: object mapping: $. - method: DELETE name: deleteapp description: Delete App call: koyeb-apps.deleteapp with: id: rest.id outputParameters: - type: object mapping: $. - method: PUT name: updateapp description: Update App call: koyeb-apps.updateapp with: id: rest.id app: rest.app update_mask: rest.update_mask outputParameters: - type: object mapping: $. - method: PATCH name: updateapp2 description: Update App call: koyeb-apps.updateapp2 with: id: rest.id app: rest.app update_mask: rest.update_mask outputParameters: - type: object mapping: $. - path: /v1/v1/apps/{id}/pause name: v1-apps-id-pause description: REST surface for v1-apps-id-pause. operations: - method: POST name: pauseapp description: Pause App call: koyeb-apps.pauseapp with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/v1/apps/{id}/resume name: v1-apps-id-resume description: REST surface for v1-apps-id-resume. operations: - method: POST name: resumeapp description: Resume App call: koyeb-apps.resumeapp with: id: rest.id outputParameters: - type: object mapping: $. - type: mcp namespace: koyeb-apps-mcp port: 9090 transport: http description: MCP adapter for Koyeb Rest API — Apps. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-app-events description: List App events hints: readOnly: true destructive: false idempotent: true call: koyeb-apps.listappevents with: app_id: tools.app_id types: tools.types limit: tools.limit offset: tools.offset order: tools.order outputParameters: - type: object mapping: $. - name: list-app description: List App hints: readOnly: true destructive: false idempotent: true call: koyeb-apps.listapps with: limit: tools.limit offset: tools.offset name: tools.name project_id: tools.project_id outputParameters: - type: object mapping: $. - name: create-app description: Create App hints: readOnly: false destructive: false idempotent: false call: koyeb-apps.createapp with: app: tools.app outputParameters: - type: object mapping: $. - name: get-app description: Get App hints: readOnly: true destructive: false idempotent: true call: koyeb-apps.getapp with: id: tools.id outputParameters: - type: object mapping: $. - name: delete-app description: Delete App hints: readOnly: false destructive: true idempotent: true call: koyeb-apps.deleteapp with: id: tools.id outputParameters: - type: object mapping: $. - name: update-app description: Update App hints: readOnly: false destructive: false idempotent: true call: koyeb-apps.updateapp with: id: tools.id app: tools.app update_mask: tools.update_mask outputParameters: - type: object mapping: $. - name: update-app-2 description: Update App hints: readOnly: false destructive: false idempotent: true call: koyeb-apps.updateapp2 with: id: tools.id app: tools.app update_mask: tools.update_mask outputParameters: - type: object mapping: $. - name: pause-app description: Pause App hints: readOnly: false destructive: false idempotent: false call: koyeb-apps.pauseapp with: id: tools.id outputParameters: - type: object mapping: $. - name: resume-app description: Resume App hints: readOnly: false destructive: false idempotent: false call: koyeb-apps.resumeapp with: id: tools.id outputParameters: - type: object mapping: $.