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

# Take screenshot

> Capture the current desktop as a PNG and return a signed URL.

Captures a screenshot of the computer's display, uploads it to storage, and returns a URL you can fetch.

## Path parameters

<ParamField path="id" type="string" required>
  Computer ID (UUID).
</ParamField>

## Response

<ResponseField name="success" type="boolean">
  `true` if the screenshot was captured and stored.
</ResponseField>

<ResponseField name="image" type="string">
  Public URL of the uploaded PNG.
</ResponseField>

<ResponseField name="metadata" type="object">
  Information about the stored screenshot.

  <Expandable title="metadata fields">
    <ResponseField name="id" type="string">
      Screenshot record ID.
    </ResponseField>

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

    <ResponseField name="size" type="integer">
      File size in bytes.
    </ResponseField>

    <ResponseField name="storage_path" type="string">
      Internal storage path.
    </ResponseField>
  </Expandable>
</ResponseField>

## Example

<CodeGroup>
  ```bash cURL theme={null}
  curl https://www.orgo.ai/api/computers/a3bb189e-8bf9-3888-9912-ace4e6543002/screenshot \
    -H "Authorization: Bearer $ORGO_API_KEY"
  ```

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

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

  data = response.json()
  image_url = data["image"]

  # Download the PNG
  img = requests.get(image_url)
  with open("screenshot.png", "wb") as f:
      f.write(img.content)
  ```

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

  const { image } = await response.json();

  // Download the PNG
  const img = await fetch(image);
  const buffer = Buffer.from(await img.arrayBuffer());
  fs.writeFileSync('screenshot.png', buffer);
  ```
</CodeGroup>

### Response

```json theme={null}
{
  "success": true,
  "image": "https://storage.orgo.ai/screenshots/4d96f9a0/2026-04-20/abc123.png",
  "metadata": {
    "id": "9f2b7c3d-4e5f-6a7b-8c9d-0e1f2a3b4c5d",
    "timestamp": "2026-04-20T12:00:00Z",
    "size": 187342,
    "storage_path": "screenshots/4d96f9a0/2026-04-20/abc123.png"
  }
}
```

## Errors

| Status | Meaning                                  |
| ------ | ---------------------------------------- |
| `400`  | Computer instance not available.         |
| `401`  | Missing or invalid API key.              |
| `403`  | You do not have access to this computer. |
| `404`  | Computer not found.                      |
| `500`  | Capture or upload failed.                |


## OpenAPI

````yaml GET /computers/{id}/screenshot
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:
  /computers/{id}/screenshot:
    get:
      tags:
        - Computer Actions
      summary: Take screenshot
      description: >-
        Captures a screenshot of the computer display. Returns base64-encoded
        PNG or a URL.
      operationId: getScreenshot
      parameters:
        - name: id
          in: path
          required: true
          description: Computer ID
          schema:
            type: string
      responses:
        '200':
          description: Screenshot captured
          content:
            application/json:
              schema:
                type: object
                properties:
                  image:
                    type: string
                    description: Base64-encoded PNG or URL to the image
              example:
                image: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA...
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  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
  schemas:
    Error:
      type: object
      properties:
        error:
          type: string
          description: Error message
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: API key authentication. Get your key at orgo.ai/workspaces

````