Documentation Index Fetch the complete documentation index at: https://mintlify.com/chamals3n4/OpenATS/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Custom Questions endpoints allow you to add field-specific questions to job application forms and configure automated assessment triggers when candidates reach certain pipeline stages.
Get Custom Questions
GET /jobs/{jobId}/questions
curl -X GET http://localhost:8080/api/jobs/1/questions
Retrieve all custom application form questions for a specific job.
Path Parameters
The unique identifier of the job
Response
{
"data" : [
{
"id" : 1 ,
"jobId" : 1 ,
"title" : "Which frameworks are you familiar with?" ,
"questionType" : "checkbox" ,
"isRequired" : true ,
"position" : 1 ,
"options" : [
{
"id" : 1 ,
"label" : "React" ,
"isCorrect" : false ,
"position" : 1
},
{
"id" : 2 ,
"label" : "Vue.js" ,
"isCorrect" : false ,
"position" : 2
}
]
},
{
"id" : 2 ,
"jobId" : 1 ,
"title" : "Why do you want to join our team?" ,
"questionType" : "long_answer" ,
"isRequired" : false ,
"position" : 2 ,
"options" : []
}
]
}
Create Custom Question
POST /jobs/{jobId}/questions
curl -X POST http://localhost:8080/api/jobs/1/questions \
-H "Content-Type: application/json" \
-d '{
"title": "Which frameworks do you know?",
"questionType": "checkbox",
"isRequired": true,
"position": 1,
"options": [
{"label": "React", "isCorrect": false, "position": 1},
{"label": "Vue.js", "isCorrect": false, "position": 2}
]
}'
Add a new custom question to the job application form.
Path Parameters
The unique identifier of the job
Body Parameters
The question text (max 500 characters)
Type of question. Options: short_answer, long_answer, checkbox, radio
Whether the question must be answered to submit the application
Display order on the application form (must be positive)
Array of answer options (required for checkbox and radio types, minimum 2 options)
The option text (max 500 characters)
Whether this option is marked as correct (for filtering/scoring)
Display order of this option
Response
{
"data" : {
"id" : 3 ,
"jobId" : 1 ,
"title" : "Which frameworks do you know?" ,
"questionType" : "checkbox" ,
"isRequired" : true ,
"position" : 1 ,
"options" : [
{
"id" : 5 ,
"label" : "React" ,
"isCorrect" : false ,
"position" : 1
},
{
"id" : 6 ,
"label" : "Vue.js" ,
"isCorrect" : false ,
"position" : 2
}
]
}
}
Update Custom Question
PUT /jobs/{jobId}/questions/{questionId}
curl -X PUT http://localhost:8080/api/jobs/1/questions/3 \
-H "Content-Type: application/json" \
-d '{
"title": "What JavaScript frameworks do you have experience with?",
"isRequired": false
}'
Update an existing custom question.
Path Parameters
The unique identifier of the job
The unique identifier of the custom question
Body Parameters
All parameters are optional. Only include fields you want to update.
Response
{
"data" : {
"id" : 3 ,
"jobId" : 1 ,
"title" : "What JavaScript frameworks do you have experience with?" ,
"questionType" : "checkbox" ,
"isRequired" : false ,
"position" : 1
}
}
Delete Custom Question
DELETE /jobs/{jobId}/questions/{questionId}
curl -X DELETE http://localhost:8080/api/jobs/1/questions/3
Remove a custom question from the application form.
Path Parameters
The unique identifier of the job
The unique identifier of the custom question to delete
Response
{
"data" : {
"id" : 3 ,
"jobId" : 1 ,
"title" : "What JavaScript frameworks do you have experience with?"
}
}
Get Assessment Attachment
GET /jobs/{jobId}/assessment-attachment
curl -X GET http://localhost:8080/api/jobs/1/assessment-attachment
Retrieve which assessment is automatically sent when candidates reach a specific pipeline stage.
Path Parameters
The unique identifier of the job
Response
{
"data" : {
"id" : 1 ,
"jobId" : 1 ,
"assessmentId" : 3 ,
"triggerStageId" : 2 ,
"assessment" : {
"id" : 3 ,
"title" : "Backend Node.js Assessment" ,
"description" : "Technical screening test" ,
"timeLimit" : 60 ,
"passScore" : 70
},
"stage" : {
"id" : 2 ,
"name" : "Technical Assessment" ,
"position" : 2
}
}
}
Set Assessment Automation
POST /jobs/{jobId}/assessment-attachment
curl -X POST http://localhost:8080/api/jobs/1/assessment-attachment \
-H "Content-Type: application/json" \
-d '{
"assessmentId": 3,
"triggerStageId": 2
}'
Configure an assessment to be automatically sent when candidates reach a specific pipeline stage.
Path Parameters
The unique identifier of the job
Body Parameters
The ID of the assessment to automatically send
The pipeline stage ID that triggers the assessment invite
Response
{
"data" : {
"id" : 1 ,
"jobId" : 1 ,
"assessmentId" : 3 ,
"triggerStageId" : 2
}
}
Error Responses
Stage not found or assessment not found
Remove Assessment Automation
DELETE /jobs/{jobId}/assessment-attachment/{stageId}
curl -X DELETE http://localhost:8080/api/jobs/1/assessment-attachment/2
Remove the automatic assessment trigger for a specific pipeline stage.
Path Parameters
The unique identifier of the job
The pipeline stage ID from which to remove the assessment trigger
Response
{
"data" : {
"id" : 1 ,
"jobId" : 1 ,
"assessmentId" : 3 ,
"triggerStageId" : 2
}
}
Error Responses
No assessment attached to that stage