Grafana · Capability

Grafana — Put

Grafana — Put. 6 operations. Lead operation: Grafana Route Put Alert Rule. Self-contained Naftiko capability covering one Grafana business surface.

Run with Naftiko GrafanaPut

What You Can Do

PUT
Routeputalertrule — Grafana Route Put Alert Rule
/v1/v1/provisioning/alert-rules/{uid}
PUT
Routeputcontactpoint — Grafana Route Put Contactpoint
/v1/v1/provisioning/contact-points/{uid}
PUT
Routeputalertrulegroup — Grafana Route Put Alert Rule Group
/v1/v1/provisioning/folder/{folderuid}/rule-groups/{group}
PUT
Routeputmutetiming — Grafana Route Put Mute Timing
/v1/v1/provisioning/mute-timings/{name}
PUT
Routeputpolicytree — Grafana Route Put Policy Tree
/v1/v1/provisioning/policies
PUT
Routeputtemplate — Grafana Route Put Template
/v1/v1/provisioning/templates/{name}

MCP Tools

grafana-route-put-alert-rule

Grafana Route Put Alert Rule

idempotent
grafana-route-put-contactpoint

Grafana Route Put Contactpoint

idempotent
grafana-route-put-alert-rule-2

Grafana Route Put Alert Rule Group

idempotent
grafana-route-put-mute-timing

Grafana Route Put Mute Timing

idempotent
grafana-route-put-policy-tree

Grafana Route Put Policy Tree

idempotent
grafana-route-put-template

Grafana Route Put Template

idempotent

Capability Spec

