APIPublic forms
Get a published form
No authentication. Returns the published questions and copy. Forms that are not live return 404.
GET
/public/forms/{token}Path Parameters
tokenstring
The form's public token, from its share link.
Match
^[A-Za-z0-9_-]+$Length
8 <= length <= 64Response Body
curl -X GET "https://www.foliaplanner.com/api/v1/public/forms/stringst"{
"data": {
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"heading": "string",
"intro": "string",
"successMessage": "string",
"redirectUrl": "string",
"questions": [
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"label": "string",
"helpText": "string",
"type": "short_text",
"required": true,
"options": [
"string"
],
"autocomplete": "name"
}
]
}
}{
"type": "string",
"title": "string",
"status": -9007199254740991,
"code": "validation_failed",
"detail": "string",
"errors": {
"property1": "string",
"property2": "string"
}
}{
"type": "string",
"title": "string",
"status": -9007199254740991,
"code": "validation_failed",
"detail": "string",
"errors": {
"property1": "string",
"property2": "string"
}
}{
"type": "string",
"title": "string",
"status": -9007199254740991,
"code": "validation_failed",
"detail": "string",
"errors": {
"property1": "string",
"property2": "string"
}
}Webhooks
The outbound event shape, fixed now so integrations can be built before delivery is switched on.
Submit a form POST
No authentication. Answers are keyed by question id and validated against the form's published questions: a required answer that is missing or unusable, or any answer over its length cap, is a 422 with `errors` naming the question. On success the response carries the form's thank-you message and redirect URL. Submissions are rate limited per form (429 with `Retry-After`). Where a submission lands in the planner's CRM is decided on their side and is not reported to the caller.