Onlyfy API Integration

These are the list of integration use cases supported by Knit for Onlyfy API as part of the ATS category


Delete User

  • ID: delete_user
  • Operation: write
  • Entities: user
  • Summary: The Delete User API allows you to delete a user from the system using their unique ID. The request requires an API key for authorization, which should be included in the headers. The user ID is a required path parameter. On successful deletion, the response body is empty.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Find Access Group by ID

  • ID: get_access_group_by_id
  • Operation: read
  • Entities: access group
  • Summary: This API retrieves an access group by its ID. It requires an API key for authorization, which should be included in the request headers. The ID of the access group must be provided as a path parameter. On success, it returns a JSON object containing the ID and name of the access group. Possible response codes include 200 for success, 401 for unauthorized access, and 403 for forbidden access.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Find Application by ID

  • ID: get_application_by_id
  • Operation: read
  • Entities: job application status, application, user
  • Summary: This API endpoint retrieves a specific application by its ID. It requires an API key for authorization and the application ID as a path parameter. The response includes detailed information about the application, such as ratings, candidate and job IDs, status logs, and recruiter files. The response is returned in JSON format and includes various fields like 'is_finished', 'created_at', 'motivational_letter', and 'current_job_application_status'.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Find Application Source by ID

  • ID: get_application_source_by_id
  • Operation: read
  • Entities: translation, application source
  • Summary: This API retrieves an application source by its ID. It requires an API key for authorization and the ID of the application source as a path parameter. On success, it returns a JSON object containing an array of translations, the ID of the application source, and a boolean indicating if the source is selectable by candidates. The response includes status codes 200 for success, 401 for unauthorized access, and 403 for forbidden access.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

List Available Application Sources

  • ID: get_available_application_sources
  • Operation: read
  • Entities: pagination link, translation object, application source
  • Summary: This API endpoint lists all available application sources or allows specifying a query to filter them. It requires an API key for authorization. The request can include query parameters to specify translations, which are arrays of job application source translation objects. The response includes an array of job application sources, each with translations, an ID, and a flag indicating if it is selectable by candidates. Pagination links are also provided in the response.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

List Available Job Application Status Sets

  • ID: get_available_job_application_status_sets
  • Operation: read
  • Entities: job application status, job application status reason, job application status set
  • Summary: This API endpoint allows users to list all available job application status sets or specify a query to filter the results. The request method is GET, and the endpoint is https://api.prescreenapp.io/v1/status_set. The API requires an API key for authorization. Users can optionally provide query parameters such as 'id' to specify the status set ID and 'statuses' to filter by job application status objects. The response includes an array of job application status sets, each containing details such as whether the status is default, rejected, hired, etc., along with associated job IDs and status reasons. Pagination links are also provided in the response.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Find Candidate by ID

  • ID: get_candidate_by_id
  • Operation: read
  • Entities: job application, candidate, profile
  • Summary: The 'Find Candidate by ID' API allows users to retrieve detailed information about a candidate using their unique ID. The request is made using the GET method to the endpoint 'https://api.prescreenapp.io/v1/candidate/{id}', where '{id}' is the path parameter representing the candidate's ID. An API key is required for authorization. On success, the API returns a comprehensive JSON object containing the candidate's profile, including personal details, contact information, positions, educations, and other relevant data. The response includes timestamps for updates, logins, and activities, as well as information about the candidate's CV, social media IDs, and custom fields. The API returns a 200 status code on success, 401 if not authorized, and 403 if access is forbidden.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Find Candidate Tag by ID

  • ID: get_candidate_tag_by_id
  • Operation: read
  • Entities: candidate tag
  • Summary: This API retrieves a candidate tag by its ID. It requires an API key for authorization and the ID of the candidate tag as a path parameter. On success, it returns the details of the candidate tag including its ID, creation date, name, and color code. The response is in JSON format. Possible response codes include 200 for success, 401 for unauthorized access, and 403 for forbidden access.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Find City by ID

  • ID: get_city_by_id
  • Operation: read
  • Entities: city
  • Summary: This API retrieves details of a city by its ID. The request requires an API key for authorization and the city ID as a path parameter. On success, it returns a JSON object containing the city's translations, unique ID, OpenStreetMap ID, country code, latitude, longitude, Google ID, and state. The response includes an array of translations with the city's name and country in different languages.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

