naftiko: 1.0.0-alpha2 info: label: SaaS Alerts API — Reports description: 'SaaS Alerts API — Reports. 3 operations. Lead operation: List Security Alerts. Self-contained Naftiko capability covering one Saas Alerts business surface.' tags: - Saas Alerts - Reports created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: SAAS_ALERTS_API_KEY: SAAS_ALERTS_API_KEY capability: consumes: - type: http namespace: saas-alerts-reports baseUri: https://api.saasalerts.com description: SaaS Alerts API — Reports business capability. Self-contained, no shared references. resources: - name: reports-alerts path: /reports/alerts operations: - name: listalerts method: GET description: List Security Alerts outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: alertStatus in: query type: string description: Filter alerts by severity - name: resolved in: query type: boolean description: Filter by resolution status - name: customerId in: query type: string description: Filter by customer identifier - name: startDate in: query type: string description: Filter alerts from this date - name: endDate in: query type: string description: Filter alerts up to this date - name: pageSize in: query type: integer description: Number of alerts per page - name: page in: query type: integer description: Page number for pagination - name: reports-customers path: /reports/customers operations: - name: listcustomers method: GET description: List Monitored Customers outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: pageSize in: query type: integer description: Number of customers per page - name: page in: query type: integer description: Page number for pagination - name: reports-users path: /reports/users operations: - name: listusers method: GET description: List Monitored Users outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: customerId in: query type: string description: Filter by customer identifier - name: application in: query type: string description: Filter by application - name: pageSize in: query type: integer description: Number of users per page - name: page in: query type: integer description: Page number for pagination authentication: type: apikey key: X-API-Key value: '{{env.SAAS_ALERTS_API_KEY}}' placement: header exposes: - type: rest namespace: saas-alerts-reports-rest port: 8080 description: REST adapter for SaaS Alerts API — Reports. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/reports/alerts name: reports-alerts description: REST surface for reports-alerts. operations: - method: GET name: listalerts description: List Security Alerts call: saas-alerts-reports.listalerts with: alertStatus: rest.alertStatus resolved: rest.resolved customerId: rest.customerId startDate: rest.startDate endDate: rest.endDate pageSize: rest.pageSize page: rest.page outputParameters: - type: object mapping: $. - path: /v1/reports/customers name: reports-customers description: REST surface for reports-customers. operations: - method: GET name: listcustomers description: List Monitored Customers call: saas-alerts-reports.listcustomers with: pageSize: rest.pageSize page: rest.page outputParameters: - type: object mapping: $. - path: /v1/reports/users name: reports-users description: REST surface for reports-users. operations: - method: GET name: listusers description: List Monitored Users call: saas-alerts-reports.listusers with: customerId: rest.customerId application: rest.application pageSize: rest.pageSize page: rest.page outputParameters: - type: object mapping: $. - type: mcp namespace: saas-alerts-reports-mcp port: 9090 transport: http description: MCP adapter for SaaS Alerts API — Reports. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-security-alerts description: List Security Alerts hints: readOnly: true destructive: false idempotent: true call: saas-alerts-reports.listalerts with: alertStatus: tools.alertStatus resolved: tools.resolved customerId: tools.customerId startDate: tools.startDate endDate: tools.endDate pageSize: tools.pageSize page: tools.page outputParameters: - type: object mapping: $. - name: list-monitored-customers description: List Monitored Customers hints: readOnly: true destructive: false idempotent: true call: saas-alerts-reports.listcustomers with: pageSize: tools.pageSize page: tools.page outputParameters: - type: object mapping: $. - name: list-monitored-users description: List Monitored Users hints: readOnly: true destructive: false idempotent: true call: saas-alerts-reports.listusers with: customerId: tools.customerId application: tools.application pageSize: tools.pageSize page: tools.page outputParameters: - type: object mapping: $.