Skip to main content
POST
Fork box

Authorizations

Authorization
string
header
required

Box bearer token in the form box_.... Service API keys authenticate Box operations.

Headers

Idempotency-Key
string

Optional exactly-once key for creating a box. Send your own opaque, account-unique value (a UUID) to make POST /boxes safe to retry when the response is lost (network timeout, 5xx): the first request creates the box and binds it to the key; every later request with the same account, key, and request body returns that same box instead of creating a second, billable one. Behavior: keys are retained for 24 hours; a concurrent or early retry while the first box is still being minted returns 409 idempotency_in_progress (retry shortly, same key); reusing a key with a different body returns 409 idempotency_key_reused; timeouts and 5xx are safe to retry with the same key; a create that fails before the box exists releases the key within ~2 minutes so a retry can create the box. Omit the header to keep the default (non-idempotent) behavior.

Maximum string length: 255

Path Parameters

boxId
string
required

Public Box id returned by create/list/get box calls.

Pattern: ^bx_[23456789abcdefghjkmnpqrstuvwxyz]{8}$

Body

application/json
env
object

Replaces the env the fork would otherwise inherit from the source box. Same validation rules as CreateBoxRequest.env.

environment
string

Optionally pin the fork to a different named Box environment. Omit to inherit the source box's environment. Unknown names are rejected with unknown_environment.

Examples:

"base"

"customer-demos"

noEnv
boolean

Make the fork no-env (see CreateBoxRequest.noEnv). A fork of a no-env box is always no-env regardless of this field.

type
enum<string>

Machine size for the fork. Omit to inherit the source box's type. The source box is never modified. Shrinking is rejected with type_too_small when the source's data would not fit the smaller disk. xlarge requires the effective $100 plan or higher and an explicit bare-metal operator allocation.

Available options:
small,
default,
large,
xlarge
ttlSeconds
integer | null
default:3600

Auto-stop for the fork, in seconds. Omit for the 1 hour default; the fork does NOT inherit the source box's TTL, so forking a Box that has auto-stop disabled still gives you a fork that stops itself. null disables auto-stop, which means nothing will ever stop this Box for you.

Required range: 1 <= x <= 2592000

Response

Fork started. The response id is the new forked box id.

ok
boolean
required
Example:

true

type
string
required

Stable success envelope discriminator added by v1.

Example:

"box.stopping"

id
string
required
status
string
required
Example:

"archiving"

box
object | null