> ## 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.

# Get workspace

> Retrieve a workspace by ID.

Returns a workspace by ID, including its computers (`desktops`).

## Path parameters

<ParamField path="id" type="string" required>
  Workspace ID.
</ParamField>

## Response

<ResponseField name="id" type="string">
  Workspace identifier.
</ResponseField>

<ResponseField name="name" type="string">
  Workspace name.
</ResponseField>

<ResponseField name="user_id" type="string">
  Owner user ID.
</ResponseField>

<ResponseField name="status" type="string">
  Workspace status.
</ResponseField>

<ResponseField name="icon_url" type="string">
  Icon URL, if set.
</ResponseField>

<ResponseField name="created_at" type="string">
  ISO 8601 timestamp.
</ResponseField>

<ResponseField name="updated_at" type="string">
  ISO 8601 timestamp.
</ResponseField>

<ResponseField name="desktops" type="array">
  Computers in this workspace.
</ResponseField>

## Example

<CodeGroup>
  ```bash cURL theme={null}
  curl https://www.orgo.ai/api/workspaces/550e8400-e29b-41d4-a716-446655440000 \
    -H "Authorization: Bearer $ORGO_API_KEY"
  ```

  ```python Python theme={null}
  import requests

  response = requests.get(
      f"https://www.orgo.ai/api/workspaces/{workspace_id}",
      headers={"Authorization": f"Bearer {api_key}"}
  )

  workspace = response.json()
  print(f"Workspace: {workspace['name']}")
  for d in workspace.get("desktops", []):
      print(f"  - {d['name']}: {d['status']}")
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch(`https://www.orgo.ai/api/workspaces/${workspaceId}`, {
    headers: { 'Authorization': `Bearer ${apiKey}` }
  });

  const workspace = await response.json();
  console.log(`Workspace: ${workspace.name}`);
  workspace.desktops?.forEach(d => {
    console.log(`  - ${d.name}: ${d.status}`);
  });
  ```
</CodeGroup>

### Response

```json theme={null}
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "name": "production",
  "user_id": "4d96f9a0-7727-4b63-889a-32544c206d7c",
  "status": "active",
  "icon_url": null,
  "created_at": "2026-04-07T10:30:00Z",
  "updated_at": "2026-04-07T10:30:00Z",
  "desktops": [
    {
      "id": "a3bb189e-8bf9-3888-9912-ace4e6543002",
      "name": "agent-1",
      "os": "linux",
      "ram": 4,
      "cpu": 1,
      "status": "running"
    },
    {
      "id": "b2c3d4e5-f6a7-8901-bcde-f23456789012",
      "name": "agent-2",
      "os": "linux",
      "ram": 8,
      "cpu": 2,
      "status": "stopped"
    }
  ]
}
```


## OpenAPI

````yaml GET /workspaces/{id}
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: spencer@orgo.ai
    url: https://orgo.ai
servers:
  - url: https://www.orgo.ai/api
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Workspaces
    description: Organize computers into named workspaces
  - name: Computers
    description: Provision and manage virtual computers
  - name: Computer Lifecycle
    description: Start, stop, and restart computers
  - name: Computer Actions
    description: Control mouse, keyboard, and execute commands
  - name: Streaming
    description: Stream computer display via RTMP
  - name: Files
    description: Upload and download files
  - name: Templates
    description: Author, build, and launch reproducible computers from templates
paths:
  /workspaces/{id}:
    get:
      tags:
        - Workspaces
      summary: Get workspace
      description: Returns a workspace by ID, including its computers.
      operationId: getWorkspace
      parameters:
        - name: id
          in: path
          required: true
          description: Workspace ID
          schema:
            type: string
      responses:
        '200':
          description: Workspace details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkspaceWithDesktops'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  schemas:
    WorkspaceWithDesktops:
      allOf:
        - $ref: '#/components/schemas/Workspace'
        - type: object
          properties:
            desktops:
              type: array
              items:
                $ref: '#/components/schemas/Computer'
    Workspace:
      type: object
      properties:
        id:
          type: string
          description: Unique workspace identifier
          example: 550e8400-e29b-41d4-a716-446655440000
        name:
          type: string
          description: Workspace name
          example: production
        user_id:
          type: string
          description: Owner user ID
        status:
          type: string
          enum:
            - active
            - inactive
          example: active
        icon_url:
          type: string
          nullable: true
          description: Optional icon URL
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
    Computer:
      type: object
      properties:
        id:
          type: string
          description: Unique computer identifier
          example: a3bb189e-8bf9-3888-9912-ace4e6543002
        name:
          type: string
          description: Computer name
          example: agent-1
        project_name:
          type: string
          description: Name of the parent workspace
          example: production
        os:
          type: string
          enum:
            - linux
          description: Operating system
          example: linux
        ram:
          type: integer
          enum:
            - 4
            - 8
            - 16
            - 32
            - 64
          description: RAM in GB
          example: 4
        cpu:
          type: integer
          enum:
            - 1
            - 2
            - 4
            - 8
            - 16
          description: CPU cores
          example: 1
        disk_size_gb:
          type: integer
          description: Disk size in GB
          example: 8
        status:
          type: string
          enum:
            - creating
            - running
            - frozen
            - suspended
            - terminating
            - error
          description: Current status
          example: running
        url:
          type: string
          description: Dashboard URL for the computer
          example: https://orgo.ai/workspaces/a3bb189e-8bf9-3888-9912-ace4e6543002
        created_at:
          type: string
          format: date-time
        instance_id:
          type: string
          description: >-
            Stable identifier for the underlying compute instance. Use this for
            proxy hostnames and for any client that needs to reference the VM
            across restarts.
          example: a3881618
        hostname:
          type: string
          description: >-
            Same-origin host for the computer's connection endpoints (always
            `www.orgo.ai`).
          example: www.orgo.ai
        connection_url:
          type: string
          description: >-
            Same-origin connection base
            (https://www.orgo.ai/desktops/{instance_id}). Append /ws/websockify,
            /ws/terminal, or /ws/audio for WebSocket endpoints; HTTP Desktop API
            calls go to
            https://www.orgo.ai/api/desktops/{instance_id}/proxy/{endpoint}.
          example: https://www.orgo.ai/desktops/a3881618
        vnc_password:
          type: string
          description: >-
            VNC / WebSocket Bearer token. Rotates on every restart - do not
            persist across restarts.
          example: a06db12a8683df96
    Error:
      type: object
      properties:
        error:
          type: string
          description: Error message
  responses:
    Unauthorized:
      description: Invalid or missing API key
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: Invalid API key
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: Resource not found
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: API key authentication. Get your key at orgo.ai/workspaces

````