Roku · Capability

Roku Nabu Cloud — users

Roku Nabu Cloud — users. 4 operations. Lead operation: Roku Get Me. Self-contained Naftiko capability covering one Roku business surface.

Run with Naftiko Rokuusers

What You Can Do

GET
Usersgetme — Roku Get Me
/v1/api/v1/users/me
GET
Usersgetmygroup — Roku Get My Group
/v1/api/v1/users/me/groups
GET
Usersgetmyorganisation — Roku Get My Organisation
/v1/api/v1/users/me/organisations
GET
Usersgetmyprojects — Roku Get My Projects
/v1/api/v1/users/me/projects

MCP Tools

roku-get-me

Roku Get Me

read-only idempotent
roku-get-my-group

Roku Get My Group

read-only idempotent
roku-get-my-organisation

Roku Get My Organisation

read-only idempotent
roku-get-my-projects

Roku Get My Projects

read-only idempotent

Capability Spec

nabu-cloud-users.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Roku Nabu Cloud — users
  description: 'Roku Nabu Cloud — users. 4 operations. Lead operation: Roku Get Me. Self-contained Naftiko capability covering
    one Roku business surface.'
  tags:
  - Roku
  - users
  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-users
    baseUri: https://api.cloud.roku.dev
    description: Roku Nabu Cloud — users business capability. Self-contained, no shared references.
    resources:
    - name: api-v1-users-me
      path: /api/v1/users/me
      operations:
      - name: usersgetme
        method: GET
        description: Roku Get Me
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-v1-users-me-groups
      path: /api/v1/users/me/groups
      operations:
      - name: usersgetmygroup
        method: GET
        description: Roku Get My Group
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - 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: project_id
          in: query
          type: string
        - name: name
          in: query
          type: string
          description: The name of the group. Unique in the organisation
        - name: description
          in: query
          type: string
          description: Description of the Group.
        - name: created_at
          in: query
          type: string
          description: The day the group was created
    - name: api-v1-users-me-organisations
      path: /api/v1/users/me/organisations
      operations:
      - name: usersgetmyorganisation
        method: GET
        description: Roku Get My Organisation
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - 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: slug
          in: query
          type: string
          description: Slug of the organisation, used in URLs
        - name: name
          in: query
          type: string
        - name: max_devices
          in: query
          type: integer
          description: Maximum number of devices in the organisation
        - name: max_snapshots
          in: query
          type: integer
          description: Maximum number of snapshots in the organisation
        - name: max_project_devices
          in: query
          type: integer
          description: Maximum number of devices in the organisation per project, 0 for Organisation max
        - name: max_project_snapshots
          in: query
          type: integer
          description: Maximum number of snapshots in the organisation per project, 0 for Organisation max
        - name: max_project_runtime
          in: query
          type: integer
          description: Maximum runtime of a device in the organisation per project, 0 for Organisation max
        - name: created_at
          in: query
          type: string
          description: The creation day of the organisation
    - name: api-v1-users-me-projects
      path: /api/v1/users/me/projects
      operations:
      - name: usersgetmyprojects
        method: GET
        description: Roku Get My Projects
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - 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: slug
          in: query
          type: string
          description: The slug of the project, used in URLs
        - name: name
          in: query
          type: string
          description: The name of the Project
        - name: description
          in: query
          type: string
          description: The description of the Project
        - name: billing_entity
          in: query
          type: string
          description: The billing entity of the Project
        - name: max_devices
          in: query
          type: integer
          description: Maximum number of devices in the project, 0 for organisation max
        - name: max_snapshots
          in: query
          type: integer
          description: Maximum number of snapshots in the project, 0 for organisation max
        - name: max_runtime
          in: query
          type: integer
          description: Maximum runtime of a device in the project, 0 for organisation max
        - name: created_at
          in: query
          type: string
          description: The creation day of the project
        - name: include_personal_project
          in: query
          type: boolean
          description: Show private projects
  exposes:
  - type: rest
    namespace: nabu-cloud-users-rest
    port: 8080
    description: REST adapter for Roku Nabu Cloud — users. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/api/v1/users/me
      name: api-v1-users-me
      description: REST surface for api-v1-users-me.
      operations:
      - method: GET
        name: usersgetme
        description: Roku Get Me
        call: nabu-cloud-users.usersgetme
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v1/users/me/groups
      name: api-v1-users-me-groups
      description: REST surface for api-v1-users-me-groups.
      operations:
      - method: GET
        name: usersgetmygroup
        description: Roku Get My Group
        call: nabu-cloud-users.usersgetmygroup
        with:
          items: rest.items
          page: rest.page
          project_id: rest.project_id
          name: rest.name
          description: rest.description
          created_at: rest.created_at
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v1/users/me/organisations
      name: api-v1-users-me-organisations
      description: REST surface for api-v1-users-me-organisations.
      operations:
      - method: GET
        name: usersgetmyorganisation
        description: Roku Get My Organisation
        call: nabu-cloud-users.usersgetmyorganisation
        with:
          items: rest.items
          page: rest.page
          slug: rest.slug
          name: rest.name
          max_devices: rest.max_devices
          max_snapshots: rest.max_snapshots
          max_project_devices: rest.max_project_devices
          max_project_snapshots: rest.max_project_snapshots
          max_project_runtime: rest.max_project_runtime
          created_at: rest.created_at
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v1/users/me/projects
      name: api-v1-users-me-projects
      description: REST surface for api-v1-users-me-projects.
      operations:
      - method: GET
        name: usersgetmyprojects
        description: Roku Get My Projects
        call: nabu-cloud-users.usersgetmyprojects
        with:
          items: rest.items
          page: rest.page
          slug: rest.slug
          name: rest.name
          description: rest.description
          billing_entity: rest.billing_entity
          max_devices: rest.max_devices
          max_snapshots: rest.max_snapshots
          max_runtime: rest.max_runtime
          created_at: rest.created_at
          include_personal_project: rest.include_personal_project
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: nabu-cloud-users-mcp
    port: 9090
    transport: http
    description: MCP adapter for Roku Nabu Cloud — users. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: roku-get-me
      description: Roku Get Me
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: nabu-cloud-users.usersgetme
      outputParameters:
      - type: object
        mapping: $.
    - name: roku-get-my-group
      description: Roku Get My Group
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: nabu-cloud-users.usersgetmygroup
      with:
        items: tools.items
        page: tools.page
        project_id: tools.project_id
        name: tools.name
        description: tools.description
        created_at: tools.created_at
      outputParameters:
      - type: object
        mapping: $.
    - name: roku-get-my-organisation
      description: Roku Get My Organisation
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: nabu-cloud-users.usersgetmyorganisation
      with:
        items: tools.items
        page: tools.page
        slug: tools.slug
        name: tools.name
        max_devices: tools.max_devices
        max_snapshots: tools.max_snapshots
        max_project_devices: tools.max_project_devices
        max_project_snapshots: tools.max_project_snapshots
        max_project_runtime: tools.max_project_runtime
        created_at: tools.created_at
      outputParameters:
      - type: object
        mapping: $.
    - name: roku-get-my-projects
      description: Roku Get My Projects
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: nabu-cloud-users.usersgetmyprojects
      with:
        items: tools.items
        page: tools.page
        slug: tools.slug
        name: tools.name
        description: tools.description
        billing_entity: tools.billing_entity
        max_devices: tools.max_devices
        max_snapshots: tools.max_snapshots
        max_runtime: tools.max_runtime
        created_at: tools.created_at
        include_personal_project: tools.include_personal_project
      outputParameters:
      - type: object
        mapping: $.