Docs
Dashboard
API reference / FilesBeta

Download a folder

One .tar.gz with the folder and everything in it (an inert download; .boxline/ is left out and links are stored as links, not followed). Also works on a stopped session, from the workspace it saved, without starting a machine (read-only; 409 nothing_saved when it saved none). The folder is path (default the whole workspace). At most 1 GiB and 100,000 entries (413 archive_too_large, before any byte is sent); 400 not_a_directory; 403 or 400 invalid_path for a path outside the workspace or through a link; 429 archive_busy (two at once per session, or per project for stopped sessions). The folder is under its own name in the archive (<name>/…; the whole workspace: workspace/…).

GET/v1/sessions/{id}/files/archive

Request

Method and pathGET/v1/sessions/{id}/files/archive
Base URLhttps://api.boxline.dev
AuthenticationYour API key in the x-api-key header (or Authorization: Bearer). The examples read it from BOXLINE_API_KEY.
Rate limitYes. See Rate limits for the numbers and headers.

Path parameters

NameTypeDefaultAllowed valuesDescription
idrequiredstring––

Query parameters

NameTypeDefaultAllowed valuesDescription
pathstring.–A folder inside the workspace.
curl -G "https://api.boxline.dev/v1/sessions/$SESSION_ID/files/archive" \  -H "x-api-key: $BOXLINE_API_KEY" \  --data-urlencode "path=downloads" \  -o downloads.tar.gztar -xzf downloads.tar.gz

Responses

200 OK

The archive's bytes.

  • application/octet-stream: The file's bytes.
Response 200
The file's bytes

Errors

Errors have a matching HTTP status and the same body. code is stable, so check it in your code; message is for people. See Errors and request ids.

StatusCodesWhen
400 Bad Requestinvalid_request, invalid_json, invalid_cursor, invalid_idempotency_key, invalid_extension, variables_with_extensions, terms_not_accepted, invalid_reset_token, invalid_confirmation_code, wrong_password, no_password, invalid_next, invalid_oauth_tokenThe request is not valid.
401 UnauthorizedunauthorizedMissing or invalid API key.
404 Not Foundnot_found, invite_not_found, provider_unavailableNo such thing in this project (or organization), or no such route.
409 Conflictsession_not_running, shell_disabled, browser_disabled, nothing_saved, not_resumable, invalid_state, conflict, email_taken, identity_in_use, provider_already_linked, last_sign_in_method, not_impersonating, machine_too_old, too_many_credential_values, limit_reached, terms_version_mismatch, no_project, last_owner, organization_not_empty, project_has_sessions, already_member, invite_pending, idempotency_in_progressThe current state does not allow it, or a request with this Idempotency-Key is still being answered.
413 payload_too_largeThe request body is larger than the route allows.
429 Too Many Requestsrate_limited, concurrency_limitToo many requests, or the organization's concurrent sessions (its plan's) or the project's concurrencyCap are in use.
Error body
{  "error": {    "code": "not_found",    "message": "session not found",    "requestId": "req_4fJx0aQm2Lk9Pz7N"  }}

Learn more

These docs describe a beta API. Endpoints, fields and SDK methods may change before general availability; breaking changes will be listed in the changelog.