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: $.