Create custom icon
Creates a new custom icon for the workspace.
What are Custom Icons? Custom icons are user-uploaded symbols (images) that can be used throughout the workspace to visually organize and tag content. They help make information easier to grasp quickly.
How to create a custom icon:
- Upload an image file (PNG or SVG format) using POST /api/public/workspace/upload
- Get the file ID from the upload response
- Provide a unique icon name (e.g.,
:company_logo:,:team_sales:,:lt_editor:) - Use the file ID in the
imageIdfield
Icon name requirements:
- Must be alphanumeric characters and underscores only
- Cannot conflict with default emoji names
- Format: typically wrapped in colons (e.g.,
:icon_name:)
Note: This endpoint requires the CustomIcons.create permission. Once created, the icon is available to all users in the workspace and can be used in projects, tickets, documents, and profiles.
POST
/administration/custom-iconsAuthorization
AuthorizationOAuth2 access token · headerrequiredScopes:
api:writeor
AuthorizationBearer token (JWT) · headerrequiredRequest body
requiredapplication/jsonimageIdstringrequiredFile ID (UUID) of the uploaded icon image. First upload the image file (PNG or SVG format) using POST /api/public/workspace/upload, then use the returned file ID here.
namestringrequiredUnique name for the custom icon. Must be alphanumeric characters and underscores only. Cannot conflict with default emoji names. Typically formatted with colons (e.g., `:company_logo:`, `:team_sales:`, `:lt_editor:`). This name is used to reference the icon throughout the workspace.
Responses
201Custom icon created successfully
object401Unauthorized - Invalid or missing authentication token
403Forbidden - Insufficient API scopes or permissions
Request
curl -X POST "https://leadtime.app/api/public/administration/custom-icons" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"imageId": "123e4567-e89b-12d3-a456-426614174000",
"name": "company_logo"
}'const response = await fetch("https://leadtime.app/api/public/administration/custom-icons", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_ACCESS_TOKEN",
"Content-Type": "application/json"
},
body: JSON.stringify({
"imageId": "123e4567-e89b-12d3-a456-426614174000",
"name": "company_logo"
})
});import requests
response = requests.post(
"https://leadtime.app/api/public/administration/custom-icons",
headers={
"Authorization": "Bearer YOUR_ACCESS_TOKEN",
"Content-Type": "application/json"
},
json={
"imageId": "123e4567-e89b-12d3-a456-426614174000",
"name": "company_logo"
},
)Response
{}Unauthorized - Invalid or missing authentication token
Forbidden - Insufficient API scopes or permissions