Forms
Forms are the backbone of the application process in Semantikmatch. They help collect candidate information, including answers to questions and document uploads. On this page, we'll dive into the different form endpoints you can use to manage forms programmatically. We'll look at how to query, create, update, and delete forms.
Like every model in Semantikmatch, the form can be set up directly through the Semantikmatch backoffice. Once configured, forms can be used to manage applications.
The Form Model
The form model contains all the information about a form, including the title, steps, and fields. Forms are used to guide applicants through various stages of an application process.
Example Form Format
{
"id": "09bd225c-651a-404e-876a-7458b3cb03b3",
"title": "BBA Program",
"created_at": "2025-05-05T14:39:26.863Z",
"modified_at": "2025-05-05T14:39:26.863Z",
"steps": [
{
"name": "Eligibility",
"description": null,
"fields": [
{
"name": "ID",
"type": null
},
{
"name": "diploma",
"type": null
},
{
"name": "school certificate",
"type": null
},
{
"name": "academic transcript",
"type": null
},
{
"name": "english test",
"type": null
}
]
}
]
}
Properties
- Name
id
- Type
- string
- Description
Unique identifier for the form.
- Name
title
- Type
- string
- Description
The title of the form.
- Name
created_at
- Type
- string
- Description
ISO timestamp of when the form was created.
- Name
modified_at
- Type
- string
- Description
ISO timestamp of when the form was last modified.
- Name
steps
- Type
- array
- Description
An array of steps, each containing fields.
Each step is an object with the following properties:
- name: string
- description: string or null
- fields: Array of fields
- Name
fields
- Type
- array
- Description
A field is an object to define the data that will be collected from the applicant.
Each field within a form has the following properties:
- name: string
- type: string or null
Field Type
Each field within a form have a specific type, which determines the kind of data it can hold. The available field types are:
- info: Provides informational content.
- question: Represents a question that requires an answer.
- attachment: Allows for file uploads.
- video: Requires a video response.
- url: Accepts a URL input.
List All Forms
This endpoint allows you to retrieve a paginated list of all your forms. By default, a maximum of ten forms are shown per page.
Optional Parameters
- Name
page
- Type
- integer
- Description
The page number to retrieve.
- Name
limit
- Type
- integer
- Description
Limit the number of forms returned.
- Name
id
- Type
- string
- Description
Filter by form ID.
- Name
name
- Type
- string
- Description
Filter by form name.
- Name
created_at
- Type
- string
- Description
Filter by creation date.
List Forms
curl "https://api.semantikmatch.com/api/forms?page=1&limit=10" \
-H "Authorization: Bearer YOUR_API_KEY"
Response
Response
{
"forms": [
{
"id": "09bd225c-651a-404e-876a-7458b3cb03b3",
"title": "BBA Program",
"created_at": "2025-05-05T14:39:26.863Z",
"modified_at": "2025-05-05T14:39:26.863Z",
"steps": [
{
"name": "Eligibility",
"description": null,
"fields": [
{
"name": "ID",
"type": null
},
{
"name": "diploma",
"type": null
}
]
}
]
},
{
"id": "50b23f9a-1670-48f8-a666-e64011cb43e2",
"title": "MBA Program",
"created_at": "2025-05-04T10:15:42.301Z",
"modified_at": "2025-05-04T10:15:42.301Z",
"steps": [
{
"name": "Apply Phase",
"description": null,
"fields": [
{
"name": "CV",
"type": "attachment"
},
{
"name": "ID",
"type": "attachment"
}
]
}
]
}
],
"meta": {
"total": 2,
"page": 1,
"limit": 10
}
}
Create a Form
This endpoint allows you to create a new form in Semantikmatch. You can define the title, steps, and fields of the form.
Required Parameters
- Name
name
- Type
- string
- Description
The title of the form.
- Name
steps
- Type
- array
- Description
An array of steps, each containing fields.
Create a Form
curl https://api.semantikmatch.com/api/forms \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "MBA Program",
"steps": [
{
"name": "Apply Phase",
"fields": [
{
"name": "CV",
"type": "attachment"
},
{
"name": "Transcript",
"type": "attachment"
},
{
"name": "ID",
"type": "attachment"
},
{
"name": "GMAT_OR_MANAGEMENT",
"type": "attachment"
},
{
"name": "TOEFL_OR_ENGLISH",
"type": "attachment"
}
]
}
]
}'
Response
Response
{
"id": "50b23f9a-1670-48f8-a666-e64011cb43e2",
"title": "MBA Program",
"created_at": "2025-05-05T12:00:00Z",
"modified_at": "2025-05-05T12:00:00Z",
"steps": [
{
"name": "Apply Phase",
"description": null,
"fields": [
{
"name": "CV",
"type": "attachment"
},
{
"name": "Transcript",
"type": "attachment"
},
{
"name": "ID",
"type": "attachment"
},
{
"name": "GMAT_OR_MANAGEMENT",
"type": "attachment"
},
{
"name": "TOEFL_OR_ENGLISH",
"type": "attachment"
}
]
}
]
}
Retrieve a Form
This endpoint allows you to retrieve a specific form by providing its ID. The response includes all steps and fields associated with the form.
Get Form Details
curl "https://api.semantikmatch.com/api/forms/09bd225c-651a-404e-876a-7458b3cb03b3" \
-H "Authorization: Bearer YOUR_API_KEY"
Response
Response
{
"id": "09bd225c-651a-404e-876a-7458b3cb03b3",
"title": "BBA Program",
"created_at": "2025-05-05T14:39:26.863Z",
"modified_at": "2025-05-05T14:39:26.863Z",
"steps": [
{
"name": "Eligibility",
"description": null,
"fields": [
{
"name": "ID",
"type": null
},
{
"name": "diploma",
"type": null
},
{
"name": "school certificate",
"type": null
},
{
"name": "academic transcript",
"type": null
},
{
"name": "english test",
"type": null
},
{
"name": "management test",
"type": null
},
{
"name": "French test",
"type": null
},
{
"name": "essay",
"type": null
},
{
"name": "resume",
"type": null
}
]
}
]
}
Update a Form
This endpoint allows you to completely update a form by its ID. You must provide the entire form structure, as this will replace the existing form.
Required Parameters
- Name
title
- Type
- string
- Description
The title of the form.
- Name
steps
- Type
- array
- Description
An array of steps, each containing fields.
Update a Form
curl -X PUT "https://api.semantikmatch.com/api/forms/09bd225c-651a-404e-876a-7458b3cb03b3" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "Updated BBA Program",
"steps": [
{
"name": "Eligibility",
"description": "Required documents for eligibility assessment",
"fields": [
{
"name": "ID",
"type": "attachment"
},
{
"name": "diploma",
"type": "attachment"
},
{
"name": "school certificate",
"type": "attachment"
},
{
"name": "academic transcript",
"type": "attachment"
},
{
"name": "english test",
"type": "attachment"
}
]
},
{
"name": "Additional Documents",
"description": "Additional information for your application",
"fields": [
{
"name": "motivation letter",
"type": "attachment"
},
{
"name": "recommendation letters",
"type": "attachment"
}
]
}
]
}'
Response
Response
{
"id": "09bd225c-651a-404e-876a-7458b3cb03b3",
"title": "Updated BBA Program",
"created_at": "2025-05-05T14:39:26.863Z",
"modified_at": "2025-05-05T16:21:08.472Z",
"steps": [
{
"name": "Eligibility",
"description": "Required documents for eligibility assessment",
"fields": [
{
"name": "ID",
"type": "attachment"
},
{
"name": "diploma",
"type": "attachment"
},
{
"name": "school certificate",
"type": "attachment"
},
{
"name": "academic transcript",
"type": "attachment"
},
{
"name": "english test",
"type": "attachment"
}
]
},
{
"name": "Additional Documents",
"description": "Additional information for your application",
"fields": [
{
"name": "motivation letter",
"type": "attachment"
},
{
"name": "recommendation letters",
"type": "attachment"
}
]
}
]
}
Delete a Form
This endpoint allows you to delete a specific form by its ID. Once deleted, all steps and fields associated with the form will be removed.
Delete a Form
curl -X DELETE "https://api.semantikmatch.com/api/forms/09bd225c-651a-404e-876a-7458b3cb03b3" \
-H "Authorization: Bearer YOUR_API_KEY"
Response
Response
{
"message": "Form deleted successfully",
"form": {
"id": "09bd225c-651a-404e-876a-7458b3cb03b3",
"title": "BBA Program",
"created_at": "2025-05-05T14:39:26.863Z",
"modified_at": "2025-05-05T14:39:26.863Z"
}
}