Application Forms
Create custom application questions per job including text fields, selects, file uploads, and more. Applicants answer them on the public form.
Application Forms
Recruiters can configure custom questions for each job. Applicants see these questions on the public application form along with standard fields (name, email, resume).
Question Types
Reqcore supports nine question types:
| Type | Description | Input |
|---|---|---|
short_text | Single-line text answer | Text input |
long_text | Multi-line text answer | Textarea |
single_select | Choose one option from a list | Dropdown |
multi_select | Choose multiple options from a list | Checkboxes |
number | Numeric value | Number input |
date | Calendar date | Date picker |
url | Web link | URL input |
email | Email address | Email input |
file_upload | Upload a file (portfolio, cover letter, etc.) | File input |
Managing Questions
From the Dashboard
- Navigate to the job's Application Form tab
- Click Add Question to create a new question
- Configure:
- Question text — What you're asking
- Type — The input type
- Required — Whether the applicant must answer
- Options — For select question types, define the choices
- Drag questions to reorder them
Reordering
Questions can be reordered via drag-and-drop. The order is saved to the database using a bulk reorder endpoint and reflected on the public application form.
Editing and Deleting
Each question can be edited or deleted from the Application Form tab. Deleting a question does not delete existing responses from past applications.
Public Application Form
When a job is Open, a shareable application link is generated. The URL format is:
/jobs/{slug}/apply
The form consists of:
- Standard fields: Name, email (always present)
- Custom questions: Rendered dynamically based on the job's configuration
- File uploads: Resume upload (standard) + any
file_uploadquestions
Submission Flow
- Applicant fills in all fields
- Files are validated (MIME type via magic bytes) and uploaded to S3
- A candidate record is created (or the existing one is reused if the email matches)
- An application record links the candidate to the job
- Question responses are stored per application
- Applicant sees a confirmation page
Anti-Spam
- Honeypot field — Hidden field that bots fill in; submissions with this field are silently rejected
- Rate limiting — IP-based sliding window limits on the submission endpoint
API Endpoints
| Method | Path | Description |
|---|---|---|
GET | /api/jobs/:id/questions | List custom questions (org-scoped) |
POST | /api/jobs/:id/questions | Add a question |
PATCH | /api/jobs/:id/questions/:qid | Update a question |
DELETE | /api/jobs/:id/questions/:qid | Delete a question |
PUT | /api/jobs/:id/questions/reorder | Reorder questions |
Next Steps
- Public Job Board — How applicants discover your jobs
- Candidate Pipeline — Track applicants through stages
- Document Storage — How uploaded files are stored securely