Skip to main content
PATCH
https://app.tokencraft.dev/api/v1
/
workspaces
/
{id}
Update Workspace
curl --request PATCH \
  --url https://app.tokencraft.dev/api/v1/workspaces/{id} \
  --header 'Authorization: Bearer <token>'

Update Workspace

Updates an existing workspace. Only provided fields will be updated.
Write access policy - This endpoint requires the write:tokens scope.
  • TEAM-owned workspace: owner, admin, editor can write; viewer is blocked (403).
  • Non-TEAM workspace: only the workspace owner can write.
  • If the workspace owner plan has no API write access (for example FREE), write is blocked.

Endpoint

PATCH /workspaces/{id}

Authentication

Requires a valid API token in the Authorization header.

Request

Headers

HeaderValueRequired
AuthorizationBearer tokenYes
Content-Typeapplication/jsonYes

Path Parameters

ParameterTypeRequiredDescription
idstringYesWorkspace ID

Body Parameters

ParameterTypeRequiredDescription
namestringNoNew workspace name (max 255 characters)
descriptionstringNoNew description (null to remove)
All body parameters are optional. Only provided fields will be updated.

Request Body

{
  "name": "Updated Design System",
  "description": "Updated description"
}

Response

Success Response

Status: 200 OK
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "name": "Updated Design System",
  "description": "Updated description",
  "user_id": "user-123",
  "created_at": "2025-01-15T10:00:00Z",
  "updated_at": "2025-01-15T14:30:00Z"
}

Examples

curl -X PATCH https://app.tokencraft.dev/api/v1/workspaces/550e8400-e29b-41d4-a716-446655440000 \
  -H "Authorization: Bearer tkc_your_token_here" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Updated Design System"
  }'

Error Responses

400 Bad Request

{
  "error": "Name must be a non-empty string"
}
Causes:
  • Empty name field
  • name exceeds 255 characters
  • Invalid field types

401 Unauthorized

{
  "error": "Invalid API token"
}

404 Not Found

{
  "error": "Workspace not found"
}
Causes:
  • Workspace ID doesn’t exist
  • You do not have access to this workspace

Validation Rules

  • name: If provided, must be non-empty string, max 255 characters
  • description: If provided, must be string or null

Use Cases

1. Rename Workspace

await updateWorkspace(id, { name: 'New Name' });

2. Update Description

await updateWorkspace(id, { 
  description: 'Updated project description' 
});

3. Remove Description

await updateWorkspace(id, { description: null });

Next Steps