Prerequisites

  • A Tally account
  • An API key

Request

To create a form, send a POST request to the /forms endpoint with the following payload:

curl -X POST 'https://api.tally.so/forms' \
-H 'Authorization: Bearer <token>' \
-H 'Content-Type: application/json' \
-d '{
  "status": "PUBLISHED",
  "blocks": [
    {
      "uuid": "6ef8675d-33cb-419b-a81e-93982e726f2e",
      "type": "FORM_TITLE",
      "groupUuid": "073c835f-7ad4-459c-866d-4108b6b7e2e1",
      "groupType": "TEXT",
      "payload": {
        "title": "Test",
        "html": "Test"
      }
    }
  ]
}'

Each block requires a unique UUID. You can generate UUIDs using any standard UUID library.

Response

The API will respond with a 201 status code and with some form meta data:

{
  "id": "m2fK5R",
  "name": "Test",
  "workspaceId": "kb3o5R",
  "organizationId": "atL65s",
  "status": "PUBLISHED",
  "hasDraftBlocks": false,
  "isClosed": false,
  "updatedAt": "2024-12-20T10:34:19.262Z",
  "createdAt": "2024-12-20T10:34:19.262Z"
}

Your form should now show up in the Tally dashboard. And when you open it, you should see the empty form with just a title “Test”.