Roku · Capability
Roku Nabu Cloud — snapshots
Roku Nabu Cloud — snapshots. 5 operations. Lead operation: Roku List Snapshots. Self-contained Naftiko capability covering one Roku business surface.
What You Can Do
GET
Snapshotslistsnapshots
— Roku List Snapshots
/v1/api/v1/organisations/{organisation-id}/projects/{project-id}/devices/{device-id}/snapshots
POST
Snapshotscreatesnapshot
— Roku Create Snapshot
/v1/api/v1/organisations/{organisation-id}/projects/{project-id}/devices/{device-id}/snapshots
GET
Snapshotsgetsnapshot
— Roku Get Snapshot
/v1/api/v1/organisations/{organisation-id}/projects/{project-id}/devices/{device-id}/snapshots/{snapshot-id}
PATCH
Snapshotsupdatesnapshot
— Roku Update Snapshot
/v1/api/v1/organisations/{organisation-id}/projects/{project-id}/devices/{device-id}/snapshots/{snapshot-id}
DELETE
Snapshotsdeletesnapshot
— Roku Delete Snapshot
/v1/api/v1/organisations/{organisation-id}/projects/{project-id}/devices/{device-id}/snapshots/{snapshot-id}
MCP Tools
roku-list-snapshots
Roku List Snapshots
read-only
idempotent
roku-create-snapshot
Roku Create Snapshot
roku-get-snapshot
Roku Get Snapshot
read-only
idempotent
roku-update-snapshot
Roku Update Snapshot
idempotent
roku-delete-snapshot
Roku Delete Snapshot
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Roku Nabu Cloud — snapshots
description: 'Roku Nabu Cloud — snapshots. 5 operations. Lead operation: Roku List Snapshots. Self-contained Naftiko capability
covering one Roku business surface.'
tags:
- Roku
- snapshots
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
ROKU_API_KEY: ROKU_API_KEY
capability:
consumes:
- type: http
namespace: nabu-cloud-snapshots
baseUri: https://api.cloud.roku.dev
description: Roku Nabu Cloud — snapshots business capability. Self-contained, no shared references.
resources:
- name: api-v1-organisations-organisation_id-projects-project_id-devices-device_id-snaps
path: /api/v1/organisations/{organisation_id}/projects/{project_id}/devices/{device_id}/snapshots
operations:
- name: snapshotslistsnapshots
method: GET
description: Roku List Snapshots
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: project_id
in: path
type: integer
required: true
- name: organisation_id
in: path
type: integer
required: true
- name: device_id
in: path
type: integer
required: true
- name: items
in: query
type: integer
description: The number of items per page. Use 0 for no limit.
- name: page
in: query
type: integer
description: The page number. Use 0 for the first page.
- name: parent_id
in: query
type: string
description: The ID of the parent Snapshot.
- name: live
in: query
type: string
description: Show live snapshots
- name: name
in: query
type: string
description: The name of the Snapshot.
- name: description
in: query
type: string
description: Description of the Snapshot.
- name: properties
in: query
type: string
description: Properties of the Snapshot.
- name: rootfs_artifactory_path
in: query
type: string
description: The path of the rootfs image in artifactory.
- name: start_at
in: query
type: string
description: The last time the snapshot was run
- name: created_at
in: query
type: string
description: The day the snapshot was created
- name: snapshotscreatesnapshot
method: POST
description: Roku Create Snapshot
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: project_id
in: path
type: integer
required: true
- name: organisation_id
in: path
type: integer
required: true
- name: device_id
in: path
type: integer
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: api-v1-organisations-organisation_id-projects-project_id-devices-device_id-snaps
path: /api/v1/organisations/{organisation_id}/projects/{project_id}/devices/{device_id}/snapshots/{snapshot_id}
operations:
- name: snapshotsgetsnapshot
method: GET
description: Roku Get Snapshot
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: project_id
in: path
type: integer
required: true
- name: organisation_id
in: path
type: integer
required: true
- name: device_id
in: path
type: integer
required: true
- name: snapshot_id
in: path
type: integer
required: true
- name: snapshotsupdatesnapshot
method: PATCH
description: Roku Update Snapshot
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: project_id
in: path
type: integer
required: true
- name: organisation_id
in: path
type: integer
required: true
- name: device_id
in: path
type: integer
required: true
- name: snapshot_id
in: path
type: integer
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: snapshotsdeletesnapshot
method: DELETE
description: Roku Delete Snapshot
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: project_id
in: path
type: integer
required: true
- name: organisation_id
in: path
type: integer
required: true
- name: device_id
in: path
type: integer
required: true
- name: snapshot_id
in: path
type: integer
required: true
exposes:
- type: rest
namespace: nabu-cloud-snapshots-rest
port: 8080
description: REST adapter for Roku Nabu Cloud — snapshots. One Spectral-compliant resource per consumed operation, prefixed
with /v1.
resources:
- path: /v1/api/v1/organisations/{organisation-id}/projects/{project-id}/devices/{device-id}/snapshots
name: api-v1-organisations-organisation-id-projects-project-id-devices-device-id-snaps
description: REST surface for api-v1-organisations-organisation_id-projects-project_id-devices-device_id-snaps.
operations:
- method: GET
name: snapshotslistsnapshots
description: Roku List Snapshots
call: nabu-cloud-snapshots.snapshotslistsnapshots
with:
project_id: rest.project_id
organisation_id: rest.organisation_id
device_id: rest.device_id
items: rest.items
page: rest.page
parent_id: rest.parent_id
live: rest.live
name: rest.name
description: rest.description
properties: rest.properties
rootfs_artifactory_path: rest.rootfs_artifactory_path
start_at: rest.start_at
created_at: rest.created_at
outputParameters:
- type: object
mapping: $.
- method: POST
name: snapshotscreatesnapshot
description: Roku Create Snapshot
call: nabu-cloud-snapshots.snapshotscreatesnapshot
with:
project_id: rest.project_id
organisation_id: rest.organisation_id
device_id: rest.device_id
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/api/v1/organisations/{organisation-id}/projects/{project-id}/devices/{device-id}/snapshots/{snapshot-id}
name: api-v1-organisations-organisation-id-projects-project-id-devices-device-id-snaps
description: REST surface for api-v1-organisations-organisation_id-projects-project_id-devices-device_id-snaps.
operations:
- method: GET
name: snapshotsgetsnapshot
description: Roku Get Snapshot
call: nabu-cloud-snapshots.snapshotsgetsnapshot
with:
project_id: rest.project_id
organisation_id: rest.organisation_id
device_id: rest.device_id
snapshot_id: rest.snapshot_id
outputParameters:
- type: object
mapping: $.
- method: PATCH
name: snapshotsupdatesnapshot
description: Roku Update Snapshot
call: nabu-cloud-snapshots.snapshotsupdatesnapshot
with:
project_id: rest.project_id
organisation_id: rest.organisation_id
device_id: rest.device_id
snapshot_id: rest.snapshot_id
body: rest.body
outputParameters:
- type: object
mapping: $.
- method: DELETE
name: snapshotsdeletesnapshot
description: Roku Delete Snapshot
call: nabu-cloud-snapshots.snapshotsdeletesnapshot
with:
project_id: rest.project_id
organisation_id: rest.organisation_id
device_id: rest.device_id
snapshot_id: rest.snapshot_id
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: nabu-cloud-snapshots-mcp
port: 9090
transport: http
description: MCP adapter for Roku Nabu Cloud — snapshots. One tool per consumed operation, routed inline through this
capability's consumes block.
tools:
- name: roku-list-snapshots
description: Roku List Snapshots
hints:
readOnly: true
destructive: false
idempotent: true
call: nabu-cloud-snapshots.snapshotslistsnapshots
with:
project_id: tools.project_id
organisation_id: tools.organisation_id
device_id: tools.device_id
items: tools.items
page: tools.page
parent_id: tools.parent_id
live: tools.live
name: tools.name
description: tools.description
properties: tools.properties
rootfs_artifactory_path: tools.rootfs_artifactory_path
start_at: tools.start_at
created_at: tools.created_at
outputParameters:
- type: object
mapping: $.
- name: roku-create-snapshot
description: Roku Create Snapshot
hints:
readOnly: false
destructive: false
idempotent: false
call: nabu-cloud-snapshots.snapshotscreatesnapshot
with:
project_id: tools.project_id
organisation_id: tools.organisation_id
device_id: tools.device_id
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: roku-get-snapshot
description: Roku Get Snapshot
hints:
readOnly: true
destructive: false
idempotent: true
call: nabu-cloud-snapshots.snapshotsgetsnapshot
with:
project_id: tools.project_id
organisation_id: tools.organisation_id
device_id: tools.device_id
snapshot_id: tools.snapshot_id
outputParameters:
- type: object
mapping: $.
- name: roku-update-snapshot
description: Roku Update Snapshot
hints:
readOnly: false
destructive: false
idempotent: true
call: nabu-cloud-snapshots.snapshotsupdatesnapshot
with:
project_id: tools.project_id
organisation_id: tools.organisation_id
device_id: tools.device_id
snapshot_id: tools.snapshot_id
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: roku-delete-snapshot
description: Roku Delete Snapshot
hints:
readOnly: false
destructive: true
idempotent: true
call: nabu-cloud-snapshots.snapshotsdeletesnapshot
with:
project_id: tools.project_id
organisation_id: tools.organisation_id
device_id: tools.device_id
snapshot_id: tools.snapshot_id
outputParameters:
- type: object
mapping: $.