PKCE mandatory from 2026-09-14 Details
Employment Hero LogoEmployment Hero

Form Template

This endpoint retrieves a paginated list of form templates for the organisation.

GET
https://api.employmenthero.com/api/v1/organisations/:organisation_id/form_templates

Path Parameters

organisation_iduuidrequired

The ID of the organisation.

Query Parameters

page_indexnumber

Current page index

Default1
Min1
item_per_pagenumber

Number of items per page

Default20
Max100

Response Body

dataobject
itemsobject[]
iduuid

Unique identifier for the form template.

namestring

The name of the form template.

descriptionstring

A description of the form template.

category_iduuid

Unique identifier of the category the form template belongs to.

category_namestring

The name of the category the form template belongs to.

is_systemboolean

Whether this is a system-managed template. System templates cannot be updated or deleted.

created_atdatetime

The date and time the form template was created.

updated_atdatetime

The date and time the form template was last updated.

page_indexnumber

Current page index

Default1
Min1
item_per_pagenumber

Number of items per page

Default20
Max100
total_itemsnumber

Total items

total_pagesnumber

Total pages

Example

curl -X GET \  "https://api.employmenthero.com/api/v1/organisations/:organisation_id/form_templates" \  -H "Authorization: Bearer AUXJ3123xyrj123fdsjkl124aAJKQ"

Response

{  "data": {    "items": [      {        "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",        "name": "Employee Onboarding Checklist",        "description": "Standard onboarding form template for new employees.",        "category_id": "c1d2e3f4-a5b6-7890-abcd-ef1234567890",        "category_name": "HR",        "is_system": false,        "created_at": "2024-01-15T09:00:00+10:00",        "updated_at": "2024-03-20T14:30:00+10:00"      }    ],    "page_index": 1,    "item_per_page": 20,    "total_items": 1,    "total_pages": 1  }}

This endpoint retrieves a single form template including its full structure of sections and questions.

GET
https://api.employmenthero.com/api/v1/organisations/:organisation_id/form_templates/:template_id

Path Parameters

organisation_iduuidrequired

The ID of the organisation.

template_iduuidrequired

The ID of the form template.

Response Body

dataobject
iduuid

Unique identifier for the form template.

namestring

The name of the form template.

descriptionstring

A description of the form template.

category_iduuid

Unique identifier of the category the form template belongs to.

category_namestring

The name of the category the form template belongs to.

is_systemboolean

Whether this is a system-managed template. System templates cannot be updated or deleted.

created_atdatetime

The date and time the form template was created.

updated_atdatetime

The date and time the form template was last updated.

submission_policiesenum<string>[]

Who is allowed to submit the form. Always includes self.

employee_file_view_policiesenum<string>[]

Who can view the submitted response in the employee file.

sectionsobject[]

The sections and questions of the form template.

Example

curl -X GET \  "https://api.employmenthero.com/api/v1/organisations/:organisation_id/form_templates/:template_id" \  -H "Authorization: Bearer AUXJ3123xyrj123fdsjkl124aAJKQ"

Response

{  "data": {    "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",    "name": "Employee Onboarding Checklist",    "description": "Standard onboarding form template for new employees.",    "category_id": "c1d2e3f4-a5b6-7890-abcd-ef1234567890",    "category_name": "HR",    "is_system": false,    "created_at": "2024-01-15T09:00:00+10:00",    "updated_at": "2024-03-20T14:30:00+10:00",    "submission_policies": [      "self",      "primary_manager"    ],    "employee_file_view_policies": [      "affected_employee",      "primary_manager"    ],    "sections": [      {        "id": "section-1",        "name": "Personal Details",        "description": null,        "questions": [          {            "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",            "key": "ks-key-0000-0000-000000000001",            "text": "What is your full name?",            "description": "Please enter your legal full name.",            "type": "short_text",            "required": true,            "visibility_condition": null          },          {            "id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",            "key": "ks-key-0000-0000-000000000002",            "text": "What is your employment type?",            "description": null,            "type": "dropdown",            "required": false,            "visibility_condition": null,            "options": [              {                "id": "d4e5f6a7-b8c9-0123-def0-234567890123",                "text": "Full-time"              },              {                "id": "e5f6a7b8-c9d0-1234-ef01-345678901234",                "text": "Part-time"              }            ]          }        ]      }    ]  }}

Create a new form template with sections and questions.

POST
https://api.employmenthero.com/api/v1/organisations/:organisation_id/form_templates

Path Parameters

organisation_iduuidrequired

The ID of the organisation.

Request Body

namestringrequired

The name of the form template. Must be unique within the organisation (max 255 characters).

descriptionstring

An optional description of the form template.

category_iduuidrequired

The ID of the category to assign to this template. Must belong to the organisation.

sectionsobject[]required

The sections of the form template. At least one section is required.

submission_policiesenum<string>[]

Additional roles allowed to submit the form on behalf of the affected employee. self submission is always enabled and does not need to be specified.

employee_file_view_policiesenum<string>[]

Who can view submitted responses for this template in the employee file.

Question type requirements

Question type selection_options statement default_to_submitter
short_text, long_text, number, date, date_time Not applicable Not applicable Not applicable
multiple_choice Required — minimum 2 options Not applicable Not applicable
dropdown Required — minimum 2 options Not applicable Not applicable
checkboxes Required — minimum 1 option Not applicable Not applicable
file_upload, signature Not applicable Not applicable Not applicable
acknowledgment Not applicable The text the employee must confirm Not applicable
employee_picker Not applicable Not applicable Optional — defaults to false

Option text within selection_options cannot be blank.

Conditional visibility

Questions can be conditionally shown or hidden based on the answer to another question using the visibility_condition field. To use this:

  1. Assign a key to the source question (the one being watched).
  2. On the dependent question, set visibility_condition.source_question_key to that key.
  3. Choose an operator valid for the source question's type (see table below).
  4. Set value to the answer value to compare against.

The source_question_key must match a key present elsewhere in the sections payload. Questions can reference source questions across different sections.

Valid operators by source question type:

Source question type Valid operators Valid value
short_text equals, contains Any string
long_text equals, contains Any string
number equals, greater_than, less_than, greater_than_or_equal, less_than_or_equal Numeric string (e.g. "5")
date equals, before, after Date string in YYYY-MM-DD format
date_time equals, before, after Date string in YYYY-MM-DD format
multiple_choice equals Option text
dropdown equals, is_one_of Option text; array of option texts for is_one_of
checkboxes includes Option text
employee_picker equals, is_one_of Employee UUID; array of UUIDs for is_one_of
acknowledgment is "true" (acknowledged)
file_upload is Not validated by the API
signature is Not validated by the API

Response Body

Returns the full detail of the newly created form template, including all sections and questions.

dataobject
iduuid

Unique identifier for the form template.

namestring

The name of the form template.

descriptionstring

A description of the form template.

category_iduuid

Unique identifier of the category the form template belongs to.

category_namestring

The name of the category the form template belongs to.

is_systemboolean

Whether this is a system-managed template. System templates cannot be updated or deleted.

created_atdatetime

The date and time the form template was created.

updated_atdatetime

The date and time the form template was last updated.

submission_policiesenum<string>[]

Who is allowed to submit the form. Always includes self.

employee_file_view_policiesenum<string>[]

Who can view the submitted response in the employee file.

sectionsobject[]

The sections and questions of the form template.

Example

curl -X POST \  "https://api.employmenthero.com/api/v1/organisations/:organisation_id/form_templates" \  -H "Authorization: Bearer AUXJ3123xyrj123fdsjkl124aAJKQ" \  -H "Content-Type: application/json" \  -d '{    "name": "Employee Onboarding Checklist",    "description": "Standard onboarding form template for new employees.",    "category_id": "c1d2e3f4-a5b6-7890-abcd-ef1234567890",    "sections": [      {        "name": "Personal Details",        "questions": [          {            "text": "How many overtime hours did you work this week?",            "type": "number",            "required": true,            "key": "q-overtime-hours"          },          {            "text": "Please provide a reason for your overtime.",            "type": "short_text",            "required": false,            "key": "q-overtime-reason",            "visibility_condition": {              "source_question_key": "q-overtime-hours",              "operator": "greater_than_or_equal",              "value": "5"            }          },          {            "text": "What is your employment type?",            "type": "multiple_choice",            "required": false,            "selection_options": [              {                "text": "Full-time"              },              {                "text": "Part-time"              },              {                "text": "Casual"              }            ]          },          {            "text": "Which benefits would you like to enrol in?",            "type": "checkboxes",            "required": false,            "selection_options": [              {                "text": "Health Insurance"              },              {                "text": "Gym Membership"              }            ]          },          {            "text": "Code of conduct acknowledgment",            "type": "acknowledgment",            "required": true,            "statement": "I confirm that I have read and agree to the company code of conduct."          }        ]      }    ],    "submission_policies": [      "primary_manager"    ],    "employee_file_view_policies": [      "affected_employee",      "primary_manager"    ]  }'

Response

{  "data": {    "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",    "name": "Employee Onboarding Checklist",    "description": "Standard onboarding form template for new employees.",    "category_id": "c1d2e3f4-a5b6-7890-abcd-ef1234567890",    "category_name": "HR",    "is_system": false,    "created_at": "2024-01-15T09:00:00+10:00",    "updated_at": "2024-03-20T14:30:00+10:00",    "submission_policies": [      "self",      "primary_manager"    ],    "employee_file_view_policies": [      "affected_employee",      "primary_manager"    ],    "sections": [      {        "id": "section-1",        "name": "Personal Details",        "description": null,        "questions": [          {            "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",            "key": "ks-key-0000-0000-000000000001",            "text": "What is your full name?",            "description": "Please enter your legal full name.",            "type": "short_text",            "required": true,            "visibility_condition": null          },          {            "id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",            "key": "ks-key-0000-0000-000000000002",            "text": "What is your employment type?",            "description": null,            "type": "dropdown",            "required": false,            "visibility_condition": null,            "options": [              {                "id": "d4e5f6a7-b8c9-0123-def0-234567890123",                "text": "Full-time"              },              {                "id": "e5f6a7b8-c9d0-1234-ef01-345678901234",                "text": "Part-time"              }            ]          }        ]      }    ]  }}

This endpoint updates an existing form template. All fields are optional — only provided fields are updated. System templates cannot be modified.

PATCH
https://api.employmenthero.com/api/v1/organisations/:organisation_id/form_templates/:template_id

Path Parameters

organisation_iduuidrequired

The ID of the organisation.

template_iduuidrequired

The ID of the form template to update. System templates cannot be updated.

Request Body

namestring

The name of the form template. Must be unique within the organisation (max 255 characters).

descriptionstring

A description of the form template.

category_iduuid

The ID of the category to assign to this template. Must belong to the organisation.

sectionsobject[]

The sections of the form template. When provided, replaces all existing sections entirely. At least one section is required. Omit this field to leave existing sections unchanged.

submission_policiesenum<string>[]

Additional roles allowed to submit the form on behalf of the affected employee. self submission is always enabled and does not need to be specified. Pass an empty array to clear all additional policies.

employee_file_view_policiesenum<string>[]

Who can view submitted responses for this template in the employee file. Pass an empty array to clear all policies.

Sections replacement behaviour

When sections is included in the request, the entire sections structure is replaced. All existing sections and questions are discarded and rebuilt from the provided payload. Omit sections entirely to leave the existing structure unchanged.

Question type requirements

Question type selection_options statement default_to_submitter
short_text, long_text, number, date, date_time Not applicable Not applicable Not applicable
multiple_choice Required — minimum 2 options Not applicable Not applicable
dropdown Required — minimum 2 options Not applicable Not applicable
checkboxes Required — minimum 1 option Not applicable Not applicable
file_upload, signature Not applicable Not applicable Not applicable
acknowledgment Not applicable The text the employee must confirm Not applicable
employee_picker Not applicable Not applicable Optional — defaults to false

Option text within selection_options cannot be blank.

Conditional visibility

Questions can be conditionally shown or hidden based on the answer to another question using the visibility_condition field. To use this:

  1. Assign a key to the source question (the one being watched).
  2. On the dependent question, set visibility_condition.source_question_key to that key.
  3. Choose an operator valid for the source question's type (see table below).
  4. Set value to the answer value to compare against.

The source_question_key must match a key present elsewhere in the sections payload. Questions can reference source questions across different sections.

Valid operators by source question type:

