naftiko: 1.0.0-alpha2 info: label: Longhorn Manager API description: The Longhorn Manager REST API provides programmatic access to all Longhorn storage management operations. The API follows the Rancher REST API specification and is served by the Longhorn Manager service, typically accessible within a Kubernetes cluster at port 9500 or via the longhorn-backend service. It provides full lifecycle management for volumes, snapshots, backups, nodes, disks, engine images, recurring jobs, and system settings. The API is used by the Longhorn UI and can be accessed directly for automation and integration. The schema is discoverable at /v1/schemas. tags: - Longhorn - API created: '2026-05-06' modified: '2026-05-06' capability: consumes: - type: http namespace: longhorn baseUri: http://longhorn-backend:9500 description: Longhorn Manager API HTTP API. authentication: type: bearer token: '{{LONGHORN_TOKEN}}' resources: - name: v1-volumes path: /v1/volumes operations: - name: listvolumes method: GET description: Longhorn List volumes outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createvolume method: POST description: Longhorn Create a volume outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-volumes-volumename path: /v1/volumes/{volumeName} operations: - name: getvolume method: GET description: Longhorn Get a volume outputRawFormat: json outputParameters: - name: result type: object value: $. - name: deletevolume method: DELETE description: Longhorn Delete a volume outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-volumes-volumename-action-attach path: /v1/volumes/{volumeName}?action=attach operations: - name: attachvolume method: POST description: Longhorn Attach a volume to a node outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-volumes-volumename-action-detach path: /v1/volumes/{volumeName}?action=detach operations: - name: detachvolume method: POST description: Longhorn Detach a volume from its node outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-volumes-volumename-action-expand path: /v1/volumes/{volumeName}?action=expand operations: - name: expandvolume method: POST description: Longhorn Expand a volume outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-volumes-volumename-action-snapshotcreate path: /v1/volumes/{volumeName}?action=snapshotCreate operations: - name: createsnapshot method: POST description: Longhorn Create a snapshot outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-volumes-volumename-action-snapshotlist path: /v1/volumes/{volumeName}?action=snapshotList operations: - name: listsnapshots method: GET description: Longhorn List snapshots for a volume outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-volumes-volumename-action-snapshotdelete path: /v1/volumes/{volumeName}?action=snapshotDelete operations: - name: deletesnapshot method: POST description: Longhorn Delete a snapshot outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-volumes-volumename-action-snapshotrevert path: /v1/volumes/{volumeName}?action=snapshotRevert operations: - name: revertsnapshot method: POST description: Longhorn Revert a volume to a snapshot outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-volumes-volumename-action-snapshotbackup path: /v1/volumes/{volumeName}?action=snapshotBackup operations: - name: backupsnapshot method: POST description: Longhorn Back up a snapshot outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-backupvolumes path: /v1/backupvolumes operations: - name: listbackupvolumes method: GET description: Longhorn List backup volumes outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-backupvolumes-backupvolumename path: /v1/backupvolumes/{backupVolumeName} operations: - name: getbackupvolume method: GET description: Longhorn Get a backup volume outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-backupvolumes-backupvolumename-backups path: /v1/backupvolumes/{backupVolumeName}/backups operations: - name: listbackups method: GET description: Longhorn List backups for a backup volume outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-nodes path: /v1/nodes operations: - name: listnodes method: GET description: Longhorn List nodes outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-nodes-nodeid path: /v1/nodes/{nodeId} operations: - name: getnode method: GET description: Longhorn Get a node outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updatenode method: PUT description: Longhorn Update a node outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-engineimages path: /v1/engineimages operations: - name: listengineimages method: GET description: Longhorn List engine images outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createengineimage method: POST description: Longhorn Create an engine image outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-engineimages-engineimagename path: /v1/engineimages/{engineImageName} operations: - name: getengineimage method: GET description: Longhorn Get an engine image outputRawFormat: json outputParameters: - name: result type: object value: $. - name: deleteengineimage method: DELETE description: Longhorn Delete an engine image outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-recurringjobs path: /v1/recurringjobs operations: - name: listrecurringjobs method: GET description: Longhorn List recurring jobs outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createrecurringjob method: POST description: Longhorn Create a recurring job outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-recurringjobs-recurringjobname path: /v1/recurringjobs/{recurringJobName} operations: - name: getrecurringjob method: GET description: Longhorn Get a recurring job outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updaterecurringjob method: PUT description: Longhorn Update a recurring job outputRawFormat: json outputParameters: - name: result type: object value: $. - name: deleterecurringjob method: DELETE description: Longhorn Delete a recurring job outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-settings path: /v1/settings operations: - name: listsettings method: GET description: Longhorn List all settings outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-settings-settingname path: /v1/settings/{settingName} operations: - name: getsetting method: GET description: Longhorn Get a setting outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updatesetting method: PUT description: Longhorn Update a setting outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-backingimages path: /v1/backingimages operations: - name: listbackingimages method: GET description: Longhorn List backing images outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createbackingimage method: POST description: Longhorn Create a backing image outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-systembackups path: /v1/systembackups operations: - name: listsystembackups method: GET description: Longhorn List system backups outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createsystembackup method: POST description: Longhorn Create a system backup outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest port: 8080 namespace: longhorn-rest description: REST adapter for Longhorn Manager API. resources: - path: /v1/volumes name: listvolumes operations: - method: GET name: listvolumes description: Longhorn List volumes call: longhorn.listvolumes outputParameters: - type: object mapping: $. - path: /v1/volumes name: createvolume operations: - method: POST name: createvolume description: Longhorn Create a volume call: longhorn.createvolume outputParameters: - type: object mapping: $. - path: /v1/volumes/{volumeName} name: getvolume operations: - method: GET name: getvolume description: Longhorn Get a volume call: longhorn.getvolume outputParameters: - type: object mapping: $. - path: /v1/volumes/{volumeName} name: deletevolume operations: - method: DELETE name: deletevolume description: Longhorn Delete a volume call: longhorn.deletevolume outputParameters: - type: object mapping: $. - path: /v1/volumes/{volumeName}?action=attach name: attachvolume operations: - method: POST name: attachvolume description: Longhorn Attach a volume to a node call: longhorn.attachvolume outputParameters: - type: object mapping: $. - path: /v1/volumes/{volumeName}?action=detach name: detachvolume operations: - method: POST name: detachvolume description: Longhorn Detach a volume from its node call: longhorn.detachvolume outputParameters: - type: object mapping: $. - path: /v1/volumes/{volumeName}?action=expand name: expandvolume operations: - method: POST name: expandvolume description: Longhorn Expand a volume call: longhorn.expandvolume outputParameters: - type: object mapping: $. - path: /v1/volumes/{volumeName}?action=snapshotCreate name: createsnapshot operations: - method: POST name: createsnapshot description: Longhorn Create a snapshot call: longhorn.createsnapshot outputParameters: - type: object mapping: $. - path: /v1/volumes/{volumeName}?action=snapshotList name: listsnapshots operations: - method: GET name: listsnapshots description: Longhorn List snapshots for a volume call: longhorn.listsnapshots outputParameters: - type: object mapping: $. - path: /v1/volumes/{volumeName}?action=snapshotDelete name: deletesnapshot operations: - method: POST name: deletesnapshot description: Longhorn Delete a snapshot call: longhorn.deletesnapshot outputParameters: - type: object mapping: $. - path: /v1/volumes/{volumeName}?action=snapshotRevert name: revertsnapshot operations: - method: POST name: revertsnapshot description: Longhorn Revert a volume to a snapshot call: longhorn.revertsnapshot outputParameters: - type: object mapping: $. - path: /v1/volumes/{volumeName}?action=snapshotBackup name: backupsnapshot operations: - method: POST name: backupsnapshot description: Longhorn Back up a snapshot call: longhorn.backupsnapshot outputParameters: - type: object mapping: $. - path: /v1/backupvolumes name: listbackupvolumes operations: - method: GET name: listbackupvolumes description: Longhorn List backup volumes call: longhorn.listbackupvolumes outputParameters: - type: object mapping: $. - path: /v1/backupvolumes/{backupVolumeName} name: getbackupvolume operations: - method: GET name: getbackupvolume description: Longhorn Get a backup volume call: longhorn.getbackupvolume outputParameters: - type: object mapping: $. - path: /v1/backupvolumes/{backupVolumeName}/backups name: listbackups operations: - method: GET name: listbackups description: Longhorn List backups for a backup volume call: longhorn.listbackups outputParameters: - type: object mapping: $. - path: /v1/nodes name: listnodes operations: - method: GET name: listnodes description: Longhorn List nodes call: longhorn.listnodes outputParameters: - type: object mapping: $. - path: /v1/nodes/{nodeId} name: getnode operations: - method: GET name: getnode description: Longhorn Get a node call: longhorn.getnode outputParameters: - type: object mapping: $. - path: /v1/nodes/{nodeId} name: updatenode operations: - method: PUT name: updatenode description: Longhorn Update a node call: longhorn.updatenode outputParameters: - type: object mapping: $. - path: /v1/engineimages name: listengineimages operations: - method: GET name: listengineimages description: Longhorn List engine images call: longhorn.listengineimages outputParameters: - type: object mapping: $. - path: /v1/engineimages name: createengineimage operations: - method: POST name: createengineimage description: Longhorn Create an engine image call: longhorn.createengineimage outputParameters: - type: object mapping: $. - path: /v1/engineimages/{engineImageName} name: getengineimage operations: - method: GET name: getengineimage description: Longhorn Get an engine image call: longhorn.getengineimage outputParameters: - type: object mapping: $. - path: /v1/engineimages/{engineImageName} name: deleteengineimage operations: - method: DELETE name: deleteengineimage description: Longhorn Delete an engine image call: longhorn.deleteengineimage outputParameters: - type: object mapping: $. - path: /v1/recurringjobs name: listrecurringjobs operations: - method: GET name: listrecurringjobs description: Longhorn List recurring jobs call: longhorn.listrecurringjobs outputParameters: - type: object mapping: $. - path: /v1/recurringjobs name: createrecurringjob operations: - method: POST name: createrecurringjob description: Longhorn Create a recurring job call: longhorn.createrecurringjob outputParameters: - type: object mapping: $. - path: /v1/recurringjobs/{recurringJobName} name: getrecurringjob operations: - method: GET name: getrecurringjob description: Longhorn Get a recurring job call: longhorn.getrecurringjob outputParameters: - type: object mapping: $. - path: /v1/recurringjobs/{recurringJobName} name: updaterecurringjob operations: - method: PUT name: updaterecurringjob description: Longhorn Update a recurring job call: longhorn.updaterecurringjob outputParameters: - type: object mapping: $. - path: /v1/recurringjobs/{recurringJobName} name: deleterecurringjob operations: - method: DELETE name: deleterecurringjob description: Longhorn Delete a recurring job call: longhorn.deleterecurringjob outputParameters: - type: object mapping: $. - path: /v1/settings name: listsettings operations: - method: GET name: listsettings description: Longhorn List all settings call: longhorn.listsettings outputParameters: - type: object mapping: $. - path: /v1/settings/{settingName} name: getsetting operations: - method: GET name: getsetting description: Longhorn Get a setting call: longhorn.getsetting outputParameters: - type: object mapping: $. - path: /v1/settings/{settingName} name: updatesetting operations: - method: PUT name: updatesetting description: Longhorn Update a setting call: longhorn.updatesetting outputParameters: - type: object mapping: $. - path: /v1/backingimages name: listbackingimages operations: - method: GET name: listbackingimages description: Longhorn List backing images call: longhorn.listbackingimages outputParameters: - type: object mapping: $. - path: /v1/backingimages name: createbackingimage operations: - method: POST name: createbackingimage description: Longhorn Create a backing image call: longhorn.createbackingimage outputParameters: - type: object mapping: $. - path: /v1/systembackups name: listsystembackups operations: - method: GET name: listsystembackups description: Longhorn List system backups call: longhorn.listsystembackups outputParameters: - type: object mapping: $. - path: /v1/systembackups name: createsystembackup operations: - method: POST name: createsystembackup description: Longhorn Create a system backup call: longhorn.createsystembackup outputParameters: - type: object mapping: $. - type: mcp port: 9090 namespace: longhorn-mcp transport: http description: MCP adapter for Longhorn Manager API for AI agent use. tools: - name: listvolumes description: Longhorn List volumes hints: readOnly: true destructive: false idempotent: true call: longhorn.listvolumes outputParameters: - type: object mapping: $. - name: createvolume description: Longhorn Create a volume hints: readOnly: false destructive: false idempotent: false call: longhorn.createvolume outputParameters: - type: object mapping: $. - name: getvolume description: Longhorn Get a volume hints: readOnly: true destructive: false idempotent: true call: longhorn.getvolume outputParameters: - type: object mapping: $. - name: deletevolume description: Longhorn Delete a volume hints: readOnly: false destructive: true idempotent: true call: longhorn.deletevolume outputParameters: - type: object mapping: $. - name: attachvolume description: Longhorn Attach a volume to a node hints: readOnly: false destructive: false idempotent: false call: longhorn.attachvolume outputParameters: - type: object mapping: $. - name: detachvolume description: Longhorn Detach a volume from its node hints: readOnly: false destructive: false idempotent: false call: longhorn.detachvolume outputParameters: - type: object mapping: $. - name: expandvolume description: Longhorn Expand a volume hints: readOnly: false destructive: false idempotent: false call: longhorn.expandvolume outputParameters: - type: object mapping: $. - name: createsnapshot description: Longhorn Create a snapshot hints: readOnly: false destructive: false idempotent: false call: longhorn.createsnapshot outputParameters: - type: object mapping: $. - name: listsnapshots description: Longhorn List snapshots for a volume hints: readOnly: true destructive: false idempotent: true call: longhorn.listsnapshots outputParameters: - type: object mapping: $. - name: deletesnapshot description: Longhorn Delete a snapshot hints: readOnly: false destructive: false idempotent: false call: longhorn.deletesnapshot outputParameters: - type: object mapping: $. - name: revertsnapshot description: Longhorn Revert a volume to a snapshot hints: readOnly: false destructive: false idempotent: false call: longhorn.revertsnapshot outputParameters: - type: object mapping: $. - name: backupsnapshot description: Longhorn Back up a snapshot hints: readOnly: false destructive: false idempotent: false call: longhorn.backupsnapshot outputParameters: - type: object mapping: $. - name: listbackupvolumes description: Longhorn List backup volumes hints: readOnly: true destructive: false idempotent: true call: longhorn.listbackupvolumes outputParameters: - type: object mapping: $. - name: getbackupvolume description: Longhorn Get a backup volume hints: readOnly: true destructive: false idempotent: true call: longhorn.getbackupvolume outputParameters: - type: object mapping: $. - name: listbackups description: Longhorn List backups for a backup volume hints: readOnly: true destructive: false idempotent: true call: longhorn.listbackups outputParameters: - type: object mapping: $. - name: listnodes description: Longhorn List nodes hints: readOnly: true destructive: false idempotent: true call: longhorn.listnodes outputParameters: - type: object mapping: $. - name: getnode description: Longhorn Get a node hints: readOnly: true destructive: false idempotent: true call: longhorn.getnode outputParameters: - type: object mapping: $. - name: updatenode description: Longhorn Update a node hints: readOnly: false destructive: false idempotent: true call: longhorn.updatenode outputParameters: - type: object mapping: $. - name: listengineimages description: Longhorn List engine images hints: readOnly: true destructive: false idempotent: true call: longhorn.listengineimages outputParameters: - type: object mapping: $. - name: createengineimage description: Longhorn Create an engine image hints: readOnly: false destructive: false idempotent: false call: longhorn.createengineimage outputParameters: - type: object mapping: $. - name: getengineimage description: Longhorn Get an engine image hints: readOnly: true destructive: false idempotent: true call: longhorn.getengineimage outputParameters: - type: object mapping: $. - name: deleteengineimage description: Longhorn Delete an engine image hints: readOnly: false destructive: true idempotent: true call: longhorn.deleteengineimage outputParameters: - type: object mapping: $. - name: listrecurringjobs description: Longhorn List recurring jobs hints: readOnly: true destructive: false idempotent: true call: longhorn.listrecurringjobs outputParameters: - type: object mapping: $. - name: createrecurringjob description: Longhorn Create a recurring job hints: readOnly: false destructive: false idempotent: false call: longhorn.createrecurringjob outputParameters: - type: object mapping: $. - name: getrecurringjob description: Longhorn Get a recurring job hints: readOnly: true destructive: false idempotent: true call: longhorn.getrecurringjob outputParameters: - type: object mapping: $. - name: updaterecurringjob description: Longhorn Update a recurring job hints: readOnly: false destructive: false idempotent: true call: longhorn.updaterecurringjob outputParameters: - type: object mapping: $. - name: deleterecurringjob description: Longhorn Delete a recurring job hints: readOnly: false destructive: true idempotent: true call: longhorn.deleterecurringjob outputParameters: - type: object mapping: $. - name: listsettings description: Longhorn List all settings hints: readOnly: true destructive: false idempotent: true call: longhorn.listsettings outputParameters: - type: object mapping: $. - name: getsetting description: Longhorn Get a setting hints: readOnly: true destructive: false idempotent: true call: longhorn.getsetting outputParameters: - type: object mapping: $. - name: updatesetting description: Longhorn Update a setting hints: readOnly: false destructive: false idempotent: true call: longhorn.updatesetting outputParameters: - type: object mapping: $. - name: listbackingimages description: Longhorn List backing images hints: readOnly: true destructive: false idempotent: true call: longhorn.listbackingimages outputParameters: - type: object mapping: $. - name: createbackingimage description: Longhorn Create a backing image hints: readOnly: false destructive: false idempotent: false call: longhorn.createbackingimage outputParameters: - type: object mapping: $. - name: listsystembackups description: Longhorn List system backups hints: readOnly: true destructive: false idempotent: true call: longhorn.listsystembackups outputParameters: - type: object mapping: $. - name: createsystembackup description: Longhorn Create a system backup hints: readOnly: false destructive: false idempotent: false call: longhorn.createsystembackup outputParameters: - type: object mapping: $. binds: - namespace: env keys: LONGHORN_TOKEN: LONGHORN_TOKEN