Upload Workspace Logo (v1)
Method + Path
POST /v1/workspace/:workspaceId/branding/logos/:variant
Actual backend path: /v1/workspace/:workspaceId/branding/logos/:variant
Description
Upload a logo image for the workspace. Supports multiple variants: primary, secondary, etc.
Authentication
Required - JWT token in Authorization header
Required Permissions:
workspace.update
Headers
| Header | Type | Required | Description |
|---|---|---|---|
Authorization | string | Yes | Bearer token: Bearer <token> |
Content-Type | string | Yes | multipart/form-data |
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
workspaceId | string | Yes | Workspace identifier |
variant | string | Yes | Logo variant. Valid values: primary, secondary |
Request Body
Form data with a file field named file.
Form Fields
| Field | Type | Required | Description |
|---|---|---|---|
file | file | Yes | Image file to upload (JPEG, PNG, etc.) |
Response (201)
{
"workspace": {
"id": "507f1f77bcf86cd799439011",
"logos": {
"primary": "https://storage.example.com/logos/workspace-123-primary.jpg"
},
"updatedAt": "2024-01-15T11:00:00Z"
}
}
Common Errors
- 400 Bad Request: Missing or invalid file, invalid variant
- 401 Unauthorized: Missing or invalid authentication token
- 403 Forbidden: Insufficient permissions (requires
workspace.update) - 404 Not Found: Workspace not found
- 413 Payload Too Large: File size exceeds limit
- 415 Unsupported Media Type: Invalid file type
- 500 Internal Server Error: Server error