# 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.