grafana-put.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Grafana — Put
  description: 'Grafana — Put. 6 operations. Lead operation: Grafana Route Put Alert Rule. Self-contained Naftiko capability
    covering one Grafana business surface.'
  tags:
  - Grafana
  - Put
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    GRAFANA_API_KEY: GRAFANA_API_KEY
capability:
  consumes:
  - type: http
    namespace: grafana-put
    baseUri: http://{defaultHost}
    description: Grafana — Put business capability. Self-contained, no shared references.
    resources:
    - name: v1-provisioning-alert-rules-UID
      path: /v1/provisioning/alert-rules/{UID}
      operations:
      - name: routeputalertrule
        method: PUT
        description: Grafana Route Put Alert Rule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: UID
          in: path
          type: string
          description: Alert rule UID
          required: true
        - name: X-Disable-Provenance
          in: header
          type: string
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-provisioning-contact-points-UID
      path: /v1/provisioning/contact-points/{UID}
      operations:
      - name: routeputcontactpoint
        method: PUT
        description: Grafana Route Put Contactpoint
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: UID
          in: path
          type: string
          description: UID is the contact point unique identifier
          required: true
        - name: X-Disable-Provenance
          in: header
          type: string
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-provisioning-folder-FolderUID-rule-groups-Group
      path: /v1/provisioning/folder/{FolderUID}/rule-groups/{Group}
      operations:
      - name: routeputalertrulegroup
        method: PUT
        description: Grafana Route Put Alert Rule Group
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: X-Disable-Provenance
          in: header
          type: string
        - name: FolderUID
          in: path
          type: string
          required: true
        - name: Group
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-provisioning-mute-timings-name
      path: /v1/provisioning/mute-timings/{name}
      operations:
      - name: routeputmutetiming
        method: PUT
        description: Grafana Route Put Mute Timing
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          description: Mute timing name
          required: true
        - name: X-Disable-Provenance
          in: header
          type: string
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-provisioning-policies
      path: /v1/provisioning/policies
      operations:
      - name: routeputpolicytree
        method: PUT
        description: Grafana Route Put Policy Tree
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: X-Disable-Provenance
          in: header
          type: string
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-provisioning-templates-name
      path: /v1/provisioning/templates/{name}
      operations:
      - name: routeputtemplate
        method: PUT
        description: Grafana Route Put Template
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          description: Template group name
          required: true
        - name: X-Disable-Provenance
          in: header
          type: string
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    authentication:
      type: apikey
      key: Authorization
      value: '{{env.GRAFANA_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: grafana-put-rest
    port: 8080
    description: REST adapter for Grafana — Put. One Spectral-compliant resource per consumed operation, prefixed with /v1.
    resources:
    - path: /v1/v1/provisioning/alert-rules/{uid}
      name: v1-provisioning-alert-rules-uid
      description: REST surface for v1-provisioning-alert-rules-UID.
      operations:
      - method: PUT
        name: routeputalertrule
        description: Grafana Route Put Alert Rule
        call: grafana-put.routeputalertrule
        with:
          UID: rest.UID
          X-Disable-Provenance: rest.X-Disable-Provenance
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/provisioning/contact-points/{uid}
      name: v1-provisioning-contact-points-uid
      description: REST surface for v1-provisioning-contact-points-UID.
      operations:
      - method: PUT
        name: routeputcontactpoint
        description: Grafana Route Put Contactpoint
        call: grafana-put.routeputcontactpoint
        with:
          UID: rest.UID
          X-Disable-Provenance: rest.X-Disable-Provenance
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/provisioning/folder/{folderuid}/rule-groups/{group}
      name: v1-provisioning-folder-folderuid-rule-groups-group
      description: REST surface for v1-provisioning-folder-FolderUID-rule-groups-Group.
      operations:
      - method: PUT
        name: routeputalertrulegroup
        description: Grafana Route Put Alert Rule Group
        call: grafana-put.routeputalertrulegroup
        with:
          X-Disable-Provenance: rest.X-Disable-Provenance
          FolderUID: rest.FolderUID
          Group: rest.Group
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/provisioning/mute-timings/{name}
      name: v1-provisioning-mute-timings-name
      description: REST surface for v1-provisioning-mute-timings-name.
      operations:
      - method: PUT
        name: routeputmutetiming
        description: Grafana Route Put Mute Timing
        call: grafana-put.routeputmutetiming
        with:
          name: rest.name
          X-Disable-Provenance: rest.X-Disable-Provenance
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/provisioning/policies
      name: v1-provisioning-policies
      description: REST surface for v1-provisioning-policies.
      operations:
      - method: PUT
        name: routeputpolicytree
        description: Grafana Route Put Policy Tree
        call: grafana-put.routeputpolicytree
        with:
          X-Disable-Provenance: rest.X-Disable-Provenance
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/provisioning/templates/{name}
      name: v1-provisioning-templates-name
      description: REST surface for v1-provisioning-templates-name.
      operations:
      - method: PUT
        name: routeputtemplate
        description: Grafana Route Put Template
        call: grafana-put.routeputtemplate
        with:
          name: rest.name
          X-Disable-Provenance: rest.X-Disable-Provenance
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: grafana-put-mcp
    port: 9090
    transport: http
    description: MCP adapter for Grafana — Put. One tool per consumed operation, routed inline through this capability's consumes
      block.
    tools:
    - name: grafana-route-put-alert-rule
      description: Grafana Route Put Alert Rule
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: grafana-put.routeputalertrule
      with:
        UID: tools.UID
        X-Disable-Provenance: tools.X-Disable-Provenance
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: grafana-route-put-contactpoint
      description: Grafana Route Put Contactpoint
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: grafana-put.routeputcontactpoint
      with:
        UID: tools.UID
        X-Disable-Provenance: tools.X-Disable-Provenance
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: grafana-route-put-alert-rule-2
      description: Grafana Route Put Alert Rule Group
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: grafana-put.routeputalertrulegroup
      with:
        X-Disable-Provenance: tools.X-Disable-Provenance
        FolderUID: tools.FolderUID
        Group: tools.Group
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: grafana-route-put-mute-timing
      description: Grafana Route Put Mute Timing
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: grafana-put.routeputmutetiming
      with:
        name: tools.name
        X-Disable-Provenance: tools.X-Disable-Provenance
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: grafana-route-put-policy-tree
      description: Grafana Route Put Policy Tree
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: grafana-put.routeputpolicytree
      with:
        X-Disable-Provenance: tools.X-Disable-Provenance
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: grafana-route-put-template
      description: Grafana Route Put Template
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: grafana-put.routeputtemplate
      with:
        name: tools.name
        X-Disable-Provenance: tools.X-Disable-Provenance
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.