List Custom Candidate Fields for a Job

  • ID: get_custom_candidate_fields_for_job
  • Operation: read
  • Entities: candidate, job, custom field
  • Summary: This API endpoint lists all custom fields in the application process for a specific job. It requires an API key for authorization and a job ID as a path parameter. Optionally, a query parameter 'translations' can be set to 'all' to return all available translations. The response includes an array of custom fields with details such as type, translations, and custom field values. The response also includes pagination links. Possible response codes are 200 for success, 401 for unauthorized access, and 404 if the job is not found.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Find Custom Field by ID

  • ID: get_custom_field_by_id
  • Operation: read
  • Entities: translation, custom field value, custom field
  • Summary: This API retrieves a custom field by its ID. The request requires an API key for authorization and the ID of the custom field as a path parameter. The response includes details about the custom field such as its type, translations, name, label, and associated values. It also indicates if the field is related to a job or candidate and if it is mandatory. If the field type is 'file', the response includes the accepted file formats.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Find Department by ID

  • ID: get_department_by_id
  • Operation: read
  • Entities: department
  • Summary: This API retrieves a department by its ID. It requires an API key for authorization. The request is made using the GET method to the endpoint https://api.prescreenapp.io/v1/department/{id}, where {id} is the path parameter representing the department's ID. On success, it returns a JSON object containing the department's ID and an array of translations with the department's name in different languages. The response includes a 200 status code on success, 401 if not authorized, and 403 if access is forbidden.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Find a Single Job

  • ID: get_find_a_single_job
  • Operation: read
  • Entities: job template, job, user
  • Summary: The 'Find a Single Job' API retrieves details of a specific job using its ID or handle. It requires an API key for authorization. The endpoint is 'https://api.prescreenapp.io/v1/job/{id}', where 'id' is a required path parameter representing the job's ID or handle. An optional query parameter 'include_job_ad_html' can be used to include the job ad HTML in the response. On success, it returns a detailed JSON object containing job information such as banner URL, user details, job template, description, salary, position type, and more. The response also includes information about the job's publication status, custom fields, job contents, main contact, application status set, and salary information. If the job is not found, a 404 response is returned with a message indicating the item does not exist.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Find Team by ID

  • ID: get_find_team_by_id
  • Operation: read
  • Entities: team
  • Summary: This API retrieves a team by its ID using the GET method. The request requires an API key for authorization and a path parameter 'id' which is the ID of the team to be retrieved. On success, it returns a JSON object containing the team's ID and name. Possible responses include 200 for success, 401 for unauthorized access, and 403 for forbidden access.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Find Industry by ID

  • ID: get_industry_by_id
  • Operation: read
  • Entities: translation, industry
  • Summary: This API retrieves information about a specific industry by its ID. The request requires an API key for authorization and the industry ID as a path parameter. On success, it returns a JSON object containing the industry's ID and an array of translations with the industry's name in different languages. The response includes a 200 status code on success, and possible error codes include 401 for unauthorized access and 403 for forbidden access.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

List All Applications or Query Specific Application

  • ID: get_list_all_applications_or_query_specific_application
  • Operation: read
  • Entities: candidate, application, job
  • Summary: This API endpoint allows users to list all applications or query specific applications based on various parameters. The request method is GET, and the endpoint is https://api.prescreenapp.io/v1/application. The API requires an API key for authorization. Users can filter applications using query parameters such as application id, candidate id, job id, and flags like is_finished, has_upload_task, etc. The response includes detailed information about each application, including ratings, job application status, recruiter files, and pagination links.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

