SigNoz · Capability
SigNoz — rules
SigNoz — rules. 13 operations. Lead operation: List alert rules. Self-contained Naftiko capability covering one Signoz business surface.
What You Can Do
GET
Listrules
— List alert rules
/v1/api/v2/rules
POST
Createrule
— Create alert rule
/v1/api/v2/rules
POST
Testrule
— Test alert rule
/v1/api/v2/rules/test
DELETE
Deleterulebyid
— Delete alert rule
/v1/api/v2/rules/{id}
GET
Getrulebyid
— Get alert rule by ID
/v1/api/v2/rules/{id}
PATCH
Patchrulebyid
— Patch alert rule
/v1/api/v2/rules/{id}
PUT
Updaterulebyid
— Update alert rule
/v1/api/v2/rules/{id}
GET
Getrulehistoryfilterkeys
— Get rule history filter keys
/v1/api/v2/rules/{id}/history/filter-keys
GET
Getrulehistoryfiltervalues
— Get rule history filter values
/v1/api/v2/rules/{id}/history/filter-values
GET
Getrulehistoryoverallstatus
— Get rule overall status timeline
/v1/api/v2/rules/{id}/history/overall-status
GET
Getrulehistorystats
— Get rule history stats
/v1/api/v2/rules/{id}/history/stats
GET
Getrulehistorytimeline
— Get rule history timeline
/v1/api/v2/rules/{id}/history/timeline
GET
Getrulehistorytopcontributors
— Get top contributors to rule firing
/v1/api/v2/rules/{id}/history/top-contributors
MCP Tools
list-alert-rules
List alert rules
read-only
idempotent
create-alert-rule
Create alert rule
test-alert-rule
Test alert rule
read-only
delete-alert-rule
Delete alert rule
idempotent
get-alert-rule-id
Get alert rule by ID
read-only
idempotent
patch-alert-rule
Patch alert rule
idempotent
update-alert-rule
Update alert rule
idempotent
get-rule-history-filter-keys
Get rule history filter keys
read-only
idempotent
get-rule-history-filter-values
Get rule history filter values
read-only
idempotent
get-rule-overall-status-timeline
Get rule overall status timeline
read-only
idempotent
get-rule-history-stats
Get rule history stats
read-only
idempotent
get-rule-history-timeline
Get rule history timeline
read-only
idempotent
get-top-contributors-rule-firing
Get top contributors to rule firing
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: SigNoz — rules
description: 'SigNoz — rules. 13 operations. Lead operation: List alert rules. Self-contained Naftiko capability covering
one Signoz business surface.'
tags:
- Signoz
- rules
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
SIGNOZ_API_KEY: SIGNOZ_API_KEY
capability:
consumes:
- type: http
namespace: signoz-rules
baseUri: https://{host}:{port}{base_path}
description: SigNoz — rules business capability. Self-contained, no shared references.
resources:
- name: api-v2-rules
path: /api/v2/rules
operations:
- name: listrules
method: GET
description: List alert rules
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: createrule
method: POST
description: Create alert rule
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: api-v2-rules-test
path: /api/v2/rules/test
operations:
- name: testrule
method: POST
description: Test alert rule
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: api-v2-rules-id
path: /api/v2/rules/{id}
operations:
- name: deleterulebyid
method: DELETE
description: Delete alert rule
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: string
required: true
- name: getrulebyid
method: GET
description: Get alert rule by ID
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: string
required: true
- name: patchrulebyid
method: PATCH
description: Patch alert rule
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: string
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: updaterulebyid
method: PUT
description: Update alert rule
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: string
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: api-v2-rules-id-history-filter_keys
path: /api/v2/rules/{id}/history/filter_keys
operations:
- name: getrulehistoryfilterkeys
method: GET
description: Get rule history filter keys
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: signal
in: query
type: string
- name: source
in: query
type: string
- name: limit
in: query
type: integer
- name: startUnixMilli
in: query
type: integer
- name: endUnixMilli
in: query
type: integer
- name: fieldContext
in: query
type: string
- name: fieldDataType
in: query
type: string
- name: metricName
in: query
type: string
- name: metricNamespace
in: query
type: string
- name: searchText
in: query
type: string
- name: id
in: path
type: string
required: true
- name: api-v2-rules-id-history-filter_values
path: /api/v2/rules/{id}/history/filter_values
operations:
- name: getrulehistoryfiltervalues
method: GET
description: Get rule history filter values
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: signal
in: query
type: string
- name: source
in: query
type: string
- name: limit
in: query
type: integer
- name: startUnixMilli
in: query
type: integer
- name: endUnixMilli
in: query
type: integer
- name: fieldContext
in: query
type: string
- name: fieldDataType
in: query
type: string
- name: metricName
in: query
type: string
- name: metricNamespace
in: query
type: string
- name: searchText
in: query
type: string
- name: name
in: query
type: string
- name: existingQuery
in: query
type: string
- name: id
in: path
type: string
required: true
- name: api-v2-rules-id-history-overall_status
path: /api/v2/rules/{id}/history/overall_status
operations:
- name: getrulehistoryoverallstatus
method: GET
description: Get rule overall status timeline
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: start
in: query
type: integer
required: true
- name: end
in: query
type: integer
required: true
- name: id
in: path
type: string
required: true
- name: api-v2-rules-id-history-stats
path: /api/v2/rules/{id}/history/stats
operations:
- name: getrulehistorystats
method: GET
description: Get rule history stats
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: start
in: query
type: integer
required: true
- name: end
in: query
type: integer
required: true
- name: id
in: path
type: string
required: true
- name: api-v2-rules-id-history-timeline
path: /api/v2/rules/{id}/history/timeline
operations:
- name: getrulehistorytimeline
method: GET
description: Get rule history timeline
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: start
in: query
type: integer
required: true
- name: end
in: query
type: integer
required: true
- name: state
in: query
type: string
- name: filterExpression
in: query
type: string
- name: limit
in: query
type: integer
- name: order
in: query
type: string
- name: cursor
in: query
type: string
- name: id
in: path
type: string
required: true
- name: api-v2-rules-id-history-top_contributors
path: /api/v2/rules/{id}/history/top_contributors
operations:
- name: getrulehistorytopcontributors
method: GET
description: Get top contributors to rule firing
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: start
in: query
type: integer
required: true
- name: end
in: query
type: integer
required: true
- name: id
in: path
type: string
required: true
authentication:
type: bearer
token: '{{env.SIGNOZ_API_KEY}}'
exposes:
- type: rest
namespace: signoz-rules-rest
port: 8080
description: REST adapter for SigNoz — rules. One Spectral-compliant resource per consumed operation, prefixed with /v1.
resources:
- path: /v1/api/v2/rules
name: api-v2-rules
description: REST surface for api-v2-rules.
operations:
- method: GET
name: listrules
description: List alert rules
call: signoz-rules.listrules
outputParameters:
- type: object
mapping: $.
- method: POST
name: createrule
description: Create alert rule
call: signoz-rules.createrule
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/api/v2/rules/test
name: api-v2-rules-test
description: REST surface for api-v2-rules-test.
operations:
- method: POST
name: testrule
description: Test alert rule
call: signoz-rules.testrule
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/api/v2/rules/{id}
name: api-v2-rules-id
description: REST surface for api-v2-rules-id.
operations:
- method: DELETE
name: deleterulebyid
description: Delete alert rule
call: signoz-rules.deleterulebyid
with:
id: rest.id
outputParameters:
- type: object
mapping: $.
- method: GET
name: getrulebyid
description: Get alert rule by ID
call: signoz-rules.getrulebyid
with:
id: rest.id
outputParameters:
- type: object
mapping: $.
- method: PATCH
name: patchrulebyid
description: Patch alert rule
call: signoz-rules.patchrulebyid
with:
id: rest.id
body: rest.body
outputParameters:
- type: object
mapping: $.
- method: PUT
name: updaterulebyid
description: Update alert rule
call: signoz-rules.updaterulebyid
with:
id: rest.id
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/api/v2/rules/{id}/history/filter-keys
name: api-v2-rules-id-history-filter-keys
description: REST surface for api-v2-rules-id-history-filter_keys.
operations:
- method: GET
name: getrulehistoryfilterkeys
description: Get rule history filter keys
call: signoz-rules.getrulehistoryfilterkeys
with:
signal: rest.signal
source: rest.source
limit: rest.limit
startUnixMilli: rest.startUnixMilli
endUnixMilli: rest.endUnixMilli
fieldContext: rest.fieldContext
fieldDataType: rest.fieldDataType
metricName: rest.metricName
metricNamespace: rest.metricNamespace
searchText: rest.searchText
id: rest.id
outputParameters:
- type: object
mapping: $.
- path: /v1/api/v2/rules/{id}/history/filter-values
name: api-v2-rules-id-history-filter-values
description: REST surface for api-v2-rules-id-history-filter_values.
operations:
- method: GET
name: getrulehistoryfiltervalues
description: Get rule history filter values
call: signoz-rules.getrulehistoryfiltervalues
with:
signal: rest.signal
source: rest.source
limit: rest.limit
startUnixMilli: rest.startUnixMilli
endUnixMilli: rest.endUnixMilli
fieldContext: rest.fieldContext
fieldDataType: rest.fieldDataType
metricName: rest.metricName
metricNamespace: rest.metricNamespace
searchText: rest.searchText
name: rest.name
existingQuery: rest.existingQuery
id: rest.id
outputParameters:
- type: object
mapping: $.
- path: /v1/api/v2/rules/{id}/history/overall-status
name: api-v2-rules-id-history-overall-status
description: REST surface for api-v2-rules-id-history-overall_status.
operations:
- method: GET
name: getrulehistoryoverallstatus
description: Get rule overall status timeline
call: signoz-rules.getrulehistoryoverallstatus
with:
start: rest.start
end: rest.end
id: rest.id
outputParameters:
- type: object
mapping: $.
- path: /v1/api/v2/rules/{id}/history/stats
name: api-v2-rules-id-history-stats
description: REST surface for api-v2-rules-id-history-stats.
operations:
- method: GET
name: getrulehistorystats
description: Get rule history stats
call: signoz-rules.getrulehistorystats
with:
start: rest.start
end: rest.end
id: rest.id
outputParameters:
- type: object
mapping: $.
- path: /v1/api/v2/rules/{id}/history/timeline
name: api-v2-rules-id-history-timeline
description: REST surface for api-v2-rules-id-history-timeline.
operations:
- method: GET
name: getrulehistorytimeline
description: Get rule history timeline
call: signoz-rules.getrulehistorytimeline
with:
start: rest.start
end: rest.end
state: rest.state
filterExpression: rest.filterExpression
limit: rest.limit
order: rest.order
cursor: rest.cursor
id: rest.id
outputParameters:
- type: object
mapping: $.
- path: /v1/api/v2/rules/{id}/history/top-contributors
name: api-v2-rules-id-history-top-contributors
description: REST surface for api-v2-rules-id-history-top_contributors.
operations:
- method: GET
name: getrulehistorytopcontributors
description: Get top contributors to rule firing
call: signoz-rules.getrulehistorytopcontributors
with:
start: rest.start
end: rest.end
id: rest.id
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: signoz-rules-mcp
port: 9090
transport: http
description: MCP adapter for SigNoz — rules. One tool per consumed operation, routed inline through this capability's
consumes block.
tools:
- name: list-alert-rules
description: List alert rules
hints:
readOnly: true
destructive: false
idempotent: true
call: signoz-rules.listrules
outputParameters:
- type: object
mapping: $.
- name: create-alert-rule
description: Create alert rule
hints:
readOnly: false
destructive: false
idempotent: false
call: signoz-rules.createrule
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: test-alert-rule
description: Test alert rule
hints:
readOnly: true
destructive: false
idempotent: false
call: signoz-rules.testrule
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: delete-alert-rule
description: Delete alert rule
hints:
readOnly: false
destructive: true
idempotent: true
call: signoz-rules.deleterulebyid
with:
id: tools.id
outputParameters:
- type: object
mapping: $.
- name: get-alert-rule-id
description: Get alert rule by ID
hints:
readOnly: true
destructive: false
idempotent: true
call: signoz-rules.getrulebyid
with:
id: tools.id
outputParameters:
- type: object
mapping: $.
- name: patch-alert-rule
description: Patch alert rule
hints:
readOnly: false
destructive: false
idempotent: true
call: signoz-rules.patchrulebyid
with:
id: tools.id
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: update-alert-rule
description: Update alert rule
hints:
readOnly: false
destructive: false
idempotent: true
call: signoz-rules.updaterulebyid
with:
id: tools.id
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: get-rule-history-filter-keys
description: Get rule history filter keys
hints:
readOnly: true
destructive: false
idempotent: true
call: signoz-rules.getrulehistoryfilterkeys
with:
signal: tools.signal
source: tools.source
limit: tools.limit
startUnixMilli: tools.startUnixMilli
endUnixMilli: tools.endUnixMilli
fieldContext: tools.fieldContext
fieldDataType: tools.fieldDataType
metricName: tools.metricName
metricNamespace: tools.metricNamespace
searchText: tools.searchText
id: tools.id
outputParameters:
- type: object
mapping: $.
- name: get-rule-history-filter-values
description: Get rule history filter values
hints:
readOnly: true
destructive: false
idempotent: true
call: signoz-rules.getrulehistoryfiltervalues
with:
signal: tools.signal
source: tools.source
limit: tools.limit
startUnixMilli: tools.startUnixMilli
endUnixMilli: tools.endUnixMilli
fieldContext: tools.fieldContext
fieldDataType: tools.fieldDataType
metricName: tools.metricName
metricNamespace: tools.metricNamespace
searchText: tools.searchText
name: tools.name
existingQuery: tools.existingQuery
id: tools.id
outputParameters:
- type: object
mapping: $.
- name: get-rule-overall-status-timeline
description: Get rule overall status timeline
hints:
readOnly: true
destructive: false
idempotent: true
call: signoz-rules.getrulehistoryoverallstatus
with:
start: tools.start
end: tools.end
id: tools.id
outputParameters:
- type: object
mapping: $.
- name: get-rule-history-stats
description: Get rule history stats
hints:
readOnly: true
destructive: false
idempotent: true
call: signoz-rules.getrulehistorystats
with:
start: tools.start
end: tools.end
id: tools.id
outputParameters:
- type: object
mapping: $.
- name: get-rule-history-timeline
description: Get rule history timeline
hints:
readOnly: true
destructive: false
idempotent: true
call: signoz-rules.getrulehistorytimeline
with:
start: tools.start
end: tools.end
state: tools.state
filterExpression: tools.filterExpression
limit: tools.limit
order: tools.order
cursor: tools.cursor
id: tools.id
outputParameters:
- type: object
mapping: $.
- name: get-top-contributors-rule-firing
description: Get top contributors to rule firing
hints:
readOnly: true
destructive: false
idempotent: true
call: signoz-rules.getrulehistorytopcontributors
with:
start: tools.start
end: tools.end
id: tools.id
outputParameters:
- type: object
mapping: $.