OUTCOME · Create
What changes
Creates the workspace and an initial OWNER membership for the caller. It does not select the workspace, invite anyone, create an MPC wallet, move assets, or enable trading.
v2Workspace Management
/api/v2/workspacesPURPOSE + BUSINESS CONTEXT
WHEN THIS CALL IS USEFUL
Call this when a new team, treasury, trading desk, contract project, or personal activity must be separated from the caller’s existing workspace state.
OUTCOME · Create
Creates the workspace and an initial OWNER membership for the caller. It does not select the workspace, invite anyone, create an MPC wallet, move assets, or enable trading.
WHY IT MATTERS
ISOLATION + AUTHORITY
Tenant and owner identity are derived from the bearer and cannot be overridden in the body. The selected isolation policy constrains later workspace-owned resources; it is not a substitute for role, scope, MPC, or transaction authorization.
BEFORE YOU CALL
WHAT TO DO NEXT
AGENT GUIDANCE
The exact deployed parameters, schemas, responses, security requirements, and Hybrid-Chain agent metadata are authoritative at this operation's production OpenAPI JSON Pointer. The readable tables below add integration guidance; the deployed OpenAPI controls if guidance and the machine contract ever differ.
Open the authoritative production contract ↗EXTENDED INTEGRATION GUIDANCE
Examples illustrate integration intent; the referenced OpenAPI operation and component schemas define the executable shape.
PARAMETERS
AuthorizationheaderRequiredBearer tokenCredential containing the workspaces:write scope.EXAMPLEBearer hc_live_…
Idempotency-KeyheaderRequiredASCII string · 1–128Caller-generated key reused for every retry of the same logical mutation.EXAMPLElaunch-treasury-v1-001
Content-TypeheaderRequiredapplication/jsonSigned mutations accept canonical JSON only.EXAMPLEapplication/json
Content-DigestheaderRequiredRFC 9530 SHA-256 digestDigest of the exact transmitted body bytes.EXAMPLEsha-256=:47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=:
Signature-InputheaderRequiredRFC 9421 signature parametersCovers @method, @path, content-digest, content-type, and idempotency-key; includes keyid, nonce, created, and expires.EXAMPLEsig1=("@method" "@path" "content-digest" "content-type" "idempotency-key");created=1786582800;expires=1786583100;nonce="01J…";keyid="machine-prod"
SignatureheaderRequiredEd25519 HTTP Message SignatureSignature made by an active public key registered to the authenticated client.EXAMPLEsig1=:base64-signature:
namebodyRequiredstring · 1–160Human-readable workspace name.
purposebodyOptionalPERSONAL | TEAM | TREASURY | TRADING | CONTRACTSOperating purpose; defaults to TEAM.
isolation_policybodyOptionalSTANDARD | SEGREGATED | MPCIsolation boundary; defaults to STANDARD.
REQUEST
{
"name": "Treasury Operations",
"purpose": "TREASURY",
"isolation_policy": "MPC"
}STABLE ERROR CODES
These codes are published by the authoritative gateway contract for this endpoint. Treat message as safe diagnostic text; integrations should branch on code and HTTP status.
invalid_jsonThe JSON body is malformed or fails the published identity schema.invalid_security_requestThe identity, workspace, permission, or key request is invalid.missing_idempotency_keyA nonempty Idempotency-Key is required for this mutation.invalid_credentialsThe bearer or proof-of-possession credential is invalid.step_up_requiredThe caller lacks role authority or fresh purpose-bound approval.workspace_resource_not_foundThe requested workspace, membership, or invitation was not found.security_conflictThe requested permission or identity transition conflicts with current state.identity_security_unavailableThe authoritative Identity security service is temporarily unavailable.RESPONSES
{
"workspace_id": "b00dc220da8f480d86cdc11341372746",
"tenant_uuid": "b00dc220da8f480d86cdc11341372746",
"name": "Treasury Operations",
"purpose": "TREASURY",
"isolation_policy": "MPC",
"status": "ACTIVE",
"version": 1,
"created_by": "d2f46f7e234c40a4a54e54208368d8d5",
"created_at": "2026-08-12T21:00:00Z",
"updated_at": "2026-08-12T21:00:00Z",
"membership_id": "7bb755ad325c48e5a4f4cc7f5711fa62",
"role": "OWNER",
"membership_version": 1,
"idempotent_replay": false,
"preference_version": null
}{
"code": "invalid_json",
"message": "The JSON body or required signed headers are malformed."
}invalid_json{
"code": "invalid_credentials",
"message": "The bearer credential or HTTP Message Signature is missing, expired, replayed, or invalid."
}invalid_credentials{
"code": "workspace_forbidden",
"message": "The principal lacks the required scope, workspace role, or tenant authority."
}workspace_forbidden{
"code": "workspace_conflict",
"message": "The idempotency body, invitation state, or optimistic membership version conflicts with current state."
}workspace_conflict{
"code": "identity_security_unavailable",
"message": "The authoritative Identity workspace service is unavailable."
}identity_security_unavailableOPERATIONAL NOTES
UPGRADING FROM V1
If you maintain an older integration, use this map to find the V2 replacement. Do not translate the old request field-for-field: rebuild it from the V2 parameters and schemas above because identity, authorization, replay protection, and response semantics may have changed.
/api/v1/workspaces/createWORKSPACE: Create new WorkspaceThis route is implemented in canonical gateway source and appears in the production OpenAPI snapshot observed 2026-09-11T06:35:11.572Z. Authentication, tenant, feature, venue, and market policy still apply.
Verify the exact production OpenAPI operation ↗Return to the V2 directory ↗