Skip to main content

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

curl -X GET http://localhost:8080/api/jobs/1/questions
Retrieve all custom application form questions for a specific job.

Path Parameters

jobId
integer
required
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

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

jobId
integer
required
The unique identifier of the job

Body Parameters

title
string
required
The question text (max 500 characters)
questionType
string
required
Type of question. Options: short_answer, long_answer, checkbox, radio
isRequired
boolean
default:"false"
Whether the question must be answered to submit the application
position
integer
required
Display order on the application form (must be positive)
options
array
Array of answer options (required for checkbox and radio types, minimum 2 options)
options[].label
string
required
The option text (max 500 characters)
options[].isCorrect
boolean
default:"false"
Whether this option is marked as correct (for filtering/scoring)
options[].position
integer
required
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

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

jobId
integer
required
The unique identifier of the job
questionId
integer
required
The unique identifier of the custom question

Body Parameters

All parameters are optional. Only include fields you want to update.
title
string
Updated question text
questionType
string
Updated question type
isRequired
boolean
Updated required status
position
integer
Updated display order
options
array
Updated options array

Response

{
  "data": {
    "id": 3,
    "jobId": 1,
    "title": "What JavaScript frameworks do you have experience with?",
    "questionType": "checkbox",
    "isRequired": false,
    "position": 1
  }
}

Delete Custom Question

curl -X DELETE http://localhost:8080/api/jobs/1/questions/3
Remove a custom question from the application form.

Path Parameters

jobId
integer
required
The unique identifier of the job
questionId
integer
required
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

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

jobId
integer
required
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

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

jobId
integer
required
The unique identifier of the job

Body Parameters

assessmentId
integer
required
The ID of the assessment to automatically send
triggerStageId
integer
required
The pipeline stage ID that triggers the assessment invite

Response

{
  "data": {
    "id": 1,
    "jobId": 1,
    "assessmentId": 3,
    "triggerStageId": 2
  }
}

Error Responses

400 Bad Request
Stage not found or assessment not found

Remove Assessment Automation

curl -X DELETE http://localhost:8080/api/jobs/1/assessment-attachment/2
Remove the automatic assessment trigger for a specific pipeline stage.

Path Parameters

jobId
integer
required
The unique identifier of the job
stageId
integer
required
The pipeline stage ID from which to remove the assessment trigger

Response

{
  "data": {
    "id": 1,
    "jobId": 1,
    "assessmentId": 3,
    "triggerStageId": 2
  }
}

Error Responses

404 Not Found
No assessment attached to that stage

Build docs developers (and LLMs) love