List All Available Access Groups

  • ID: get_list_all_available_access_groups
  • Operation: read
  • Entities: access group
  • Summary: This API endpoint retrieves a list of all available access groups. It requires an API key for authorization. The request can include optional query parameters 'id' and 'name' to filter the access groups by their ID or name. The response includes an array of access group objects, each with an 'id' and 'name', and pagination links for navigating through the list of access groups.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

List All Available Teams

  • ID: get_list_all_available_teams
  • Operation: read
  • Entities: team, pagination link, recruiter team
  • Summary: This API endpoint retrieves a list of all available teams. It requires an API key for authorization. The request can include optional query parameters such as 'id' and 'name' to filter the teams. The response includes an array of team objects, each with an 'id' and 'name', as well as pagination links to navigate through the list of teams.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

List All Available Users

  • ID: get_list_all_available_users
  • Operation: read
  • Entities: access group, recruiter team, user
  • Summary: This API endpoint is used to list all available users. It requires an API key for authorization. The request can include optional query parameters such as id, email, firstname, middlename, lastname, phone, gender, ldap_username, and access_group to filter the users. The response returns a list of users with their details including access group and recruiter team memberships. The response also includes pagination links to navigate through the list of users.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

List All Candidates or Query Specific Candidate Profiles

  • ID: get_list_all_candidates_or_query_specific_candidate_profiles
  • Operation: read
  • Entities: education, position, candidate
  • Summary: This API endpoint allows you to list all candidates or query specific candidate profiles based on various parameters. The request method is GET, and the endpoint is https://api.prescreenapp.io/v1/candidate. Authorization is required via an API key. The query parameters include a candidate profile object with fields such as firstname, lastname, phone, birthday, gender, city_id, homeaddress, and more. The response includes detailed candidate information such as profile details, positions, educations, languages, and more. The response also includes pagination links for navigating through the list of candidates.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

List All Jobs or Specify a Query

  • ID: get_list_all_jobs_or_specify_a_query
  • Operation: read
  • Entities: job, department, user
  • Summary: This API endpoint allows users to list all jobs or specify a query to filter jobs. By default, it returns all jobs, including inactive ones. To filter only active jobs, set the 'finished_at' query parameter to null. The API requires an 'apikey' for authorization. It supports various query parameters such as 'id', 'handle', 'user', 'title', 'created_at', and more to refine the search. The response includes detailed job information such as 'id', 'handle', 'user', 'title', 'description', 'salary', 'position_type', and more. The response also includes pagination links for navigating through the job listings.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

List Available Candidate Tags

  • ID: get_list_available_candidate_tags
  • Operation: read
  • Entities: pagination link, candidate tag
  • Summary: This API endpoint retrieves a list of available candidate tags. It supports filtering by ID, creation date, name, and color code through query parameters. The request requires an API key for authorization. On success, it returns a list of candidate tags with their details such as ID, creation date, name, and color code, along with pagination links. The response includes a 200 status code on success, 401 if not authorized, and 403 if access is forbidden.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

List Available Cities or Query Specific City

  • ID: get_list_available_cities_or_query_specific_city
  • Operation: read
  • Entities: translation, pagination link, city
  • Summary: This API endpoint allows users to list all available cities or query specific cities by providing various query parameters such as city ID, name, country, OpenStreetMap ID, country code, latitude, longitude, Google ID, and state. The request requires an API key for authorization. The response includes an array of city objects, each containing translations, ID, OpenStreetMap ID, country code, latitude, longitude, Google ID, and state. Pagination links are also provided in the response.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

