---
title: "Export a complete Mac Result or capture a rectangle [admin]"
method: POST
path: "/desktop/machines/{id}/administration/device_capture_arena_chart"
tags: ["Desktop"]
---

# Export a complete Mac Result or capture a rectangle \[admin\]

`POST /desktop/machines/{id}/administration/device_capture_arena_chart`

## Request

- Base URL: `https://api.agentsky.dev/v1`
- URL: `https://api.agentsky.dev/v1/desktop/machines/{id}/administration/device_capture_arena_chart`
- Auth: HTTP bearer

Use target {kind: 'thread-result', threadId} to export every Result row and column through the same DOM-to-PNG owner as Mac Share. The checked workspace query authorizes the thread; target cannot override it. Opens a normal visible window without changing the shared workspace preference. Expected fact reads must settle; read failure or unrevealed blind identity refuses capture. Running status and authorized unknown prices remain unchanged. Navigation, revocation or a changed data revision refuses the request; retry with a new request_id after result_changed. Alternatively supply rect for the existing visible-window capture; rect and target are exclusive. Target returns dataUrl, width, height, bytes and sha256. For large images provide filePath to save directly in an authorized writable folder and receive a saved receipt with bytes/SHA-256. An existing fileId never grants thread access. Requires the authenticated machine owner's unrestricted account-wide personal admin key. Workspace-fixed, team, task, app, system and restricted credentials are refused. Uses the existing fixed owner-administration transport, not ordinary task grants. Native OS permissions, path protections and destination membership remain enforced. No raw IPC or secret-key ingress. Reuse request_id on retry. The complete request remains subject to the relay envelope size limit.

## Path parameters

- `id` string, required

## Query parameters

- `workspace` string

## Request body

- object
  - `arguments` union, required
    - object
      - `rect` object, required
        - `x` integer, required
        - `y` integer, required
        - `width` integer, required
        - `height` integer, required
      - `filePath` string
      - `replaceExisting` boolean
    - object
      - `target` object, required
        - `kind` 'thread-result', required
        - `threadId` string, required
      - `filePath` string
      - `replaceExisting` boolean
  - `request_id` string, required

## Response `200`

Canonical native-owner result; private, no-store

## Other responses

- `400`: Error — { error: { code, message } }
- `401`: Error — { error: { code, message } }
- `403`: Error — { error: { code, message } }
- `404`: Error — { error: { code, message } }
- `409`: Error — { error: { code, message } }
- `413`: Error — { error: { code, message } }
- `502`: Error — { error: { code, message } }
- `503`: Error — { error: { code, message } }

## Changes

- **2026-11-02** `e5e8f0229a99`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/agentsky/apis/agentsky-developer-api/changes/desktop/machines/:id/administration/device_capture_arena_chart/post.md)

---

[API](https://skmtc.dev/agentsky/apis/agentsky-developer-api.md) - [All operations](https://skmtc.dev/agentsky/apis/agentsky-developer-api/llms.txt) - [OpenAPI document](https://skmtc.dev/agentsky/apis/agentsky-developer-api/revisions/0d435187cd55?raw)
