ApiKey | id, name, key_prefix, key_last_four, created_at, last_used_at | Metadata only; not the raw secret. |
ApiKeyCreateRequest | name | Optional display name. |
ApiKeyDeleteResponse | ok, type, api_keys | Returned after deletion with the remaining key metadata. |
ApiKeysResponse | ok, type, api_keys, api_key, secret | secret is present after create/rotate only. |
Box | id, name, state, url, ip, created_at, updated_at, archive_after, desktop_available, desktop_url, snapshot_available, snapshot_completed_at | desktop_url can contain a token; redact it. |
BoxActionResponse | ok, type, id, status, box | Returned by lifecycle actions such as stop, resume, fork, and interrupt. |
BoxInfoResponse | ok, type, box | Returned by get() and update(). |
BoxListResponse | ok, type, boxes, page_info | Returned by boxes(). Use page_info.next_cursor when page_info.has_more is true. |
BoxEvent | id, type, timestamp, task_id, data, plus additional fields | Extensible event object returned inside EventsResponse.events. Branch on each event type. |
CommandRequest | command, cwd, timeout_seconds | Bounded command execution request. timeout_seconds defaults to 30 and is capped by the API. |
CommandResponse | ok, type, success, exit_code, signal, stdout, stderr, stdout_truncated, stderr_truncated, timed_out, cwd, started_at, finished_at | Returned by command() and exec_command(). |
CompletionEvent | id, type, timestamp, task_id, data | Completion-style event such as task_notification or compaction_complete. data is extensible. |
CreateBoxRequest | ttl_seconds | Seconds before auto-stop; None disables auto-stop. |
CreateBoxResponse | ok, type, status, ttl_seconds, box | Returned immediately after creation starts. |
DeleteBoxResponse | ok, type, id, status | Returned by remove(). |
DesktopResponse | ok, type, success, desktop_url, ip, mode, provisioning, message | If provisioning is true, poll desktop() again. |
ErrorEnvelope | ok, type, status, code, message, request_id, error | Non-2xx response body. Include request_id in support logs. |
ErrorEnvelopeError | code, message, status, details | Structured error details. |
ErrorEvent | id, type, timestamp, task_id, data | Error/protection event such as usage_limit or shield. data is extensible. |
EventsResponse | ok, type, id, events, page_info | events contains Box event objects. Use page_info.next_cursor when page_info.has_more is true. |
FileReadResponse | ok, type, success, path, encoding, size, content | Returned by read_file() and read_text(). encoding is utf8 or base64. |
FileWriteRequest | path, content, encoding | Write a UTF-8 string or base64 payload to a relative Box work-directory path. |
FileWriteResponse | ok, type, success, path, encoding, size | Returned by write_file() and write_text(). |
GitCheckpointEvent | id, type, timestamp, task_id, data | Git checkpoint event. data includes commit_sha, commit_message, commit_url, branch, files_changed, additions, deletions, and pushed. |
LimitsFields | access_tier, blocked_reason, current_limits, standard_limits, trial_limits, upgrade_effects, can_start, checkout_required, start_blocked_reason, contact_message, active_boxes, active_states, max_active_boxes, max_creation_requests_per_minute, max_creation_requests_per_day, has_payment_history, package, subscription_quota_seconds, subscription_remaining_seconds, pack_balance_seconds, credit_purchased_seconds, credit_used_seconds, live_usage_seconds, credit_seconds_per_dollar, billing_status, subscription_status, subscription_cancel_at_period_end, has_subscription, subscription_trial_ends_at, subscription_current_period_end, credit_balance_seconds | Shared limit and billing-access fields. Use can_start and start_blocked_reason before creating Boxes. |
LimitsFieldsCurrentLimits | active_boxes, creation_rate_per_minute, creation_requests_per_day | Numeric quota limits. |
LimitsResponse | ok, type, plus all LimitsFields fields | Returned by limits(). |
MeResponse | ok, type, user | Authenticated account response. |
MeResponseAllOfUser | login, email | User identity fields. |
PageInfo | next_cursor, has_more, limit | Pagination metadata on list responses. |
PromptEvent | id, type, timestamp, task_id, data | Prompt lifecycle event. data includes prompt, status, and optionally is_reverted. |
PromptRequest | provider, model, reasoning_effort, prompt | provider is codex or claude-code. Omit model to use the saved default. |
PromptResponse | ok, type, id, prompt_id, prompt_run, status, provider, model, reasoning_effort | Returned after work is queued. |
PromptRun | id, prompt_id, box_id, status, done, created_at, model, reasoning_effort | First-class prompt run state. status is sending, queued, running, finished, or failed. |
PromptRunResponse | ok, type, id, prompt_run | Returned by prompt_run_status(). |
ResponseEvent | id, type, timestamp, task_id, data | Agent response event. data includes content, optional model, optional tools, and optional is_streaming. |
RepoSelectionRequest | repository_id, base_branch | repository_id is a database_id from repos(). |
RepoSelectionResponse | ok, type, success, environment_id, selected_repositories | Returned by select_repo(). |
ReposResponse | ok, type, installations, environment_id, selected_repositories, page_info | Repository inventory and current selections. Use page_info.next_cursor when page_info.has_more is true. |
Repository | id, database_id, name, full_name, private, permissions, pushed_at | Use database_id when selecting a repository. |
RepositoryInstallation | type, account_login, account_avatar_url, repositories | Group of repositories available through one installation/account. |
SecretFile | path, contents | Treat contents as sensitive. |
SecretsResponse | ok, type, success, environment_id, env_contents, secret_files, pushed | Current secret setup. Treat env_contents and secret_files as sensitive. |
SecretsUpdateRequest | env_contents, secret_files | Full replacement request for secrets. |
SelectedRepository | id, database_id, name, full_name, private, permissions, pushed_at, base_branch, setup_routine_id, setup_script, setup_blocking, pre_commit_hooks | Repository selected for future Boxes. |
SelectedRepositoryAllOfPreCommitHooks | id, script, blocking | Pre-commit hook configured for a selected repository. |
SshKeyRequest | key | Public SSH key in OpenSSH format. |
SshKeyResponse | ok, type, success, machine_ip, ssh_user | Returned after adding an SSH key. |
SuccessBase | ok, type | Base success-envelope fields. |
UnknownEvent | type plus additional fields | Forward-compatible event shape for event types not modeled by the current SDK. |
UpdateBoxRequest | name, ttl_seconds | Send only fields you want to change. ttl_seconds=None disables auto-stop. |