Etcd · Capability

etcd HTTP Gateway API

The etcd HTTP/JSON gateway translates HTTP requests into gRPC calls, enabling clients without gRPC support to interact with the etcd v3 key-value store. The gateway exposes the full etcd v3 API surface including key-value operations (put, get, delete, range queries), watch streams for change notifications, lease management for TTL-based key expiration, cluster membership management, maintenance operations such as snapshots and defragmentation, and authentication and authorization controls. The gateway is served on port 2379 by default and accepts JSON-encoded request bodies that mirror the pro

Run with Naftiko EtcdAPI

What You Can Do

POST
Kvput — Etcd Put a key-value pair
/kv/put
POST
Kvrange — Etcd Get a range of key-value pairs
/kv/range
POST
Kvdeleterange — Etcd Delete a range of key-value pairs
/kv/deleterange
POST
Kvtxn — Etcd Execute a transaction
/kv/txn
POST
Kvcompact — Etcd Compact the event history
/kv/compaction
POST
Watchevents — Etcd Watch for key change events
/watch
POST
Leasegrant — Etcd Grant a lease
/lease/grant
POST
Leaserevoke — Etcd Revoke a lease
/lease/revoke
POST
Leasekeepalive — Etcd Renew a lease
/lease/keepalive
POST
Leasetimetolive — Etcd Get lease time to live
/lease/timetolive
POST
Leaseleases — Etcd List all leases
/lease/leases
POST
Clustermemberadd — Etcd Add a member to the cluster
/cluster/member/add
POST
Clustermemberremove — Etcd Remove a member from the cluster
/cluster/member/remove
POST
Clustermemberupdate — Etcd Update a cluster member
/cluster/member/update
POST
Clustermemberlist — Etcd List cluster members
/cluster/member/list
POST
Clustermemberpromote — Etcd Promote a learner member
/cluster/member/promote
POST
Maintenancesnapshot — Etcd Stream a database snapshot
/maintenance/snapshot
POST
Maintenancedefragment — Etcd Defragment a member's backend
/maintenance/defragment
POST
Maintenancestatus — Etcd Get member status
/maintenance/status
POST
Maintenancealarm — Etcd Manage cluster alarms
/maintenance/alarm
POST
Maintenancehash — Etcd Get member backend hash
/maintenance/hash
POST
Maintenancetransferleadership — Etcd Transfer cluster leadership
/maintenance/transfer-leadership
POST
Authenable — Etcd Enable authentication
/auth/enable
POST
Authdisable — Etcd Disable authentication
/auth/disable
POST
Authauthenticate — Etcd Authenticate a user
/auth/authenticate
POST
Authuseradd — Etcd Add a user
/auth/user/add
POST
Authuserget — Etcd Get user details
/auth/user/get
POST
Authuserdelete — Etcd Delete a user
/auth/user/delete
POST
Authuserlist — Etcd List all users
/auth/user/list
POST
Authuserchangepassword — Etcd Change a user's password
/auth/user/changepw
POST
Authusergrantrole — Etcd Grant a role to a user
/auth/user/grant
POST
Authuserrevokerole — Etcd Revoke a role from a user
/auth/user/revoke
POST
Authroleadd — Etcd Add a role
/auth/role/add
POST
Authroleget — Etcd Get role details
/auth/role/get
POST
Authroledelete — Etcd Delete a role
/auth/role/delete
POST
Authrolelist — Etcd List all roles
/auth/role/list
POST
Authrolegrantpermission — Etcd Grant a permission to a role
/auth/role/grant
POST
Authrolerevokepermission — Etcd Revoke a permission from a role
/auth/role/revoke

MCP Tools

kvput

Etcd Put a key-value pair

kvrange

Etcd Get a range of key-value pairs

kvdeleterange

Etcd Delete a range of key-value pairs

kvtxn

Etcd Execute a transaction

kvcompact

Etcd Compact the event history

