List all form templates
Returns all form categories and form templates in the workspace. Form templates are reusable definitions that can be attached to tasks as form instances. Each template row includes metadata (name, category, tags, field count) but not individual field definitions. Use GET /workspace/form-templates/{id} to load the full field schema (types, labels, required flags, select options, settings) before attaching a template via POST /tasks/{identifier}/form-instances (body.templateId) or when building PATCH payloads: each values key matches the field key when set, otherwise the field id — the same strings appear as valueKey on GET /tasks/{identifier}/form-instances. Requires only the api scope (no FormTemplates.manage permission). For backward compatibility, GET /administration/form-templates-available returns the same list shape.
/workspace/form-templatesAuthorizationOAuth2 access token · headerrequiredapi:readAuthorizationBearer token (JWT) · headerrequiredcategoriesFormCategoryResponseDto[]requiredShow propertiesHide properties
FormCategoryResponseDtodefaultKeyobject | nulldescriptionobject | nulliconstringrequiredidstringrequirednamestringrequiredsortnumberrequiredtranslationsFormCategoryTranslationResponseDto[]requiredShow propertiesHide properties
FormCategoryTranslationResponseDtodescriptionobject | nulllanguagestringrequirednameobject | nulltemplatesFormTemplateListItemResponseDto[]requiredShow propertiesHide properties
FormTemplateListItemResponseDtocategoryobjectrequiredcategoryIdstringrequiredcreatedAtstring<date-time>requiredcreatedBystringrequireddescriptionstringrequiredfieldsCountnumberrequirediconobject | nullidstringrequirednamestringrequiredsortnumberrequiredtagsstring[]requiredupdatedAtstring<date-time>requiredupdatedByobject | nullcurl -X GET "https://leadtime.app/api/public/workspace/form-templates" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"const response = await fetch("https://leadtime.app/api/public/workspace/form-templates", {
method: "GET",
headers: {
"Authorization": "Bearer YOUR_ACCESS_TOKEN"
}
});import requests
response = requests.get(
"https://leadtime.app/api/public/workspace/form-templates",
headers={
"Authorization": "Bearer YOUR_ACCESS_TOKEN"
},
){
"categories": [
{
"defaultKey": {},
"description": {},
"icon": "string",
"id": "string",
"name": "string",
"sort": 0,
"translations": [
{
"description": {},
"language": "string",
"name": {}
}
]
}
],
"templates": [
{
"category": {},
"categoryId": "string",
"createdAt": "2024-01-01T00:00:00Z",
"createdBy": "string",
"description": "string",
"fieldsCount": 0,
"icon": {},
"id": "string",
"name": "string",
"sort": 0,
"tags": [
"string"
],
"updatedAt": "2024-01-01T00:00:00Z",
"updatedBy": {}
}
]
}