Roku organisations API

The organisations API from Roku — 10 operation(s) for organisations.

Operations 10

GET /api/v1/organisations Roku List Organisations #
GET /api/v1/organisations/{organisation_id} Roku Get Organisation #
GET /api/v1/organisations/{organisation_id}/members Roku List Organisation Members #
GET /api/v1/organisations/{organisation_id}/members/{user_id} Roku Get Organisation Member #
GET /api/v1/organisations/{organisation_id}/regions Roku List Organisation Regions #
GET /api/v1/organisations/{organisation_id}/regions/{region_id} Roku Get Organisation Region #
GET /api/v1/organisations/{organisation_id}/roles/projects Roku List Project Roles #
GET /api/v1/organisations/{organisation_id}/roles/projects/{role_id} Roku Get Project Role #
GET /api/v1/organisations/{organisation_id}/roles/groups Roku List Group Roles #
GET /api/v1/organisations/{organisation_id}/roles/groups/{role_id} Roku Get Group Role #

Documentation

Specifications

Schemas & Data

📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/roku/refs/heads/main/json-schema/external-control-protocol-active-app-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/roku/refs/heads/main/json-schema/external-control-protocol-app-list-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/roku/refs/heads/main/json-schema/external-control-protocol-app-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/roku/refs/heads/main/json-schema/external-control-protocol-device-info-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/roku/refs/heads/main/json-schema/external-control-protocol-media-player-schema.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/roku/refs/heads/main/json-structure/external-control-protocol-device-info-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/roku/refs/heads/main/json-structure/external-control-protocol-app-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/roku/refs/heads/main/json-structure/external-control-protocol-app-list-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/roku/refs/heads/main/json-structure/external-control-protocol-active-app-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/roku/refs/heads/main/json-structure/external-control-protocol-media-player-structure.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/roku/refs/heads/main/json-schema/pay-web-services-transaction-validation-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/roku/refs/heads/main/json-schema/pay-web-services-refund-validation-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/roku/refs/heads/main/json-schema/pay-web-services-cancel-subscription-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/roku/refs/heads/main/json-schema/pay-web-services-refund-subscription-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/roku/refs/heads/main/json-schema/pay-web-services-update-bill-cycle-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/roku/refs/heads/main/json-schema/pay-web-services-issue-credit-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/roku/refs/heads/main/json-schema/pay-web-services-subscription-result-schema.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/roku/refs/heads/main/json-structure/pay-web-services-transaction-validation-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/roku/refs/heads/main/json-structure/pay-web-services-refund-validation-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/roku/refs/heads/main/json-structure/pay-web-services-subscription-result-structure.json

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/roku-organisations-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

roku-organisations-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Roku Nabu Cloud Organisations API
  contact:
    name: DevX Tools Team
    email: dldevxtools@roku.com
  version: 1.3.29
  description: Nabu Cloud is Roku's developer cloud platform for managing test devices, snapshots, builds, projects, organisations, groups, and personal access tokens. It provides REST APIs for orchestrating remote Roku test devices and CI/CD workflows.
  x-generated-from: rokudev/dev-doc
  x-source-url: https://github.com/rokudev/dev-doc/blob/v2.0/reference/openapi.json
servers:
- url: https://api.cloud.roku.dev
  description: Roku Nabu Cloud Production
