> ## Documentation Index
> Fetch the complete documentation index at: https://docs.orgo.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Set UDP video streaming

> Stream the computer's screen over UDP (WebRTC) for lower latency than VNC.

Turns UDP video streaming on or off for the computer's screen in the dashboard. Send `null` to go back to the default, which is off. See [Computer settings](https://docs.orgo.ai/guides/computer-settings.md#udp-video-streaming).

The computer needs 4 vCPUs or a GPU, and it isn't available on Windows or Android yet. Otherwise turning it on answers `409` with `webrtc_ineligible`. Turning it off always works.

Only workspace owners and editors can change it. If UDP is blocked or the connection can't keep up, the browser falls back to VNC by itself.


## OpenAPI

````yaml POST /computers/{id}/webrtc
openapi: 3.1.0
info:
  title: Orgo API
  description: >-
    Launch cloud computers that AI agents can control and interact with. Create
    workspaces, provision computers, and control them programmatically.
  version: 2.0.0
  contact:
    name: Orgo Support
    email: contact@orgo.ai
    url: https://orgo.ai
servers:
  - url: https://www.orgo.ai/api
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Support
    description: >-
      Orgo’s support agent, for programs: ask how to do something in Orgo and
      get an answer with full URLs and copyable commands.
  - name: Account
    description: >-
      Account capacity: how many computers an account may run, and adding or
      giving back more.
  - name: Agent accounts
    description: >-
      Accounts an AI agent makes for itself, and the claim link a person uses to
      take one over.
  - name: Clients
    description: >-
      Run Orgo for your clients from your own app: a workspace and scoped key
      each, billed to you or to them.
  - name: Workspaces
    description: Organize computers into named workspaces
  - name: Computers
    description: Provision and manage virtual computers
  - name: Public URLs
    description: Share an app running on a computer at an https address on orgo.dev.
  - name: Computer Lifecycle
    description: Start, stop, and restart computers
  - name: Computer Actions
    description: Control mouse, keyboard, and execute commands
  - name: Screens
    description: >-
      More than one desktop on a single computer. Each screen is its own X
      server with its own cursor and window manager, so an agent working on one
      cannot disturb another.
  - name: Files
    description: Upload and download files
  - name: Templates
    description: Author, build, and launch reproducible computers from templates
  - name: Chat
    description: Run an agent on a computer through OpenAI-compatible chat completions.
  - name: Workflows
    description: >-
      Routines that run the same way every time: a start, then steps. Make them
      from plain words or lines, check them, run them and follow their runs (in
      preview).
paths:
  /computers/{id}/webrtc:
    post:
      tags:
        - Computers
      summary: Set UDP video streaming
      description: >-
        Turns UDP video streaming (WebRTC) on or off for the computer's screen
        in the dashboard, or puts it back to the default. It needs 4 vCPUs or a
        GPU, and isn't available on Windows or Android yet. Editors only.
      operationId: setComputerUdpStreaming
      parameters:
        - name: id
          in: path
          required: true
          description: Computer ID. Accepts the computer's UUID or its `instance_id`.
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - enabled
              properties:
                enabled:
                  type:
                    - boolean
                    - 'null'
                  description: '`true` on, `false` off, `null` back to the default (off).'
            example:
              enabled: true
      responses:
        '200':
          description: Saved.
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  webrtc:
                    type:
                      - boolean
                      - 'null'
                    description: The computer's own choice, or null for the default.
                  effective:
                    type: boolean
                    description: >-
                      Whether the screen will use UDP streaming. The browser
                      still falls back to VNC if UDP is blocked or the
                      connection can't keep up.
              example:
                ok: true
                webrtc: true
                effective: true
        '400':
          description: '`enabled` must be `true`, `false` or `null`.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error: enabled must be true, false, or null
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          description: You can view this workspace but not change it.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error: Only workspace editors can change this.
                code: workspace_read_only
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          description: >-
            The computer can't use UDP streaming, or it's off for every
            computer.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                ineligible:
                  summary: Too small
                  value:
                    error: Needs 4 vCPUs or a GPU. This one has 2.
                    code: webrtc_ineligible
                os:
                  summary: Not on this OS yet
                  value:
                    error: Not available on Windows yet.
                    code: webrtc_ineligible
                fleet-off:
                  summary: Off everywhere
                  value:
                    error: UDP video streaming is off for every computer right now.
                    code: webrtc_fleet_off
        '500':
          description: The choice couldn't be saved.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error: Could not save UDP video streaming. Try again.
components:
  schemas:
    Error:
      type: object
      description: >-
        The base error body. Every failure carries `error`; individual endpoints
        add the fields named in the schemas below.
      required:
        - error
      properties:
        error:
          type: string
          description: Human-readable message.
          example: Access denied
        code:
          type: string
          description: >-
            Machine-readable reason. Present on the failures that define one,
            absent otherwise.
  responses:
    Unauthorized:
      description: 'No usable credential. Send `Authorization: Bearer $ORGO_API_KEY`.'
      content:
        application/json:
          schema:
            allOf:
              - $ref: '#/components/schemas/Error'
              - type: object
                properties:
                  docs:
                    type: string
                    format: uri
                    description: 'How to sign in: `https://www.orgo.ai/auth.md`.'
          examples:
            invalid-key:
              summary: The key is not one of yours
              value:
                error: Invalid API key
                docs: https://www.orgo.ai/auth.md
            no-credential:
              summary: No key and no session
              value:
                error: Authentication required
                docs: https://www.orgo.ai/auth.md
      headers:
        WWW-Authenticate:
          description: '`Bearer realm="Orgo API"`.'
          schema:
            type: string
    NotFound:
      description: >-
        No computer with this id on your account. With an API key the body
        carries `code: "computer_not_found"`; signed in with a session it is
        `Desktop not found`.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            api-key:
              summary: API key
              value:
                error: Computer not found (computer_not_found).
                code: computer_not_found
            session:
              summary: Signed in with a session
              value:
                error: Desktop not found
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: API key authentication. Get your key at orgo.ai/workspaces

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.