Skip to main content
POST
Provision Workspace
Create a fully configured Penbox workspace for one of your clients, seed it with case templates, register the client’s admin, and receive an API token scoped to that workspace — in a single call.
This endpoint is reserved for partner integrations. A regular API token is rejected with a 401. Talk to Penbox to have your own workspace enabled as a partner.
The token is returned exactly once. It appears only in the 201 response that creates the workspace, and Penbox stores nothing but its hash — it can never be retrieved again. Persist it before you do anything else with the response.

Idempotency

The call is idempotent on integration.legalops.source_workspace_id: one Penbox workspace per workspace on your side. Calling it again with the same source_workspace_id returns the workspace that already exists, with a 200 instead of a 201 and without a token. Use the status code to tell the two apart:

Partial success

Provisioning never fails halfway: if an optional step does not complete, the workspace is still created and the response carries a warnings array describing what was skipped — a case template that could not be copied, for instance. Log the warnings — they are not errors.

Authorizations

Authorization
string
header
required

API token (starts with pnbx_). Create at https://app.penbox.io/workspace/settings/api. Include as: Authorization: Bearer {token}

Body

application/json
name
string
required

Workspace name. The slug is derived from it, with a numeric suffix when that slug is already taken.

Required string length: 3 - 64
Example:

"Acme Legal"

admin
object
required

The client's administrator. Created as a silent member: Penbox never emails them.

integration
object
required

Identifies the client workspace on your side. This is what makes the call idempotent.

template_source
object

Case templates to copy into the new workspace.

Response

A workspace already exists for this source_workspace_id. Same payload, without token.

replayed
boolean

False when this call created the workspace, true when it returned one that already existed.

workspace
object

The Penbox workspace

integration
object

The link back to the workspace on your side

token
string

API token scoped to the new workspace. Returned exactly ONCE, in the 201 that created it: Penbox stores only its hash and can never show it again. Absent from a replay.

Example:

"pnbx_0f1e2d3c4b5a69788796a5b4c3d2e1f00112233445566778"

warnings
string[]

Optional steps that did not complete. The workspace is fully created either way — these are not errors. Absent when there is nothing to report.

Example: