2026-10-01 Release Notes
Attendance > Edit timesheet request
An edit timesheet request — an employee's request to create, edit or delete a shift on their timesheet, going through an approval flow. Approval routing branches on its tri-state approved status and its request_type.
Request
New Field workplace_id has been added
Id of the workplace (location) for the shift.
New Field clock_in_work_area_id has been added
Id of the clock-in work area within the workplace.
New Field clock_out_work_area_id has been added
Id of the clock-out work area within the workplace.
Request
New Field workplace_id has been added
Id of the workplace (location) for the shift.
New Field clock_in_work_area_id has been added
Id of the clock-in work area within the workplace.
New Field clock_out_work_area_id has been added
Id of the clock-out work area within the workplace.
All Responses
New Field workplace_id has been added
Id of the workplace (location) for the shift
New Field clock_in_work_area_id has been added
Id of the clock-in work area within the workplace
New Field clock_out_work_area_id has been added
Id of the clock-out work area within the workplace
Companies > Legal entity
A legal entity of the company — a registered business entity with its own country, currency and legal name. Employees are contracted under a legal entity and finance records are booked against one; a company typically has one legal entity per country it operates in.
All Responses
New Field siret has been added
Siret number (france-specific). system for identifying french establishments. 14-digit identifier for each french establishment.
Compensations > Concept
A compensation concept — the type of pay item a compensation row is classified under (a fixed salary, a bonus, a deduction, ...), carrying its accounting category and unit. The thing compensation rules key on to decide how a row is treated.
Request
New Field enabled has been added
When true, returns active concepts only; when false, only inactive
New Field default has been added
When true, returns only default concepts
All Responses
New Field enabled has been added
Whether the concept is enabled for the company
New Field created_at has been added
Timestamp when the concept was created
New Field updated_at has been added
Timestamp when the concept was last updated
New Endpoint
New Endpoint
Compensations > Cycle
A compensation cycle — a recurring payroll schedule (e.g. monthly) scoped to a country, currency and optional people group, that payroll runs are grouped under.
New Endpoint
Compensations > Employees compensation
An employee compensation row — one concept's amount for one employee within a payroll run, produced by an amount strategy and optionally overridden by a reviewer. The granular unit compensation rules read and compute.
New Endpoint
New Endpoint
New Endpoint
New Endpoint
Compensations > Payroll result
Payroll Result — read-only projection of employee compensation rows with result_type=payroll_result
New Endpoint
Compensations > Payroll run
A payroll run — the batch that compensates a set of employees for a period, moving through a lifecycle (open → completed) and lockable once finalised. Compensation rules and payroll conditions branch on its status, lock state and dates.
New Endpoint
Contracts > Contract version
A contract version — a versioned, effective-dated snapshot of an employee's contract terms (salary, working hours, job title, leveling, trial period, dates). The current terms are the version flagged is_reference. The core record contract and compensation rules read.
All Responses
Modified Field version_data type has been changed to Proc
Country-specific contract data (template fragments and fields).
New Field default_work_type has been added
Internal field used to derive part_time / full_time? from the seeded default work-type row. not intended for direct external use.
Contracts > Reference contract
Contracts reference contract
All Responses
Modified Field version_data type has been changed to Proc
Country-specific contract data (template fragments and fields).
New Field default_work_type has been added
Internal field used to derive part_time / full_time? from the seeded default work-type row. not intended for direct external use.
Expenses > Mileage
A mileage claim — the detail record behind an expensable of type "mileage", reimbursing distance driven on company business (route, distance, rate per unit).
All Responses
New Field rate_measurement_unit has been added
The distance unit the rate is denominated in (e.g. mi). the distance is converted into this unit before the rate is applied.
Finance > Financial document
Financial Document is a document that represents a financial transaction. Could be an invoice, a credit note or receipt.
New Endpoint
New Endpoint
Integrations > Sync run
Integrations SyncRun represents a synchronization execution for a marketplace integration. This endpoint is designed to be used by integrators building an integration between Factorial and an external system through the Factorial Integration Framework.
New Endpoint
Integrations > Sync run output
Integrations SyncRunOutput represents the output file produced by a sync run (e.g. a CSV export). This endpoint is designed to be used by integrators building an integration between Factorial and an external system through the Factorial Integration Framework.
Request
New Field file_name has been added
Optional custom name for the uploaded file. when omitted, a standardized name is generated.
Integrations > Syncable state
The sync or export current state of a syncable object, along with validation messages and errors
New Endpoint
Integrations > Syncable sync run
Integrations SyncableSyncRuns represents all the resources that are included in a sync or export, in other words, a SyncRun. This endpoint is designed to be used by integrators building an integration, in order to fetch all the data that needs to be synced or exported in a given run.
All Responses
New Field syncable_state_id has been added
Identifier of the syncable state this run item is linked to. refers to the integrations/syncable_state resource
New Endpoint
New Endpoint
ItManagement > Asset category
Global asset category (Group or Subtype in the 2-level taxonomy)
New Endpoint
ItManagement > It asset
IT Asset (device, keys, etc)
Request
New Field asset_category_ids has been added
Asset category ids to filter assets by group
ItManagement > It asset model
IT Asset Model (make/model of device)
Request
New Field asset_category_id has been added
Id of the asset subtype from the it_management.asset_category catalog (e.g. the id of 'vehicles.car'). takes precedence over type_name when both are given.
Request
New Field asset_category_id has been added
Id of the asset subtype from the it_management.asset_category catalog (e.g. the id of 'vehicles.car'). takes precedence over type_name when both are given.
All Responses
New Field asset_category_id has been added
Fk to the leaf assetcategory (subtype). null if not yet categorised.
Marketplace > Installation setting
Represents the settings of an integration installation
Request
New Field integration_uuid has been added
Uuid of the integration
Removed Field integration_id has been removed
All Responses
New Field company_code has been added
Company-level code
New Field legal_entities has been added
Legal entity codes (id is the legal entity id)
New Field locations has been added
Workplace codes (id is the location id)
New Field payroll_concept_codes has been added
Payroll concept codes per legal entity (id is the payroll concept id)
Removed Field file_numbers has been removed
Removed Field establishment_codes has been removed
PayrollEmployees > German employee datum
German-specific payroll data fields for an employee, used for DATEV payroll integrations
New Endpoint
New Endpoint
New Endpoint
Performance > Review process
Performance Review Process
Request
Removed Field cycle_id has been removed
All Responses
Removed Field cycle_id has been removed
Procurement > Po field value
Field value stored for a purchase order (header or line-item level)
New Endpoint
New Endpoint
Procurement > Po line item
A line item within a purchase order
New Endpoint
New Endpoint
Procurement > Po template
Purchase order template that defines the structure and fields of a PO
New Endpoint
New Endpoint
Procurement > Po template field definition
Field definition within a PO template version section
New Endpoint
New Endpoint
Procurement > Po template version
Version history entry for a PO template
New Endpoint
New Endpoint
Procurement > Purchase order
purchase_order
All Responses
New Field po_template_version_id has been added
Identifier of the pinned po template version this purchase order uses. fetch that version (and its field definitions) to interpret the purchase order's header and line-item field keys. null for legacy purchase orders created without a template.
New Field header_field_values_by_key has been added
Custom header field values, addressed by the field_key of the purchase order's pinned template version, as an array of {field_key, value} pairs — exactly the shape the update endpoint accepts, so a get -> modify -> put roundtrip works verbatim. predefined fields (vendor, order_date, currency, due_date, payment_method, legal_entity) surface as top-level parameters instead, and computed or hidden values never appear (they are preserved server-side on update). null for purchase orders without a template version.
New Field line_items_by_key has been added
Line items with their field values addressed by the field_key of the purchase order's pinned template version — the same shape the update endpoint accepts: modify and send the whole set back. rows are addressed by id (rows without an id are created, persisted rows missing from the set are deleted). null for purchase orders without a template version.
New Field deadline has been added
Deadline date for the purchase order delivery or completion. writable through the update endpoint (omitted or null keeps it); readable here so the get -> modify -> put roundtrip is complete.
New Field preferred_payment_method has been added
Preferred payment method for this purchase order
New Endpoint
New Endpoint
ProjectManagement > Project
A project of the company — a named initiative (internal or for a client) that time and costs are tracked against. Expenses, time records and budgets can be charged to a project; billable projects recharge those costs to a client.
Request
New Field project_viewers has been added
Array of employee ids who are project viewers
ProjectManagement > Rate
Project Management Rates
New Endpoint
ProjectManagement > Subproject
Project Management Subprojects
Request
Modified Field name is now mandatory
The name of the subproject.
Modified Field status is now mandatory
The status of the subproject.
ProjectManagement > Time record
Project Management Time Records
Request
New Field imputed_minutes has been added
Imputed minutes for the time record (used when no attendance shift is provided)
New Field date has been added
Reference date for the time record (used when no attendance shift is provided)
New Field project_task_id has been added
Id of the project task assigned to the time record. refers to project_management/project_tasks endpoint.
Request
New Field project_task_ids has been added
Project task ids to retrieve
Request
New Field project_task_id has been added
Id of the project task assigned to the time record. refers to project_management/project_tasks endpoint.
All Responses
New Field project_task_id has been added
Id of the project task assigned to the time record. refers to project_management/project_tasks endpoint.
New Field employee_id has been added
Id of the employee the time record belongs to
New Field project_id has been added
Id of the project the time record belongs to
New Endpoint
Tasks > Task
Factorial task element
Request
New Field author_employee_id has been added
Employee that will be set as the author of the tasks. only taken into account when authenticating with an api key, requests performed on behalf of a user always use that user as the author. when omitted, the tasks are authored by the first active employee of the company.
Request
New Field author_employee_id has been added
Employee that will be set as the author of the task. only taken into account when authenticating with an api key, requests performed on behalf of a user always use that user as the author. when omitted, the task is authored by the first active employee of the company.
Timeoff > Allowance stat
Timeoff allowance stat
Request
New Field simulate_policy_change_to_id has been added
When provided, computes the stats as if the employee were moved to this target time off policy effective the day after reference_date, so pass the day before the change date - for a change effective on 2026-08-03, send reference_date=2026-08-02. this truncates the source policy's current cycle at that boundary so available_days reflects the prorated balance that would actually transfer or be discarded on the change, rather than the full entitlement. purely a read - nothing is persisted. requires the policy timeline feature; without it the result is identical to an un-simulated read.
Timeoff > Leave
A time off leave — one employee's request to be absent for a date range (or part of a day) under a given leave type. It is the central object of the time off domain; approval routing and leave conditions branch on its dates, its type and its tri-state approved status (null = pending, true = approved, false = rejected).
Request
New Field include_duration_by_day has been added
Retrieve the per-day breakdown of the leave's duration (duration_by_day_attributes)
New Field forced_finish_on has been added
Caps the per-day duration walk at this date. for endless leaves (finish_on = nil) it pins the walk end; for closed leaves whose finish_on sits past this date it truncates the walk. never extends a leave past its real finish_on. must fall inside the read window (from/to or overlaps_range_from/overlaps_range_to).
All Responses
New Field duration_by_day_attributes has been added
Per-day breakdown of the leave's workable and used units, keyed by calendar date. populated only when the read requests include_duration_by_day=true; null otherwise.
Webhooks
Payloads
New Field siret has been added
Siret number (france-specific). system for identifying french establishments. 14-digit identifier for each french establishment.
Payloads
Modified Field version_data type has been changed to Proc
Country-specific contract data (template fragments and fields).
New Field default_work_type has been added
Internal field used to derive part_time / full_time? from the seeded default work-type row. not intended for direct external use.
Payloads
Modified Field version_data type has been changed to Proc
Country-specific contract data (template fragments and fields).
New Field default_work_type has been added
Internal field used to derive part_time / full_time? from the seeded default work-type row. not intended for direct external use.
Payloads
Modified Field version_data type has been changed to Proc
Country-specific contract data (template fragments and fields).
New Field default_work_type has been added
Internal field used to derive part_time / full_time? from the seeded default work-type row. not intended for direct external use.
Payloads
Removed Field cycle_id has been removed
Payloads
Removed Field cycle_id has been removed
Payloads
Removed Field cycle_id has been removed
Payloads
Removed Field cycle_id has been removed
Payloads
Removed Field cycle_id has been removed
Payloads
Removed Field cycle_id has been removed
Payloads
Removed Field cycle_id has been removed
Payloads
Removed Field cycle_id has been removed
Payloads
Removed Field cycle_id has been removed
Payloads
Removed Field cycle_id has been removed
Payloads
Removed Field cycle_id has been removed
Payloads
Removed Field cycle_id has been removed
Payloads
Removed Field cycle_id has been removed
Payloads
Removed Field cycle_id has been removed
Payloads
Removed Field cycle_id has been removed
Payloads
Removed Field cycle_id has been removed
Payloads
Removed Field cycle_id has been removed
Payloads
Removed Field cycle_id has been removed
Payloads
Removed Field cycle_id has been removed
Payloads
New Field project_task_id has been added
Id of the project task assigned to the time record. refers to project_management/project_tasks endpoint.
New Field employee_id has been added
Id of the employee the time record belongs to
New Field project_id has been added
Id of the project the time record belongs to
Payloads
New Field project_task_id has been added
Id of the project task assigned to the time record. refers to project_management/project_tasks endpoint.
New Field employee_id has been added
Id of the employee the time record belongs to
New Field project_id has been added
Id of the project the time record belongs to
Payloads
New Field project_task_id has been added
Id of the project task assigned to the time record. refers to project_management/project_tasks endpoint.
New Field employee_id has been added
Id of the employee the time record belongs to
New Field project_id has been added
Id of the project the time record belongs to
Payloads
New Field project_task_id has been added
Id of the project task assigned to the time record. refers to project_management/project_tasks endpoint.
New Field employee_id has been added
Id of the employee the time record belongs to
New Field project_id has been added
Id of the project the time record belongs to
Payloads
New Field project_task_id has been added
Id of the project task assigned to the time record. refers to project_management/project_tasks endpoint.
New Field employee_id has been added
Id of the employee the time record belongs to
New Field project_id has been added
Id of the project the time record belongs to
Payloads
New Field duration_by_day_attributes has been added
Per-day breakdown of the leave's workable and used units, keyed by calendar date. populated only when the read requests include_duration_by_day=true; null otherwise.
Payloads
New Field duration_by_day_attributes has been added
Per-day breakdown of the leave's workable and used units, keyed by calendar date. populated only when the read requests include_duration_by_day=true; null otherwise.
Payloads
New Field duration_by_day_attributes has been added
Per-day breakdown of the leave's workable and used units, keyed by calendar date. populated only when the read requests include_duration_by_day=true; null otherwise.
Payloads
New Field duration_by_day_attributes has been added
Per-day breakdown of the leave's workable and used units, keyed by calendar date. populated only when the read requests include_duration_by_day=true; null otherwise.
Payloads
New Field duration_by_day_attributes has been added
Per-day breakdown of the leave's workable and used units, keyed by calendar date. populated only when the read requests include_duration_by_day=true; null otherwise.

