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