tags:
- name: organisations
paths:
  /api/v1/organisations:
    get:
      tags:
      - organisations
      summary: Roku List Organisations
      operationId: organisations-list_organisations
      security:
      - Nabu Cloud: []
      parameters:
      - name: items
        in: query
        required: false
        schema:
          type: integer
          maximum: 1000000
          description: The number of items per page. Use 0 for no limit.
          default: 100
          title: Items
        description: The number of items per page. Use 0 for no limit.
      - name: page
        in: query
        required: false
        schema:
          type: integer
          description: The page number. Use 0 for the first page.
          default: 0
          title: Page
        description: The page number. Use 0 for the first page.
      - name: slug
        in: query
        required: false
        schema:
          type: string
          minLength: 3
          maxLength: 255
          pattern: ^[a-z0-9]+(-[a-z0-9]+)*$
          description: Slug of the organisation, used in URLs
          title: Slug
        description: Slug of the organisation, used in URLs
      - name: name
        in: query
        required: false
        schema:
          type: string
          title: Name
      - name: max_devices
        in: query
        required: false
        schema:
          type: integer
          exclusiveMinimum: 0
          description: Maximum number of devices in the organisation
          title: Max Devices
        description: Maximum number of devices in the organisation
      - name: max_snapshots
        in: query
        required: false
        schema:
          type: integer
          exclusiveMinimum: 0
          description: Maximum number of snapshots in the organisation
          title: Max Snapshots
        description: Maximum number of snapshots in the organisation
      - name: max_project_devices
        in: query
        required: false
        schema:
          type: integer
          minimum: 0
          description: Maximum number of devices in the organisation per project, 0 for Organisation max
          title: Max Project Devices
        description: Maximum number of devices in the organisation per project, 0 for Organisation max
      - name: max_project_snapshots
        in: query
        required: false
        schema:
          type: integer
          minimum: 0
          description: Maximum number of snapshots in the organisation per project, 0 for Organisation max
          title: Max Project Snapshots
        description: Maximum number of snapshots in the organisation per project, 0 for Organisation max
      - name: max_project_runtime
        in: query
        required: false
        schema:
          type: integer
          minimum: 0
          description: Maximum runtime of a device in the organisation per project, 0 for Organisation max
          title: Max Project Runtime
        description: Maximum runtime of a device in the organisation per project, 0 for Organisation max
      - name: created_at
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            format: date
          - type: 'null'
          description: The creation day of the organisation
          title: Created At
        description: The creation day of the organisation
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OrganisationOut'
                title: Response Organisations-List Organisations
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/organisations/{organisation_id}:
    get:
      tags:
      - organisations
      summary: Roku Get Organisation
      description: Set Organisation_id to 1. Currently not in use as there is only Roku, but kept for future use.
      operationId: organisations-get_organisation
      security:
      - Nabu Cloud: []
      parameters:
      - name: organisation_id
        in: path
        required: true
        schema:
          type: integer
          title: Organisation Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrganisationOut'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/organisations/{organisation_id}/members:
    get:
      tags:
      - organisations
      summary: Roku List Organisation Members
      operationId: organisations-list_organisation_members
      security:
      - Nabu Cloud: []
      parameters:
      - name: organisation_id
        in: path
        required: true
        schema:
          type: integer
          title: Organisation Id
      - name: items
        in: query
        required: false
        schema:
          type: integer
          maximum: 1000000
          description: The number of items per page. Use 0 for no limit.
          default: 100
          title: Items
        description: The number of items per page. Use 0 for no limit.
      - name: page
        in: query
        required: false
        schema:
          type: integer
          description: The page number. Use 0 for the first page.
          default: 0
          title: Page
        description: The page number. Use 0 for the first page.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OrganisationMemberOut'
                title: Response Organisations-List Organisation Members
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/organisations/{organisation_id}/members/{user_id}:
    get:
      tags:
      - organisations
      summary: Roku Get Organisation Member
      operationId: organisations-get_organisation_member
      security:
      - Nabu Cloud: []
      parameters:
      - name: user_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: User Id
      - name: organisation_id
        in: path
        required: true
        schema:
          type: integer
          title: Organisation Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrganisationMemberOut'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/organisations/{organisation_id}/regions:
    get:
      tags:
      - organisations
      summary: Roku List Organisation Regions
      description: Set Organisation_id to 1. Currently not in use as there is only Roku, but kept for future use.
      operationId: organisations-list_organisation_regions
      security:
      - Nabu Cloud: []
      parameters:
      - name: organisation_id
        in: path
        required: true
        schema:
          type: integer
          title: Organisation Id
      - name: items
        in: query
        required: false
        schema:
          type: integer
          maximum: 1000000
          description: The number of items per page. Use 0 for no limit.
          default: 100
          title: Items
        description: The number of items per page. Use 0 for no limit.
      - name: page
        in: query
        required: false
        schema:
          type: integer
          description: The page number. Use 0 for the first page.
          default: 0
          title: Page
        description: The page number. Use 0 for the first page.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OrganisationRegionOut'
                title: Response Organisations-List Organisation Regions
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/organisations/{organisation_id}/regions/{region_id}:
    get:
      tags:
      - organisations
      summary: Roku Get Organisation Region
      operationId: organisations-get_organisation_region
      security:
      - Nabu Cloud: []
      parameters:
      - name: region_id
        in: path
        required: true
        schema:
          type: integer
          title: Region Id
      - name: organisation_id
        in: path
        required: true
        schema:
          type: integer
          title: Organisation Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrganisationRegionOut'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/organisations/{organisation_id}/roles/projects:
    get:
      tags:
      - organisations
      summary: Roku List Project Roles
      operationId: organisations-list_project_roles
      security:
      - Nabu Cloud: []
      parameters:
      - name: organisation_id
        in: path
        required: true
        schema:
          type: integer
          title: Organisation Id
      - name: items
        in: query
        required: false
        schema:
          type: integer
          maximum: 1000000
          description: The number of items per page. Use 0 for no limit.
          default: 100
          title: Items
        description: The number of items per page. Use 0 for no limit.
      - name: page
        in: query
        required: false
        schema:
          type: integer
          description: The page number. Use 0 for the first page.
          default: 0
          title: Page
        description: The page number. Use 0 for the first page.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProjectRoleOut'
                title: Response Organisations-List Project Roles
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/organisations/{organisation_id}/roles/projects/{role_id}:
    get:
      tags:
      - organisations
      summary: Roku Get Project Role
      operationId: organisations-get_project_role
      security:
      - Nabu Cloud: []
      parameters:
      - name: role_id
        in: path
        required: true
        schema:
          type: integer
          title: Role Id
      - name: organisation_id
        in: path
        required: true
        schema:
          type: integer
          title: Organisation Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectRoleOut'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/organisations/{organisation_id}/roles/groups:
    get:
      tags:
      - organisations
      summary: Roku List Group Roles
      operationId: organisations-list_group_roles
      security:
      - Nabu Cloud: []
      parameters:
      - name: organisation_id
        in: path
        required: true
        schema:
          type: integer
          title: Organisation Id
      - name: items
        in: query
        required: false
        schema:
          type: integer
          maximum: 1000000
          description: The number of items per page. Use 0 for no limit.
          default: 100
          title: Items
        description: The number of items per page. Use 0 for no limit.
      - name: page
        in: query
        required: false
        schema:
          type: integer
          description: The page number. Use 0 for the first page.
          default: 0
          title: Page
        description: The page number. Use 0 for the first page.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/GroupRoleOut'
                title: Response Organisations-List Group Roles
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/v1/organisations/{organisation_id}/roles/groups/{role_id}:
    get:
      tags:
      - organisations
      summary: Roku Get Group Role
      operationId: organisations-get_group_role
      security:
      - Nabu Cloud: []
      parameters:
      - name: role_id
        in: path
        required: true
        schema:
          type: integer
          title: Role Id
      - name: organisation_id
        in: path
        required: true
        schema:
          type: integer
          title: Organisation Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupRoleOut'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    AWSRegion:
      type: string
      enum:
      - us-west-2
      title: AWSRegion
    OrganisationRegionOut:
      properties:
        region_id:
          type: integer
          title: Region Id
        region_name:
          type: string
          title: Region Name
        aws_region:
          $ref: '#/components/schemas/AWSRegion'
        agent_active:
          type: boolean
          title: Agent Active
        agent_stream_options:
          items:
            $ref: '#/components/schemas/AgentStreamOption'
          type: array
          title: Agent Stream Options
      type: object
      required:
      - region_id
      - region_name
      - aws_region
      - agent_active
      - agent_stream_options
      title: OrganisationRegionOut
    AgentStreamOption:
      properties:
        id:
          type: integer
          title: Id
        name:
          type: string
          title: Name
      type: object
      required:
      - id
      - name
      title: AgentStreamOption
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    GroupRoleOut:
      properties:
        group_role_id:
          type: integer
          title: Group Role Id
        name:
          type: string
          title: Name
        permissions:
          items:
            type: string
          type: array
          title: Permissions
      type: object
      required:
      - group_role_id
      - name
      - permissions
      title: GroupRoleOut
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ProjectRoleOut:
      properties:
        project_role_id:
          type: integer
          title: Project Role Id
        name:
          type: string
          title: Name
        permissions:
          items:
            type: string
          type: array
          title: Permissions
      type: object
      required:
      - project_role_id
      - name
      - permissions
      title: ProjectRoleOut
    OrganisationMemberOut:
      properties:
        user_id:
          type: string
          format: uuid
          title: User Id
        username:
          type: string
          title: Username
        organisation_role_id:
          type: integer
          title: Organisation Role Id
        organisation_role_name:
          type: string
          title: Organisation Role Name
      type: object
      required:
      - user_id
      - username
      - organisation_role_id
      - organisation_role_name
      title: OrganisationMemberOut
    OrganisationOut:
      properties:
        id:
          type: integer
          title: Id
        idp_id:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          title: Idp Id
          description: Identity Provider(IdP) ID of the organisation
        name:
          type: string
          maxLength: 255
          minLength: 3
          pattern: ^[a-z0-9]+(-[a-z0-9]+)*$
          title: Name
          description: Slug of the organisation, used in URLs
        slug:
          type: string
          title: Slug
          description: Name of the organisation
        max_devices:
          type: integer
          exclusiveMinimum: 0
          title: Max Devices
          description: Maximum number of devices in the organisation
        max_snapshots:
          type: integer
          exclusiveMinimum: 0
          title: Max Snapshots
          description: Maximum number of snapshots in the organisation
        max_project_devices:
          type: integer
          minimum: 0
          title: Max Project Devices
          description: Maximum number of devices in the organisation per project, 0 for Organisation max
        max_project_snapshots:
          type: integer
          minimum: 0
          title: Max Project Snapshots
          description: Maximum number of snapshots in the organisation per project, 0 for Organisation max
        max_project_runtime:
          type: integer
          minimum: 0
          title: Max Project Runtime
          description: Maximum runtime of a device in the organisation per project, 0 for Organisation max
        current_devices:
          type: integer
          minimum: 0
          title: Current Devices
          default: 0
        current_snapshots:
          type: integer
          minimum: 0
          title: Current Snapshots
          default: 0
      type: object
      required:
      - id
      - name
      - slug
      - max_devices
      - max_snapshots
      - max_project_devices
      - max_project_snapshots
      - max_project_runtime
      title: OrganisationOut