naftiko: 1.0.0-alpha2 info: label: Tomorrow.io Weather API — Alerts description: 'Alerts surface of the Tomorrow.io Weather API. 10 operations. Lead operation: Tomorrow.io List Alerts. Self-contained Naftiko capability covering one Tomorrow.io business surface.' tags: - Tomorrow.io - Weather - Alerts created: '2026-05-30' modified: '2026-05-30' binds: - namespace: env keys: TOMORROW_API_KEY: TOMORROW_API_KEY capability: consumes: - type: http namespace: tomorrow-alerts baseUri: https://api.tomorrow.io/v4 description: Tomorrow.io Weather API — Alerts business capability. Self-contained, no shared references. authentication: type: apikey key: apikey value: '{{env.TOMORROW_API_KEY}}' placement: query resources: - name: alerts path: /alerts operations: - name: listAlerts method: GET description: Tomorrow.io List Alerts inputParameters: [] outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createAlert method: POST description: Tomorrow.io Create Alert inputParameters: - name: body in: body type: object required: true description: Request body payload. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: alerts-alert-id path: /alerts/{alertId} operations: - name: getAlert method: GET description: Tomorrow.io Get Alert inputParameters: - name: alertId in: path type: string required: true description: alertId outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updateAlert method: PUT description: Tomorrow.io Update Alert inputParameters: - name: alertId in: path type: string required: true description: alertId - name: body in: body type: object required: true description: Request body payload. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: deleteAlert method: DELETE description: Tomorrow.io Delete Alert inputParameters: - name: alertId in: path type: string required: true description: alertId outputRawFormat: json outputParameters: - name: result type: object value: $. - name: alerts-alert-id-locations path: /alerts/{alertId}/locations operations: - name: listAlertLocations method: GET description: Tomorrow.io List Alert Locations inputParameters: - name: alertId in: path type: string required: true description: alertId outputRawFormat: json outputParameters: - name: result type: object value: $. - name: alerts-alert-id-locations-link path: /alerts/{alertId}/locations/link operations: - name: linkAlertLocations method: POST description: Tomorrow.io Link Alert Locations inputParameters: - name: alertId in: path type: string required: true description: alertId - name: body in: body type: object required: true description: Request body payload. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: alerts-alert-id-locations-unlink path: /alerts/{alertId}/locations/unlink operations: - name: unlinkAlertLocations method: POST description: Tomorrow.io Unlink Alert Locations inputParameters: - name: alertId in: path type: string required: true description: alertId - name: body in: body type: object required: true description: Request body payload. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: alerts-alert-id-activate path: /alerts/{alertId}/activate operations: - name: activateAlert method: POST description: Tomorrow.io Activate Alert inputParameters: - name: alertId in: path type: string required: true description: alertId outputRawFormat: json outputParameters: - name: result type: object value: $. - name: alerts-alert-id-deactivate path: /alerts/{alertId}/deactivate operations: - name: deactivateAlert method: POST description: Tomorrow.io Deactivate Alert inputParameters: - name: alertId in: path type: string required: true description: alertId outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest namespace: tomorrow-alerts-rest port: 8080 description: REST adapter for Tomorrow.io Weather API — Alerts. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/alerts name: alerts description: REST surface for alerts. operations: - method: GET name: listAlerts description: Tomorrow.io List Alerts call: tomorrow-alerts.listAlerts with: {} outputParameters: - type: object mapping: $. - method: POST name: createAlert description: Tomorrow.io Create Alert call: tomorrow-alerts.createAlert with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/alerts/{alertId} name: alerts-alert-id description: REST surface for alerts-alert-id. operations: - method: GET name: getAlert description: Tomorrow.io Get Alert call: tomorrow-alerts.getAlert with: alertId: rest.alertId outputParameters: - type: object mapping: $. - method: PUT name: updateAlert description: Tomorrow.io Update Alert call: tomorrow-alerts.updateAlert with: alertId: rest.alertId body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteAlert description: Tomorrow.io Delete Alert call: tomorrow-alerts.deleteAlert with: alertId: rest.alertId outputParameters: - type: object mapping: $. - path: /v1/alerts/{alertId}/locations name: alerts-alert-id-locations description: REST surface for alerts-alert-id-locations. operations: - method: GET name: listAlertLocations description: Tomorrow.io List Alert Locations call: tomorrow-alerts.listAlertLocations with: alertId: rest.alertId outputParameters: - type: object mapping: $. - path: /v1/alerts/{alertId}/locations/link name: alerts-alert-id-locations-link description: REST surface for alerts-alert-id-locations-link. operations: - method: POST name: linkAlertLocations description: Tomorrow.io Link Alert Locations call: tomorrow-alerts.linkAlertLocations with: alertId: rest.alertId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/alerts/{alertId}/locations/unlink name: alerts-alert-id-locations-unlink description: REST surface for alerts-alert-id-locations-unlink. operations: - method: POST name: unlinkAlertLocations description: Tomorrow.io Unlink Alert Locations call: tomorrow-alerts.unlinkAlertLocations with: alertId: rest.alertId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/alerts/{alertId}/activate name: alerts-alert-id-activate description: REST surface for alerts-alert-id-activate. operations: - method: POST name: activateAlert description: Tomorrow.io Activate Alert call: tomorrow-alerts.activateAlert with: alertId: rest.alertId outputParameters: - type: object mapping: $. - path: /v1/alerts/{alertId}/deactivate name: alerts-alert-id-deactivate description: REST surface for alerts-alert-id-deactivate. operations: - method: POST name: deactivateAlert description: Tomorrow.io Deactivate Alert call: tomorrow-alerts.deactivateAlert with: alertId: rest.alertId outputParameters: - type: object mapping: $. - type: mcp namespace: tomorrow-alerts-mcp port: 9090 transport: http description: MCP adapter for Tomorrow.io Weather API — Alerts. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: io-list-alerts description: Tomorrow.io List Alerts hints: readOnly: true destructive: false idempotent: true call: tomorrow-alerts.listAlerts with: {} outputParameters: - type: object mapping: $. - name: io-create-alert description: Tomorrow.io Create Alert hints: readOnly: false destructive: false idempotent: false call: tomorrow-alerts.createAlert with: body: tools.body outputParameters: - type: object mapping: $. - name: io-get-alert description: Tomorrow.io Get Alert hints: readOnly: true destructive: false idempotent: true call: tomorrow-alerts.getAlert with: alertId: tools.alertId outputParameters: - type: object mapping: $. - name: io-update-alert description: Tomorrow.io Update Alert hints: readOnly: false destructive: false idempotent: true call: tomorrow-alerts.updateAlert with: alertId: tools.alertId body: tools.body outputParameters: - type: object mapping: $. - name: io-delete-alert description: Tomorrow.io Delete Alert hints: readOnly: false destructive: true idempotent: true call: tomorrow-alerts.deleteAlert with: alertId: tools.alertId outputParameters: - type: object mapping: $. - name: io-list-alert-locations description: Tomorrow.io List Alert Locations hints: readOnly: true destructive: false idempotent: true call: tomorrow-alerts.listAlertLocations with: alertId: tools.alertId outputParameters: - type: object mapping: $. - name: io-link-alert-locations description: Tomorrow.io Link Alert Locations hints: readOnly: false destructive: false idempotent: false call: tomorrow-alerts.linkAlertLocations with: alertId: tools.alertId body: tools.body outputParameters: - type: object mapping: $. - name: io-unlink-alert-locations description: Tomorrow.io Unlink Alert Locations hints: readOnly: false destructive: false idempotent: false call: tomorrow-alerts.unlinkAlertLocations with: alertId: tools.alertId body: tools.body outputParameters: - type: object mapping: $. - name: io-activate-alert description: Tomorrow.io Activate Alert hints: readOnly: false destructive: false idempotent: false call: tomorrow-alerts.activateAlert with: alertId: tools.alertId outputParameters: - type: object mapping: $. - name: io-deactivate-alert description: Tomorrow.io Deactivate Alert hints: readOnly: false destructive: false idempotent: false call: tomorrow-alerts.deactivateAlert with: alertId: tools.alertId outputParameters: - type: object mapping: $.