Factorial HR API Integration

These are the list of integration use cases supported by Knit for Factorial HR API as part of the HRIS category


Delete Document

  • ID: delete_document
  • Operation: write
  • Entities: employee, document, company
  • Summary: The Delete Document API endpoint allows users to delete a specific document by its ID. The request requires the document ID as a path parameter. The response returns a JSON object containing details of the deleted document, including its author ID, company ID, content type, creation date, employee ID, file size, filename, and other metadata. The response also includes the deletion date of the document.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Delete Leave

  • ID: delete_leave
  • Operation: write
  • Entities: employee, leave, company
  • Summary: The Delete Leave API endpoint allows the deletion of a specific leave record identified by its ID. The request is made using the DELETE method to the URL https://api.factorialhr.com/api/2024-10-01/resources/timeoff/leaves/{id}, where {id} is the path parameter representing the leave's unique identifier. The request header can optionally include 'accept: application/json' to specify the desired response format. Upon successful deletion, the API returns a 200 OK response with a JSON object containing details of the deleted leave, including fields such as id, company_id, employee_id, start_on, finish_on, and other relevant information about the leave.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Delete Overtime Request

  • ID: delete_overtime_request
  • Operation: write
  • Entities: approver, employee, overtime request
  • Summary: The Delete Overtime Request API allows users to delete an existing overtime request by specifying its unique identifier in the path parameter. The request requires an 'accept' header with the value 'application/json'. Upon successful deletion, the API returns a JSON object containing details of the deleted overtime request, including fields such as 'id', 'employee_id', 'author_id', 'status', 'date', 'hours_amount_in_cents', 'approver', and 'is_editable'.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Delete Shift

  • ID: delete_shift
  • Operation: write
  • Entities: employee, shift, company
  • Summary: The Delete Shift API endpoint allows the deletion of a specific shift identified by its unique ID. The request is made using the DELETE method to the URL https://api.factorialhr.com/api/2024-10-01/resources/attendance/shifts/{id}, where {id} is the path parameter representing the shift's unique identifier. The request header should include 'accept: application/json' to specify the desired response format. Upon successful deletion, the API returns a JSON response containing details of the deleted shift, including its ID, employee ID, date, reference date, clock-in and clock-out times, location details, and other relevant information.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Retrieve Absence Employee Updates

  • ID: get_absence_employee_updates
  • Operation: read
  • Entities: absence, leave type, employee update
  • Summary: This API endpoint retrieves a list of absence employee updates. It accepts a GET request to the specified URL and can filter results by absence incidence IDs using the 'ids[]' query parameter. The response is a JSON array of objects, each containing details about an employee's absence, such as 'id', 'status', 'employee_id', 'employee_full_name', 'approved', 'description', 'start_on', 'prev_start_on', 'finish_on', 'prev_finish_on', 'half_day', 'leave_type_id', and 'leave_type_name'. The 'accept' header should be set to 'application/json'.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Get All Document Folders

  • ID: get_all_document_folders
  • Operation: read
  • Entities: folder, employee, document
  • Summary: This API endpoint retrieves all document folders. It supports filtering by active status, employee ID, folder IDs, and folder name through query parameters. The response is a list of folders, each containing details such as whether the folder is active, the company ID, folder ID, and folder name. The request must include an 'accept' header specifying 'application/json'.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Get All Documents

  • ID: get_all_documents
  • Operation: read
  • Entities: employee, document, company
  • Summary: This API endpoint retrieves all documents from the Factorial HR system. It supports various query parameters to filter the documents, such as by_bookkeeper_documents, by_pending_assignment, by_trash_bin, by_without_folder, employee_ids[], folder_id, ids[], and leave_id. The response is a list of document objects, each containing details like author_id, company_id, content_type, created_at, employee_id, extension, file_size, file, filename, folder_id, id, is_company_document, is_management_document, is_pending_assignment, leave_id, public, signature_status, signees, space, updated_at, and deleted_at.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Get All Folders

  • ID: get_all_folders
  • Operation: read
  • Entities: folder, document, company
  • Summary: This API endpoint retrieves all folders by their ID. It requires a path parameter 'id' which is the ID of the folder to be retrieved. The request should include an 'accept' header specifying 'application/json' as the media type. The response returns a JSON object containing details about the folder, including whether it is active, the company ID, the folder ID, and the folder name.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Get All Leaves

  • ID: get_all_leaves
  • Operation: read
  • Entities: employee, leave, company
  • Summary: This API endpoint retrieves all leaves from the Factorial HR system. It supports various query parameters to filter the results, such as leave IDs, employee IDs, leave type IDs, date range (from and to), and flags to include only active, approved, or pending leaves. The 'include_leave_type' and 'include_duration' parameters are required. The response is a JSON array of leave objects, each containing details such as the leave ID, company ID, employee ID, start and end dates, description, reason, leave type, approval status, employee's full name, start time, hours amount in cents, and timestamps for creation and last update.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Get All Shifts

  • ID: get_all_shifts
  • Operation: read
  • Entities: employee, shift, company
  • Summary: The Get All Shifts API endpoint allows users to retrieve all shifts from the attendance records. It supports various query parameters to filter the results, such as employee IDs, start and end dates, shift IDs, and flags for half-day shifts, workable days, latest shifts, sorting by creation date, and including breaks with time configuration. The response is a JSON array of shift objects, each containing details like shift ID, employee ID, date, clock-in and clock-out times, location, and other relevant information.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Get Break Configuration Details

  • ID: get_break_configuration_details
  • Operation: read
  • Entities: time setting break configuration, attendance employee setting, break configuration
  • Summary: This API endpoint retrieves the details of a specific break configuration by its unique identifier. The request requires the 'id' path parameter, which specifies the break configuration to be retrieved. The response includes details such as the ID of the break configuration, the associated attendance employee setting ID, the time settings break configuration ID, whether the break is enabled, the name of the break configuration, and whether the break is paid.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Get Break Configurations

  • ID: get_break_configurations
  • Operation: read
  • Entities: time setting break configuration, attendance employee setting, break configuration
  • Summary: This API endpoint retrieves all break configurations. It accepts optional query parameters such as 'ids[]' for specific break configuration IDs, 'time_settings_break_configuration_ids[]' for time settings break configuration IDs, 'attendance_employees_setting_id' for the ID of the attendance employee setting, and 'enabled' to filter by the status of the break configuration. The response is an array of break configuration objects, each containing details like 'id', 'attendance_employees_setting_id', 'time_settings_break_configuration_id', 'enabled', 'name', and 'paid' status.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Retrieve Current Open Shifts for Specified Employees

  • ID: get_current_open_shifts_for_specified_employees
  • Operation: read
  • Entities: employee, attendance, shift
  • Summary: This API endpoint retrieves the current open shifts for specified employee IDs. It requires an 'accept' header with the value 'application/json'. The query parameter 'employee_ids[]' can be used to filter the open shifts by specific employee IDs. The response is an array of open shift objects, each containing details such as the shift ID, employee ID, date, clock-in time, status, whether the shift is workable, and other related information.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Get Document Details

  • ID: get_document_details
  • Operation: read
  • Entities: employee, document, company
  • Summary: This API endpoint retrieves the details of a single document identified by its ID. The request is made using the GET method to the URL https://api.factorialhr.com/api/2024-10-01/resources/documents/documents/{id}. The request requires a path parameter 'id' which is the identifier of the document to be retrieved. The request header must include 'accept: application/json'. The response includes various details about the document such as author_id, company_id, content_type, created_at, employee_id, extension, file_size, file URL, filename, folder_id, document id, flags indicating if the document is a company or management document, leave_id, public status, signature status, signees, space, updated_at, and deleted_at.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Retrieve Employee Contract Change Details

  • ID: get_employee_contract_change_details
  • Operation: read
  • Entities: employee, compensation, contract change
  • Summary: This API endpoint is used to retrieve details of employee contract changes. It requires the 'id' path parameter, which is the unique identifier of the contract change incidence. The request must include an 'accept' header with the value 'application/json'. The response includes various details about the contract change, such as the status, effective date, employee ID, job title, salary amount, working hours, and other contract-specific information. The response is returned in JSON format.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Retrieve Employee Contract Changes

  • ID: get_employee_contract_changes
  • Operation: read
  • Entities: employee update, contract, contract change
  • Summary: This API endpoint retrieves a list of employee contract change updates. It accepts a GET request to the specified URL and can filter results by contract change incidence IDs using the 'ids[]' query parameter. The response is a JSON array of contract change objects, each containing details such as the contract change ID, status, effective date, employee ID, job title, salary amount, and other contract-specific information. The response includes various properties related to the contract change, such as job role, job level, payroll status, working hours, and country-specific details.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Get Employee Details

  • ID: get_employee_details
  • Operation: read
  • Entities: location, employee, company
  • Summary: This API endpoint retrieves detailed information about a specific employee using their ID. Only admins can access all employee information, while regular users receive a restricted version based on permissions set by the admin. The request requires the employee ID as a path parameter and accepts an optional 'accept' header to specify the response format. The response includes comprehensive employee details such as personal information, contact details, employment status, and more.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Get Employee Information

  • ID: get_employee_information
  • Operation: read
  • Entities: location, employee, company
  • Summary: This API endpoint allows administrators to retrieve detailed information about employees. Regular users will receive a restricted version of the payload based on permissions set by the admin. The API supports various query parameters to filter the results, such as employee IDs, access IDs, emails, names, legal entity IDs, team IDs, location IDs, and flags for active employees and managers. The response includes comprehensive employee details such as personal information, contact details, employment status, and more.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Retrieve Employee Updates Summaries

  • ID: get_employee_updates_summaries
  • Operation: read
  • Entities: employee, employee update, legal entity
  • Summary: This API endpoint retrieves a list of employee updates summaries. It supports filtering by various query parameters such as ids, employee_ids, legal_entities_ids, type, starts_on, and ends_on. The response is a JSON array of employee update objects, each containing fields like id, employee_id, legal_entity_id, status, type, starts_on, ends_on, and created_at.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Retrieve Employee Updates Summary

  • ID: get_employee_updates_summary
  • Operation: read
  • Entities: summary, employee update, legal entity
  • Summary: This API endpoint retrieves a summary of employee updates by their unique identifier. The request requires the 'id' path parameter, which specifies the employee update summary to retrieve. The response includes details such as the update's ID, employee ID, legal entity ID, status, type, start and end dates, and creation date. The response is returned in JSON format.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Get Estimated Attendance Times for Employees

  • ID: get_estimated_attendance_times_for_employees
  • Operation: read
  • Entities: employee, attendance, company
  • Summary: This API endpoint retrieves estimated attendance times for a list of employees over a specified date range. The request requires query parameters including 'start_on' and 'end_on' to define the date range, and 'employee_ids[]' to specify the employees. The response returns an array of objects, each containing details such as the date, company ID, employee ID, expected minutes, regular minutes, overtime minutes, breaks, time unit, estimated half days, shifts, source, and total minutes the employee is expected to work.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Get Leave Details

  • ID: get_leave_details
  • Operation: read
  • Entities: employee, leave, company
  • Summary: This API endpoint retrieves the details of a specific leave using its unique identifier. The request requires the 'id' path parameter, which is the identifier of the leave. The response includes detailed information about the leave, such as the company and employee identifiers, start and end dates, leave type, approval status, and timestamps for creation and last update.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Get Leave Type Details

  • ID: get_leave_type_details
  • Operation: read
  • Entities: leave type, company
  • Summary: This API endpoint retrieves the details of a specific leave type by its identifier. The request requires the 'id' path parameter, which is the unique identifier of the leave type. The response includes various attributes of the leave type such as its name, identifier, color, and other properties like whether it is active, editable, requires approval, accrues over time, and more. The response is returned in JSON format.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Get Leave Types

  • ID: get_leave_types
  • Operation: read
  • Entities: employee, leave type, company
  • Summary: The Get Leave Types API endpoint retrieves all available leave types from the Factorial HR system. It supports various query parameters to filter the results, such as 'ids[]' for leave type identifiers, 'company_ids[]' for company identifiers, 'active' to filter by active status, 'payable' to filter by payable status, 'identifier' for unique leave type identifiers, 'employee_id' for filtering by employee, 'reference_date' for a specific date reference, and 'leave_type_id' for a specific leave type. The response includes detailed information about each leave type, such as its name, identifier, color, active status, and other attributes.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Get Legal Entities

  • ID: get_legal_entities
  • Operation: read
  • Entities: employee, legal entity, company
  • Summary: This API endpoint retrieves all legal entities associated with companies. It supports filtering by various query parameters such as 'ids[]' for legal entity identifiers, 'employees_ids[]' for employee identifiers assigned to the legal entity, 'companies_ids[]' for company identifiers, and 'country_ids[]' for country codes. The response is a JSON array of legal entities, each containing details like 'id', 'company_id', 'country', 'legal_name', 'currency', 'tin', 'city', 'state', 'postal_code', 'address_line_1', and 'address_line_2'.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Get Legal Entity Details

  • ID: get_legal_entity_details
  • Operation: read
  • Entities: address, legal entity, company
  • Summary: This API endpoint retrieves the details of a single legal entity identified by the 'id' path parameter. The request requires the 'id' of the legal entity to be specified in the path. The response includes details such as the legal entity's identifier, company identifier, country code, legal name, currency code, tax identification number, city, state, postal code, and address lines. The response is returned in JSON format.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Retrieve New Hire Employee Updates

  • ID: get_new_hire_employee_updates
  • Operation: read
  • Entities: employee update, new hire, manager
  • Summary: This API endpoint retrieves details of new hire employee updates. It supports filtering by new hire incidence IDs through query parameters. The response includes comprehensive details about each new hire, such as personal information, job details, and contact information. The request requires an 'accept' header specifying 'application/json'. The response is an array of objects, each representing a new hire with fields like 'id', 'status', 'employee_id', 'first_name', 'last_name', 'address', and more.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Get Overtime Request Details

  • ID: get_overtime_request_details
  • Operation: read
  • Entities: approver, employee, overtime request
  • Summary: This API endpoint retrieves the details of a specific overtime request by its unique identifier. The request requires the 'id' path parameter to specify which overtime request to retrieve. The response includes details such as the employee ID, author ID, status of the request (pending, approved, rejected, or none), date of the request, hours amount in cents, and whether the request is editable. The response is returned in JSON format.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Get Overtime Requests

  • ID: get_overtime_requests
  • Operation: read
  • Entities: employee, overtime request, approval flow
  • Summary: This API endpoint retrieves all overtime requests from the Factorial HR system. It supports filtering by various query parameters such as specific overtime request IDs, employee IDs, date range, and status. The 'include_approval_flow' parameter is required and determines whether the approval flow information is included in the response. The response includes detailed information about each overtime request, including the request ID, employee ID, author ID, status, date, hours amount, and whether the request is editable.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Retrieve Personal Changes Employee Updates

  • ID: get_personal_changes_employee_updates
  • Operation: read
  • Entities: employee, employee update, personal change
  • Summary: This API endpoint retrieves a list of personal changes employee updates. It uses the GET method and requires the 'accept' header to be set to 'application/json'. Optionally, you can filter the results by providing an array of personal change incidence ids as a query parameter 'ids[]'. The response is an array of objects, each containing detailed information about an employee's personal change, including fields such as 'id', 'status', 'employee_id', 'first_name', 'last_name', 'work_email', 'phone_number', 'identifier_type', 'identifier', 'social_security_number', 'tax_id', 'gender', 'date_of_birth', 'nationality', 'address_line_1', 'address_line_2', 'postal_code', 'city', 'state', 'country', 'bank_number', and 'job_title'.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Get Shift Details

  • ID: get_shift_details
  • Operation: read
  • Entities: employee, shift, company
  • Summary: This API endpoint retrieves the details of a specific shift by its unique identifier. The request requires the 'id' path parameter, which is mandatory. The response includes detailed information about the shift, such as the employee ID, shift date, clock-in and clock-out times, location details, and other relevant metadata. The response is returned in JSON format.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Retrieve Termination Employee Updates

  • ID: get_termination_employee_updates
  • Operation: read
  • Entities: termination, employee update, legal entity
  • Summary: This API endpoint retrieves a list of termination employee updates. It accepts a GET request to the specified URL and can filter results by termination incidence IDs using the 'ids[]' query parameter. The request must include an 'accept' header with the value 'application/json'. The response is an array of objects, each containing details about the termination, such as 'id', 'status', 'employee_id', 'terminated_on', 'termination_reason', 'termination_observations', 'legal_entity_id', 'remaining_holidays', and 'termination_reason_type'.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Get Worked Times

  • ID: get_worked_times
  • Operation: read
  • Entities: employee, worked time, company
  • Summary: The Get Worked Times API endpoint retrieves all worked times for specified employees within a given date range. It requires query parameters including 'start_on' and 'end_on' to define the date range, 'employee_ids[]' to specify which employees' worked times to retrieve, and boolean flags 'include_time_range_category' and 'include_non_attendable_employees' to include additional information in the response. The response is an array of objects, each containing details such as 'employee_id', 'date', 'company_id', 'tracked_minutes', 'effective_minutes', 'pending_minutes', 'minutes', 'time_unit', 'worked_time_blocks', 'day_type', and a unique 'id'.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Approve Employee Time-off Requests

  • ID: post_approve_employee_timeoff_requests
  • Operation: write
  • Entities: employee, time-off request, leave
  • Summary: This API endpoint allows authorized users to approve employee time-off requests. The request is made using the POST method to the URL https://api.factorialhr.com/api/2024-10-01/resources/timeoff/leaves/approve. The request headers must include 'accept' and 'content-type' both set to 'application/json'. The request body must contain the 'id' of the leave to be approved. Upon successful approval, the response will include details of the leave such as 'id', 'company_id', 'employee_id', 'start_on', 'finish_on', 'half_day', 'description', 'reason', 'leave_type_id', 'leave_type_name', 'approved', 'employee_full_name', 'start_time', 'hours_amount_in_cents', 'updated_at', and 'created_at'.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Approve Overtime Request

  • ID: post_approve_overtime_request
  • Operation: write
  • Entities: approver, employee, overtime request
  • Summary: The Approve Overtime Request API allows users to approve an overtime request by sending a POST request to the specified endpoint. The request must include the ID of the overtime request to be approved, and optionally, a reason and the approver's ID. The response returns details of the approved overtime request, including the request ID, employee ID, author ID, status, date, hours amount in cents, and whether the request is editable.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Autofill Employee Shifts

  • ID: post_autofill_employee_shifts
  • Operation: write
  • Entities: employee, attendance, shift
  • Summary: The Autofill Employee Shifts API allows users to automatically fill shifts for specified employees over a given date range. The request requires the employee IDs, start date, and end date for the autofill operation. Optionally, a source can be specified for the shift creation. The response returns an array of shift objects, each containing detailed information about the shift, including the employee ID, shift date, clock-in and clock-out times, location details, and other relevant metadata.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Clock In a Shift

  • ID: post_clock_in_a_shift
  • Operation: write
  • Entities: clock in, employee, shift
  • Summary: This API endpoint is used to clock in a shift for an employee. The request requires a POST method to the specified URL with headers indicating the content type as 'application/json'. The request body must include the current time ('now') as a required field, along with optional fields such as 'employee_id', 'latitude', 'longitude', 'accuracy', 'observations', 'location_type', 'workplace_id', 'time_settings_break_configuration_id', 'project_worker_id', and 'subproject_id'. The response returns a JSON object containing details about the shift, including 'id', 'employee_id', 'date', 'reference_date', 'clock_in', 'clock_out', 'in_source', 'out_source', 'observations', 'location_type', 'half_day', 'in_location_latitude', 'in_location_longitude', 'in_location_accuracy', 'out_location_latitude', 'out_location_longitude', 'out_location_accuracy', 'workable', 'created_at', 'workplace_id', 'time_settings_break_configuration_id', 'company_id', 'minutes', and 'clock_in_with_seconds'.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Clock Out Shift

  • ID: post_clock_out_shift
  • Operation: write
  • Entities: employee, shift, company
  • Summary: This API endpoint is used to clock out a shift for an employee. The request requires a POST method to the specified URL with headers indicating the content type as 'application/json'. The request body must include the 'now' parameter, which is the clock out time, and can optionally include 'employee_id', 'latitude', 'longitude', 'accuracy', and 'observations'. The response returns a JSON object containing details about the shift, including the shift ID, employee ID, date, clock-in and clock-out times, location details, and other metadata about the shift.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Create a Leave

  • ID: post_create_a_leave
  • Operation: write
  • Entities: employee, leave, company
  • Summary: This API endpoint allows the creation of a leave for an employee. The request is made using the POST method to the URL https://api.factorialhr.com/api/2024-10-01/resources/timeoff/leaves. The request headers must include 'accept' and 'content-type' set to 'application/json'. The request body must include the 'employee_id' and 'start_on' fields as required parameters, along with optional fields such as 'leave_type_id', 'description', 'finish_on', and others to specify details about the leave. The response returns a 201 status code with a JSON object containing details of the created leave, including 'id', 'company_id', 'employee_id', 'start_on', 'finish_on', 'description', 'leave_type_id', 'approved', and timestamps for 'created_at' and 'updated_at'.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Create Break Configuration

  • ID: post_create_break_configuration
  • Operation: write
  • Entities: time setting break configuration, attendance employee setting, break configuration
  • Summary: This API endpoint is used to create a break configuration in the attendance system. It requires a POST request to the specified URL with headers indicating the content type as 'application/json'. The request body must include 'time_settings_break_configuration_id', 'attendance_employees_setting_id', and 'enabled' fields. The response will return a 201 status code with details of the created break configuration, including its ID, name, and whether it is paid or not.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Create Document

  • ID: post_create_document
  • Operation: write
  • Entities: employee, document, company
  • Summary: This API endpoint allows the creation of a document in the Factorial HR system. The request is made using the POST method to the specified URL. The request headers must include 'accept' and 'content-type' set to 'application/json'. The request body must include several required fields such as 'public', 'space', 'is_pending_assignment', 'file', 'author_id', 'company_id', 'signee_ids', and 'request_esignature'. The response will return a JSON object containing details about the created document, including its 'id', 'filename', 'created_at', 'updated_at', and other metadata.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Create Employee with Contract

  • ID: post_create_employee_with_contract
  • Operation: write
  • Entities: employee, contract, company
  • Summary: This API endpoint allows the creation of an employee with a contract in the Factorial HR system. The request is made via a POST method to the specified URL. The request headers must include 'accept' and 'content-type' set to 'application/json'. The request body must include required fields such as 'company_id', 'first_name', 'last_name', and 'email', along with optional fields like 'contract_effective_on', 'gender', 'identifier', and more. The response returns a JSON object indicating the success of the operation.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Create a Folder in Document Management System

  • ID: post_create_folder_in_document_management_system
  • Operation: write
  • Entities: folder, document, company
  • Summary: This API endpoint is used to create a new folder in the document management system. The request is made using the POST method to the specified URL. The request headers must include 'accept' and 'content-type' set to 'application/json'. The request body must contain the 'company_id', 'name', and 'space' parameters. The 'company_id' is an integer representing the company ID, 'name' is a string representing the folder name, and 'space' is a string that should always be 'employee_my_documents'. Upon successful creation, the API returns a response with the folder details including 'active' status, 'company_id', 'id', and 'name'.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Create Leave Type

  • ID: post_create_leave_type
  • Operation: write
  • Entities: allowance, leave type, company
  • Summary: This API endpoint allows the creation of a new leave type in the system. The request is made using the POST method to the specified URL. The request body must include several required fields such as 'accrues', 'approval_required', 'identifier', 'color', 'name', 'workable', 'company_id', and 'details_required'. Optional fields include 'attachment', 'visibility', 'payable', 'is_attachment_mandatory', 'half_days_units_enabled', 'max_days_in_cents', 'min_days_in_cents', 'editable', 'allow_endless', 'restricted', and 'description'. The response returns a JSON object containing details of the created leave type, including its 'id', 'name', 'identifier', 'color', 'attachment', 'visibility', 'workable', 'company_id', 'allowance_ids', and 'details_required'.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Create Overtime Request

  • ID: post_create_overtime_request
  • Operation: write
  • Entities: employee, attendance, overtime request
  • Summary: This API endpoint allows the creation of an overtime request for an employee. The request requires the date of the overtime, the employee's ID, and the author's ID as mandatory fields. Optional fields include a description and the amount of hours requested. The response includes details such as the request ID, employee ID, author ID, status, date, hours amount in cents, and whether the request is editable. The status can be 'pending', 'approved', 'rejected', or 'none'.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Create Shift

  • ID: post_create_shift
  • Operation: write
  • Entities: employee, shift, company
  • Summary: The Create Shift API allows users to create a new shift for an employee. The API requires a POST request to the specified URL with headers indicating the content type as application/json. The request body must include the date of the shift and can optionally include other details such as employee ID, reference date, clock-in and clock-out times, observations, and location type. The response returns a 201 status code with details of the created shift, including a unique shift ID, employee ID, date, reference date, clock-in and clock-out times, location details, and other metadata.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

