naftiko: 1.0.0-alpha2 info: label: Exoscale API — organization description: 'Exoscale API — organization. 3 operations. Lead operation: [BETA] Retrieve organization environmental impact reports. Self-contained Naftiko capability covering one Exoscale business surface.' tags: - Exoscale - organization created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: EXOSCALE_API_KEY: EXOSCALE_API_KEY capability: consumes: - type: http namespace: exoscale-organization baseUri: https://api-{zone}.exoscale.com/v2 description: Exoscale API — organization business capability. Self-contained, no shared references. resources: - name: env-impact-period path: /env-impact/{period} operations: - name: getenvimpact method: GET description: '[BETA] Retrieve organization environmental impact reports' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: period in: path type: string required: true - name: organization path: /organization operations: - name: getorganization method: GET description: Retrieve an organization outputRawFormat: json outputParameters: - name: result type: object value: $. - name: usage-report path: /usage-report operations: - name: getusagereport method: GET description: Retrieve organization usage reports outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: period in: query type: string exposes: - type: rest namespace: exoscale-organization-rest port: 8080 description: REST adapter for Exoscale API — organization. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/env-impact/{period} name: env-impact-period description: REST surface for env-impact-period. operations: - method: GET name: getenvimpact description: '[BETA] Retrieve organization environmental impact reports' call: exoscale-organization.getenvimpact with: period: rest.period outputParameters: - type: object mapping: $. - path: /v1/organization name: organization description: REST surface for organization. operations: - method: GET name: getorganization description: Retrieve an organization call: exoscale-organization.getorganization outputParameters: - type: object mapping: $. - path: /v1/usage-report name: usage-report description: REST surface for usage-report. operations: - method: GET name: getusagereport description: Retrieve organization usage reports call: exoscale-organization.getusagereport with: period: rest.period outputParameters: - type: object mapping: $. - type: mcp namespace: exoscale-organization-mcp port: 9090 transport: http description: MCP adapter for Exoscale API — organization. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: beta-retrieve-organization-environmental-impact description: '[BETA] Retrieve organization environmental impact reports' hints: readOnly: true destructive: false idempotent: true call: exoscale-organization.getenvimpact with: period: tools.period outputParameters: - type: object mapping: $. - name: retrieve-organization description: Retrieve an organization hints: readOnly: true destructive: false idempotent: true call: exoscale-organization.getorganization outputParameters: - type: object mapping: $. - name: retrieve-organization-usage-reports description: Retrieve organization usage reports hints: readOnly: true destructive: false idempotent: true call: exoscale-organization.getusagereport with: period: tools.period outputParameters: - type: object mapping: $.