naftiko: 1.0.0-alpha2 info: label: openobserve — Ratelimit description: 'openobserve — Ratelimit. 3 operations. Lead operation: List module rate limit rules. Self-contained Naftiko capability covering one Openobserve business surface.' tags: - Openobserve - Ratelimit created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: OPENOBSERVE_API_KEY: OPENOBSERVE_API_KEY capability: consumes: - type: http namespace: openobserve-ratelimit baseUri: '' description: openobserve — Ratelimit business capability. Self-contained, no shared references. resources: - name: api-org_id-ratelimit-module_list path: /api/{org_id}/ratelimit/module_list operations: - name: listmoduleratelimitrule method: GET description: List module rate limit rules outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: org_id in: path type: string description: Organization Name required: true - name: org_id in: query type: string description: Organization Name required: true - name: interval in: query type: string description: 'Time interval: second/minute/hour (default: second)' - name: api-org_id-ratelimit-role_list path: /api/{org_id}/ratelimit/role_list operations: - name: listroleratelimitrule method: GET description: List role-based rate limit rules outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: org_id in: path type: string description: Organization Name required: true - name: org_id in: query type: string description: Organization Name required: true - name: user_role in: query type: string description: User Role Name required: true - name: interval in: query type: string description: 'Time interval: second/minute/hour (default: second)' - name: api-org_id-ratelimit-update path: /api/{org_id}/ratelimit/update operations: - name: updateratelimitrule method: PUT description: Update rate limit rules outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: org_id in: path type: string description: Organization name required: true - name: org_id in: query type: string description: Organization name required: true - name: update_type in: query type: string description: Update Type required: true - name: user_role in: query type: string description: UserRole name - name: interval in: query type: string description: 'Time interval: second/minute/hour (default: second)' - name: body in: body type: object description: Request body (JSON). required: true authentication: type: apikey key: Authorization value: '{{env.OPENOBSERVE_API_KEY}}' placement: header exposes: - type: rest namespace: openobserve-ratelimit-rest port: 8080 description: REST adapter for openobserve — Ratelimit. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/{org-id}/ratelimit/module-list name: api-org-id-ratelimit-module-list description: REST surface for api-org_id-ratelimit-module_list. operations: - method: GET name: listmoduleratelimitrule description: List module rate limit rules call: openobserve-ratelimit.listmoduleratelimitrule with: org_id: rest.org_id interval: rest.interval outputParameters: - type: object mapping: $. - path: /v1/api/{org-id}/ratelimit/role-list name: api-org-id-ratelimit-role-list description: REST surface for api-org_id-ratelimit-role_list. operations: - method: GET name: listroleratelimitrule description: List role-based rate limit rules call: openobserve-ratelimit.listroleratelimitrule with: org_id: rest.org_id user_role: rest.user_role interval: rest.interval outputParameters: - type: object mapping: $. - path: /v1/api/{org-id}/ratelimit/update name: api-org-id-ratelimit-update description: REST surface for api-org_id-ratelimit-update. operations: - method: PUT name: updateratelimitrule description: Update rate limit rules call: openobserve-ratelimit.updateratelimitrule with: org_id: rest.org_id update_type: rest.update_type user_role: rest.user_role interval: rest.interval body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: openobserve-ratelimit-mcp port: 9090 transport: http description: MCP adapter for openobserve — Ratelimit. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-module-rate-limit-rules description: List module rate limit rules hints: readOnly: true destructive: false idempotent: true call: openobserve-ratelimit.listmoduleratelimitrule with: org_id: tools.org_id interval: tools.interval outputParameters: - type: object mapping: $. - name: list-role-based-rate-limit description: List role-based rate limit rules hints: readOnly: true destructive: false idempotent: true call: openobserve-ratelimit.listroleratelimitrule with: org_id: tools.org_id user_role: tools.user_role interval: tools.interval outputParameters: - type: object mapping: $. - name: update-rate-limit-rules description: Update rate limit rules hints: readOnly: false destructive: false idempotent: true call: openobserve-ratelimit.updateratelimitrule with: org_id: tools.org_id update_type: tools.update_type user_role: tools.user_role interval: tools.interval body: tools.body outputParameters: - type: object mapping: $.