watchevents

Etcd Watch for key change events

leasegrant

Etcd Grant a lease

leaserevoke

Etcd Revoke a lease

leasekeepalive

Etcd Renew a lease

leasetimetolive

Etcd Get lease time to live

leaseleases

Etcd List all leases

clustermemberadd

Etcd Add a member to the cluster

clustermemberremove

Etcd Remove a member from the cluster

clustermemberupdate

Etcd Update a cluster member

clustermemberlist

Etcd List cluster members

clustermemberpromote

Etcd Promote a learner member

maintenancesnapshot

Etcd Stream a database snapshot

maintenancedefragment

Etcd Defragment a member's backend

maintenancestatus

Etcd Get member status

maintenancealarm

Etcd Manage cluster alarms

maintenancehash

Etcd Get member backend hash

maintenancetransferleadership

Etcd Transfer cluster leadership

authenable

Etcd Enable authentication

authdisable

Etcd Disable authentication

authauthenticate

Etcd Authenticate a user

authuseradd

Etcd Add a user

authuserget

Etcd Get user details

authuserdelete

Etcd Delete a user

authuserlist

Etcd List all users

authuserchangepassword

Etcd Change a user's password

authusergrantrole

Etcd Grant a role to a user

authuserrevokerole

Etcd Revoke a role from a user

authroleadd

Etcd Add a role

authroleget

Etcd Get role details

authroledelete

Etcd Delete a role

authrolelist

Etcd List all roles

authrolegrantpermission

Etcd Grant a permission to a role

authrolerevokepermission

Etcd Revoke a permission from a role

Capability Spec

etcd-capability.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: etcd HTTP Gateway API
  description: The etcd HTTP/JSON gateway translates HTTP requests into gRPC calls, enabling clients without gRPC support
    to interact with the etcd v3 key-value store. The gateway exposes the full etcd v3 API surface including key-value operations
    (put, get, delete, range queries), watch streams for change notifications, lease management for TTL-based key expiration,
    cluster membership management, maintenance operations such as snapshots and defragmentation, and authentication and authorization
    controls. The gateway is served on port 2379 by default and accepts JSON-encoded request bodies that mirror the pro
  tags:
  - Etcd
  - API
  created: '2026-05-06'
  modified: '2026-05-06'
