Skip to main content

Update Workspace (v1)

Method + Path​

PATCH /v1/workspace/:workspaceId

Actual backend path: /v1/workspace/:workspaceId

Description​

Update workspace settings. All fields are optional - only provided fields will be updated.

Authentication​

Required - JWT token in Authorization header

Required Permissions:

  • workspace.update

Headers​

HeaderTypeRequiredDescription
AuthorizationstringYesBearer token: Bearer <token>
Content-TypestringYesapplication/json

Path Parameters​

ParameterTypeRequiredDescription
workspaceIdstringYesWorkspace identifier

Request Body​

{
"name": "Updated Workspace Name",
"slogan": "Updated slogan",
"labTemplates": {
"smsDefaultMessage": "Your results are ready. Please visit [LINK] to view them."
},
"sessionTemplates": {
"smsReminderMessage": "Reminder: [SESSION_NAME] on [SESSION_DATE] at [SESSION_TIME].",
"whatsappReminderMessage": "Reminder: [SESSION_NAME] on [SESSION_DATE] at [SESSION_TIME]."
},
"posSettings": {
"layoutTemplate": "modern"
}
}

Body Parameters​

ParameterTypeRequiredDescription
namestringNoWorkspace name (1-120 characters if provided)
sloganstringNoWorkspace slogan (1-160 characters if provided)
labTemplates.smsDefaultMessagestringNoDefault SMS template (labs)
sessionTemplates.smsReminderMessagestringNoDefault SMS reminder template (sessions)
sessionTemplates.whatsappReminderMessagestringNoDefault WhatsApp reminder template (sessions)
posSettings.layoutTemplatestringNoPoint-of-sale screen layout for the workspace: default (classic dashboard layout) or modern (card-style catalog). Persona: readable by Workspace Owner and Staff (via GET workspace); only the Workspace Owner may change it via PATCH (Staff receive 403 if posSettings is present in the body).
POS layout

If posSettings is omitted, existing POS layout settings are unchanged. New workspaces default to default.

Response (200)​

{
"workspace": {
"id": "507f1f77bcf86cd799439011",
"name": "Updated Workspace Name",
"slogan": "Updated slogan",
"email": "newemail@example.com",
"updatedAt": "2024-01-15T11:00:00Z"
}
}

Common Errors​

  • 400 Bad Request: Invalid request body
  • 401 Unauthorized: Missing or invalid authentication token
  • 403 Forbidden: Insufficient permissions (requires workspace.update), or Staff attempted to send posSettings (only Workspace Owner may update POS layout)
  • 404 Not Found: Workspace not found
  • 409 Conflict: Email already exists
  • 422 Unprocessable Entity: Validation errors
  • 500 Internal Server Error: Server error