Source question type Valid operators Valid value
short_text equals, contains Any string
long_text equals, contains Any string
number equals, greater_than, less_than, greater_than_or_equal, less_than_or_equal Numeric string (e.g. "5")
date equals, before, after Date string in YYYY-MM-DD format
date_time equals, before, after Date string in YYYY-MM-DD format
multiple_choice equals Option text
dropdown equals, is_one_of Option text; array of option texts for is_one_of
checkboxes includes Option text
employee_picker equals, is_one_of Employee UUID; array of UUIDs for is_one_of
acknowledgment is "true" (acknowledged)
file_upload is Not validated by the API
signature is Not validated by the API

Response Body

Returns the full updated form template, including all sections and questions.

dataobject
iduuid

Unique identifier for the form template.

namestring

The name of the form template.

descriptionstring

A description of the form template.

category_iduuid

Unique identifier of the category the form template belongs to.

category_namestring

The name of the category the form template belongs to.

is_systemboolean

Whether this is a system-managed template. System templates cannot be updated or deleted.

created_atdatetime

The date and time the form template was created.

updated_atdatetime

The date and time the form template was last updated.

submission_policiesenum<string>[]

Who is allowed to submit the form. Always includes self.

employee_file_view_policiesenum<string>[]

Who can view the submitted response in the employee file.

sectionsobject[]

The sections and questions of the form template.

Example

curl -X PATCH \  "https://api.employmenthero.com/api/v1/organisations/:organisation_id/form_templates/:template_id" \  -H "Authorization: Bearer AUXJ3123xyrj123fdsjkl124aAJKQ" \  -H "Content-Type: application/json" \  -d '{    "name": "Employee Onboarding Checklist (Revised)",    "sections": [      {        "name": "Employment Details",        "questions": [          {            "text": "What is your employment type?",            "type": "dropdown",            "required": true,            "key": "employment-type",            "selection_options": [              {                "text": "Full-time"              },              {                "text": "Part-time"              },              {                "text": "Casual"              }            ]          },          {            "text": "How many hours per week?",            "type": "number",            "required": true,            "key": "weekly-hours",            "visibility_condition": {              "source_question_key": "employment-type",              "operator": "equals",              "value": "Part-time"            }          }        ]      }    ],    "submission_policies": [      "primary_manager"    ]  }'

Response

{  "data": {    "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",    "name": "Employee Onboarding Checklist",    "description": "Standard onboarding form template for new employees.",    "category_id": "c1d2e3f4-a5b6-7890-abcd-ef1234567890",    "category_name": "HR",    "is_system": false,    "created_at": "2024-01-15T09:00:00+10:00",    "updated_at": "2024-03-20T14:30:00+10:00",    "submission_policies": [      "self",      "primary_manager"    ],    "employee_file_view_policies": [      "affected_employee",      "primary_manager"    ],    "sections": [      {        "id": "section-1",        "name": "Personal Details",        "description": null,        "questions": [          {            "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",            "key": "ks-key-0000-0000-000000000001",            "text": "What is your full name?",            "description": "Please enter your legal full name.",            "type": "short_text",            "required": true,            "visibility_condition": null          },          {            "id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",            "key": "ks-key-0000-0000-000000000002",            "text": "What is your employment type?",            "description": null,            "type": "dropdown",            "required": false,            "visibility_condition": null,            "options": [              {                "id": "d4e5f6a7-b8c9-0123-def0-234567890123",                "text": "Full-time"              },              {                "id": "e5f6a7b8-c9d0-1234-ef01-345678901234",                "text": "Part-time"              }            ]          }        ]      }    ]  }}

This endpoint permanently deletes a form template. System templates cannot be deleted.

DELETE
https://api.employmenthero.com/api/v1/organisations/:organisation_id/form_templates/:template_id

Path Parameters

organisation_iduuidrequired

The ID of the organisation.

template_iduuidrequired

The ID of the form template to delete. System templates cannot be deleted.

Response Body

Returns HTTP 204 No Content on success. No response body is included.

Example

curl -X DELETE \  "https://api.employmenthero.com/api/v1/organisations/:organisation_id/form_templates/:template_id" \  -H "Authorization: Bearer AUXJ3123xyrj123fdsjkl124aAJKQ"

Response

This endpoint does not return a response body.