End Break in Open Shift

  • ID: post_end_break_in_open_shift
  • Operation: write
  • Entities: break, attendance, shift
  • Summary: This API endpoint is used to end a break in an open shift when attendance breaks are enabled. The request is made using the POST method to the specified URL. The request headers must include 'accept' and 'content-type' set to 'application/json'. The request body requires the 'now' parameter, which is the current time of the break, and optionally includes 'employee_id', 'observations', 'project_worker_id', and 'subproject_id'. The response returns a JSON object containing details about the shift, including 'id', 'employee_id', 'date', 'reference_date', 'created_at', 'company_id', 'minutes', and other optional fields such as 'clock_in', 'clock_out', 'observations', and location details.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Generate Temporal URLs for Document Downloads

  • ID: post_generate_temporal_urls_for_document_downloads
  • Operation: write
  • Entities: url, document, identifier
  • Summary: This API endpoint generates temporal URLs for a list of documents, allowing you to download the documents. The request requires a POST method to the specified URL with headers 'accept' and 'content-type' set to 'application/json'. The request body must include an array of document identifiers under the 'ids' key. The response returns an array of objects, each containing a 'id' and a 'url' for the document.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Move Documents to Trash Bin

  • ID: post_move_documents_to_trash_bin
  • Operation: write
  • Entities: employee, document, company
  • Summary: This API endpoint allows users to move documents to the trash bin. The documents will be permanently deleted from the system after 30 days. The request requires a list of document identifiers in the request body. The response returns an array of document objects, each containing details such as author_id, company_id, content_type, created_at, employee_id, extension, file_size, file, filename, folder_id, id, is_company_document, is_management_document, is_pending_assignment, leave_id, public, signature_status, signees, space, updated_at, and deleted_at.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Reject Employee Time-off Requests

  • ID: post_reject_employee_timeoff_requests
  • Operation: write
  • Entities: employee, time off, leave
  • Summary: This API endpoint allows authorized users to reject employee time-off requests. The request is made using the POST method to the URL https://api.factorialhr.com/api/2024-10-01/resources/timeoff/leaves/reject. The request headers must include 'accept' and 'content-type' set to 'application/json'. The request body must include the 'id' of the leave to be rejected and optionally a 'reason' for the rejection. The response includes details about the leave, such as 'id', 'company_id', 'employee_id', 'start_on', 'finish_on', 'half_day', 'description', 'reason', 'leave_type_id', 'leave_type_name', 'approved', 'employee_full_name', 'start_time', 'hours_amount_in_cents', 'updated_at', and 'created_at'.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Reject Overtime Request

  • ID: post_reject_overtime_request
  • Operation: write
  • Entities: approver, attendance, overtime request
  • Summary: This API endpoint is used to reject an overtime request. It requires a POST request to the specified URL with headers specifying 'accept' and 'content-type' as 'application/json'. The request body must include the 'id' of the overtime request to be rejected, the 'reason' for rejection, and optionally the 'approver_id'. The response includes details of the overtime request such as 'id', 'employee_id', 'author_id', 'status', 'date', 'hours_amount_in_cents', 'approver', and 'is_editable'. The status will be updated to 'rejected'.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Restore Documents from Trash Bin

  • ID: post_restore_documents_from_trash_bin
  • Operation: write
  • Entities: employee, document, company
  • Summary: This API endpoint restores documents from the trash bin. Documents in the trash bin will be permanently deleted after 30 days. The request requires a list of document IDs to be restored, provided in the request body as 'document_ids'. The response returns an array of document objects, each containing details such as 'author_id', 'company_id', 'content_type', 'created_at', 'filename', 'id', 'public', 'space', and 'updated_at'.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Send Email Invitation to Unconfirmed Employee

  • ID: post_send_email_invitation_to_unconfirmed_employee
  • Operation: write
  • Entities: employee, invitation, company
  • Summary: This API endpoint allows you to send an email invitation to an unconfirmed employee to join Factorial. The request is made using the POST method to the specified URL. The request body must include the 'id' of the unconfirmed employee and the 'company_id' of the company. The response returns detailed information about the employee, including their personal details, company association, and status. The response includes fields such as 'id', 'access_id', 'first_name', 'last_name', 'full_name', 'company_id', 'location_id', 'created_at', 'updated_at', and 'is_terminating', among others.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Start Break in Open Shift

  • ID: post_start_break_in_open_shift
  • Operation: write
  • Entities: break, employee, shift
  • Summary: This API endpoint is used to start a break in an open shift when attendance breaks are enabled. It requires a POST request to the specified URL with headers indicating the content type as 'application/json'. The request body must include the current time of the break ('now') as a required field, and optionally, the employee ID, observations, and time settings break configuration ID. The response returns a detailed JSON object containing information about the shift, including the shift ID, employee ID, date, reference date, clock-in and clock-out times, location details, and other relevant shift information.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Terminate an Employee

  • ID: post_terminate_employee
  • Operation: write
  • Entities: manager, employee, termination
  • Summary: This API endpoint is used to terminate an employee in the system. It requires a POST request to the specified URL with headers indicating the content type as 'application/json'. The request body must include the employee's ID and the date of termination. Optionally, a reason for termination and the ID of the manager responsible for the termination can be provided. Upon successful termination, the API returns a detailed JSON response containing the employee's information, including personal details, employment status, and termination details.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Toggle Shift Clock In/Out

  • ID: post_toggle_shift_clock_in_out
  • Operation: write
  • Entities: location, employee, shift
  • Summary: This API endpoint allows toggling of a shift, which will clock an employee in or out. The request requires the employee's ID and the clock time as mandatory fields in the request body. Optional fields include the location type and observations about the shift. The response returns detailed information about the shift, including the shift ID, employee ID, date, clock-in and clock-out times, location details, and other metadata related to the shift.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Unterminate an Employee

  • ID: post_unterminate_employee
  • Operation: write
  • Entities: manager, employee, company
  • Summary: This API endpoint is used to unterminate an employee in the system. It requires a POST request to the specified URL with the employee's ID in the request body. The request headers must include 'accept' and 'content-type' set to 'application/json'. Upon successful untermination, the API returns a detailed JSON response containing the employee's information, including their ID, access ID, full name, company ID, location ID, and other personal and employment details. The response also indicates whether the employee is currently terminating or active.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Update Break Configuration

  • ID: put_update_break_configuration
  • Operation: write
  • Entities: attendance employee setting, time setting, break configuration
  • Summary: This API endpoint updates a break configuration in the attendance system. It requires the 'id' of the break configuration as a path parameter. The request body must include the 'id' and optionally the 'enabled' status of the break configuration. The response returns the updated break configuration details, including the 'id', 'attendance_employees_setting_id', 'time_settings_break_configuration_id', 'enabled' status, 'name', and whether the break is 'paid'.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Update Document

  • ID: put_update_document
  • Operation: write
  • Entities: document, employee, company
  • Summary: This API endpoint is used to update a document in the Factorial HR system. The request is made using the PUT method to the URL https://api.factorialhr.com/api/2024-10-01/resources/documents/documents/{id}, where {id} is the path parameter representing the document identifier. The request headers must include 'accept' and 'content-type' set to 'application/json'. The request body must include the document's id, public status, employee_id, folder_id, request_esignature flag, and a list of signee_ids. The response returns a JSON object containing details about the updated document, including its author_id, company_id, content_type, creation and update timestamps, and other metadata.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Update Employee Details

  • ID: put_update_employee_details
  • Operation: write
  • Entities: manager, employee, company
  • Summary: This API endpoint is used to update the details of an employee in the system. It requires the employee's ID as a path parameter and accepts a JSON request body containing various employee details such as name, gender, address, contact information, and more. The request headers must include 'accept' and 'content-type' set to 'application/json'. Upon successful update, the API returns a response with a status code of 200 and a JSON object indicating the updated employee details.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Update Folder

  • ID: put_update_folder
  • Operation: write
  • Entities: document, folder, company
  • Summary: The Update Folder API allows you to update the details of a specific folder identified by its ID. The API requires the folder ID as a path parameter and expects a JSON request body containing the company ID, folder ID, and the new name for the folder. The request headers must include 'accept' and 'content-type' set to 'application/json'. Upon successful update, the API returns a JSON response with the folder's active status, company ID, folder ID, and name.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Update Leave Details

  • ID: put_update_leave_details
  • Operation: write
  • Entities: leave, employee, leave type
  • Summary: This API endpoint allows updating the details of a leave for an employee. The request requires the leave ID as a path parameter and a JSON body containing the leave details such as employee ID, leave type ID, description, start and finish dates, half-day indicator, start time, and hours amount in cents. The response returns the updated leave details including the leave ID, company ID, employee ID, start and finish dates, half-day indicator, description, reason, leave type ID and name, approval status, employee full name, start time, hours amount in cents, and timestamps for creation and last update.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Update Leave Type

  • ID: put_update_leave_type
  • Operation: write
  • Entities: allowance, company, leave type
  • Summary: The Update Leave Type API allows users to update the details of a specific leave type by providing the leave type's identifier in the path parameters. The request must include headers specifying 'accept' and 'content-type' as 'application/json'. The request body should contain various attributes of the leave type, such as 'id', 'name', 'identifier', 'color', 'attachment', 'visibility', and more, with their respective data types and descriptions. The response returns the updated leave type details, including its 'id', 'name', 'identifier', 'color', 'active' status, and other attributes, confirming the successful update.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Update Overtime Request

  • ID: put_update_overtime_request
  • Operation: write
  • Entities: overtime request, employee, attendance
  • Summary: This API endpoint updates an existing overtime request. It requires the unique identifier of the overtime request as a path parameter. The request body must include the 'id' of the overtime request and can optionally include 'date', 'description', 'hours_amount', and 'reason'. The response returns the updated overtime request details, including 'id', 'employee_id', 'author_id', 'status', 'date', 'hours_amount_in_cents', 'approver', and 'is_editable'. The status of the request can be 'pending', 'approved', 'rejected', or 'none'.
  • Input Fields: Input Fields
  • Output Fields: Output Fields

Update Shift Details

  • ID: put_update_shift_details
  • Operation: write
  • Entities: location, employee, shift
  • Summary: This API endpoint allows updating the details of a specific shift identified by its unique ID. The request requires the shift ID as a path parameter and accepts a JSON body containing the shift details such as clock-in and clock-out times, date, reference date, observations, location type, workplace ID, and break configuration ID. The response returns the updated shift details, including the employee ID, date, reference date, clock-in and clock-out times, location details, and other relevant information.
  • Input Fields: Input Fields
  • Output Fields: Output Fields