OpenObserve · Capability
openobserve — Ratelimit
openobserve — Ratelimit. 3 operations. Lead operation: List module rate limit rules. Self-contained Naftiko capability covering one Openobserve business surface.
What You Can Do
GET
Listmoduleratelimitrule
— List module rate limit rules
/v1/api/{org-id}/ratelimit/module-list
GET
Listroleratelimitrule
— List role-based rate limit rules
/v1/api/{org-id}/ratelimit/role-list
PUT
Updateratelimitrule
— Update rate limit rules
/v1/api/{org-id}/ratelimit/update
MCP Tools
list-module-rate-limit-rules
List module rate limit rules
read-only
idempotent
list-role-based-rate-limit
List role-based rate limit rules
read-only
idempotent
update-rate-limit-rules
Update rate limit rules
idempotent
Capability Spec
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: $.