openapi: 3.0.3 info: title: Roku External Control Protocol (ECP) Apps organisation-roles API version: '1.0' description: 'The External Control Protocol (ECP) is an HTTP-based API exposed on port 8060 of every Roku streaming device on the local network. It enables third-party applications, mobile remote-control apps, automated testing systems, and home-automation hubs to discover Roku devices via SSDP, inject simulated remote-control key presses, launch installed apps with deep-link parameters, query device state, and retrieve diagnostic information. The protocol is plain HTTP/1.1 (no TLS) and is intended for trusted local-network use only. Most control operations require the user to enable "Control by mobile apps" on the device. Additional diagnostic endpoints (chanperf, sgnodes, registry, etc.) are gated behind Roku Developer Mode. ' contact: name: Roku Developer Program url: https://developer.roku.com x-generated-from: documentation x-source-url: https://developer.roku.com/docs/developer-program/dev-tools/external-control-api.md servers: - url: http://{rokuDeviceIp}:8060 description: A Roku device on the local network variables: rokuDeviceIp: default: 192.168.1.100 description: The IPv4 address of the Roku device, discovered via SSDP tags: - name: organisation-roles paths: /api/v1/organisation-roles: get: tags: - organisation-roles summary: Roku List Organisation Roles operationId: organisation-roles-list_organisation_roles 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. responses: '200': description: Successful Response content: application/json: schema: type: array items: $ref: '#/components/schemas/OrganisationRoleOut' title: Response Organisation-Roles-List Organisation Roles '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/v1/organisation-roles/{role_id}: get: tags: - organisation-roles summary: Roku Get Organisation Role operationId: organisation-roles-get_organisation_role security: - Nabu Cloud: [] parameters: - name: role_id in: path required: true schema: type: integer title: Role Id responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/OrganisationRoleOut' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' components: schemas: OrganisationRoleOut: properties: organisation_id: type: integer title: Organisation Id name: type: string title: Name permissions: items: type: string type: array title: Permissions type: object required: - organisation_id - name - permissions title: OrganisationRoleOut HTTPValidationError: properties: detail: items: $ref: '#/components/schemas/ValidationError' type: array title: Detail type: object title: HTTPValidationError 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