capability:
  consumes:
  - type: http
    namespace: etcd
    baseUri: http://localhost:2379/v3
    description: etcd HTTP Gateway API HTTP API.
    authentication:
      type: bearer
      token: '{{ETCD_TOKEN}}'
    resources:
    - name: kv-put
      path: /kv/put
      operations:
      - name: kvput
        method: POST
        description: Etcd Put a key-value pair
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: kv-range
      path: /kv/range
      operations:
      - name: kvrange
        method: POST
        description: Etcd Get a range of key-value pairs
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: kv-deleterange
      path: /kv/deleterange
      operations:
      - name: kvdeleterange
        method: POST
        description: Etcd Delete a range of key-value pairs
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: kv-txn
      path: /kv/txn
      operations:
      - name: kvtxn
        method: POST
        description: Etcd Execute a transaction
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: kv-compaction
      path: /kv/compaction
      operations:
      - name: kvcompact
        method: POST
        description: Etcd Compact the event history
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: watch
      path: /watch
      operations:
      - name: watchevents
        method: POST
        description: Etcd Watch for key change events
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: lease-grant
      path: /lease/grant
      operations:
      - name: leasegrant
        method: POST
        description: Etcd Grant a lease
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: lease-revoke
      path: /lease/revoke
      operations:
      - name: leaserevoke
        method: POST
        description: Etcd Revoke a lease
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: lease-keepalive
      path: /lease/keepalive
      operations:
      - name: leasekeepalive
        method: POST
        description: Etcd Renew a lease
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: lease-timetolive
      path: /lease/timetolive
      operations:
      - name: leasetimetolive
        method: POST
        description: Etcd Get lease time to live
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: lease-leases
      path: /lease/leases
      operations:
      - name: leaseleases
        method: POST
        description: Etcd List all leases
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: cluster-member-add
      path: /cluster/member/add
      operations:
      - name: clustermemberadd
        method: POST
        description: Etcd Add a member to the cluster
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: cluster-member-remove
      path: /cluster/member/remove
      operations:
      - name: clustermemberremove
        method: POST
        description: Etcd Remove a member from the cluster
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: cluster-member-update
      path: /cluster/member/update
      operations:
      - name: clustermemberupdate
        method: POST
        description: Etcd Update a cluster member
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: cluster-member-list
      path: /cluster/member/list
      operations:
      - name: clustermemberlist
        method: POST
        description: Etcd List cluster members
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: cluster-member-promote
      path: /cluster/member/promote
      operations:
      - name: clustermemberpromote
        method: POST
        description: Etcd Promote a learner member
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: maintenance-snapshot
      path: /maintenance/snapshot
      operations:
      - name: maintenancesnapshot
        method: POST
        description: Etcd Stream a database snapshot
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: maintenance-defragment
      path: /maintenance/defragment
      operations:
      - name: maintenancedefragment
        method: POST
        description: Etcd Defragment a member's backend
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: maintenance-status
      path: /maintenance/status
      operations:
      - name: maintenancestatus
        method: POST
        description: Etcd Get member status
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: maintenance-alarm
      path: /maintenance/alarm
      operations:
      - name: maintenancealarm
        method: POST
        description: Etcd Manage cluster alarms
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: maintenance-hash
      path: /maintenance/hash
      operations:
      - name: maintenancehash
        method: POST
        description: Etcd Get member backend hash
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: maintenance-transfer-leadership
      path: /maintenance/transfer-leadership
      operations:
      - name: maintenancetransferleadership
        method: POST
        description: Etcd Transfer cluster leadership
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: auth-enable
      path: /auth/enable
      operations:
      - name: authenable
        method: POST
        description: Etcd Enable authentication
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: auth-disable
      path: /auth/disable
      operations:
      - name: authdisable
        method: POST
        description: Etcd Disable authentication
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: auth-authenticate
      path: /auth/authenticate
      operations:
      - name: authauthenticate
        method: POST
        description: Etcd Authenticate a user
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: auth-user-add
      path: /auth/user/add
      operations:
      - name: authuseradd
        method: POST
        description: Etcd Add a user
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: auth-user-get
      path: /auth/user/get
      operations:
      - name: authuserget
        method: POST
        description: Etcd Get user details
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: auth-user-delete
      path: /auth/user/delete
      operations:
      - name: authuserdelete
        method: POST
        description: Etcd Delete a user
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: auth-user-list
      path: /auth/user/list
      operations:
      - name: authuserlist
        method: POST
        description: Etcd List all users
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: auth-user-changepw
      path: /auth/user/changepw
      operations:
      - name: authuserchangepassword
        method: POST
        description: Etcd Change a user's password
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: auth-user-grant
      path: /auth/user/grant
      operations:
      - name: authusergrantrole
        method: POST
        description: Etcd Grant a role to a user
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: auth-user-revoke
      path: /auth/user/revoke
      operations:
      - name: authuserrevokerole
        method: POST
        description: Etcd Revoke a role from a user
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: auth-role-add
      path: /auth/role/add
      operations:
      - name: authroleadd
        method: POST
        description: Etcd Add a role
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: auth-role-get
      path: /auth/role/get
      operations:
      - name: authroleget
        method: POST
        description: Etcd Get role details
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: auth-role-delete
      path: /auth/role/delete
      operations:
      - name: authroledelete
        method: POST
        description: Etcd Delete a role
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: auth-role-list
      path: /auth/role/list
      operations:
      - name: authrolelist
        method: POST
        description: Etcd List all roles
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: auth-role-grant
      path: /auth/role/grant
      operations:
      - name: authrolegrantpermission
        method: POST
        description: Etcd Grant a permission to a role
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: auth-role-revoke
      path: /auth/role/revoke
      operations:
      - name: authrolerevokepermission
        method: POST
        description: Etcd Revoke a permission from a role
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    port: 8080
    namespace: etcd-rest
    description: REST adapter for etcd HTTP Gateway API.
    resources:
    - path: /kv/put
      name: kvput
      operations:
      - method: POST
        name: kvput
        description: Etcd Put a key-value pair
        call: etcd.kvput
        outputParameters:
        - type: object
          mapping: $.
    - path: /kv/range
      name: kvrange
      operations:
      - method: POST
        name: kvrange
        description: Etcd Get a range of key-value pairs
        call: etcd.kvrange
        outputParameters:
        - type: object
          mapping: $.
    - path: /kv/deleterange
      name: kvdeleterange
      operations:
      - method: POST
        name: kvdeleterange
        description: Etcd Delete a range of key-value pairs
        call: etcd.kvdeleterange
        outputParameters:
        - type: object
          mapping: $.
    - path: /kv/txn
      name: kvtxn
      operations:
      - method: POST
        name: kvtxn
        description: Etcd Execute a transaction
        call: etcd.kvtxn
        outputParameters:
        - type: object
          mapping: $.
    - path: /kv/compaction
      name: kvcompact
      operations:
      - method: POST
        name: kvcompact
        description: Etcd Compact the event history
        call: etcd.kvcompact
        outputParameters:
        - type: object
          mapping: $.
    - path: /watch
      name: watchevents
      operations:
      - method: POST
        name: watchevents
        description: Etcd Watch for key change events
        call: etcd.watchevents
        outputParameters:
        - type: object
          mapping: $.
    - path: /lease/grant
      name: leasegrant
      operations:
      - method: POST
        name: leasegrant
        description: Etcd Grant a lease
        call: etcd.leasegrant
        outputParameters:
        - type: object
          mapping: $.
    - path: /lease/revoke
      name: leaserevoke
      operations:
      - method: POST
        name: leaserevoke
        description: Etcd Revoke a lease
        call: etcd.leaserevoke
        outputParameters:
        - type: object
          mapping: $.
    - path: /lease/keepalive
      name: leasekeepalive
      operations:
      - method: POST
        name: leasekeepalive
        description: Etcd Renew a lease
        call: etcd.leasekeepalive
        outputParameters:
        - type: object
          mapping: $.
    - path: /lease/timetolive
      name: leasetimetolive
      operations:
      - method: POST
        name: leasetimetolive
        description: Etcd Get lease time to live
        call: etcd.leasetimetolive
        outputParameters:
        - type: object
          mapping: $.
    - path: /lease/leases
      name: leaseleases
      operations:
      - method: POST
        name: leaseleases
        description: Etcd List all leases
        call: etcd.leaseleases
        outputParameters:
        - type: object
          mapping: $.
    - path: /cluster/member/add
      name: clustermemberadd
      operations:
      - method: POST
        name: clustermemberadd
        description: Etcd Add a member to the cluster
        call: etcd.clustermemberadd
        outputParameters:
        - type: object
          mapping: $.
    - path: /cluster/member/remove
      name: clustermemberremove
      operations:
      - method: POST
        name: clustermemberremove
        description: Etcd Remove a member from the cluster
        call: etcd.clustermemberremove
        outputParameters:
        - type: object
          mapping: $.
    - path: /cluster/member/update
      name: clustermemberupdate
      operations:
      - method: POST
        name: clustermemberupdate
        description: Etcd Update a cluster member
        call: etcd.clustermemberupdate
        outputParameters:
        - type: object
          mapping: $.
    - path: /cluster/member/list
      name: clustermemberlist
      operations:
      - method: POST
        name: clustermemberlist
        description: Etcd List cluster members
        call: etcd.clustermemberlist
        outputParameters:
        - type: object
          mapping: $.
    - path: /cluster/member/promote
      name: clustermemberpromote
      operations:
      - method: POST
        name: clustermemberpromote
        description: Etcd Promote a learner member
        call: etcd.clustermemberpromote
        outputParameters:
        - type: object
          mapping: $.
    - path: /maintenance/snapshot
      name: maintenancesnapshot
      operations:
      - method: POST
        name: maintenancesnapshot
        description: Etcd Stream a database snapshot
        call: etcd.maintenancesnapshot
        outputParameters:
        - type: object
          mapping: $.
    - path: /maintenance/defragment
      name: maintenancedefragment
      operations:
      - method: POST
        name: maintenancedefragment
        description: Etcd Defragment a member's backend
        call: etcd.maintenancedefragment
        outputParameters:
        - type: object
          mapping: $.
    - path: /maintenance/status
      name: maintenancestatus
      operations:
      - method: POST
        name: maintenancestatus
        description: Etcd Get member status
        call: etcd.maintenancestatus
        outputParameters:
        - type: object
          mapping: $.
    - path: /maintenance/alarm
      name: maintenancealarm
      operations:
      - method: POST
        name: maintenancealarm
        description: Etcd Manage cluster alarms
        call: etcd.maintenancealarm
        outputParameters:
        - type: object
          mapping: $.
    - path: /maintenance/hash
      name: maintenancehash
      operations:
      - method: POST
        name: maintenancehash
        description: Etcd Get member backend hash
        call: etcd.maintenancehash
        outputParameters:
        - type: object
          mapping: $.
    - path: /maintenance/transfer-leadership
      name: maintenancetransferleadership
      operations:
      - method: POST
        name: maintenancetransferleadership
        description: Etcd Transfer cluster leadership
        call: etcd.maintenancetransferleadership
        outputParameters:
        - type: object
          mapping: $.
    - path: /auth/enable
      name: authenable
      operations:
      - method: POST
        name: authenable
        description: Etcd Enable authentication
        call: etcd.authenable
        outputParameters:
        - type: object
          mapping: $.
    - path: /auth/disable
      name: authdisable
      operations:
      - method: POST
        name: authdisable
        description: Etcd Disable authentication
        call: etcd.authdisable
        outputParameters:
        - type: object
          mapping: $.
    - path: /auth/authenticate
      name: authauthenticate
      operations:
      - method: POST
        name: authauthenticate
        description: Etcd Authenticate a user
        call: etcd.authauthenticate
        outputParameters:
        - type: object
          mapping: $.
    - path: /auth/user/add
      name: authuseradd
      operations:
      - method: POST
        name: authuseradd
        description: Etcd Add a user
        call: etcd.authuseradd
        outputParameters:
        - type: object
          mapping: $.
    - path: /auth/user/get
      name: authuserget
      operations:
      - method: POST
        name: authuserget
        description: Etcd Get user details
        call: etcd.authuserget
        outputParameters:
        - type: object
          mapping: $.
    - path: /auth/user/delete
      name: authuserdelete
      operations:
      - method: POST
        name: authuserdelete
        description: Etcd Delete a user
        call: etcd.authuserdelete
        outputParameters:
        - type: object
          mapping: $.
    - path: /auth/user/list
      name: authuserlist
      operations:
      - method: POST
        name: authuserlist
        description: Etcd List all users
        call: etcd.authuserlist
        outputParameters:
        - type: object
          mapping: $.
    - path: /auth/user/changepw
      name: authuserchangepassword
      operations:
      - method: POST
        name: authuserchangepassword
        description: Etcd Change a user's password
        call: etcd.authuserchangepassword
        outputParameters:
        - type: object
          mapping: $.
    - path: /auth/user/grant
      name: authusergrantrole
      operations:
      - method: POST
        name: authusergrantrole
        description: Etcd Grant a role to a user
        call: etcd.authusergrantrole
        outputParameters:
        - type: object
          mapping: $.
    - path: /auth/user/revoke
      name: authuserrevokerole
      operations:
      - method: POST
        name: authuserrevokerole
        description: Etcd Revoke a role from a user
        call: etcd.authuserrevokerole
        outputParameters:
        - type: object
          mapping: $.
    - path: /auth/role/add
      name: authroleadd
      operations:
      - method: POST
        name: authroleadd
        description: Etcd Add a role
        call: etcd.authroleadd
        outputParameters:
        - type: object
          mapping: $.
    - path: /auth/role/get
      name: authroleget
      operations:
      - method: POST
        name: authroleget
        description: Etcd Get role details
        call: etcd.authroleget
        outputParameters:
        - type: object
          mapping: $.
    - path: /auth/role/delete
      name: authroledelete
      operations:
      - method: POST
        name: authroledelete
        description: Etcd Delete a role
        call: etcd.authroledelete
        outputParameters:
        - type: object
          mapping: $.
    - path: /auth/role/list
      name: authrolelist
      operations:
      - method: POST
        name: authrolelist
        description: Etcd List all roles
        call: etcd.authrolelist
        outputParameters:
        - type: object
          mapping: $.
    - path: /auth/role/grant
      name: authrolegrantpermission
      operations:
      - method: POST
        name: authrolegrantpermission
        description: Etcd Grant a permission to a role
        call: etcd.authrolegrantpermission
        outputParameters:
        - type: object
          mapping: $.
    - path: /auth/role/revoke
      name: authrolerevokepermission
      operations:
      - method: POST
        name: authrolerevokepermission
        description: Etcd Revoke a permission from a role
        call: etcd.authrolerevokepermission
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    port: 9090
    namespace: etcd-mcp
    transport: http
    description: MCP adapter for etcd HTTP Gateway API for AI agent use.
    tools:
    - name: kvput
      description: Etcd Put a key-value pair
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: etcd.kvput
      outputParameters:
      - type: object
        mapping: $.
    - name: kvrange
      description: Etcd Get a range of key-value pairs
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: etcd.kvrange
      outputParameters:
      - type: object
        mapping: $.
    - name: kvdeleterange
      description: Etcd Delete a range of key-value pairs
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: etcd.kvdeleterange
      outputParameters:
      - type: object
        mapping: $.
    - name: kvtxn
      description: Etcd Execute a transaction
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: etcd.kvtxn
      outputParameters:
      - type: object
        mapping: $.
    - name: kvcompact
      description: Etcd Compact the event history
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: etcd.kvcompact
      outputParameters:
      - type: object
        mapping: $.
    - name: watchevents
      description: Etcd Watch for key change events
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: etcd.watchevents
      outputParameters:
      - type: object
        mapping: $.
    - name: leasegrant
      description: Etcd Grant a lease
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: etcd.leasegrant
      outputParameters:
      - type: object
        mapping: $.
    - name: leaserevoke
      description: Etcd Revoke a lease
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: etcd.leaserevoke
      outputParameters:
      - type: object
        mapping: $.
    - name: leasekeepalive
      description: Etcd Renew a lease
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: etcd.leasekeepalive
      outputParameters:
      - type: object
        mapping: $.
    - name: leasetimetolive
      description: Etcd Get lease time to live
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: etcd.leasetimetolive
      outputParameters:
      - type: object
        mapping: $.
    - name: leaseleases
      description: Etcd List all leases
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: etcd.leaseleases
      outputParameters:
      - type: object
        mapping: $.
    - name: clustermemberadd
      description: Etcd Add a member to the cluster
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: etcd.clustermemberadd
      outputParameters:
      - type: object
        mapping: $.
    - name: clustermemberremove
      description: Etcd Remove a member from the cluster
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: etcd.clustermemberremove
      outputParameters:
      - type: object
        mapping: $.
    - name: clustermemberupdate
      description: Etcd Update a cluster member
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: etcd.clustermemberupdate
      outputParameters:
      - type: object
        mapping: $.
    - name: clustermemberlist
      description: Etcd List cluster members
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: etcd.clustermemberlist
      outputParameters:
      - type: object
        mapping: $.
    - name: clustermemberpromote
      description: Etcd Promote a learner member
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: etcd.clustermemberpromote
      outputParameters:
      - type: object
        mapping: $.
    - name: maintenancesnapshot
      description: Etcd Stream a database snapshot
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: etcd.maintenancesnapshot
      outputParameters:
      - type: object
        mapping: $.
    - name: maintenancedefragment
      description: Etcd Defragment a member's backend
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: etcd.maintenancedefragment
      outputParameters:
      - type: object
        mapping: $.
    - name: maintenancestatus
      description: Etcd Get member status
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: etcd.maintenancestatus
      outputParameters:
      - type: object
        mapping: $.
    - name: maintenancealarm
      description: Etcd Manage cluster alarms
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: etcd.maintenancealarm
      outputParameters:
      - type: object
        mapping: $.
    - name: maintenancehash
      description: Etcd Get member backend hash
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: etcd.maintenancehash
      outputParameters:
      - type: object
        mapping: $.
    - name: maintenancetransferleadership
      description: Etcd Transfer cluster leadership
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: etcd.maintenancetransferleadership
      outputParameters:
      - type: object
        mapping: $.
    - name: authenable
      description: Etcd Enable authentication
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: etcd.authenable
      outputParameters:
      - type: object
        mapping: $.
    - name: authdisable
      description: Etcd Disable authentication
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: etcd.authdisable
      outputParameters:
      - type: object
        mapping: $.
    - name: authauthenticate
      description: Etcd Authenticate a user
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: etcd.authauthenticate
      outputParameters:
      - type: object
        mapping: $.
    - name: authuseradd
      description: Etcd Add a user
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: etcd.authuseradd
      outputParameters:
      - type: object
        mapping: $.
    - name: authuserget
      description: Etcd Get user details
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: etcd.authuserget
      outputParameters:
      - type: object
        mapping: $.
    - name: authuserdelete
      description: Etcd Delete a user
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: etcd.authuserdelete
      outputParameters:
      - type: object
        mapping: $.
    - name: authuserlist
      description: Etcd List all users
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: etcd.authuserlist
      outputParameters:
      - type: object
        mapping: $.
    - name: authuserchangepassword
      description: Etcd Change a user's password
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: etcd.authuserchangepassword
      outputParameters:
      - type: object
        mapping: $.
    - name: authusergrantrole
      description: Etcd Grant a role to a user
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: etcd.authusergrantrole
      outputParameters:
      - type: object
        mapping: $.
    - name: authuserrevokerole
      description: Etcd Revoke a role from a user
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: etcd.authuserrevokerole
      outputParameters:
      - type: object
        mapping: $.
    - name: authroleadd
      description: Etcd Add a role
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: etcd.authroleadd
      outputParameters:
      - type: object
        mapping: $.
    - name: authroleget
      description: Etcd Get role details
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: etcd.authroleget
      outputParameters:
      - type: object
        mapping: $.
    - name: authroledelete
      description: Etcd Delete a role
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: etcd.authroledelete
      outputParameters:
      - type: object
        mapping: $.
    - name: authrolelist
      description: Etcd List all roles
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: etcd.authrolelist
      outputParameters:
      - type: object
        mapping: $.
    - name: authrolegrantpermission
      description: Etcd Grant a permission to a role
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: etcd.authrolegrantpermission
      outputParameters:
      - type: object
       

# --- truncated at 32 KB (32 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/etcd/refs/heads/main/capabilities/etcd-capability.yaml