Loki · Agentic Access

Loki Agentic Access

x-agentic-access generated

Loki exposes 27 API operations that an AI agent could call, of which 8 are state-changing ‘acting’ operations. This is a recommended x-agentic-access execution contract — the scope, audience, consequence tier, short-lived token constraints, and escalation each action should carry before it is handed to an autonomous agent.

By consequence: 19 read and 8 write.

Contracts are classified heuristically from the provider’s OpenAPI and refresh on every APIs.io network build; audience is bound per deployment. The model follows Curity’s Access Intelligence (apidays Munich 2026). Browse every provider’s agent contracts at agentic-access.apis.io.

LoggingObservabilityOpen SourceGrafana
Operations: 27 Acting: 8 Human-in-the-loop: 0 Method: generated

By consequence

read 19 write 8

Source

Agentic Access

Raw ↑
generated: '2026-07-15'
method: generated
source: openapi/loki-openapi.yml
description: Recommended x-agentic-access execution contracts, classified heuristically from
  the OpenAPI. A governance starting point for exposing this API to AI agents — review and bind
  audience per deployment. See research/curity/agentic-governance/.
summary:
  operations: 27
  by_action_class:
    acting: 8
    connected: 19
  by_consequence:
    write: 8
    read: 19
  human_in_the_loop_required: 0
operations:
- path: /loki/api/v1/push
  method: post
  operationId: pushLogs
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /otlp/v1/logs
  method: post
  operationId: pushOtlpLogs
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /loki/api/v1/query
  method: get
  operationId: query
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /loki/api/v1/query_range
  method: get
  operationId: queryRange
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /loki/api/v1/labels
  method: get
  operationId: listLabels
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /loki/api/v1/label/{name}/values
  method: get
  operationId: getLabelValues
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /loki/api/v1/series
  method: get
  operationId: listSeries
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /loki/api/v1/series
  method: post
  operationId: postSeries
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /loki/api/v1/index/stats
  method: get
  operationId: indexStats
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /loki/api/v1/index/volume
  method: get
  operationId: indexVolume
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /loki/api/v1/index/volume_range
  method: get
  operationId: indexVolumeRange
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /loki/api/v1/patterns
  method: get
  operationId: getPatterns
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /loki/api/v1/tail
  method: get
  operationId: tailLogs
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /ready
  method: get
  operationId: ready
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /metrics
  method: get
  operationId: metrics
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /config
  method: get
  operationId: getConfig
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /loki/api/v1/status/buildinfo
  method: get
  operationId: buildInfo
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /loki/api/v1/rules
  method: get
  operationId: listAllRules
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /loki/api/v1/rules/{namespace}
  method: get
  operationId: listNamespaceRules
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /loki/api/v1/rules/{namespace}
  method: post
  operationId: createNamespaceRules
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /loki/api/v1/rules/{namespace}
  method: delete
  operationId: deleteNamespaceRules
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /loki/api/v1/rules/{namespace}/{groupName}
  method: get
  operationId: getRuleGroup
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /loki/api/v1/rules/{namespace}/{groupName}
  method: delete
  operationId: deleteRuleGroup
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /loki/api/v1/delete
  method: get
  operationId: listDeleteRequests
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /loki/api/v1/delete
  method: post
  operationId: createDeleteRequest
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /loki/api/v1/delete
  method: delete
  operationId: cancelDeleteRequest
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /loki/api/v1/format_query
  method: get
  operationId: formatQuery
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none