/v1/forms/from-boardMake a form for a board
Builds a form from a board's own columns and PUBLISHES it at once — the one call for 'make a form for this board'. Body: targetDefinitionKey (the board's key; the board on screen when the person says 'this board'), optional name (default: the board's name), description, columnIds (a subset, in the order to ask them; omit for every column a person can fill, in the board's order) and sections ([{title, columnIds}], every chosen column in exactly one; omit for one unsectioned form). The server writes the questions: one per column, the question kind matched to the column kind, starred columns required, each answer landing in its column. Person, relation, file, formula, lookup and files columns are never asked. Prefer this over 'Build a form' whenever the form fills a board — never hand-write the field list for one. Answers the live form with its slug; 'Where this form lives on the web' gives its address.
Access class: workspace:admin.
Send request
Use the documented inputs to call this endpoint directly.
Request body
application/jsonrequiredResponses
the action's answer
{
"data": {
"createdAt": "string",
"createdBy": "string",
"description": "string",
"fields": [
{
"column": "string",
"id": "",
"kind": "string",
"label": "string",
"placeholder": "string",
"required": true
}
],
"id": "",
"name": "string",
"publishedAt": "string",
"sections": [
"string"
],
"settings": {
"analytics": true,
"automations": [
"string"
],
"branding": {
"logoAlt": "string",
"logoPosition": "string",
"logoUrl": "string"
},
"pacing": "string",
"postSubmit": {
"mode": "string",
"redirectUrl": "string",
"showEditLink": true
},
"saveDrafts": true,
"signature": {
"consentText": "string",
"required": true,
"signerEmailFieldId": ""
},
"theme": {
"buttonStyle": "string",
"fontFamily": "string",
"primaryColor": "string",
"secondaryColor": "string"
}
},
"slug": "string",
"stats": {
"submissions": 1.5,
"views": 1.5
},
"status": "string",
"targetDefinitionKey": "string",
"updatedAt": "string"
}
}a refusal: {"error": "<what a person needs to read>"}. 401 no credential, 402 the plan does not include this, 403 the seat does not, 404 the thing does not exist or is not yours to see.
{
"error": "string"
}