List Available Custom Fields

  • ID: get_list_available_custom_fields
  • Operation: read
  • Entities: custom field translation, custom field value, custom field
  • Summary: This API endpoint allows users to list all available custom fields or specify a query to filter the results. The request method is GET, and it requires an API key for authorization. The query parameters include 'id', 'name', 'translations', 'locale', 'label', 'custom_field_values', 'is_job', 'is_candidate', and 'is_mandatory'. The response returns a list of custom fields with details such as type, translations, ID, name, label, custom field values, and file formats if applicable. The response also includes pagination links.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

List Available Departments

  • ID: get_list_available_departments
  • Operation: read
  • Entities: department translation, department
  • Summary: This API endpoint retrieves a list of available departments. It supports filtering by department ID, name, and translations. The request requires an API key for authorization. The response includes an array of department objects, each containing translations and an ID, along with pagination links for navigating through the results.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

List Available Industries

  • ID: get_list_available_industries
  • Operation: read
  • Entities: pagination link, industry translation, industry
  • Summary: The 'List Available Industries' API allows users to retrieve a list of industries. Users can filter the results by industry ID or name, and specify translations for the industries. The API requires an API key for authorization. The response includes an array of industry objects, each with translations and an ID, along with pagination links for navigating through the results.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Find Status Set by ID

  • ID: get_status_set_by_id
  • Operation: read
  • Entities: job application status, job application status reason, status set
  • Summary: This API retrieves a status set by its ID using a GET request to the specified endpoint. The request requires an API key for authorization and a path parameter 'id' which is the ID of the status set to be retrieved. On success, it returns a JSON object containing the status set details, including an array of job application statuses and job IDs. Each status includes properties such as 'is_default', 'is_rejected', 'is_hired', and more, along with an array of job application status reasons.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Find User by ID

  • ID: get_user_by_id
  • Operation: read
  • Entities: access group, id, user
  • Summary: This API retrieves a user by their ID. It requires an API key for authorization and the user ID as a path parameter. On success, it returns a JSON object containing the user's details, including their access group, email, name, phone, gender, and LDAP username. The response includes a 200 status code on success, 401 if not authorized, and 403 if access is forbidden.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Partially or Fully Update an Existing Application

  • ID: patch_existing_application
  • Operation: write
  • Entities: candidate, application, job
  • Summary: This API allows for the partial or full update of an existing application. The PATCH request is sent to the endpoint https://api.prescreenapp.io/v1/application/{id}, where {id} is the required path parameter representing the application ID. The request body can include various fields such as candidate_id, job_id, is_finished, referer, xrm_tracking_id, recruiter_files, source, and send_email. The recruiter_files field is an array of objects containing details about files associated with the application. The response includes detailed information about the application, including ratings, timestamps, status logs, and recruiter files. The API requires an api_key for authorization and returns a 200 status code on success, with a detailed JSON response body. Error responses include status codes 400 for bad requests, 401 for unauthorized access, and 403 for forbidden actions.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Partially or Fully Update an Existing Candidate

  • ID: patch_existing_candidate
  • Operation: write
  • Entities: position, candidate, profile
  • Summary: This API allows for the partial or full update of an existing candidate's profile in the system. The PATCH request is sent to the endpoint 'https://api.prescreenapp.io/v1/candidate/{id}', where 'id' is the unique identifier of the candidate to be updated. The request requires an API key for authorization. The request body can include various fields such as language, profile details (including name, phone, avatar, birthday, gender, address, etc.), email, and other optional fields like custom fields, candidate tags, and social media IDs. The response includes updated candidate details such as profile information, email, timestamps for creation and last activity, and other metadata. A successful update returns a 201 status code, while errors such as missing required fields or unauthorized access return 400 or 401 status codes, respectively.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Partially or Fully Update an Existing Job

  • ID: patch_update_existing_job
  • Operation: write
  • Entities: job, department, user
  • Summary: This API allows for partially or fully updating an existing job by sending a PATCH request to the specified endpoint. The request requires an API key for authorization and the job ID as a path parameter. The request body can include various fields such as title, department ID, description, salary, position type, zip code, seniority, industry ID, custom fields, start of work date, immediate start flag, head count, salary information, remote work information, and skills. The response includes details about the updated job, including its ID, title, description, salary, position type, and other relevant information. The response also contains information about the user, instance, job template, custom fields, job contents, main contact, job application status set, and application URLs.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Update User Information

  • ID: patch_update_user_information
  • Operation: write
  • Entities: access group, user
  • Summary: The Update User Information API allows you to update the details of a user identified by their ID. The API requires an API key for authorization. The path parameter 'id' is required to specify the user to be updated. The request body must include the user's email, and optionally, their first name, middle name, last name, phone number, gender, and LDAP username. The access group can also be updated by providing its ID. On success, the API returns the updated user details, including their access group information. Possible response codes include 200 for success, 401 for unauthorized access, and 403 for forbidden access.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Add a New Application

  • ID: post_add_new_application
  • Operation: write
  • Entities: candidate, application, job
  • Summary: This API endpoint allows the creation of a new application for a candidate. It requires an API key for authorization. The request body must include either a candidate_id or candidate_email, and either a job_id or job_handle. Additional optional fields include is_finished, referer, xrm_tracking_id, recruiter_files, send_email, and motivational_letter. On success, it returns a 201 status with details of the application, including ratings, application status, and recruiter files. Errors such as bad request, unauthorized access, or conflicts with existing data are indicated by 400, 401, and 409 status codes respectively.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Add a New Candidate

  • ID: post_add_new_candidate
  • Operation: write
  • Entities: position, candidate, profile
  • Summary: The 'Add a New Candidate' API allows users to create a new candidate profile in the system. The API requires a POST request to the endpoint 'https://api.prescreenapp.io/v1/candidate' with an API key for authorization. The request body must include the candidate's profile details such as firstname, lastname, email, and other optional fields like phone, avatar, birthday, gender, and more. The response will include the candidate's ID, profile details, and other metadata. The API returns a 201 status code on success, 400 for bad request, 401 for unauthorized access, 403 for forbidden access, and 409 for conflicts such as duplicate email addresses.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Add a New Job

  • ID: post_add_new_job
  • Operation: write
  • Entities: job, department, user
  • Summary: The 'Add a New Job' API allows users to create a new job listing by providing various details such as title, description, salary, position type, and more. The request requires an API key for authorization and accepts a JSON body with job details. On success, it returns a 201 status code with job details including the banner URL, job ID, and user information. In case of errors, it returns appropriate status codes and error messages.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Add User

  • ID: post_add_user
  • Operation: write
  • Entities: request, access group, user
  • Summary: The Add User API allows you to create a new user in the system. It requires an API key for authorization. The request body must include the user's email, which is required, and optionally other details such as first name, middle name, last name, phone, gender, and LDAP username. The access group can also be specified with an ID. On success, it returns a 201 status code with the user's details including their access group information. If not authorized, it returns a 401 status code, and if forbidden, a 403 status code.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Invite User

  • ID: post_invite_user
  • Operation: write
  • Entities: team, access group, user
  • Summary: The Invite User API allows you to invite a user by sending a POST request to the specified endpoint. The request requires an API key for authorization, and the request body must include the user's email, access group ID, and team ID. On success, the API returns a 200 status code. If the request is not authorized, a 401 status code is returned, and if the request is forbidden, a 403 status code is returned.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Set the status of an application

  • ID: put_set_status_of_application
  • Operation: write
  • Entities: application, status
  • Summary: This API sets the status of an application using the PUT method. It requires an API key for authorization. The endpoint is https://api.prescreenapp.io/v1/application/{id}/status/{status_id}, where 'id' is the application ID and 'status_id' is the status ID to set. The request body can include a 'reason' and 'reason_id' for setting the status. On success, it returns a 204 status code. Possible error responses include 401 for not authorized, 403 for forbidden, and 404 for application/status not found.
  • Input Fields: Input Fields
  • Output Fields: Output Fields