# Making a Job Post Application
Using the questions fetched in the previous step, you will build an applicant-facing form for the user to provide answers to complete the job application. The answers to these questions are submitted to the Automation Cloud API and are used to complete the application process on the third-party website.
The response will include the status and, importantly, the applicationId.
The applicationId is used to check and confirm the status of the application.
Most question types will require a string value, but for other question types, see the expected format below:
inputType | Expected format for value |
---|---|
Text , TextArea , SelectOne | string |
SelectMultiple | string[] |
Date | string (for example: "2025-01-23" ) |
Boolean | boolean |
File | { "url": "https://example.com/file.pdf", "filename": "file.pdf", "type": "File" } |
ArrayOfObjects | Array of Arrays of Objects Example: [ [ { "id": "jobExperience", "value": "Software Engineer at Company A" }, { "id": "jobExperience", "value": "Project Manager at Company B" } ], [ { "id": "jobExperience", "value": "Intern at Company C" } ] ] |
FragmentedQuestion | Array of Objects Example: [ { "id": "availability", "value": "Available weekdays after 5 PM" } ] |
# API Endpoint
To submit the job application, use the following API endpoint:
POST /v1/recruitment/job-posts/apply/
# Headers
Name | Type | Required | Description |
---|---|---|---|
Authorization | string | ✅ | See Authentication |
Content-Type | string | ✅ | Media type of the request. Should be application/json . |
Example:
Authorization: Basic <credentials>
# Body Parameters
Parameter | Type | Required | Description |
---|---|---|---|
jobPostId | string | ✅ | The jobPostId used in the initial mining request. |
candidate | object | ✅ | The basic information about the candidate applying for the job, including email, first name, and last name. |
files | object | ✅ | Include any files required for the application, most notably the CV file. This should be a URL to the document. If any authorization is required to access these files, please share this with us. |
answers | array | ✅ | List of value-answer ID question pairs, from the questions fetched in the previous step. |
country | string | ISO 3166-1 alpha-2 code representing the country. Lowercase. If a country is used when mining geo-referenced jobs, this same country should be here. | |
url | string | Optional tracking URL to use when applying for the job. If present, the URL provided to mine the job should be used. If an override URL is used here, it must point to the same job post as the original mining URL, or the application will fail. | |
submit | boolean | If set to false, the application will not be submitted, to be used for testing purposes. If set to true, the automation will run up until the final point of submission and mock a successful response. Default: true . |
# Expected Schema
Parameter | Type | Example Value |
---|---|---|
jobPostId | string | example123 |
candidate | object | { "email": "janedoe@example.com", "firstName": "Jane", "lastName": "Doe" } |
files | object | { "cv": { "url": "https://example.com/mycv.pdf", "filename": "mycv.pdf", "type": "File" } } |
answers | array | [ { "value": "Yes", "id": "do-you-have-right-to-work-in-the-uk" } ] |
country | string | gb |
url | string | https://careers.employer.com/jobs/EXAMPLE |
# Code Sample
Here's an example of how to structure the API call to submit the job application:
POST
/v1/recruitment/job-posts/apply/
curl -X POST 'https://services.automation.cloud/v1/recruitment/job-posts/apply/' \
-H 'Authorization: Basic <credentials>' \
-H 'Content-Type: application/json' \
-L \
--data '{
"jobPostId": "example123",
"candidate": {
"email": "janedoe548453@gmail.com",
"password": "123QWEasd-",
"phone": {
"number": "7123456789",
"countryCode": "gb"
},
"firstName": "John",
"lastName": "Doe",
"middleName": ""
},
"files": {
"cv": {
"url": "https://mag.wcoomd.org/uploads/2018/05/blank.pdf",
"filename": "My_CV.pdf",
"type": "File"
}
},
"answers": [
{
"value": "Yes",
"id": "do-you-have-right-to-work-in-the-uk"
},
{
"value": "No",
"id": "are-you-resident-in-the-uk"
},
{
"value": "No",
"id": "do-you-have-a-car-that-you-can-use-for-w"
},
{
"value": "No",
"id": "do-you-have-a-full-uk-driving-licence"
},
{
"value": "No",
"id": "do-you-have-experience-working-in-health"
},
{
"value": "No",
"id": "do-you-have-experience-working-with-chil"
},
{
"value": "90210",
"id": "what-is-your-postcode"
}
],
"submit": false,
"country": "gb"
}'
# Success Responses
Upon a successful application submission, you will receive a response indicating the status of the application:
{
"status": "processing",
"applicationId": "5d3f3d4c-4c2b-4c2e-8a2f-7b2d8c7f3f7"
}
The
applicationId
is crucial for checking and confirming the status of the application.
# Important Notes
- Ensure that the
applicationId
is included in the submission to track the application status. - Review the expected format for each question type to ensure compatibility with the API.