{"openapi":"3.1.0","info":{"title":"Factorial API","description":"","version":"2026-04-01"},"webhooks":{"Webhooks \u003e ApiPublic \u003e WebhookSubscription \u003e Creates":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `api_public/webhook_subscription/create`","deprecated":false,"summary":"ApiPublic \u003e WebhookSubscription \u003e Creates","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/api_public_webhook_subscription"}}}}}},"Webhooks \u003e ApiPublic \u003e WebhookSubscription \u003e Deletes":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `api_public/webhook_subscription/delete`","deprecated":false,"summary":"ApiPublic \u003e WebhookSubscription \u003e Deletes","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/api_public_webhook_subscription"}}}}}},"Webhooks \u003e ApiPublic \u003e WebhookSubscription \u003e Updates":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `api_public/webhook_subscription/update`","deprecated":false,"summary":"ApiPublic \u003e WebhookSubscription \u003e Updates","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/api_public_webhook_subscription"}}}}}},"Webhooks \u003e Ats \u003e Application \u003e Applies":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `ats/application/apply`","deprecated":false,"summary":"Ats \u003e Application \u003e Applies","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ats_application"}}}}}},"Webhooks \u003e Ats \u003e Application \u003e Creates":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `ats/application/create`","deprecated":false,"summary":"Ats \u003e Application \u003e Creates","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ats_application"}}}}}},"Webhooks \u003e Ats \u003e Application \u003e Create from employees":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `ats/application/create_from_employee`","deprecated":false,"summary":"Ats \u003e Application \u003e Create from employees","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ats_application"}}}}}},"Webhooks \u003e Ats \u003e Application \u003e Deletes":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `ats/application/delete`","deprecated":false,"summary":"Ats \u003e Application \u003e Deletes","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ats_application"}}}}}},"Webhooks \u003e Ats \u003e Application \u003e Updates":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `ats/application/update`","deprecated":false,"summary":"Ats \u003e Application \u003e Updates","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ats_application"}}}}}},"Webhooks \u003e Ats \u003e Candidate \u003e Creates":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `ats/candidate/create`","deprecated":false,"summary":"Ats \u003e Candidate \u003e Creates","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ats_candidate"}}}}}},"Webhooks \u003e Ats \u003e Candidate \u003e Deletes":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `ats/candidate/delete`","deprecated":false,"summary":"Ats \u003e Candidate \u003e Deletes","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ats_candidate"}}}}}},"Webhooks \u003e Ats \u003e Candidate \u003e Updates":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `ats/candidate/update`","deprecated":false,"summary":"Ats \u003e Candidate \u003e Updates","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ats_candidate"}}}}}},"Webhooks \u003e Ats \u003e EvaluationForm \u003e Save as templates":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `ats/evaluation_form/save_as_template`","deprecated":false,"summary":"Ats \u003e EvaluationForm \u003e Save as templates","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ats_evaluation_form"}}}}}},"Webhooks \u003e Ats \u003e JobPosting \u003e Creates":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `ats/job_posting/create`","deprecated":false,"summary":"Ats \u003e JobPosting \u003e Creates","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ats_job_posting"}}}}}},"Webhooks \u003e Ats \u003e JobPosting \u003e Deletes":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `ats/job_posting/delete`","deprecated":false,"summary":"Ats \u003e JobPosting \u003e Deletes","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ats_job_posting"}}}}}},"Webhooks \u003e Ats \u003e JobPosting \u003e Duplicates":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `ats/job_posting/duplicate`","deprecated":false,"summary":"Ats \u003e JobPosting \u003e Duplicates","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ats_job_posting"}}}}}},"Webhooks \u003e Ats \u003e JobPosting \u003e Updates":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `ats/job_posting/update`","deprecated":false,"summary":"Ats \u003e JobPosting \u003e Updates","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ats_job_posting"}}}}}},"Webhooks \u003e Attendance \u003e Shift \u003e Autofills":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `attendance/shift/autofill`","deprecated":false,"summary":"Attendance \u003e Shift \u003e Autofills","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/attendance_shift"}}}}}},"Webhooks \u003e Attendance \u003e Shift \u003e Break ends":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `attendance/shift/break_end`","deprecated":false,"summary":"Attendance \u003e Shift \u003e Break ends","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/attendance_shift"}}}}}},"Webhooks \u003e Attendance \u003e Shift \u003e Break starts":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `attendance/shift/break_start`","deprecated":false,"summary":"Attendance \u003e Shift \u003e Break starts","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/attendance_shift"}}}}}},"Webhooks \u003e Attendance \u003e Shift \u003e Clock ins":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `attendance/shift/clock_in`","deprecated":false,"summary":"Attendance \u003e Shift \u003e Clock ins","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/attendance_shift"}}}}}},"Webhooks \u003e Attendance \u003e Shift \u003e Clock outs":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `attendance/shift/clock_out`","deprecated":false,"summary":"Attendance \u003e Shift \u003e Clock outs","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/attendance_shift"}}}}}},"Webhooks \u003e Attendance \u003e Shift \u003e Creates":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `attendance/shift/create`","deprecated":false,"summary":"Attendance \u003e Shift \u003e Creates","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/attendance_shift"}}}}}},"Webhooks \u003e Attendance \u003e Shift \u003e Deletes":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `attendance/shift/delete`","deprecated":false,"summary":"Attendance \u003e Shift \u003e Deletes","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/attendance_shift"}}}}}},"Webhooks \u003e Attendance \u003e Shift \u003e Toggle clocks":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `attendance/shift/toggle_clock`","deprecated":false,"summary":"Attendance \u003e Shift \u003e Toggle clocks","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/attendance_shift"}}}}}},"Webhooks \u003e Attendance \u003e Shift \u003e Updates":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `attendance/shift/update`","deprecated":false,"summary":"Attendance \u003e Shift \u003e Updates","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/attendance_shift"}}}}}},"Webhooks \u003e Banking \u003e BankAccountNumber \u003e Upserts":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `banking/bank_account_number/upsert`","deprecated":false,"summary":"Banking \u003e BankAccountNumber \u003e Upserts","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/banking_bank_account_number"}}}}}},"Webhooks \u003e BookkeepersManagement \u003e Incidence \u003e Updates":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `bookkeepers_management/incidence/update`","deprecated":false,"summary":"BookkeepersManagement \u003e Incidence \u003e Updates","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/bookkeepers_management_incidence"}}}}}},"Webhooks \u003e Companies \u003e LegalEntity \u003e Creates":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `companies/legal_entity/create`","deprecated":false,"summary":"Companies \u003e LegalEntity \u003e Creates","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/companies_legal_entity"}}}}}},"Webhooks \u003e Contracts \u003e ContractVersionRequest \u003e Approves":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `contracts/contract_version_request/approve`. Triggered when a promote request is approved in Factorial UI.\n","deprecated":false,"summary":"Contracts \u003e ContractVersionRequest \u003e Approves","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/contracts_contract_version_request"}}}}}},"Webhooks \u003e Contracts \u003e ContractVersionRequest \u003e Create promote requests":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `contracts/contract_version_request/create_promote_request`. Triggered when a promote request is created using \"Promote\" in employee contracts page in Factorial UI.\n","deprecated":false,"summary":"Contracts \u003e ContractVersionRequest \u003e Create promote requests","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/contracts_contract_version_request"}}}}}},"Webhooks \u003e Contracts \u003e ContractVersionRequest \u003e Deletes":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `contracts/contract_version_request/delete`. Triggered when a promote request is deleted in Factorial UI.\n","deprecated":false,"summary":"Contracts \u003e ContractVersionRequest \u003e Deletes","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/contracts_contract_version_request"}}}}}},"Webhooks \u003e Contracts \u003e ContractVersionRequest \u003e Rejects":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `contracts/contract_version_request/reject`. Triggered when a promote request is rejected in Factorial UI.\n","deprecated":false,"summary":"Contracts \u003e ContractVersionRequest \u003e Rejects","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/contracts_contract_version_request"}}}}}},"Webhooks \u003e Contracts \u003e ContractVersion \u003e Creates":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `contracts/contract_version/create`. Triggered when a contract version is created via Public API (POST), an employee is created, using \"Start activity period\" for a discontinuous contract in employee contracts page in Factorial UI, or using \"Update conditions\" in employee contracts page in Factorial UI.\n","deprecated":false,"summary":"Contracts \u003e ContractVersion \u003e Creates","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/contracts_contract_version"}}}}}},"Webhooks \u003e Contracts \u003e ContractVersion \u003e Deletes":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `contracts/contract_version/delete`. Triggered when a contract version is deleted via Public API (DELETE), or using \"Delete contract\" in employee contracts page in Factorial UI.\n","deprecated":false,"summary":"Contracts \u003e ContractVersion \u003e Deletes","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/contracts_contract_version"}}}}}},"Webhooks \u003e Contracts \u003e ContractVersion \u003e Updates":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `contracts/contract_version/update`. Triggered when a contract version is updated via Public API (PUT), using \"Edit conditions\" in employee contracts page in Factorial UI, or using \"End activity period\" for a discontinuous contract in employee contracts page in Factorial UI.\n","deprecated":false,"summary":"Contracts \u003e ContractVersion \u003e Updates","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/contracts_contract_version"}}}}}},"Webhooks \u003e CustomResources \u003e Schema \u003e Creates":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `custom_resources/schema/create`","deprecated":false,"summary":"CustomResources \u003e Schema \u003e Creates","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/custom_resources_schema"}}}}}},"Webhooks \u003e Documents \u003e Document \u003e Bulk creates":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `documents/document/bulk_create`","deprecated":false,"summary":"Documents \u003e Document \u003e Bulk creates","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/documents_document"}}}}}},"Webhooks \u003e Documents \u003e Document \u003e Creates":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `documents/document/create`","deprecated":false,"summary":"Documents \u003e Document \u003e Creates","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/documents_document"}}}}}},"Webhooks \u003e Documents \u003e Document \u003e Deletes":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `documents/document/delete`","deprecated":false,"summary":"Documents \u003e Document \u003e Deletes","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/documents_document"}}}}}},"Webhooks \u003e Documents \u003e Document \u003e Move to trash bins":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `documents/document/move_to_trash_bin`","deprecated":false,"summary":"Documents \u003e Document \u003e Move to trash bins","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/documents_document"}}}}}},"Webhooks \u003e Documents \u003e Document \u003e Restore from trash bins":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `documents/document/restore_from_trash_bin`","deprecated":false,"summary":"Documents \u003e Document \u003e Restore from trash bins","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/documents_document"}}}}}},"Webhooks \u003e Documents \u003e Document \u003e Updates":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `documents/document/update`","deprecated":false,"summary":"Documents \u003e Document \u003e Updates","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/documents_document"}}}}}},"Webhooks \u003e Documents \u003e Folder \u003e Creates":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `documents/folder/create`","deprecated":false,"summary":"Documents \u003e Folder \u003e Creates","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/documents_folder"}}}}}},"Webhooks \u003e Documents \u003e Folder \u003e Updates":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `documents/folder/update`","deprecated":false,"summary":"Documents \u003e Folder \u003e Updates","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/documents_folder"}}}}}},"Webhooks \u003e Employees \u003e Employee \u003e Create with contracts":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `employees/employee/create_with_contract`","deprecated":false,"summary":"Employees \u003e Employee \u003e Create with contracts","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/employees_employee"}}}}}},"Webhooks \u003e Employees \u003e Employee \u003e Invites":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `employees/employee/invite`","deprecated":false,"summary":"Employees \u003e Employee \u003e Invites","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/employees_employee"}}}}}},"Webhooks \u003e Employees \u003e Employee \u003e Set regular access start dates":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `employees/employee/set_regular_access_start_date`","deprecated":false,"summary":"Employees \u003e Employee \u003e Set regular access start dates","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/employees_employee"}}}}}},"Webhooks \u003e Employees \u003e Employee \u003e Terminates":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `employees/employee/terminate`","deprecated":false,"summary":"Employees \u003e Employee \u003e Terminates","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/employees_employee"}}}}}},"Webhooks \u003e Employees \u003e Employee \u003e Unterminates":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `employees/employee/unterminate`","deprecated":false,"summary":"Employees \u003e Employee \u003e Unterminates","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/employees_employee"}}}}}},"Webhooks \u003e Employees \u003e Employee \u003e Updates":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `employees/employee/update`","deprecated":false,"summary":"Employees \u003e Employee \u003e Updates","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/employees_employee"}}}}}},"Webhooks \u003e Expenses \u003e Expensable \u003e Bulk set to paids":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `expenses/expensable/bulk_set_to_paid`","deprecated":false,"summary":"Expenses \u003e Expensable \u003e Bulk set to paids","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/expenses_expensable"}}}}}},"Webhooks \u003e Finance \u003e CostCenter \u003e Creates":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `finance/cost_center/create`","deprecated":false,"summary":"Finance \u003e CostCenter \u003e Creates","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/finance_cost_center"}}}}}},"Webhooks \u003e Finance \u003e CostCenter \u003e Deletes":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `finance/cost_center/delete`","deprecated":false,"summary":"Finance \u003e CostCenter \u003e Deletes","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/finance_cost_center"}}}}}},"Webhooks \u003e Finance \u003e CostCenter \u003e Edits":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `finance/cost_center/edit`","deprecated":false,"summary":"Finance \u003e CostCenter \u003e Edits","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/finance_cost_center"}}}}}},"Webhooks \u003e Locations \u003e Location \u003e Creates":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `locations/location/create`","deprecated":false,"summary":"Locations \u003e Location \u003e Creates","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/locations_location"}}}}}},"Webhooks \u003e Locations \u003e Location \u003e Deletes":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `locations/location/delete`","deprecated":false,"summary":"Locations \u003e Location \u003e Deletes","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/locations_location"}}}}}},"Webhooks \u003e Locations \u003e Location \u003e Updates":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `locations/location/update`","deprecated":false,"summary":"Locations \u003e Location \u003e Updates","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/locations_location"}}}}}},"Webhooks \u003e Payroll \u003e PolicyPeriod \u003e Change statuses":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `payroll/policy_period/change_status`","deprecated":false,"summary":"Payroll \u003e PolicyPeriod \u003e Change statuses","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/payroll_policy_period"}}}}}},"Webhooks \u003e Payroll \u003e Supplement \u003e Creates":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `payroll/supplement/create`","deprecated":false,"summary":"Payroll \u003e Supplement \u003e Creates","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/payroll_supplement"}}}}}},"Webhooks \u003e Payroll \u003e Supplement \u003e Deletes":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `payroll/supplement/delete`","deprecated":false,"summary":"Payroll \u003e Supplement \u003e Deletes","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/payroll_supplement"}}}}}},"Webhooks \u003e Payroll \u003e Supplement \u003e Updates":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `payroll/supplement/update`","deprecated":false,"summary":"Payroll \u003e Supplement \u003e Updates","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/payroll_supplement"}}}}}},"Webhooks \u003e PayrollIntegrationsBase \u003e Code \u003e Creates":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `payroll_integrations_base/code/create`","deprecated":false,"summary":"PayrollIntegrationsBase \u003e Code \u003e Creates","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/payroll_integrations_base_code"}}}}}},"Webhooks \u003e PayrollIntegrationsBase \u003e Code \u003e Deletes":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `payroll_integrations_base/code/delete`","deprecated":false,"summary":"PayrollIntegrationsBase \u003e Code \u003e Deletes","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/payroll_integrations_base_code"}}}}}},"Webhooks \u003e PayrollIntegrationsBase \u003e Code \u003e Updates":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `payroll_integrations_base/code/update`","deprecated":false,"summary":"PayrollIntegrationsBase \u003e Code \u003e Updates","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/payroll_integrations_base_code"}}}}}},"Webhooks \u003e Performance \u003e ReviewProcess \u003e Creates":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `performance/review_process/create`","deprecated":false,"summary":"Performance \u003e ReviewProcess \u003e Creates","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/performance_review_process"}}}}}},"Webhooks \u003e Performance \u003e ReviewProcess \u003e Create from templates":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `performance/review_process/create_from_template`","deprecated":false,"summary":"Performance \u003e ReviewProcess \u003e Create from templates","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/performance_review_process"}}}}}},"Webhooks \u003e Performance \u003e ReviewProcess \u003e Deletes":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `performance/review_process/delete`","deprecated":false,"summary":"Performance \u003e ReviewProcess \u003e Deletes","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/performance_review_process"}}}}}},"Webhooks \u003e Performance \u003e ReviewProcess \u003e Duplicates":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `performance/review_process/duplicate`","deprecated":false,"summary":"Performance \u003e ReviewProcess \u003e Duplicates","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/performance_review_process"}}}}}},"Webhooks \u003e Performance \u003e ReviewProcess \u003e Remind in bulks":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `performance/review_process/remind_in_bulk`","deprecated":false,"summary":"Performance \u003e ReviewProcess \u003e Remind in bulks","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/performance_review_process"}}}}}},"Webhooks \u003e Performance \u003e ReviewProcess \u003e Remove schedules":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `performance/review_process/remove_schedule`","deprecated":false,"summary":"Performance \u003e ReviewProcess \u003e Remove schedules","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/performance_review_process"}}}}}},"Webhooks \u003e Performance \u003e ReviewProcess \u003e Reopens":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `performance/review_process/reopen`","deprecated":false,"summary":"Performance \u003e ReviewProcess \u003e Reopens","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/performance_review_process"}}}}}},"Webhooks \u003e Performance \u003e ReviewProcess \u003e Schedules":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `performance/review_process/schedule`","deprecated":false,"summary":"Performance \u003e ReviewProcess \u003e Schedules","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/performance_review_process"}}}}}},"Webhooks \u003e Performance \u003e ReviewProcess \u003e Starts":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `performance/review_process/start`","deprecated":false,"summary":"Performance \u003e ReviewProcess \u003e Starts","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/performance_review_process"}}}}}},"Webhooks \u003e Performance \u003e ReviewProcess \u003e Stops":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `performance/review_process/stop`","deprecated":false,"summary":"Performance \u003e ReviewProcess \u003e Stops","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/performance_review_process"}}}}}},"Webhooks \u003e Performance \u003e ReviewProcess \u003e Toggle archives":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `performance/review_process/toggle_archive`","deprecated":false,"summary":"Performance \u003e ReviewProcess \u003e Toggle archives","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/performance_review_process"}}}}}},"Webhooks \u003e Performance \u003e ReviewProcess \u003e Update agreements configurations":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `performance/review_process/update_agreements_configuration`","deprecated":false,"summary":"Performance \u003e ReviewProcess \u003e Update agreements configurations","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/performance_review_process"}}}}}},"Webhooks \u003e Performance \u003e ReviewProcess \u003e Update basic infos":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `performance/review_process/update_basic_info`","deprecated":false,"summary":"Performance \u003e ReviewProcess \u003e Update basic infos","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/performance_review_process"}}}}}},"Webhooks \u003e Performance \u003e ReviewProcess \u003e Update competencies assessments configurations":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `performance/review_process/update_competencies_assessments_configuration`","deprecated":false,"summary":"Performance \u003e ReviewProcess \u003e Update competencies assessments configurations","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/performance_review_process"}}}}}},"Webhooks \u003e Performance \u003e ReviewProcess \u003e Update deadlines":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `performance/review_process/update_deadline`","deprecated":false,"summary":"Performance \u003e ReviewProcess \u003e Update deadlines","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/performance_review_process"}}}}}},"Webhooks \u003e Performance \u003e ReviewProcess \u003e Update employee score configurations":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `performance/review_process/update_employee_score_configuration`","deprecated":false,"summary":"Performance \u003e ReviewProcess \u003e Update employee score configurations","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/performance_review_process"}}}}}},"Webhooks \u003e Performance \u003e ReviewProcess \u003e Update reviewer strategies":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `performance/review_process/update_reviewer_strategies`","deprecated":false,"summary":"Performance \u003e ReviewProcess \u003e Update reviewer strategies","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/performance_review_process"}}}}}},"Webhooks \u003e Performance \u003e ReviewProcess \u003e Update schedules":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `performance/review_process/update_schedule`","deprecated":false,"summary":"Performance \u003e ReviewProcess \u003e Update schedules","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/performance_review_process"}}}}}},"Webhooks \u003e Performance \u003e ReviewProcess \u003e Update target strategies":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `performance/review_process/update_target_strategy`","deprecated":false,"summary":"Performance \u003e ReviewProcess \u003e Update target strategies","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/performance_review_process"}}}}}},"Webhooks \u003e ShiftManagement \u003e Shift \u003e Bulk creates":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `shift_management/shift/bulk_create`","deprecated":false,"summary":"ShiftManagement \u003e Shift \u003e Bulk creates","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/shift_management_shift"}}}}}},"Webhooks \u003e ShiftManagement \u003e Shift \u003e Bulk deletes":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `shift_management/shift/bulk_delete`","deprecated":false,"summary":"ShiftManagement \u003e Shift \u003e Bulk deletes","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/shift_management_shift"}}}}}},"Webhooks \u003e ShiftManagement \u003e Shift \u003e Creates":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `shift_management/shift/create`","deprecated":false,"summary":"ShiftManagement \u003e Shift \u003e Creates","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/shift_management_shift"}}}}}},"Webhooks \u003e ShiftManagement \u003e Shift \u003e Deletes":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `shift_management/shift/delete`","deprecated":false,"summary":"ShiftManagement \u003e Shift \u003e Deletes","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/shift_management_shift"}}}}}},"Webhooks \u003e Tasks \u003e Task \u003e Bulk creates":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `tasks/task/bulk_create`","deprecated":false,"summary":"Tasks \u003e Task \u003e Bulk creates","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tasks_task"}}}}}},"Webhooks \u003e Tasks \u003e Task \u003e Bulk deletes":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `tasks/task/bulk_delete`","deprecated":false,"summary":"Tasks \u003e Task \u003e Bulk deletes","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tasks_task"}}}}}},"Webhooks \u003e Tasks \u003e Task \u003e Bulk updates":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `tasks/task/bulk_update`","deprecated":false,"summary":"Tasks \u003e Task \u003e Bulk updates","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tasks_task"}}}}}},"Webhooks \u003e Tasks \u003e Task \u003e Copies":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `tasks/task/copy`","deprecated":false,"summary":"Tasks \u003e Task \u003e Copies","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tasks_task"}}}}}},"Webhooks \u003e Tasks \u003e Task \u003e Creates":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `tasks/task/create`","deprecated":false,"summary":"Tasks \u003e Task \u003e Creates","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tasks_task"}}}}}},"Webhooks \u003e Tasks \u003e Task \u003e Create comments":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `tasks/task/create_comment`","deprecated":false,"summary":"Tasks \u003e Task \u003e Create comments","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tasks_task"}}}}}},"Webhooks \u003e Tasks \u003e Task \u003e Deletes":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `tasks/task/delete`","deprecated":false,"summary":"Tasks \u003e Task \u003e Deletes","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tasks_task"}}}}}},"Webhooks \u003e Tasks \u003e Task \u003e Updates":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `tasks/task/update`","deprecated":false,"summary":"Tasks \u003e Task \u003e Updates","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tasks_task"}}}}}},"Webhooks \u003e Teams \u003e Membership \u003e Bulk upserts":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `teams/membership/bulk_upsert`","deprecated":false,"summary":"Teams \u003e Membership \u003e Bulk upserts","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/teams_membership"}}}}}},"Webhooks \u003e Teams \u003e Membership \u003e Creates":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `teams/membership/create`","deprecated":false,"summary":"Teams \u003e Membership \u003e Creates","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/teams_membership"}}}}}},"Webhooks \u003e Teams \u003e Membership \u003e Deletes":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `teams/membership/delete`","deprecated":false,"summary":"Teams \u003e Membership \u003e Deletes","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/teams_membership"}}}}}},"Webhooks \u003e Teams \u003e Membership \u003e Updates":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `teams/membership/update`","deprecated":false,"summary":"Teams \u003e Membership \u003e Updates","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/teams_membership"}}}}}},"Webhooks \u003e Teams \u003e Team \u003e Creates":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `teams/team/create`","deprecated":false,"summary":"Teams \u003e Team \u003e Creates","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/teams_team"}}}}}},"Webhooks \u003e Teams \u003e Team \u003e Deletes":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `teams/team/delete`","deprecated":false,"summary":"Teams \u003e Team \u003e Deletes","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/teams_team"}}}}}},"Webhooks \u003e Teams \u003e Team \u003e Projects":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `teams/team/project`","deprecated":false,"summary":"Teams \u003e Team \u003e Projects","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/teams_team"}}}}}},"Webhooks \u003e Teams \u003e Team \u003e Updates":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `teams/team/update`","deprecated":false,"summary":"Teams \u003e Team \u003e Updates","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/teams_team"}}}}}},"Webhooks \u003e Timeoff \u003e BlockedPeriod \u003e Creates":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `timeoff/blocked_period/create`","deprecated":false,"summary":"Timeoff \u003e BlockedPeriod \u003e Creates","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/timeoff_blocked_periods_policy"}}}}}},"Webhooks \u003e Timeoff \u003e BlockedPeriod \u003e Deletes":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `timeoff/blocked_period/delete`","deprecated":false,"summary":"Timeoff \u003e BlockedPeriod \u003e Deletes","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/timeoff_blocked_periods_policy"}}}}}},"Webhooks \u003e Timeoff \u003e BlockedPeriod \u003e Updates":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `timeoff/blocked_period/update`","deprecated":false,"summary":"Timeoff \u003e BlockedPeriod \u003e Updates","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/timeoff_blocked_periods_policy"}}}}}},"Webhooks \u003e Timeoff \u003e LeaveType \u003e Creates":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `timeoff/leave_type/create`","deprecated":false,"summary":"Timeoff \u003e LeaveType \u003e Creates","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/timeoff_leave_type"}}}}}},"Webhooks \u003e Timeoff \u003e LeaveType \u003e Updates":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `timeoff/leave_type/update`","deprecated":false,"summary":"Timeoff \u003e LeaveType \u003e Updates","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/timeoff_leave_type"}}}}}},"Webhooks \u003e Timeoff \u003e Leave \u003e Approves":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `timeoff/leave/approve`","deprecated":false,"summary":"Timeoff \u003e Leave \u003e Approves","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/timeoff_leave"}}}}}},"Webhooks \u003e Timeoff \u003e Leave \u003e Creates":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `timeoff/leave/create`","deprecated":false,"summary":"Timeoff \u003e Leave \u003e Creates","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/timeoff_leave"}}}}}},"Webhooks \u003e Timeoff \u003e Leave \u003e Deletes":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `timeoff/leave/delete`","deprecated":false,"summary":"Timeoff \u003e Leave \u003e Deletes","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/timeoff_leave"}}}}}},"Webhooks \u003e Timeoff \u003e Leave \u003e Rejects":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `timeoff/leave/reject`","deprecated":false,"summary":"Timeoff \u003e Leave \u003e Rejects","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/timeoff_leave"}}}}}},"Webhooks \u003e Timeoff \u003e Leave \u003e Updates":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `timeoff/leave/update`","deprecated":false,"summary":"Timeoff \u003e Leave \u003e Updates","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/timeoff_leave"}}}}}},"Webhooks \u003e Timeoff \u003e Policy \u003e Creates":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `timeoff/policy/create`","deprecated":false,"summary":"Timeoff \u003e Policy \u003e Creates","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/timeoff_policy"}}}}}},"Webhooks \u003e Timeoff \u003e Policy \u003e Deletes":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `timeoff/policy/delete`","deprecated":false,"summary":"Timeoff \u003e Policy \u003e Deletes","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/timeoff_policy"}}}}}},"Webhooks \u003e Timeoff \u003e Policy \u003e Updates":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `timeoff/policy/update`","deprecated":false,"summary":"Timeoff \u003e Policy \u003e Updates","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/timeoff_policy"}}}}}},"Webhooks \u003e Trainings \u003e Category \u003e Creates":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `trainings/category/create`","deprecated":false,"summary":"Trainings \u003e Category \u003e Creates","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/trainings_category"}}}}}},"Webhooks \u003e Trainings \u003e Category \u003e Deletes":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `trainings/category/delete`","deprecated":false,"summary":"Trainings \u003e Category \u003e Deletes","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/trainings_category"}}}}}},"Webhooks \u003e Trainings \u003e Training \u003e Bulk deletes":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `trainings/training/bulk_delete`","deprecated":false,"summary":"Trainings \u003e Training \u003e Bulk deletes","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/trainings_training"}}}}}},"Webhooks \u003e Trainings \u003e Training \u003e Bulk update catalogs":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `trainings/training/bulk_update_catalog`","deprecated":false,"summary":"Trainings \u003e Training \u003e Bulk update catalogs","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/trainings_training"}}}}}},"Webhooks \u003e Trainings \u003e Training \u003e Creates":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `trainings/training/create`","deprecated":false,"summary":"Trainings \u003e Training \u003e Creates","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/trainings_training"}}}}}},"Webhooks \u003e Trainings \u003e Training \u003e Deletes":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `trainings/training/delete`","deprecated":false,"summary":"Trainings \u003e Training \u003e Deletes","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/trainings_training"}}}}}},"Webhooks \u003e Trainings \u003e Training \u003e Updates":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `trainings/training/update`","deprecated":false,"summary":"Trainings \u003e Training \u003e Updates","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/trainings_training"}}}}}},"Webhooks \u003e Trainings \u003e Training \u003e Update statuses":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `trainings/training/update_status`","deprecated":false,"summary":"Trainings \u003e Training \u003e Update statuses","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/trainings_training"}}}}}},"Webhooks \u003e WorkSchedule \u003e Schedule \u003e Creates":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `work_schedule/schedule/create`","deprecated":false,"summary":"WorkSchedule \u003e Schedule \u003e Creates","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/work_schedule_schedule"}}}}}},"Webhooks \u003e WorkSchedule \u003e Schedule \u003e Toggle archives":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `work_schedule/schedule/toggle_archive`","deprecated":false,"summary":"WorkSchedule \u003e Schedule \u003e Toggle archives","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/work_schedule_schedule"}}}}}},"Webhooks \u003e WorkSchedule \u003e Schedule \u003e Updates":{"post":{"tags":["Webhooks"],"description":"Subscription_type: `work_schedule/schedule/update`","deprecated":false,"summary":"WorkSchedule \u003e Schedule \u003e Updates","parameters":[],"responses":{"200":{"description":"Return a 200 status to indicate that the data was received successfully"}},"requestBody":{"description":"Callback payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/work_schedule_schedule"}}}}}}},"x-readme":{"proxy-enabled":false},"servers":[{"url":"https://api.factorialhr.com","description":"Production server"},{"url":"https://api.demo.factorial.dev","description":"Demo server (deprecated)"},{"url":"https://api.eu2.demo.factorial.dev","description":"Demo server"}],"security":[{"oauth2":[]}],"tags":[{"name":"ApiPublic \u003e Credential","description":"Allows API clients to know access data used in both API Key or Oauth tokens"},{"name":"ApiPublic \u003e WebhookSubscription","description":"Allows external applications to receive real-time notifications from Factorial by registering a `target_url` for specific `subscription_type` events. Upon event occurrence, the service sends an HTTP request to the `target_url`, often including a `challenge` token for verification, enabling the subscriber to process and respond to event data efficiently"},{"name":"Approvals \u003e MaterializedApprovalsFlow","description":"Approval flows"},{"name":"Ats \u003e Answer","description":"An answer to custom question for an application in the ATS"},{"name":"Ats \u003e Application","description":"An application for a job in the ATS"},{"name":"Ats \u003e ApplicationPhase","description":"Phases defined for an specific job opening. Are related to a Hiring Stage, but can be different for different job openings"},{"name":"Ats \u003e Candidate","description":"A Candidate in the ATS"},{"name":"Ats \u003e CandidateSource","description":"Source to be used for candidate and application"},{"name":"Ats \u003e EvaluationForm","description":"A set of questions to evaluate an application for a job"},{"name":"Ats \u003e Feedback","description":"Application feedback"},{"name":"Ats \u003e HiringStage","description":"Logical grouping for phases used for all job openings"},{"name":"Ats \u003e JobPosting","description":"Job Postings"},{"name":"Ats \u003e Message","description":"Ats message"},{"name":"Ats \u003e Question","description":"Custom questions in a job opening"},{"name":"Ats \u003e RejectionReason","description":"Company Rejection Reasons"},{"name":"Attendance \u003e BreakConfiguration","description":"Break configurations attendance"},{"name":"Attendance \u003e EditTimesheetRequest","description":"Edit Timesheet Requests"},{"name":"Attendance \u003e EstimatedTime","description":"Estimated time is used in attendance to know how many time is planned for employee/date to work. From this resource we get the original planned time, how this time has been affected by bank holidays and leaves and the planned shifts and breaks in case there are."},{"name":"Attendance \u003e OpenShift","description":"Gets current open shift"},{"name":"Attendance \u003e OvertimeRequest","description":"Overtime requests"},{"name":"Attendance \u003e Review","description":"Attendance review is the dates that have been approved in the timesheet."},{"name":"Attendance \u003e Shift","description":"Shift operations"},{"name":"Attendance \u003e WorkedTime","description":"Attendance worked time"},{"name":"Banking \u003e BankAccount","description":"Bank Account represent a bank account that can be used to perform transactions, review balances and more."},{"name":"Banking \u003e CardPayment","description":"A card payment triggered when the card is used."},{"name":"Banking \u003e Transaction","description":"A banking transaction represents a movement of money between accounts."},{"name":"BookkeepersManagement \u003e Incidence","description":"Incidences"},{"name":"Companies \u003e LegalEntity","description":"A repository to retrieve legal entities"},{"name":"Compensations \u003e Concept","description":"Compensations concept"},{"name":"Contracts \u003e Compensation","description":"Contracts compensation"},{"name":"Contracts \u003e ContractTemplate","description":"Contract templates define country-specific settings used in contract versions"},{"name":"Contracts \u003e ContractVersion","description":"Contracts contract version"},{"name":"Contracts \u003e ContractVersionHistory","description":"Contracts contract version history"},{"name":"Contracts \u003e ContractVersionMetaDatum","description":"Contracts contract version meta data"},{"name":"Contracts \u003e FrenchContractType","description":"Available contract types in France"},{"name":"Contracts \u003e GermanContractType","description":"Available contract types in Germany"},{"name":"Contracts \u003e PortugueseContractType","description":"Available contract types in Portugal"},{"name":"Contracts \u003e ReferenceContract","description":"Contracts reference contract"},{"name":"Contracts \u003e SpanishContractType","description":"Available contract types in Spain"},{"name":"Contracts \u003e SpanishEducationLevel","description":"Education Levels in Spain"},{"name":"Contracts \u003e SpanishProfessionalCategory","description":"Spanish professional categories used in contracts"},{"name":"Contracts \u003e SpanishWorkingDayType","description":"Spanish working day types used in contracts"},{"name":"Contracts \u003e Taxonomy","description":"Contracts taxonomy"},{"name":"CustomFields \u003e Field","description":"Set up custom fields that will appear in the employee dashboard. You will be able to track more information from your employees."},{"name":"CustomFields \u003e Option","description":"Options for single or multiple choice custom fields"},{"name":"CustomFields \u003e ResourceField","description":"Handle schema custom fields"},{"name":"CustomFields \u003e Value","description":"Custom fields value"},{"name":"CustomResources \u003e Resource","description":"Handles resources for values (custom tables) each value have an associated resource the attachable (like Employee)"},{"name":"CustomResources \u003e Schema","description":"Handles custom tables"},{"name":"CustomResources \u003e Value","description":"Handles values for schemas (custom tables)"},{"name":"Documents \u003e Document","description":"Documents"},{"name":"Documents \u003e DownloadUrl","description":"DownloadUrl"},{"name":"Documents \u003e Folder","description":"Document Folders"},{"name":"Employees \u003e Employee","description":"Employee"},{"name":"EmployeeUpdates \u003e Absence","description":"Employee update absences"},{"name":"EmployeeUpdates \u003e ContractChange","description":"Employee update in contract changes"},{"name":"EmployeeUpdates \u003e NewHire","description":"Employee update for hirings"},{"name":"EmployeeUpdates \u003e PersonalChange","description":"Employee update summaries"},{"name":"EmployeeUpdates \u003e Summary","description":"Employee update summaries"},{"name":"EmployeeUpdates \u003e Termination","description":"Employee update terminations"},{"name":"Expenses \u003e Expensable","description":"Represents an expensable resource, which can be a regular expense or a mileage expense."},{"name":"Expenses \u003e Expense","description":"Represents an expense"},{"name":"Expenses \u003e Mileage","description":"Represents a mileage"},{"name":"Expenses \u003e PerDiem","description":"Represents a per diem"},{"name":"Finance \u003e Account","description":"Ledger account refers to a structured entity that represents an account within a general ledger system."},{"name":"Finance \u003e AccountingSetting","description":"Accounting Settings default configurations"},{"name":"Finance \u003e BudgetOption","description":"Budget with limited information for general viewing purposes (e.g. reporting an expense)"},{"name":"Finance \u003e Category","description":"Represents a category"},{"name":"Finance \u003e Contact","description":"A contact that can be a client or a provider"},{"name":"Finance \u003e CostCenter","description":"Cost centers"},{"name":"Finance \u003e CostCenterMembership","description":"Cost center memberships"},{"name":"Finance \u003e FinancialDocument","description":"Financial Document is a document that represents a financial transaction. Could be an invoice, a credit note or receipt."},{"name":"Finance \u003e JournalEntry","description":"A journal entry, which groups journal lines together in the accounting system"},{"name":"Finance \u003e JournalLine","description":"A journal line, the base of the double entry accounting system"},{"name":"Finance \u003e LedgerAccountResource","description":"Ledger account resource refers to a structured entity that represents an account within a general ledger system. It serves as a digital record for tracking financial transactions related to a specific category. (e.g. bank account, vendor, tax type, expense, etc.)"},{"name":"Finance \u003e TaxRate","description":"Manages the numeric values applied to a specific tax type within financial operations."},{"name":"Finance \u003e TaxType","description":"Represents the different tax types used in financial operations."},{"name":"Holidays \u003e CompanyHoliday","description":"Company holidays"},{"name":"Integrations \u003e SyncableItem","description":"Integrations SyncableItem represents the item data that needs to be synced within a SyncRun. A SyncRun represents each synchronization execution of a set of items. This endpoint is designed to be used by integrators building a integration between Factorial and an external systems."},{"name":"Integrations \u003e SyncableSyncRun","description":"Integrations SyncableSyncRun represents a synchronization execution of a SyncableItem within a sync run. A sync run represents each synchronization execution of a set of items. This endpoint is designed to be used by integrators building a integration between Factorial and an external systems."},{"name":"ItManagement \u003e ItAsset","description":"IT Asset (device, keys, etc)"},{"name":"ItManagement \u003e ItAssetModel","description":"IT Asset Model (make/model of device)"},{"name":"JobCatalog \u003e Level","description":"Job Catalog Levels"},{"name":"JobCatalog \u003e NodeAttribute","description":"JobCatalog Node Attributes"},{"name":"JobCatalog \u003e Role","description":"Job Catalog Roles"},{"name":"JobCatalog \u003e TreeNode","description":"JobCatalog Tree Node"},{"name":"Locations \u003e Location","description":"Manage Workplaces in Factorial"},{"name":"Locations \u003e WorkArea","description":"Location work areas"},{"name":"Marketplace \u003e Installation","description":"Represents the installation of an Integration"},{"name":"Marketplace \u003e InstallationSetting","description":"Represents the settings of an integration installation"},{"name":"Payroll \u003e FamilySituation","description":"Family situation"},{"name":"Payroll \u003e PolicyPeriod","description":"Payroll policy periods"},{"name":"Payroll \u003e Supplement","description":"Payroll Supplements"},{"name":"PayrollEmployees \u003e Identifier","description":"Payroll employee identifier codes for specific countries (Portugal, Italy and Germany)"},{"name":"PayrollIntegrationsBase \u003e Code","description":"Codes represent an unique identifier to relate Factorial objects with different payroll softwares"},{"name":"Performance \u003e Agreement","description":"Performance Agreements"},{"name":"Performance \u003e CompanyEmployeeScoreScale","description":"Performance Company Employee Score Scales"},{"name":"Performance \u003e EmployeeScoreScale","description":"Performance Employee Score Scales"},{"name":"Performance \u003e ReviewEmployeeScore","description":"Performance Review Employee Scores"},{"name":"Performance \u003e ReviewEvaluation","description":"Performance Review Evaluations"},{"name":"Performance \u003e ReviewEvaluationAnswer","description":"Performance Review Evaluation Answers"},{"name":"Performance \u003e ReviewEvaluationScore","description":"Performance Review Evaluation Scores"},{"name":"Performance \u003e ReviewOwner","description":"Performance Review Owner"},{"name":"Performance \u003e ReviewProcess","description":"Performance Review Process"},{"name":"Performance \u003e ReviewProcessCustomTemplate","description":"Performance Review Process User Created Templates"},{"name":"Performance \u003e ReviewProcessEstimatedTarget","description":"Performance Review Target from resolving target strategy"},{"name":"Performance \u003e ReviewProcessTarget","description":"Performance Review Process Targets"},{"name":"Performance \u003e ReviewQuestionnaireByStrategy","description":"Performance Review Questionnaire by reviewer strategies"},{"name":"Performance \u003e ReviewVisibilitySetting","description":"Performance Review Visibility Settings"},{"name":"Performance \u003e TargetManager","description":"Performance Target Managers"},{"name":"Posts \u003e Comment","description":"Posts comment"},{"name":"Posts \u003e Group","description":"Posts group"},{"name":"Posts \u003e Post","description":"Posts post"},{"name":"Procurement \u003e PurchaseOrder","description":"purchase_order"},{"name":"Procurement \u003e PurchaseRequest","description":"purchase_request"},{"name":"Procurement \u003e Type","description":"type of purchase (e.g. software, training, etc.)"},{"name":"ProjectManagement \u003e BudgetStrategy","description":"Project management Budget strategies"},{"name":"ProjectManagement \u003e ExpenseRecord","description":"Project Management Expense Records"},{"name":"ProjectManagement \u003e ExportableExpense","description":"Project Management Exportable Expenses"},{"name":"ProjectManagement \u003e ExportableProject","description":"Project Management Exportable Projects"},{"name":"ProjectManagement \u003e FlexibleTimeRecord","description":"Project Management Flexible Time Records"},{"name":"ProjectManagement \u003e FlexibleTimeRecordComment","description":"Project Management Flexible Time Record Comments"},{"name":"ProjectManagement \u003e PlannedRecord","description":"Project management planned records"},{"name":"ProjectManagement \u003e Project","description":"Project Management Projects"},{"name":"ProjectManagement \u003e ProjectTask","description":"Project management project task"},{"name":"ProjectManagement \u003e ProjectWorker","description":"Project Management Project Workers"},{"name":"ProjectManagement \u003e Subproject","description":"Project Management Subprojects"},{"name":"ProjectManagement \u003e TimeRecord","description":"Project Management Time Records"},{"name":"ShiftManagement \u003e Shift","description":"Retrieves and manages scheduled work shifts for employees. Shifts represent planned work periods with start and end times, assigned to specific employees at locations. Supports filtering by employees, locations, date ranges, and shift states (draft, published, backup)."},{"name":"Tasks \u003e Task","description":"Factorial task element"},{"name":"Tasks \u003e TaskFile","description":"Tasks task file"},{"name":"Teams \u003e Membership","description":"Teams memberships"},{"name":"Teams \u003e Team","description":"Teams"},{"name":"Timeoff \u003e Allowance","description":"An Allowance represents how a Time off counter accrues and deducts days."},{"name":"Timeoff \u003e AllowanceIncidence","description":"Timeoff allowance incidence"},{"name":"Timeoff \u003e AllowanceStat","description":"Timeoff allowance stat"},{"name":"Timeoff \u003e BlockedPeriod","description":"Time off blocked period"},{"name":"Timeoff \u003e Leave","description":"Timeoff leave"},{"name":"Timeoff \u003e LeaveType","description":"Timeoff leave type"},{"name":"Timeoff \u003e Policy","description":"Time off policies"},{"name":"Timeoff \u003e PolicyAssignment","description":"Time off Policy Assignments"},{"name":"Timeoff \u003e PolicyTimeline","description":"Policy Timeline represents the different Time off policies an employee has during his/her time at a company"},{"name":"TimePlanning \u003e PlannedBreak","description":"Planned breaks to define custom breaks in Time Planning"},{"name":"TimePlanning \u003e PlanningVersion","description":"Represents what time planning tool is used for a given employee on a given date. Available options are shift management, work schedules and contract hours."},{"name":"TimeSettings \u003e BreakConfiguration","description":"Break Configurations to define the breaks settings"},{"name":"Trainings \u003e Category","description":"Training categories"},{"name":"Trainings \u003e Session","description":"Training sessions"},{"name":"Trainings \u003e SessionAccessMembership","description":"Session memberships"},{"name":"Trainings \u003e SessionAttendance","description":"Session attendances"},{"name":"Trainings \u003e Training","description":"Trainings"},{"name":"Trainings \u003e TrainingClass","description":"Training classes"},{"name":"Trainings \u003e TrainingMembership","description":"Training memberships"},{"name":"WorkSchedule \u003e DayConfiguration","description":"Represents the hours to work on a given day inside a given overlap period for a schedule."},{"name":"WorkSchedule \u003e OverlapPeriod","description":"Represents a specific time frame where a schedule applies. It has a day and month for for beginning and end, but not a year: it is assumed it repeats every year at the same dates."},{"name":"WorkSchedule \u003e Schedule","description":"Represents a specific work schedule. Contains multiple overlap periods."}],"paths":{"/api/2026-04-01/resources/api_public/credentials":{"get":{"tags":["ApiPublic \u003e Credential"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Credentials","summary":"Reads all Credentials","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/api_public_credential"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/api_public/webhook_subscriptions":{"get":{"tags":["ApiPublic \u003e WebhookSubscription"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Webhook subscriptions","summary":"Reads all Webhook subscriptions","parameters":[{"name":"id","in":"query","schema":{"type":"integer","description":"Identifier of the webhook subscription","example":1},"description":"Identifier of the webhook subscription","example":1},{"name":"company_id","in":"query","schema":{"type":"integer","description":"Company identifier of the webhook subscription","example":1},"description":"Company identifier of the webhook subscription","example":1},{"name":"type","in":"query","schema":{"type":"string","description":"Type of the webhook subscription","example":"ats/job_posting/create"},"description":"Type of the webhook subscription","example":"ats/job_posting/create"},{"name":"enabled","in":"query","schema":{"type":"boolean","description":"List only enabled webhook subscriptions","example":true},"description":"List only enabled webhook subscriptions","example":true}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/api_public_webhook_subscription"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["ApiPublic \u003e WebhookSubscription"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Creates a Webhook subscription","summary":"Creates a Webhook subscription","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/api_public_webhook_subscription"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["subscription_type","target_url","company_id"],"properties":{"subscription_type":{"type":"string","description":"Type of the webhook subscription","example":"ats/job_posting/create"},"target_url":{"type":"string","description":"URL where the webhook payload will be sent","example":"https://webhook.site/"},"name":{"type":"string","description":"Name of the webhook subscription","example":"Webhook subscription of a job posting created"},"challenge":{"type":"string","description":"String to verify the subscription","example":"2bca4e6d-9aaf-4f11-9e5d"},"company_id":{"type":"integer","description":"Company identifier of the webhook subscription","example":1},"enabled":{"type":"boolean","description":"Boolean to enable/disable the subscription","example":true},"api_version":{"type":"string","description":"API version of the webhook subscription that determines the schema of the payload","enum":["2025-04-01","2025-07-01","2025-10-01","2026-01-01","2026-04-01"]}}}}}}}},"/api/2026-04-01/resources/api_public/webhook_subscriptions/{id}":{"get":{"tags":["ApiPublic \u003e WebhookSubscription"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Webhook subscription","summary":"Reads a single Webhook subscription","parameters":[{"name":"id","example":"1","description":"Identifier of the webhook subscription","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/api_public_webhook_subscription"}}}}}},"put":{"tags":["ApiPublic \u003e WebhookSubscription"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Updates a Webhook subscription","summary":"Updates a Webhook subscription","parameters":[{"name":"id","example":"1","description":"Identifier of the webhook subscription","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/api_public_webhook_subscription"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer","description":"Identifier of the webhook subscription","example":1},"target_url":{"type":"string","description":"URL where the webhook payload will be sent","example":"https://webhook.site/"},"subscription_type":{"type":"string","description":"Type of the webhook subscription","example":"ats/job_posting/create"},"name":{"type":"string","description":"Name of the webhook subscription","example":"Webhook subscription of a job posting created"},"challenge":{"type":"string","description":"String to verify the subscription","example":"2bca4e6d-9aaf-4f11-9e5d"},"enabled":{"type":"boolean","description":"Boolean to enable/disable the subscription","example":true},"api_version":{"type":"string","description":"API version of the webhook subscription that determines the schema of the payload","enum":["2025-04-01","2025-07-01","2025-10-01","2026-01-01","2026-04-01"]}}}}}}},"delete":{"tags":["ApiPublic \u003e WebhookSubscription"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Deletes a Webhook subscription","summary":"Deletes a Webhook subscription","parameters":[{"name":"id","example":"1","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/api_public_webhook_subscription"}}}}}}},"/api/2026-04-01/resources/approvals/materialized_approvals_flows/approve_resource":{"post":{"tags":["Approvals \u003e MaterializedApprovalsFlow"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Approves the current pending step of an approval flow identified by resource_id and resource_type, without needing to know the materialized_approval_flow_id.","summary":"Approves an approval flow by resource","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/approvals_materialized_approvals_flow"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["resource_id","resource_type"],"properties":{"resource_id":{"type":"integer","description":"Id of the resource to approve.","example":1},"resource_type":{"type":"string","description":"Type of the resource to approve (e.g. Timeoff::Leave).","example":"Timeoff::Leave"}}}}}}}},"/api/2026-04-01/resources/approvals/materialized_approvals_flows/reject_resource":{"post":{"tags":["Approvals \u003e MaterializedApprovalsFlow"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Rejects the current pending step of an approval flow identified by resource_id and resource_type, without needing to know the materialized_approval_flow_id.","summary":"Rejects an approval flow by resource","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/approvals_materialized_approvals_flow"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["resource_id","resource_type"],"properties":{"resource_id":{"type":"integer","description":"Id of the resource to reject.","example":1},"resource_type":{"type":"string","description":"Type of the resource to reject (e.g. Timeoff::Leave).","example":"Timeoff::Leave"},"reason":{"type":"string","description":"Optional reason for the rejection.","example":"Does not comply with policy"}}}}}}}},"/api/2026-04-01/resources/ats/answers":{"get":{"tags":["Ats \u003e Answer"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Answers","summary":"Reads all Answers","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"Identifier of the answers","example":[1,2],"items":{"type":"integer"}},"description":"Identifier of the answers","example":[1,2]},{"name":"ats_application_ids[]","in":"query","schema":{"type":"array","description":"Identifier of the apllications","example":[1,2],"items":{"type":"integer"}},"description":"Identifier of the apllications","example":[1,2]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ats_answer"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["Ats \u003e Answer"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Creates an Answer","summary":"Creates an Answer","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ats_answer"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["ats_question_id","ats_application_id","value","original_question_label","original_question_type"],"properties":{"ats_question_id":{"type":"integer","description":"Identifier of the question","example":1},"ats_application_id":{"type":"integer","description":"Identifier of the application","example":1},"value":{"type":"string","description":"Value of the answer","example":"One of the best I have ever seen"},"original_question_label":{"type":"string","description":"Label of the question","example":"How was your application ranked?"},"original_question_type":{"type":"string","description":"Type of the question","enum":["text","long_text","single_choice","multiple_choice"],"example":"text"}}}}}}}},"/api/2026-04-01/resources/ats/answers/{id}":{"get":{"tags":["Ats \u003e Answer"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Answer","summary":"Reads a single Answer","parameters":[{"name":"id","example":"1","description":"Identifier of the answers","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ats_answer"}}}}}}},"/api/2026-04-01/resources/ats/applications":{"get":{"tags":["Ats \u003e Application"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Applications","summary":"Reads all Applications","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"Application ids to retrieve","example":[1,2],"items":{"type":"integer"}},"description":"Application ids to retrieve","example":[1,2]},{"name":"ats_job_posting_id","in":"query","schema":{"type":"integer","description":"Application job posting id to retrieve","example":1},"description":"Application job posting id to retrieve","example":1},{"name":"qualified","in":"query","schema":{"type":"boolean","description":"Retrieve applications by their qualified status","example":true},"description":"Retrieve applications by their qualified status","example":true},{"name":"ats_application_phase_id","in":"query","schema":{"type":"integer","description":"Application phase id","example":1},"description":"Application phase id","example":1},{"name":"ats_candidate_ids[]","in":"query","schema":{"type":"array","description":"Application candidates ids","example":[1,2],"items":{"type":"integer"}},"description":"Application candidates ids","example":[1,2]},{"name":"ats_rejection_reason_ids[]","in":"query","schema":{"type":"array","description":"Application rejection reason ids","example":[1,2],"items":{"type":"integer"}},"description":"Application rejection reason ids","example":[1,2]},{"name":"search","in":"query","schema":{"type":"string","description":"Application search","example":"application"},"description":"Application search","example":"application"},{"name":"ats_tags_ids[]","in":"query","schema":{"type":"array","description":"Application tag ids","example":[1,2],"items":{"type":"integer"}},"description":"Application tag ids","example":[1,2]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ats_application"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["Ats \u003e Application"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Creates an Application","summary":"Creates an Application","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ats_application"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["ats_job_posting_id"],"properties":{"author_id":{"type":"integer","description":"Application author id","example":1},"author_type":{"type":"string","description":"Application author type","enum":["company","access","user"],"example":"Company"},"phone":{"type":"string","description":"Application candidate phone","example":"34612345678"},"ats_candidate_id":{"type":"integer","description":"Application candidate id","example":1},"ats_job_posting_id":{"type":"integer","description":"Application job posting id","example":1},"ats_application_phase_id":{"type":"integer","description":"Application phase id","example":1},"consent_to_talent_pool":{"type":"boolean","description":"Whether or not the candidate has given consent to be added to the talent pool","example":true},"cover_letter":{"type":"string","description":"Application cover letter","example":"cover letter"},"source":{"type":"string","description":"Application source","example":"source"},"medium":{"type":"string","description":"Application medium","example":"medium"},"answers":{"type":"array","description":"answers","items":{}}}}}}}}},"/api/2026-04-01/resources/ats/applications/{id}":{"get":{"tags":["Ats \u003e Application"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Application","summary":"Reads a single Application","parameters":[{"name":"id","example":"1","description":"Application ids to retrieve","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ats_application"}}}}}},"put":{"tags":["Ats \u003e Application"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Updates an Application","summary":"Updates an Application","parameters":[{"name":"id","example":"1","description":"Application id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ats_application"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id"],"properties":{"author_id":{"type":"integer","description":"Application author id","example":1},"author_type":{"type":"string","description":"Application author type","enum":["company","access","user"],"example":"Company"},"id":{"type":"integer","description":"Application id","example":1},"qualified":{"type":"boolean","description":"Application is qualified","example":true},"ats_application_phase_id":{"type":"integer","description":"Application phase id","example":1},"disqualified_reason":{"type":"string","description":"Application disqualified reason","example":"Unfit for the role"},"phone":{"type":"string","description":"Application candidate phone","example":"123321"},"ats_rejection_reason_id":{"type":"integer","description":"Application rejection reason id","example":1},"source":{"type":"string","description":"Application source","example":"source"},"source_id":{"type":"integer","description":"Application source id","example":1}}}}}}},"delete":{"tags":["Ats \u003e Application"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Deletes an Application","summary":"Deletes an Application","parameters":[{"name":"id","example":"1","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ats_application"}}}}}}},"/api/2026-04-01/resources/ats/applications/apply":{"post":{"tags":["Ats \u003e Application"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Apply to a job posting","summary":"Applies an Application","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ats_application"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["first_name","last_name","ats_job_posting_id","email"],"properties":{"company_id":{"type":"integer","description":"Company id of the application","example":1},"first_name":{"type":"string","description":"Application first name","example":"Jane"},"last_name":{"type":"string","description":"Application last name","example":"Doe"},"ats_job_posting_id":{"type":"integer","description":"Application job posting id","example":1},"email":{"type":"string","description":"Application candidate email","example":"jane.doe@service.com"},"phone":{"type":"string","description":"Application candidate phone","example":"34612345678"},"source":{"type":"string","description":"Application source","example":"source"},"medium":{"type":"string","description":"Application medium","example":"medium"},"cover_letter":{"type":"string","description":"Application cover letter","example":"cover letter"},"gender":{"type":"string","description":"gender of the candidate.","example":"female"},"consent_to_talent_pool":{"type":"boolean","description":"Application consent talent pool","example":true},"answers":{"type":"array","description":"answers","items":{}}}}}}}}},"/api/2026-04-01/resources/ats/application_phases":{"get":{"tags":["Ats \u003e ApplicationPhase"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Application phases","summary":"Reads all Application phases","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"Application phases identifiers","example":[1,2],"items":{"type":"integer"}},"description":"Application phases identifiers","example":[1,2]},{"name":"ats_job_posting_ids[]","in":"query","schema":{"type":"array","description":"Job posting of application phases identifiers","example":[1,2],"items":{"type":"integer"}},"description":"Job posting of application phases identifiers","example":[1,2]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ats_application_phase"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/ats/application_phases/{id}":{"get":{"tags":["Ats \u003e ApplicationPhase"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Application phase","summary":"Reads a single Application phase","parameters":[{"name":"id","example":"1","description":"Application phases identifiers","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ats_application_phase"}}}}}}},"/api/2026-04-01/resources/ats/candidates":{"get":{"tags":["Ats \u003e Candidate"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Fetches candidates data from Factorial. When using administrator-level API Credentials, all candidates associated with a company will be returned. When using non-admin level API credentials, only candidates that applied to a job for which the user is a hiring manager will be returned.","summary":"Reads all Candidates","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"list of candidate identifiers.","example":[1,2,3],"items":{"type":"integer"}},"description":"list of candidate identifiers.","example":[1,2,3]},{"name":"emails[]","in":"query","schema":{"type":"array","description":"list of candidate emails.","example":["ana@factorial.com","juan@factorial.com"],"items":{"type":"string"}},"description":"list of candidate emails.","example":["ana@factorial.com","juan@factorial.com"]},{"name":"team_ids[]","in":"query","schema":{"type":"array","description":"list of team identifiers, refers to teams/teams endpoint.","example":[1,2,3],"items":{"type":"integer"}},"description":"list of team identifiers, refers to teams/teams endpoint.","example":[1,2,3]},{"name":"location_ids[]","in":"query","schema":{"type":"array","description":"list of location identifiers, refers to locations/locations endpoint.","example":[1,2,3],"items":{"type":"integer"}},"description":"list of location identifiers, refers to locations/locations endpoint.","example":[1,2,3]},{"name":"source[]","in":"query","schema":{"type":"array","description":"source of the candidate.","example":"email","items":{"type":"string"}},"description":"source of the candidate.","example":"email"},{"name":"remote","in":"query","schema":{"type":"boolean","description":"is the candidate remote?","example":true},"description":"is the candidate remote?","example":true},{"name":"job_posting_ids[]","in":"query","schema":{"type":"array","description":"list of job posting identifiers, refers to ats/job_postings endpoint.","example":[1,2,3],"items":{"type":"integer"}},"description":"list of job posting identifiers, refers to ats/job_postings endpoint.","example":[1,2,3]},{"name":"minimum_average_rating","in":"query","schema":{"type":"number","description":"minimum average rating of the candidate.","example":4},"description":"minimum average rating of the candidate.","example":4},{"name":"active","in":"query","schema":{"type":"boolean","description":"is the candidate active?","example":true},"description":"is the candidate active?","example":true},{"name":"talent_pool","in":"query","schema":{"type":"boolean","description":"is the candidate part of talent pool?","example":true},"description":"is the candidate part of talent pool?","example":true},{"name":"archived","in":"query","schema":{"type":"boolean","description":"is the candidate archived?","example":true},"description":"is the candidate archived?","example":true}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ats_candidate"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["Ats \u003e Candidate"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Creates candidates related to a particular company in an ATS","summary":"Creates a Candidate","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ats_candidate"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["first_name","last_name","company_id"],"properties":{"first_name":{"type":"string","description":"first name of the candidate.","example":"Ana"},"last_name":{"type":"string","description":"last name of the candidate.","example":"Fernandez Perez"},"email":{"type":"string","description":"email of the candidate.","example":"ana@factorial.com"},"company_id":{"type":"integer","description":"company identifier, refers to /core/me endpoint.","example":1},"talent_pool":{"type":"boolean","description":"is the candidate part of talent pool?","example":true},"consent_given_at":{"type":"string","description":"date when the consent was given.","example":"2021-01-01T00:00:00Z"},"source":{"type":"string","description":"source of the candidate.","example":"referred"},"medium":{"type":"string","description":"specifies additional details related to the source of the candidate, such as the referrer name for example if the source is referred.","example":"email"},"phone_number":{"type":"string","description":"phone number of the candidate.","example":645786980},"personal_url":{"type":"string","description":"personal web resource from the candidate.","example":"https://anaperez.factorial.com"},"gender":{"type":"string","description":"gender of the candidate.","example":"female"}}}}}}}},"/api/2026-04-01/resources/ats/candidates/{id}":{"get":{"tags":["Ats \u003e Candidate"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Fetches candidates data from Factorial. When using administrator-level API Credentials, all candidates associated with a company will be returned. When using non-admin level API credentials, only candidates that applied to a job for which the user is a hiring manager will be returned.","summary":"Reads a single Candidate","parameters":[{"name":"id","example":"1","description":"list of candidate identifiers.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ats_candidate"}}}}}},"put":{"tags":["Ats \u003e Candidate"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Updates ATS Candidates data","summary":"Updates a Candidate","parameters":[{"name":"id","example":"1","description":"identifier of the candidate.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ats_candidate"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer","description":"identifier of the candidate.","example":1},"email":{"type":"string","description":"email of the candidate.","example":"ana@factorial.com"},"first_name":{"type":"string","description":"first name of the candidate.","example":"Ana"},"last_name":{"type":"string","description":"last name of the candidate.","example":"Fernandez Perez"},"talent_pool":{"type":"boolean","description":"is the candidate part of talent pool?","example":true},"consent_given_at":{"type":"string","description":"date when the consent was given.","example":"2021-01-01T00:00:00Z"},"phone_number":{"type":"string","description":"phone number of the candidate.","example":645786980},"personal_url":{"type":"string","description":"personal web resource from the candidate.","example":"https://anaperez.factorial.com"}}}}}}},"delete":{"tags":["Ats \u003e Candidate"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Deletes a candidate from the ATS","summary":"Deletes a Candidate","parameters":[{"name":"id","example":"1","description":"identifier of the candidate.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ats_candidate"}}}}}}},"/api/2026-04-01/resources/ats/candidate_sources":{"get":{"tags":["Ats \u003e CandidateSource"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Candidate sources","summary":"Reads all Candidate sources","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"a list of source identifiers.","example":[1,2,3],"items":{"type":"integer"}},"description":"a list of source identifiers.","example":[1,2,3]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ats_candidate_source"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/ats/candidate_sources/{id}":{"get":{"tags":["Ats \u003e CandidateSource"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Candidate source","summary":"Reads a single Candidate source","parameters":[{"name":"id","example":"1","description":"a list of source identifiers.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ats_candidate_source"}}}}}}},"/api/2026-04-01/resources/ats/evaluation_forms":{"get":{"tags":["Ats \u003e EvaluationForm"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Evaluation forms","summary":"Reads all Evaluation forms","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"List of IDs of the evaluation forms to be fetched.","example":[1,2,3],"items":{"type":"integer"}},"description":"List of IDs of the evaluation forms to be fetched.","example":[1,2,3]},{"name":"ats_job_posting_ids[]","in":"query","schema":{"type":"array","description":"List of IDs of the job postings to filter the evaluation forms by.","example":[1,2,3],"items":{"type":"integer"}},"description":"List of IDs of the job postings to filter the evaluation forms by.","example":[1,2,3]},{"name":"template","in":"query","schema":{"type":"boolean","description":"If true, only the evaluation forms that are templates will be fetched.","example":true},"description":"If true, only the evaluation forms that are templates will be fetched.","example":true}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ats_evaluation_form"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/ats/evaluation_forms/{id}":{"get":{"tags":["Ats \u003e EvaluationForm"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Evaluation form","summary":"Reads a single Evaluation form","parameters":[{"name":"id","example":"1","description":"List of IDs of the evaluation forms to be fetched.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ats_evaluation_form"}}}}}}},"/api/2026-04-01/resources/ats/evaluation_forms/save_as_template":{"post":{"tags":["Ats \u003e EvaluationForm"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Save an evaluation form as a template.","summary":"Save as templates an Evaluation form","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ats_evaluation_form"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer","description":"Id of the evaluation form to be saved as a template.","example":1}}}}}}}},"/api/2026-04-01/resources/ats/feedbacks":{"get":{"tags":["Ats \u003e Feedback"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"This endpoint retrieves all feedbacks associated with a candidate's applications.","summary":"Reads all Feedbacks","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"retrieve only the feedbacks that match the IDs passed in the request.","example":[1,2,3],"items":{"type":"integer"}},"description":"retrieve only the feedbacks that match the IDs passed in the request.","example":[1,2,3]},{"name":"ats_application_ids[]","in":"query","schema":{"type":"array","description":"filter feedbacks based on multiple application IDs.","example":[1,2,3],"items":{"type":"integer"}},"description":"filter feedbacks based on multiple application IDs.","example":[1,2,3]},{"name":"ats_candidate_id","in":"query","schema":{"type":"integer","description":"fetch feedbacks related to a specific candidate.","example":[1,2,3]},"description":"fetch feedbacks related to a specific candidate.","example":[1,2,3]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ats_feedback"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["Ats \u003e Feedback"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"This endpoint allows to create new feedback entries for candidates.","summary":"Creates a Feedback","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ats_feedback"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["ats_candidate_id"],"properties":{"ats_candidate_id":{"type":"integer","description":"the ID of the candidate to whom the new feedback will be associated.","example":1},"rating":{"type":"integer","description":"the overall rating from 1 to 5 to be given to the candidate's application.","example":4},"ats_application_id":{"type":"integer","description":"the ID of the application related to the feedback.","example":1},"ats_application_phase_id":{"type":"integer","description":"the ID of the phase within the application related to the feedback.","example":1},"description":{"type":"string","description":"a string describing the feedback provided.","example":"The candidate has a great attitude and is a good fit for the team."},"mention_ids":{"type":"array","description":"the IDs of the accesses for sending notifications if they have it enabled. They must have permissions to see the assosiated application.","example":[1,2,3],"items":{"type":"integer"}},"ats_evaluation_forms_id":{"type":"integer","description":"IDs of the form to which the feedback belongs if the evaluation forms feature is active.","example":[1,2,3]}}}}}}}},"/api/2026-04-01/resources/ats/feedbacks/{id}":{"get":{"tags":["Ats \u003e Feedback"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"This endpoint retrieves all feedbacks associated with a candidate's applications.","summary":"Reads a single Feedback","parameters":[{"name":"id","example":"1","description":"retrieve only the feedbacks that match the IDs passed in the request.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ats_feedback"}}}}}},"put":{"tags":["Ats \u003e Feedback"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"This endpoint allows to update existing feedback entries associated with candidates' applications.","summary":"Updates a Feedback","parameters":[{"name":"id","example":"1","description":"the ID of the feedback entry to be updated.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ats_feedback"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"integer","description":"the ID of the feedback entry to be updated.","example":1},"rating":{"type":"integer","description":"the overall rating from 1 to 5 for the candidate's application.","example":5},"description":{"type":"string","description":"the description of the feedback provided.","example":"The candidate has a great attitude and is a good fit for the team."},"ats_application_phase_id":{"type":"integer","description":"the ID of the phase within the application related to the feedback.","example":1}}}}}}},"delete":{"tags":["Ats \u003e Feedback"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"This endpoint allows to delete a specific feedback entry associated with a candidate's application.","summary":"Deletes a Feedback","parameters":[{"name":"id","example":"1","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ats_feedback"}}}}}}},"/api/2026-04-01/resources/ats/hiring_stages":{"get":{"tags":["Ats \u003e HiringStage"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Hiring stages","summary":"Reads all Hiring stages","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"Identifiers of the hiring stages","example":[1,2],"items":{"type":"integer"}},"description":"Identifiers of the hiring stages","example":[1,2]},{"name":"ats_application_phase_id","in":"query","schema":{"type":"integer","description":"Identifier of the application phase that belongs to a hiring stage","example":1},"description":"Identifier of the application phase that belongs to a hiring stage","example":1}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ats_hiring_stage"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/ats/hiring_stages/{id}":{"get":{"tags":["Ats \u003e HiringStage"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Hiring stage","summary":"Reads a single Hiring stage","parameters":[{"name":"id","example":"1","description":"Identifiers of the hiring stages","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ats_hiring_stage"}}}}}}},"/api/2026-04-01/resources/ats/job_postings":{"get":{"tags":["Ats \u003e JobPosting"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Job postings","summary":"Reads all Job postings","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","items":{"type":"integer"}}},{"name":"status","in":"query","schema":{"type":"string","enum":["draft","published","unlisted","archived","cancelled","deleted"]}},{"name":"team_id","in":"query","schema":{"type":"integer"}},{"name":"location_id","in":"query","schema":{"type":"integer"}},{"name":"legal_entity_id","in":"query","schema":{"type":"integer"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ats_job_posting"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["Ats \u003e JobPosting"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Create a new job posting.","summary":"Creates a Job posting","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ats_job_posting"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["title","status","cv_requirement","cover_letter_requirement","phone_requirement","photo_requirement","personal_url_requirement"],"properties":{"title":{"type":"string","example":"My job title"},"description":{"type":"string","example":"My job description"},"contract_type":{"type":"string","enum":["indefinite","temporary","intern","training","freelance","vendor_contractor","volunteer","per_hour","other","alternant","interim","minijob","werkstudent","apprenticeship","pj","clt","jovem_aprendiz","a_termo_incerto","a_termo_certo","de_curta_duracao","de_muita_curta_duracao","promessa_de_trabalho","a_tempo_parcial","com_pluralidade_de_empregadores","teletrabalho","pre_reforma","recibos_verdes","estagio","sem_termo","apprentissage","fixed_discontinued","apprendistato"],"example":"indefinite"},"workplace_type":{"type":"string","enum":["onsite","remote","hybrid"],"example":"onsite"},"status":{"type":"string","enum":["draft","published","unlisted","archived","cancelled","deleted"],"example":"draft"},"schedule_type":{"type":"string","enum":["full_time","part_time"],"example":"full_time"},"team_id":{"type":"integer","example":1},"location_id":{"type":"integer","example":1},"salary_format":{"type":"string","enum":["fixed_amount","range"],"example":"range"},"salary_from_amount_in_cents":{"type":"integer","example":3000000},"salary_to_amount_in_cents":{"type":"integer","example":5000000},"cv_requirement":{"type":"string","enum":["mandatory","optional","do_not_ask"],"example":"mandatory"},"cover_letter_requirement":{"type":"string","enum":["mandatory","optional","do_not_ask"],"example":"optional"},"phone_requirement":{"type":"string","enum":["mandatory","optional","do_not_ask"],"example":"do_not_ask"},"photo_requirement":{"type":"string","enum":["mandatory","optional","do_not_ask"],"example":"do_not_ask"},"personal_url_requirement":{"type":"string","enum":["mandatory","optional","do_not_ask"],"example":"do_not_ask"},"salary_period":{"type":"string","enum":["annual","monthly","daily"],"example":"annual"}}}}}}}},"/api/2026-04-01/resources/ats/job_postings/{id}":{"get":{"tags":["Ats \u003e JobPosting"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Job posting","summary":"Reads a single Job posting","parameters":[{"name":"id","example":"1","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ats_job_posting"}}}}}},"put":{"tags":["Ats \u003e JobPosting"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Update a job posting.","summary":"Updates a Job posting","parameters":[{"name":"id","example":"1","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ats_job_posting"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer","example":1},"title":{"type":"string","example":"My job title"},"description":{"type":"string","example":"My job description"},"contract_type":{"type":"string","enum":["indefinite","temporary","intern","training","freelance","vendor_contractor","volunteer","per_hour","other","alternant","interim","minijob","werkstudent","apprenticeship","pj","clt","jovem_aprendiz","a_termo_incerto","a_termo_certo","de_curta_duracao","de_muita_curta_duracao","promessa_de_trabalho","a_tempo_parcial","com_pluralidade_de_empregadores","teletrabalho","pre_reforma","recibos_verdes","estagio","sem_termo","apprentissage","fixed_discontinued","apprendistato"],"example":"indefinite"},"workplace_type":{"type":"string","enum":["onsite","remote","hybrid"],"example":"onsite"},"status":{"type":"string","enum":["draft","published","unlisted","archived","cancelled","deleted"],"example":"draft"},"schedule_type":{"type":"string","enum":["full_time","part_time"],"example":"full_time"},"team_id":{"type":"integer","example":1},"location_id":{"type":"integer","example":1},"salary_format":{"type":"string","enum":["fixed_amount","range"],"example":"range"},"salary_from_amount_in_cents":{"type":"integer","example":3000000},"salary_to_amount_in_cents":{"type":"integer","example":5000000},"cv_requirement":{"type":"string","enum":["mandatory","optional","do_not_ask"],"example":"mandatory"},"cover_letter_requirement":{"type":"string","enum":["mandatory","optional","do_not_ask"],"example":"optional"},"phone_requirement":{"type":"string","enum":["mandatory","optional","do_not_ask"],"example":"do_not_ask"},"photo_requirement":{"type":"string","enum":["mandatory","optional","do_not_ask"],"example":"do_not_ask"},"personal_url_requirement":{"type":"string","enum":["mandatory","optional","do_not_ask"],"example":"do_not_ask"},"salary_period":{"type":"string","enum":["annual","monthly","daily"],"example":"annual"}}}}}}},"delete":{"tags":["Ats \u003e JobPosting"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Delete a job posting.","summary":"Deletes a Job posting","parameters":[{"name":"id","example":"1","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ats_job_posting"}}}}}}},"/api/2026-04-01/resources/ats/job_postings/duplicate":{"post":{"tags":["Ats \u003e JobPosting"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Duplicate an existing job posting.","summary":"Duplicates a Job posting","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ats_job_posting"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer","description":"The Job ID of the job posting that you want to duplicate.","example":1}}}}}}}},"/api/2026-04-01/resources/ats/messages":{"get":{"tags":["Ats \u003e Message"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Messages","summary":"Reads all Messages","parameters":[{"name":"id","in":"query","schema":{"type":"integer"}},{"name":"ids[]","in":"query","schema":{"type":"array","items":{"type":"integer"}}},{"name":"ats_conversation_id","in":"query","schema":{"type":"integer"}},{"name":"ats_conversation_ids[]","in":"query","schema":{"type":"array","items":{"type":"integer"}}},{"name":"last_per_conversation","in":"query","schema":{"type":"boolean"},"required":true}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ats_message"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["Ats \u003e Message"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Creates a Message","summary":"Creates a Message","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ats_message"}}}}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","required":["content","sent_by_id","sent_by_type","ats_application_id","attachments[]","topic","send_as_corporate_email"],"properties":{"content":{"type":"string"},"sent_by_id":{"type":"integer"},"sent_by_type":{"type":"string","enum":["candidate","user"]},"ats_application_id":{"type":"integer"},"attachments[]":{"type":"array","items":{"type":"string","format":"binary"}},"topic":{"type":"string"},"send_as_corporate_email":{"type":"boolean"},"delayed_until":{"type":"string"}}}}}}}},"/api/2026-04-01/resources/ats/messages/{id}":{"get":{"tags":["Ats \u003e Message"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Message","summary":"Reads a single Message","parameters":[{"name":"id","example":"1","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ats_message"}}}}}}},"/api/2026-04-01/resources/ats/questions":{"get":{"tags":["Ats \u003e Question"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Questions","summary":"Reads all Questions","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"identifiers of the questions","example":[1,2],"items":{"type":"integer"}},"description":"identifiers of the questions","example":[1,2]},{"name":"ats_job_posting_ids[]","in":"query","schema":{"type":"array","description":"identifiers of the related job postings","example":[1,2],"items":{"type":"integer"}},"description":"identifiers of the related job postings","example":[1,2]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ats_question"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["Ats \u003e Question"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Creates a Question","summary":"Creates a Question","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ats_question"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["ats_job_posting_id","company_id","label","position","question_type"],"properties":{"ats_job_posting_id":{"type":"integer","description":"job posting identifier.","example":1},"company_id":{"type":"integer","description":"company identifier, refers to /core/me endpoint.","example":1},"label":{"type":"string","description":"text of the question.","example":"Are you open to relocate?"},"position":{"type":"integer","description":"position of the question in the list.","example":1},"mandatory":{"type":"boolean","description":"is the question mandatory or not","example":true},"question_type":{"type":"string","description":"type of the question.","enum":["text","long_text","single_choice","multiple_choice","file"],"example":"text"},"auto_disqualify":{"type":"boolean","description":"if the question autodisqualifies the candidate depending on it's response.","example":false},"options":{"type":"array","description":"options for the question.","example":[{"text":"Yes","disqualifies":false},{"text":"No","disqualifies":false}],"items":{}}}}}}}}},"/api/2026-04-01/resources/ats/questions/{id}":{"get":{"tags":["Ats \u003e Question"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Question","summary":"Reads a single Question","parameters":[{"name":"id","example":"1","description":"identifiers of the questions","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ats_question"}}}}}},"put":{"tags":["Ats \u003e Question"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Updates a Question","summary":"Updates a Question","parameters":[{"name":"id","example":"1","description":"identifier of the question","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ats_question"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer","description":"identifier of the question","example":1},"label":{"type":"string","description":"text of the question","example":"Are you open to relocate?"},"position":{"type":"integer","description":"position of the question in the list","example":1},"mandatory":{"type":"boolean","description":"is the question mandatory or not","example":true},"auto_disqualify":{"type":"boolean","description":"if the question autodisqualifies the candidate depending on it's response.","example":false},"options":{"type":"array","description":"options for the question.","example":[{"text":"Yes","disqualifies":false},{"text":"No","disqualifies":false}],"items":{}}}}}}}},"delete":{"tags":["Ats \u003e Question"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Deletes a Question","summary":"Deletes a Question","parameters":[{"name":"id","example":"1","description":"identifier of the question","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ats_question"}}}}}}},"/api/2026-04-01/resources/ats/rejection_reasons":{"get":{"tags":["Ats \u003e RejectionReason"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Rejection reasons","summary":"Reads all Rejection reasons","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"Rejection reasons identifiers","example":[1,2],"items":{"type":"integer"}},"description":"Rejection reasons identifiers","example":[1,2]},{"name":"ats_application_ids[]","in":"query","schema":{"type":"array","description":"Rejected application identifiers","example":[1,2],"items":{"type":"integer"}},"description":"Rejected application identifiers","example":[1,2]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ats_rejection_reason"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/ats/rejection_reasons/{id}":{"get":{"tags":["Ats \u003e RejectionReason"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Rejection reason","summary":"Reads a single Rejection reason","parameters":[{"name":"id","example":"1","description":"Rejection reasons identifiers","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ats_rejection_reason"}}}}}}},"/api/2026-04-01/resources/attendance/break_configurations":{"get":{"tags":["Attendance \u003e BreakConfiguration"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Break configurations","summary":"Reads all Break configurations","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"The break configuration ids to retrieve","example":[1],"items":{"type":"integer"}},"description":"The break configuration ids to retrieve","example":[1]},{"name":"time_settings_break_configuration_ids[]","in":"query","schema":{"type":"array","description":"Ids of the time settings break configuration","example":[1],"items":{"type":"integer"}},"description":"Ids of the time settings break configuration","example":[1]},{"name":"attendance_employees_setting_id","in":"query","schema":{"type":"integer","description":"Id of the attendance employee setting","example":1},"description":"Id of the attendance employee setting","example":1},{"name":"enabled","in":"query","schema":{"type":"boolean","description":"Status of the break configuration if enabled or not"},"description":"Status of the break configuration if enabled or not"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/attendance_break_configuration"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["Attendance \u003e BreakConfiguration"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Creates a Break configuration","summary":"Creates a Break configuration","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/attendance_break_configuration"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["time_settings_break_configuration_id","attendance_employees_setting_id","enabled"],"properties":{"time_settings_break_configuration_id":{"type":"integer","description":"Id of the time settings break configuration","example":1},"attendance_employees_setting_id":{"type":"integer","description":"Id of the attendance employee setting","example":1},"enabled":{"type":"boolean","description":"Status of the break configuration if enabled or not"}}}}}}}},"/api/2026-04-01/resources/attendance/break_configurations/{id}":{"get":{"tags":["Attendance \u003e BreakConfiguration"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Break configuration","summary":"Reads a single Break configuration","parameters":[{"name":"id","example":"1","description":"The break configuration ids to retrieve","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/attendance_break_configuration"}}}}}},"put":{"tags":["Attendance \u003e BreakConfiguration"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Updates a Break configuration","summary":"Updates a Break configuration","parameters":[{"name":"id","example":"1","description":"Id of the break configuration","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/attendance_break_configuration"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer","description":"Id of the break configuration","example":1},"enabled":{"type":"boolean","description":"Status of the break configuration if enabled or not"}}}}}}}},"/api/2026-04-01/resources/attendance/edit_timesheet_requests":{"get":{"tags":["Attendance \u003e EditTimesheetRequest"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Edit timesheet requests","summary":"Reads all Edit timesheet requests","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"filter by ids.","example":[1,2,3],"items":{"type":"integer"}},"description":"filter by ids.","example":[1,2,3]},{"name":"employee_ids[]","in":"query","schema":{"type":"array","description":"filter by employee ids.","example":[1,2,3],"items":{"type":"integer"}},"description":"filter by employee ids.","example":[1,2,3]},{"name":"shift_id","in":"query","schema":{"type":"integer","description":"filter by shift id.","example":1},"description":"filter by shift id.","example":1},{"name":"pending","in":"query","schema":{"type":"boolean","description":"filter by edit timesheet request status.","example":true},"description":"filter by edit timesheet request status.","example":true},{"name":"start_on","in":"query","schema":{"type":"string","description":"filter by edit timesheet requests that were created after or including this date.","example":"2022-01-01"},"description":"filter by edit timesheet requests that were created after or including this date.","example":"2022-01-01"},{"name":"end_on","in":"query","schema":{"type":"string","description":"filter by edit timesheet requests that were created before or including this date.","example":"2022-01-01"},"description":"filter by edit timesheet requests that were created before or including this date.","example":"2022-01-01"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/attendance_edit_timesheet_request"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["Attendance \u003e EditTimesheetRequest"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Creates an edit timesheet request by specifying the type of the request and the fields required to create or update the shift.","summary":"Creates an Edit timesheet request","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/attendance_edit_timesheet_request"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["employee_id","request_type"],"properties":{"employee_id":{"type":"integer"},"request_type":{"type":"string","enum":["create_shift","delete_shift","update_shift"]},"reason":{"type":"string"},"date":{"type":"string"},"clock_in":{"type":"string"},"clock_out":{"type":"string"},"workable":{"type":"boolean"},"attendance_shift_id":{"type":"integer"},"reference_date":{"type":"string"},"time_settings_break_configuration_id":{"type":"integer"},"location_type":{"type":"string","enum":["office","business_trip","work_from_home"]},"observations":{"type":"string"}}}}}}}},"/api/2026-04-01/resources/attendance/edit_timesheet_requests/{id}":{"get":{"tags":["Attendance \u003e EditTimesheetRequest"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Edit timesheet request","summary":"Reads all Edit timesheet requests","parameters":[{"name":"id","example":"1","description":"filter by ids.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/attendance_edit_timesheet_request"}}}}}},"put":{"tags":["Attendance \u003e EditTimesheetRequest"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Updates an edit timesheet request by specifying the fields required to update the shift.","summary":"Updates an Edit timesheet request","parameters":[{"name":"id","example":"1","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/attendance_edit_timesheet_request"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["employee_id","id"],"properties":{"attendance_shift_id":{"type":"integer"},"clock_in":{"type":"string"},"clock_out":{"type":"string"},"date":{"type":"string"},"reference_date":{"type":"string"},"employee_id":{"type":"integer"},"id":{"type":"integer"},"location_type":{"type":"string","enum":["office","business_trip","work_from_home"]},"observations":{"type":"string"},"reason":{"type":"string"},"time_settings_break_configuration_id":{"type":"integer"}}}}}}},"delete":{"tags":["Attendance \u003e EditTimesheetRequest"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Deletes an edit timesheet.","summary":"Deletes an Edit timesheet request","parameters":[{"name":"id","example":"1","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/attendance_edit_timesheet_request"}}}}}}},"/api/2026-04-01/resources/attendance/estimated_times":{"get":{"tags":["Attendance \u003e EstimatedTime"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Get information about estimated data for a given date range and a bunch of employees.","summary":"Reads all Estimated times","parameters":[{"name":"start_on","in":"query","schema":{"type":"string"},"required":true},{"name":"end_on","in":"query","schema":{"type":"string"},"required":true},{"name":"employee_ids[]","in":"query","schema":{"type":"array","items":{"type":"integer"}},"required":true}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/attendance_estimated_time"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/attendance/open_shifts":{"get":{"tags":["Attendance \u003e OpenShift"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"This endpoint retrieves the current open shifts for the specified employee_ids.","summary":"Reads all Open shifts","parameters":[{"name":"employee_ids[]","in":"query","schema":{"type":"array","description":"Employee ids to filter the open shifts by.","example":[1,2,3],"items":{"type":"integer"}},"description":"Employee ids to filter the open shifts by.","example":[1,2,3]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/attendance_open_shift"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/attendance/overtime_requests":{"get":{"tags":["Attendance \u003e OvertimeRequest"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Overtime requests","summary":"Reads all Overtime requests","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","items":{"type":"integer"}}},{"name":"employee_ids[]","in":"query","schema":{"type":"array","items":{"type":"integer"}}},{"name":"start_on","in":"query","schema":{"type":"string"}},{"name":"end_on","in":"query","schema":{"type":"string"}},{"name":"status","in":"query","schema":{"type":"string","enum":["pending","approved","rejected","none"]}},{"name":"include_approval_flow","in":"query","schema":{"type":"boolean"},"required":true}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/attendance_overtime_request"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["Attendance \u003e OvertimeRequest"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Creates an Overtime request","summary":"Creates an Overtime request","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/attendance_overtime_request"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["date","employee_id","author_id"],"properties":{"date":{"type":"string"},"description":{"type":"string"},"hours_amount":{"type":"number"},"employee_id":{"type":"integer"},"author_id":{"type":"integer"}}}}}}}},"/api/2026-04-01/resources/attendance/overtime_requests/{id}":{"get":{"tags":["Attendance \u003e OvertimeRequest"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Overtime request","summary":"Reads a single Overtime request","parameters":[{"name":"id","example":"1","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/attendance_overtime_request"}}}}}},"put":{"tags":["Attendance \u003e OvertimeRequest"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Updates an Overtime request","summary":"Updates an Overtime request","parameters":[{"name":"id","example":"1","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/attendance_overtime_request"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer"},"date":{"type":"string"},"description":{"type":"string"},"hours_amount":{"type":"number"},"reason":{"type":"string"}}}}}}},"delete":{"tags":["Attendance \u003e OvertimeRequest"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Deletes an Overtime request","summary":"Deletes an Overtime request","parameters":[{"name":"id","example":"1","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/attendance_overtime_request"}}}}}}},"/api/2026-04-01/resources/attendance/overtime_requests/approve":{"post":{"tags":["Attendance \u003e OvertimeRequest"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Approves an Overtime request","summary":"Approves an Overtime request","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/attendance_overtime_request"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer"},"reason":{"type":"string"},"approver_id":{"type":"integer"}}}}}}}},"/api/2026-04-01/resources/attendance/overtime_requests/reject":{"post":{"tags":["Attendance \u003e OvertimeRequest"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Rejects an Overtime request","summary":"Rejects an Overtime request","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/attendance_overtime_request"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id","reason"],"properties":{"id":{"type":"integer"},"reason":{"type":"string"},"approver_id":{"type":"integer"}}}}}}}},"/api/2026-04-01/resources/attendance/reviews":{"get":{"tags":["Attendance \u003e Review"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Reviews","summary":"Reads all Reviews","parameters":[{"name":"employee_ids[]","in":"query","schema":{"type":"array","description":"Employee identifiers","example":[1,2,3],"items":{"type":"integer"}},"description":"Employee identifiers","example":[1,2,3],"required":true},{"name":"start_on","in":"query","schema":{"type":"string","description":"Start date of the reviews","example":"2025-01-01"},"description":"Start date of the reviews","example":"2025-01-01","required":true},{"name":"end_on","in":"query","schema":{"type":"string","description":"End date of the reviews","example":"2025-01-02"},"description":"End date of the reviews","example":"2025-01-02","required":true},{"name":"reviewed_at","in":"query","schema":{"type":"string","description":"Reviewed at date(ISO 8601 format string)","example":"2025-01-02T00:00:00.000Z"},"description":"Reviewed at date(ISO 8601 format string)","example":"2025-01-02T00:00:00.000Z","required":true}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/attendance_review"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/attendance/reviews/bulk_create":{"post":{"tags":["Attendance \u003e Review"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Bulk creates a Review","summary":"Bulk creates a Review","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/attendance_review"}}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["employee_ids","start_on","end_on","reviewed_by"],"properties":{"employee_ids":{"type":"array","description":"Employee identifiers to review","example":[1,2,3],"items":{"type":"integer"}},"start_on":{"type":"string","description":"Start date of the reviews","example":"2025-02-01"},"end_on":{"type":"string","description":"End date of the reviews","example":"2025-02-28"},"reviewed_by":{"type":"integer","description":"Reviewed by employee identifier","example":1}}}}}}}},"/api/2026-04-01/resources/attendance/reviews/bulk_destroy":{"post":{"tags":["Attendance \u003e Review"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Bulk destroys a Review","summary":"Bulk destroys a Review","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/attendance_review"}}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["employee_ids","start_on","end_on"],"properties":{"employee_ids":{"type":"array","description":"Employee identifiers","example":[1,2,3],"items":{"type":"integer"}},"start_on":{"type":"string","description":"Start date of the reviews to delete","example":"2025-01-01"},"end_on":{"type":"string","description":"End date of the reviews to delete","example":"2025-01-02"}}}}}}}},"/api/2026-04-01/resources/attendance/shifts":{"get":{"tags":["Attendance \u003e Shift"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Shifts","summary":"Reads all Shifts","parameters":[{"name":"employee_ids[]","in":"query","schema":{"type":"array","description":"filter by employee ids.","example":[1,2,3],"items":{"type":"integer"}},"description":"filter by employee ids.","example":[1,2,3]},{"name":"start_on","in":"query","schema":{"type":"string","description":"filter by shift that starts after or including this date.","example":"2023-09-30"},"description":"filter by shift that starts after or including this date.","example":"2023-09-30"},{"name":"end_on","in":"query","schema":{"type":"string","description":"filter by shift that ends before or including this date.","example":"2023-10-01"},"description":"filter by shift that ends before or including this date.","example":"2023-10-01"},{"name":"ids[]","in":"query","schema":{"type":"array","description":"filter by ids.","example":[1,2,3],"items":{"type":"integer"}},"description":"filter by ids.","example":[1,2,3]},{"name":"half_day","in":"query","schema":{"type":"boolean","description":"Flag to filter half day shifts","example":false},"description":"Flag to filter half day shifts","example":false,"required":true},{"name":"workable","in":"query","schema":{"type":"boolean","description":"Flag to filter shifts in workable days","example":true},"description":"Flag to filter shifts in workable days","example":true},{"name":"latest_shift","in":"query","schema":{"type":"boolean","description":"Flag to filter only the latest shift for each employee","example":true},"description":"Flag to filter only the latest shift for each employee","example":true},{"name":"sort_created_at_asc","in":"query","schema":{"type":"boolean","description":"Flag to sort by created_at asc","example":true},"description":"Flag to sort by created_at asc","example":true,"required":true},{"name":"breaks_with_time_configuration","in":"query","schema":{"type":"boolean","description":"Flag to include breaks with time configuration","example":true},"description":"Flag to include breaks with time configuration","example":true},{"name":"last_working_shift","in":"query","schema":{"type":"boolean","description":"Filter by last working shift","example":true},"description":"Filter by last working shift","example":true},{"name":"updated_at","in":"query","schema":{"type":"string","description":"Filter shifts by the date they were last updated","example":"2023-10-01"},"description":"Filter shifts by the date they were last updated","example":"2023-10-01"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/attendance_shift"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["Attendance \u003e Shift"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Creates a complete shift by specifying both the clock-in and clock-out times. If you need to clock in directly, consider using or subscribing to the [clock-in endpoint](https://apidoc.factorialhr.com/v2025-01-01/reference/post_api-2025-01-01-resources-attendance-shifts-clock-in)","summary":"Creates a shift","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/attendance_shift"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["date"],"properties":{"employee_id":{"type":"integer","description":"Id of the employee related","example":1},"date":{"type":"string","description":"Date of the shift","example":"2022-01-01"},"reference_date":{"type":"string","description":"Reference date of the shift","example":"2022-01-01"},"day":{"type":"integer","description":"number of days of the shift","example":1},"clock_in":{"type":"string","description":"Time of the clock in","example":"2024-01-01T12:12:01-02:00"},"clock_out":{"type":"string","description":"Time of the clock out","example":"2024-01-01T12:12:01-02:00"},"observations":{"type":"string","description":"Comments added to the shift","example":"This is an observation"},"half_day":{"type":"string","description":"Boolean that indicates if the shift is a half day","example":true},"workable":{"type":"boolean","description":"Boolean that indicates if the shift is workable","example":true},"location_type":{"type":"string","description":"Type of the location","enum":["office","business_trip","work_from_home"],"example":"office"},"source":{"type":"string","description":"Source of the shift creation","enum":["desktop","mobile","face_recognition","qr_code","mobile_geolocation","shared_device","api","system"],"example":"desktop"},"time_settings_break_configuration_id":{"type":"integer","description":"Id of the break configuration","example":1}}}}}}}},"/api/2026-04-01/resources/attendance/shifts/{id}":{"get":{"tags":["Attendance \u003e Shift"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Shift","summary":"Reads a single Shift","parameters":[{"name":"id","example":"1","description":"filter by ids.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/attendance_shift"}}}}}},"put":{"tags":["Attendance \u003e Shift"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Updates a Shift","summary":"Updates a Shift","parameters":[{"name":"id","example":"1","description":"Id of the shift","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/attendance_shift"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer","description":"Id of the shift","example":1},"clock_in":{"type":"string","description":"Time of the clock in","example":"2024-01-01T12:12:01-02:00"},"clock_out":{"type":"string","description":"Time of the clock out","example":"2024-01-01T12:12:01-02:00"},"date":{"type":"string","description":"Date of the shift","example":"2024-01-01"},"reference_date":{"type":"string","description":"reference date of the shift","example":"2024-01-01"},"observations":{"type":"string","description":"Comments added to the shift","example":"This is an observation"},"location_type":{"type":"string","description":"Type of the location","enum":["office","business_trip","work_from_home"],"example":"office"},"workplace_id":{"type":"integer","description":"Id of the location related","example":1},"time_settings_break_configuration_id":{"type":"integer","description":"Id of the break configuration","example":1}}}}}}},"delete":{"tags":["Attendance \u003e Shift"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Deletes a Shift","summary":"Deletes a Shift","parameters":[{"name":"id","example":"1","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/attendance_shift"}}}}}}},"/api/2026-04-01/resources/attendance/shifts/autofill":{"post":{"tags":["Attendance \u003e Shift"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Autofills a Shift","summary":"Autofills a Shift","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/attendance_shift"}}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["employee_ids","start_on","end_on"],"properties":{"employee_ids":{"type":"array","description":"Ids of the employees to be autofilled","example":[1,2,3],"items":{"type":"integer"}},"start_on":{"type":"string","description":"Date to start autofilling","example":"2022-01-01"},"end_on":{"type":"string","description":"Date to end autofilling","example":"2022-01-01"},"source":{"type":"string","description":"Source of the shift creation","example":"desktop"}}}}}}}},"/api/2026-04-01/resources/attendance/shifts/break_end":{"post":{"tags":["Attendance \u003e Shift"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Given that attendance breaks are enabled, this endpoint ends a break in an open shift.","summary":"Break ends a Shift","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/attendance_shift"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["now"],"properties":{"employee_id":{"type":"integer","description":"Employee id of the break","example":1},"now":{"type":"string","description":"Current time of the break","example":"2022-06-23T11:00:00.000+00:00"},"observations":{"type":"string","description":"Observations of the break","example":"break observation"},"project_worker_id":{"type":"integer"},"subproject_id":{"type":"integer"}}}}}}}},"/api/2026-04-01/resources/attendance/shifts/break_start":{"post":{"tags":["Attendance \u003e Shift"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Given that attendance breaks are enabled, this endpoint starts a break in an open shift.","summary":"Break starts a Shift","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/attendance_shift"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["now"],"properties":{"employee_id":{"type":"integer","description":"Employee id of the break","example":1},"now":{"type":"string","description":"Current time of the break","example":"2022-06-23T11:00:00.000+00:00"},"observations":{"type":"string","description":"Observations of the break","example":"break observation"},"time_settings_break_configuration_id":{"type":"integer","description":"Time settings configuration id of the break","example":1}}}}}}}},"/api/2026-04-01/resources/attendance/shifts/clock_in":{"post":{"tags":["Attendance \u003e Shift"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Records the start of a shift by setting the current time as the clock-in. The shift remains open and will not have a clock-out time until explicitly updated. If you need to clock out directly, consider using or subscribing to the [clock-out endpoint](https://apidoc.factorialhr.com/v2025-01-01/reference/post_api-2025-01-01-resources-attendance-shifts-clock-out)","summary":"Clocks in a shift","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/attendance_shift"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["now"],"properties":{"employee_id":{"type":"integer","description":"Employee identifier","example":1},"now":{"type":"string","description":"Clock in time","example":"2024-06-23T11:00:00.000+00:00"},"latitude":{"type":"number","description":"Latitude from where user clocked in","example":52.377956},"longitude":{"type":"number","description":"Longitude from where user clocked in","example":4.89707},"accuracy":{"type":"number","description":"Location identifier","example":5},"observations":{"type":"string","description":"Notes on the shift record","example":"I clocked in 10 minutes before"},"location_type":{"type":"string","description":"Place where user has clocked in","enum":["office","business_trip","work_from_home"],"example":"office"},"workplace_id":{"type":"integer","description":"Location identifier"},"time_settings_break_configuration_id":{"type":"integer","description":"Break configuration identifier","example":2},"project_worker_id":{"type":"integer","description":"Project worker identifier","example":3},"subproject_id":{"type":"integer","description":"Subproject identifier","example":4}}}}}}}},"/api/2026-04-01/resources/attendance/shifts/clock_out":{"post":{"tags":["Attendance \u003e Shift"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Completes an open shift by setting the current time as the clock-out. This action only applies to shifts that were previously started using clock_in. If you need to clock in directly, consider using or subscribing to the [clock-in endpoint](https://apidoc.factorialhr.com/v2025-01-01/reference/post_api-2025-01-01-resources-attendance-shifts-clock-in)","summary":"Clocks out a shift","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/attendance_shift"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["now"],"properties":{"employee_id":{"type":"integer","description":"Employee identifier","example":1},"now":{"type":"string","description":"Clock out time","example":"2024-06-23T11:00:00.000+00:00"},"latitude":{"type":"number","description":"Latitude from where user clocked in","example":52.377956},"longitude":{"type":"number","description":"Longitude from where user clocked in","example":4.89707},"accuracy":{"type":"number","description":"Location accuracy","example":5},"observations":{"type":"string","description":"Notes on the shift record","example":"I clocked in 10 minutes before"}}}}}}}},"/api/2026-04-01/resources/attendance/shifts/toggle_clock":{"post":{"tags":["Attendance \u003e Shift"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Use this endpoint to toggle shift (it will clock in or out)","summary":"Clock in/out a shift","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/attendance_shift"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["employee_id","clock_time"],"properties":{"employee_id":{"type":"integer","description":"Employee identifier","example":1},"clock_time":{"type":"string","description":"Clock in or out Timestamp","example":"2024-06-23T11:00:00.000+00:00"},"location_type":{"type":"string","description":"Place where user has clocked in","enum":["office","business_trip","work_from_home"],"example":"office"},"observations":{"type":"string","description":"Notes on the shift record","example":"I clocked in 10 minutes before"},"time_settings_break_configuration_id":{"type":"integer","description":"Specific break configuration id when toggling the shift into a break and out of a break","example":1},"project_id":{"type":"integer","description":"Project identifier to associate the shift with a project. The employee must be assigned to the project, otherwise a 404 error is returned. Only used on clock-in; on clock-out this field is ignored, but the project association is preserved on the shift. Breaks are not associated with any project.","example":1}}}}}}}},"/api/2026-04-01/resources/attendance/worked_times":{"get":{"tags":["Attendance \u003e WorkedTime"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Worked times","summary":"Reads all Worked times","parameters":[{"name":"start_on","in":"query","schema":{"type":"string"}},{"name":"end_on","in":"query","schema":{"type":"string"}},{"name":"employee_ids[]","in":"query","schema":{"type":"array","items":{"type":"integer"}}},{"name":"include_time_range_category","in":"query","schema":{"type":"boolean"},"required":true},{"name":"include_non_attendable_employees","in":"query","schema":{"type":"boolean"},"required":true}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/attendance_worked_time"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/banking/bank_accounts":{"get":{"tags":["Banking \u003e BankAccount"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Fetch one or all bank accounts for the company.","summary":"Reads all Bank accounts","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"An array of bank account IDs to filter by.","example":[1],"items":{"type":"integer"}},"description":"An array of bank account IDs to filter by.","example":[1]},{"name":"currency","in":"query","schema":{"type":"string","description":"A currency to filter by.","example":"EUR"},"description":"A currency to filter by.","example":"EUR"},{"name":"legal_entity_ids[]","in":"query","schema":{"type":"array","description":"An array of legal entity IDs to filter by.","example":[11],"items":{"type":"integer"}},"description":"An array of legal entity IDs to filter by.","example":[11]},{"name":"updated_from","in":"query","schema":{"type":"string","description":"Filter by accounts updated from a specific date.","example":"2021-01-01"},"description":"Filter by accounts updated from a specific date.","example":"2021-01-01"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/banking_bank_account"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/banking/bank_accounts/{id}":{"get":{"tags":["Banking \u003e BankAccount"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Fetch one or all bank accounts for the company.","summary":"Reads a single Bank account","parameters":[{"name":"id","example":"1","description":"An array of bank account IDs to filter by.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/banking_bank_account"}}}}}}},"/api/2026-04-01/resources/banking/bank_accounts/create_manual":{"post":{"tags":["Banking \u003e BankAccount"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Create a manual bank account.","summary":"Create manuals a Bank account","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/banking_bank_account"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["legal_entity_id","currency","account_number","account_number_type"],"properties":{"legal_entity_id":{"type":"string","description":"Factorial unique identifier of the legal entity.","example":11},"currency":{"type":"string","description":"Currency of bank account.","example":"EUR"},"account_number":{"type":"string","description":"Account number.","example":"ES28209582976036485969781"},"account_number_type":{"type":"string","description":"Account number type.","enum":["iban","sort_code_and_account_number","routing_number_and_account_number","clabe","bank_name_and_account_number","other"],"example":"iban"},"account_alias":{"type":"string","description":"Alias for the bank account.","example":"My Bank Account"},"ledger_account_id":{"type":"integer","description":"Factorial unique identifier of the ledger account.","example":135},"bank_account_membership_employee_ids":{"type":"array","description":"An array of bank account membership employee IDs.","example":[11],"items":{"type":"integer"}},"external_id":{"type":"string","description":"External ID for the bank account.","example":"ext_135"}}}}}}}},"/api/2026-04-01/resources/banking/card_payments":{"get":{"tags":["Banking \u003e CardPayment"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Card payments","summary":"Reads all Card payments","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"An array of card payment IDs to filter by.","example":[135],"items":{"type":"integer"}},"description":"An array of card payment IDs to filter by.","example":[135]},{"name":"account_ids[]","in":"query","schema":{"type":"array","description":"An array of banking accounts ID to filter","example":[123],"items":{"type":"integer"}},"description":"An array of banking accounts ID to filter","example":[123]},{"name":"status","in":"query","schema":{"type":"string","description":"The status of the card payment.","enum":["pending","closed","reversed","rejected"],"example":"closed"},"description":"The status of the card payment.","example":"closed"},{"name":"from","in":"query","schema":{"type":"string","description":"Date from which the card payment was created in factorial.","example":"2021-01-01"},"description":"Date from which the card payment was created in factorial.","example":"2021-01-01"},{"name":"to","in":"query","schema":{"type":"string","description":"Date until which the card payment was created in factorial.","example":"2025-01-01"},"description":"Date until which the card payment was created in factorial.","example":"2025-01-01"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/banking_card_payment"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/banking/card_payments/{id}":{"get":{"tags":["Banking \u003e CardPayment"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Card payment","summary":"Reads a single Card payment","parameters":[{"name":"id","example":"135","description":"An array of card payment IDs to filter by.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/banking_card_payment"}}}}}}},"/api/2026-04-01/resources/banking/transactions":{"get":{"tags":["Banking \u003e Transaction"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Transactions","summary":"Reads all Transactions","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"An array of transaction IDs to filter by.","example":[135],"items":{"type":"integer"}},"description":"An array of transaction IDs to filter by.","example":[135]},{"name":"account_ids[]","in":"query","schema":{"type":"array","description":"An array of Factorial Banking Bank Account IDs to filter by.","example":[357],"items":{"type":"integer"}},"description":"An array of Factorial Banking Bank Account IDs to filter by.","example":[357]},{"name":"card_payment_ids[]","in":"query","schema":{"type":"array","description":"An array of Factorial Card Payment IDs to filter by.","example":[135],"items":{"type":"integer"}},"description":"An array of Factorial Card Payment IDs to filter by.","example":[135]},{"name":"from","in":"query","schema":{"type":"string","description":"Date from which the transactions should be fetched.","example":"2021-01-01"},"description":"Date from which the transactions should be fetched.","example":"2021-01-01"},{"name":"to","in":"query","schema":{"type":"string","description":"Date until which the transactions should be fetched.","example":"2025-01-01"},"description":"Date until which the transactions should be fetched.","example":"2025-01-01"},{"name":"updated_from","in":"query","schema":{"type":"string","description":"Filter transactions updated from a specific date.","example":"2021-01-01"},"description":"Filter transactions updated from a specific date.","example":"2021-01-01"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/banking_transaction"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/banking/transactions/{id}":{"get":{"tags":["Banking \u003e Transaction"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Transaction","summary":"Reads a single Transaction","parameters":[{"name":"id","example":"135","description":"An array of transaction IDs to filter by.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/banking_transaction"}}}}}}},"/api/2026-04-01/resources/bookkeepers_management/incidences":{"get":{"tags":["BookkeepersManagement \u003e Incidence"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Incidences","summary":"Reads all Incidences","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"A list of incidence identifiers.","example":[1,2,3],"items":{"type":"integer"}},"description":"A list of incidence identifiers.","example":[1,2,3]},{"name":"legal_entities_ids[]","in":"query","schema":{"type":"array","description":"A list of legal entities identifiers.","example":[1,2,3],"items":{"type":"integer"}},"description":"A list of legal entities identifiers.","example":[1,2,3]},{"name":"status[]","in":"query","schema":{"type":"array","description":"A list of statuses.","example":["in-preparation","to-do","doing","done","discarded"],"items":{"type":"string"}},"description":"A list of statuses.","example":["in-preparation","to-do","doing","done","discarded"]},{"name":"starts_on","in":"query","schema":{"type":"string","description":"Get the incidence (aka employee update) that start safter this date (included).","example":"2020-01-01"},"description":"Get the incidence (aka employee update) that start safter this date (included).","example":"2020-01-01"},{"name":"ends_on","in":"query","schema":{"type":"string","description":"Get the incidence (aka employee update) that ends before this date (included).","example":"2020-01-01"},"description":"Get the incidence (aka employee update) that ends before this date (included).","example":"2020-01-01"},{"name":"type[]","in":"query","schema":{"type":"array","description":"A list of types. It can be any of the following address, bank, cost_center, contract, gender, hiring, id, irpf, legal_entity, manual_incidence, name, nationality, parental, phone_number, sick, tax_id, termination, workplace","example":["hiring","workplace"],"items":{"type":"string"}},"description":"A list of types. It can be any of the following address, bank, cost_center, contract, gender, hiring, id, irpf, legal_entity, manual_incidence, name, nationality, parental, phone_number, sick, tax_id, termination, workplace","example":["hiring","workplace"]},{"name":"sort_by","in":"query","schema":{"type":"string","description":"Field to sort by. It can be any of the following employee_first_name, employee_last_name, type, legal_entity_name, effective_date, status.","example":"effective_date"},"description":"Field to sort by. It can be any of the following employee_first_name, employee_last_name, type, legal_entity_name, effective_date, status.","example":"effective_date"},{"name":"direction","in":"query","schema":{"type":"string","description":"Sort direction. It can be 'asc' or 'desc'.","example":"desc"},"description":"Sort direction. It can be 'asc' or 'desc'.","example":"desc"},{"name":"search","in":"query","schema":{"type":"string","description":"Filter the result by the name of the employee.","example":"Hellen"},"description":"Filter the result by the name of the employee.","example":"Hellen"},{"name":"employee_ids[]","in":"query","schema":{"type":"array","description":"A list of employee identifiers.","example":[1,2,3],"items":{"type":"integer"}},"description":"A list of employee identifiers.","example":[1,2,3]},{"name":"contains_message","in":"query","schema":{"type":"boolean","description":"Boolean that filters incidences that does or does not contains messages.","example":true},"description":"Boolean that filters incidences that does or does not contains messages.","example":true},{"name":"message_from","in":"query","schema":{"type":"string","description":"Filter by message sender.","example":"bookkeeper"},"description":"Filter by message sender.","example":"bookkeeper"},{"name":"custom_leave_name[]","in":"query","schema":{"type":"array","description":"A list of custom leave names.","example":["Medical Leave","Paternity Leave"],"items":{"type":"string"}},"description":"A list of custom leave names.","example":["Medical Leave","Paternity Leave"]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/bookkeepers_management_incidence"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/bookkeepers_management/incidences/{id}":{"get":{"tags":["BookkeepersManagement \u003e Incidence"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Incidence","summary":"Reads a single Incidence","parameters":[{"name":"id","example":"1","description":"A list of incidence identifiers.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/bookkeepers_management_incidence"}}}}}},"put":{"tags":["BookkeepersManagement \u003e Incidence"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Updates an Incidence","summary":"Updates an Incidence","parameters":[{"name":"id","example":"1","description":"incidence (aka employee update) identifier to update.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/bookkeepers_management_incidence"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer","description":"incidence (aka employee update) identifier to update.","example":1},"status":{"type":"string","description":"status of the incidence (aka employee update). It can be any of 'in-preparation', 'to-do', 'doing', 'done', 'discarded'","example":"to-do"},"has_message":{"type":"boolean","description":"Boolean that indicates is the incidence (aka employee update) has message","example":true},"message_from":{"type":"string"},"read_at":{"type":"string","description":"Date in which the  incidence (aka employee update) was read","example":"2020-01-01"},"mark_as_read":{"type":"boolean","description":"Boolean that indicate if the incidence is read","example":true}}}}}}}},"/api/2026-04-01/resources/companies/legal_entities":{"get":{"tags":["Companies \u003e LegalEntity"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Legal entities","summary":"Reads all Legal entities","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"identifier of the legal entity","example":[754,98],"items":{"type":"integer"}},"description":"identifier of the legal entity","example":[754,98]},{"name":"employees_ids[]","in":"query","schema":{"type":"array","description":"identifier of the employees asigned to the legal entity","example":[1,2,3],"items":{"type":"integer"}},"description":"identifier of the employees asigned to the legal entity","example":[1,2,3]},{"name":"companies_ids[]","in":"query","schema":{"type":"array","description":"identifier of the companies to which the legal entity belongs","example":[1],"items":{"type":"integer"}},"description":"identifier of the companies to which the legal entity belongs","example":[1]},{"name":"country_ids[]","in":"query","schema":{"type":"array","description":"country code of the legal entity","example":["es"],"items":{"type":"string"}},"description":"country code of the legal entity","example":["es"]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/companies_legal_entity"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["Companies \u003e LegalEntity"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Creates a Legal entity","summary":"Creates a Legal entity","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/companies_legal_entity"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["company_id","country","legal_name","currency"],"properties":{"company_id":{"type":"integer","description":"company identifier","example":1},"country":{"type":"string","description":"country code of the legal entity","example":"es"},"legal_name":{"type":"string","description":"Legal name of the legal entity","example":"Acme Inc."},"currency":{"type":"string","description":"The currency code in ISO 4217 format","example":"EUR"},"tin":{"type":"string","description":"Tax identification number","example":"H41192410"},"city":{"type":"string","description":"City of the legal entity","example":"Barcelona"},"state":{"type":"string","description":"State of the legal entity","example":"Barcelona"},"postal_code":{"type":"string","description":"Postal code of the legal entity","example":"08005"},"address_line_1":{"type":"string","description":"Address line 1 of the legal entity","example":"Carrer Mallorca"},"address_line_2":{"type":"string","description":"Address line 2 of the legal entity","example":"61 2A"}}}}}}}},"/api/2026-04-01/resources/companies/legal_entities/{id}":{"get":{"tags":["Companies \u003e LegalEntity"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Legal entity","summary":"Reads a single Legal entity","parameters":[{"name":"id","example":"754","description":"identifier of the legal entity","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/companies_legal_entity"}}}}}}},"/api/2026-04-01/resources/compensations/concepts":{"get":{"tags":["Compensations \u003e Concept"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Concepts","summary":"Reads all Concepts","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"The ids of the concepts","example":[1],"items":{"type":"integer"}},"description":"The ids of the concepts","example":[1]},{"name":"categories[]","in":"query","schema":{"type":"array","description":"The categories of the concept","enum":["earnings_fixed_salary","earnings_variable","earnings_benefits_in_kind","earnings_others","deductions","company_contribution","summarized_values"],"example":["earnings_fixed_salary","deductions"],"items":{"type":"string"}},"description":"The categories of the concept","example":["earnings_fixed_salary","deductions"]},{"name":"with_active_status","in":"query","schema":{"type":"boolean","description":"Whether to return only active concepts","example":true},"description":"Whether to return only active concepts","example":true}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/compensations_concept"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/compensations/concepts/{id}":{"get":{"tags":["Compensations \u003e Concept"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Concept","summary":"Reads a single Concept","parameters":[{"name":"id","example":"1","description":"The ids of the concepts","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/compensations_concept"}}}}}}},"/api/2026-04-01/resources/contracts/compensations":{"get":{"tags":["Contracts \u003e Compensation"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Compensations","summary":"Reads all Compensations","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","items":{"type":"integer"}}},{"name":"contract_version_ids[]","in":"query","schema":{"type":"array","items":{"type":"integer"}}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/contracts_compensation"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["Contracts \u003e Compensation"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Creates a Compensation","summary":"Creates a Compensation","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/contracts_compensation"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["contract_version_id","contracts_taxonomy_id"],"properties":{"contract_version_id":{"type":"integer"},"contracts_taxonomy_id":{"type":"integer"},"description":{"type":"string"},"compensation_type":{"type":"string"},"amount":{"type":"integer"},"unit":{"type":"string"},"sync_with_supplements":{"type":"boolean"},"payroll_policy_id":{"type":"integer"},"recurrence_count":{"type":"integer"},"starts_on":{"type":"string"},"recurrence":{"type":"string"},"first_payment_on":{"type":"string"},"calculation":{"type":"string"},"time_condition":{"type":"string","enum":["full_day","half_day","custom"]},"minimum_amount_of_hours":{"type":"integer"},"minimum_amount_of_hours_in_cents":{"type":"integer"}}}}}}}},"/api/2026-04-01/resources/contracts/compensations/{id}":{"get":{"tags":["Contracts \u003e Compensation"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Compensation","summary":"Reads a single Compensation","parameters":[{"name":"id","example":"1","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/contracts_compensation"}}}}}},"put":{"tags":["Contracts \u003e Compensation"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Updates a Compensation","summary":"Updates a Compensation","parameters":[{"name":"id","example":"1","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/contracts_compensation"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["contracts_taxonomy_id"],"properties":{"id":{"type":"integer"},"contracts_taxonomy_id":{"type":"integer"},"description":{"type":"string"},"compensation_type":{"type":"string"},"amount":{"type":"integer"},"unit":{"type":"string"},"sync_with_supplements":{"type":"boolean"},"payroll_policy_id":{"type":"integer"},"recurrence_count":{"type":"integer"},"starts_on":{"type":"string"},"recurrence":{"type":"string"},"first_payment_on":{"type":"string"},"calculation":{"type":"string"},"time_condition":{"type":"string","enum":["full_day","half_day","custom"]},"minimum_amount_of_hours":{"type":"integer"},"minimum_amount_of_hours_in_cents":{"type":"integer"}}}}}}},"delete":{"tags":["Contracts \u003e Compensation"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Deletes a Compensation","summary":"Deletes a Compensation","parameters":[{"name":"id","example":"1","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/contracts_compensation"}}}}}}},"/api/2026-04-01/resources/contracts/contract_templates":{"get":{"tags":["Contracts \u003e ContractTemplate"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Read Contract Template","summary":"Reads all Contract templates","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"Filter by contract template IDs","example":[1],"items":{"type":"integer"}},"description":"Filter by contract template IDs","example":[1]},{"name":"company_id","in":"query","schema":{"type":"integer","description":"Filter by company ID","example":1},"description":"Filter by company ID","example":1},{"name":"contract_version_type","in":"query","schema":{"type":"string","description":"Filter by contract version type (e.g., es for Spain, fr for France)","example":"es"},"description":"Filter by contract version type (e.g., es for Spain, fr for France)","example":"es"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/contracts_contract_template"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/contracts/contract_templates/{id}":{"get":{"tags":["Contracts \u003e ContractTemplate"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Read Contract Template","summary":"Reads a single Contract template","parameters":[{"name":"id","example":"1","description":"Filter by contract template IDs","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/contracts_contract_template"}}}}}}},"/api/2026-04-01/resources/contracts/contract_versions":{"get":{"tags":["Contracts \u003e ContractVersion"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Contract versions","summary":"Reads all Contract versions","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"list of contract version identifiers.","example":[1,2],"items":{"type":"integer"}},"description":"list of contract version identifiers.","example":[1,2]},{"name":"employee_ids[]","in":"query","schema":{"type":"array","description":"list of employee identifiers, refers to /employees/employees endpoint.","example":[1,2],"items":{"type":"integer"}},"description":"list of employee identifiers, refers to /employees/employees endpoint.","example":[1,2]},{"name":"date","in":"query","schema":{"type":"string","description":"filters contracts of employees with effective_on date less or equal than the given date.","example":"2024-10-06"},"description":"filters contracts of employees with effective_on date less or equal than the given date.","example":"2024-10-06"},{"name":"job_catalog_tree_node_uuids[]","in":"query","schema":{"type":"array","description":"the uuid of nodes in the job catalog tree. As only level nodes are accepted and persisted, so filtering with other node types will return no results. Refer to job_catalog/tree_nodes endpoint.","example":["jobcatalog_treelevel-14","jobcatalog_treelevel-15"],"items":{"type":"string"}},"description":"the uuid of nodes in the job catalog tree. As only level nodes are accepted and persisted, so filtering with other node types will return no results. Refer to job_catalog/tree_nodes endpoint.","example":["jobcatalog_treelevel-14","jobcatalog_treelevel-15"],"required":true},{"name":"updated_at_gteq","in":"query","schema":{"type":"string","description":"Filter contract versions updated on or after this timestamp (ISO 8601).\n","example":"2024-01-01T00:00:00.000Z"},"description":"Filter contract versions updated on or after this timestamp (ISO 8601).\n","example":"2024-01-01T00:00:00.000Z"},{"name":"updated_at_lteq","in":"query","schema":{"type":"string","description":"Filter contract versions updated on or before this timestamp (ISO 8601).\n","example":"2024-12-31T23:59:59.999Z"},"description":"Filter contract versions updated on or before this timestamp (ISO 8601).\n","example":"2024-12-31T23:59:59.999Z"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/contracts_contract_version"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["Contracts \u003e ContractVersion"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Creates a Contract version","summary":"Creates a Contract version","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/contracts_contract_version"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["employee_id","effective_on","starts_on"],"properties":{"employee_id":{"type":"integer","description":"employee identifier, refers to /employees/employees endpoint.","example":1},"effective_on":{"type":"string","description":"the day the specific contract starts, in case of hiring the same than starts_on.","example":"2024-10-06"},"starts_on":{"type":"string","description":"the day the employee is hired.","example":"2024-10-06"},"ends_on":{"type":"string","description":"the day the employee is terminated.","example":"2024-10-06"},"working_hours_frequency":{"type":"string","description":"the frequency of the working hours.","example":"week"},"working_week_days":{"type":"string","description":"the days of the week the employee works.","example":"monday,tuesday,wednesday,thursday,friday"},"working_hours":{"type":"integer","description":"the amount of hours the employee works.","example":40},"max_legal_yearly_hours":{"type":"integer","description":"the maximum amount of hours the employee can work in a year.","example":2000},"maximum_weekly_hours":{"type":"integer","description":"the maximum amount of hours the employee can work in a week.","example":40},"min_rest_minutes_between_days":{"type":"integer","description":"the minimum amount of minutes the employee must rest between working periods.","example":2880},"max_work_minutes_per_day":{"type":"integer","description":"the maximum amount of minutes the employee can work in a day.","example":480},"max_work_days_in_row":{"type":"integer","description":"the maximum amount of days the employee can work in a row.","example":6},"min_rest_hours_in_row":{"type":"integer","description":"the minimum amount of hours the employee must rest in a row.","example":36},"salary_frequency":{"type":"string","description":"the frequency of the salary payment. When adding a salary to a contract that previously had none, both salary_amount and salary_frequency must be provided together.","example":"yearly"},"salary_amount":{"type":"integer","description":"the amount of money the employee earns in cents.","example":1000},"job_title":{"type":"string","description":"job title of the employee.","example":"Designer"},"has_trial_period":{"type":"boolean","description":"a flag that indicates if the employee has a trial period.","example":false},"trial_period_ends_on":{"type":"string","description":"when the trial period ends.","example":"2024-10-06"},"working_time_percentage_in_cents":{"type":"integer","description":"Working time percentage in cents (e.g., when an employee is working part-time, the percentage of full-time hours they are working).","example":8000},"annual_working_time_distribution":{"type":"string","description":"Allows companies to define how annual working hours are spread across the year to ensure compliance with legal limits.","enum":["limit_workdays","limit_daily_hours"],"example":"limit_workdays"},"copy_current_contract_version":{"type":"boolean","description":"wether to copy the current contract version.","example":true},"bank_holiday_treatment":{"type":"string","description":"Defines whether a bank holiday should be considered as a workable or non-workable day.","enum":["workable","non_workable"],"example":"workable"},"job_catalog_tree_node_uuid":{"type":"string","description":"the uuid node in the job catalog tree. For now it only supports level nodes. From this point in the job catalog tree you can get the full ancestor path to the root node including the role. Refer to job_catalog/tree_nodes endpoint.","example":"jobcatalog_treelevel-14"},"de_base_salary_type_id":{"type":"integer","description":"Identifier for the German base salary type. References a payroll concept available via the /payroll/concepts endpoint.","example":1}}}}}}}},"/api/2026-04-01/resources/contracts/contract_versions/{id}":{"get":{"tags":["Contracts \u003e ContractVersion"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Contract version","summary":"Reads a single Contract version","parameters":[{"name":"id","example":"1","description":"list of contract version identifiers.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/contracts_contract_version"}}}}}},"put":{"tags":["Contracts \u003e ContractVersion"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Updates a Contract version","summary":"Updates a Contract version","parameters":[{"name":"id","example":"1","description":"contract version identifier.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/contracts_contract_version"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer","description":"contract version identifier.","example":1},"employee_id":{"type":"integer","description":"employee identifier, refers to /employees/employees endpoint.","example":1},"effective_on":{"type":"string","description":"the day the specific contract starts, in case of hiring the same than starts_on.","example":"2024-10-06"},"starts_on":{"type":"string","description":"the day the employee is hired.","example":"2024-10-06"},"ends_on":{"type":"string","description":"the day the employee is terminated.","example":"2024-10-06"},"working_hours_frequency":{"type":"string","description":"the frequency of the working hours.","example":"week"},"working_week_days":{"type":"string","description":"the days of the week the employee works.","example":"monday,tuesday,wednesday,thursday,friday"},"working_hours":{"type":"integer","description":"the amount of hours the employee works.","example":40},"salary_frequency":{"type":"string","description":"the frequency of the salary payment. When adding a salary to a contract that previously had none, both salary_amount and salary_frequency must be provided together.","example":"yearly"},"salary_amount":{"type":"integer","description":"the amount of money the employee earns. When adding a salary to a contract that previously had none, both salary_amount and salary_frequency must be provided together.","example":1000},"job_title":{"type":"string","description":"job title of the employee.","example":"Designer"},"job_catalog_tree_node_uuid":{"type":"string","description":"the uuid node in the job catalog tree. For now it only supports level nodes. From this point in the job catalog tree you can get the full ancestor path to the root node including the role. Refer to job_catalog/tree_nodes endpoint.","example":"jobcatalog_treelevel-14"},"es_cotization_group":{"type":"integer","description":"cotization group identifier.","example":1},"es_professional_category_id":{"type":"integer","description":"professional category identifier.","example":1},"es_education_level_id":{"type":"integer","description":"education level identifier.","example":1},"es_contract_type_id":{"type":"integer","description":"contract type identifier.","example":1},"es_working_day_type_id":{"type":"integer","description":"working day type identifier.","example":1},"has_trial_period":{"type":"boolean","description":"a flag that indicates if the employee has a trial period.","example":false},"trial_period_ends_on":{"type":"string","description":"when the trial period ends.","example":"2024-10-06"},"bank_holiday_treatment":{"type":"string","description":"Defines whether a bank holiday should be considered as a workable or non-workable day.","enum":["workable","non_workable"],"example":"workable"},"working_time_percentage_in_cents":{"type":"integer","description":"Working time percentage in cents (e.g., when an employee is working part-time, the percentage of full-time hours they are working).","example":8000},"annual_working_time_distribution":{"type":"string","description":"Allows companies to define how annual working hours are spread across the year to ensure compliance with legal limits.","enum":["limit_workdays","limit_daily_hours"],"example":"limit_workdays"},"de_base_salary_type_id":{"type":"integer","description":"Identifier for the German base salary type. References a payroll concept available via the /payroll/concepts endpoint.","example":1}}}}}}},"delete":{"tags":["Contracts \u003e ContractVersion"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Deletes a Contract version","summary":"Deletes a Contract version","parameters":[{"name":"id","example":"1","description":"contract version identifier.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/contracts_contract_version"}}}}}}},"/api/2026-04-01/resources/contracts/contract_version_histories":{"get":{"tags":["Contracts \u003e ContractVersionHistory"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Contract version histories","summary":"Reads all Contract version histories","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"the ids of the contract versions.","example":1,"items":{"type":"integer"}},"description":"the ids of the contract versions.","example":1},{"name":"contract_version_ids[]","in":"query","schema":{"type":"array","description":"the ids of the contract versions.","example":1,"items":{"type":"integer"}},"description":"the ids of the contract versions.","example":1},{"name":"employee_ids[]","in":"query","schema":{"type":"array","description":"the ids of the employees.","example":1,"items":{"type":"integer"}},"description":"the ids of the employees.","example":1},{"name":"current_on","in":"query","schema":{"type":"string","description":"the date to filter the contract version histories.","example":"2024-10-06"},"description":"the date to filter the contract version histories.","example":"2024-10-06"},{"name":"changes_lteq","in":"query","schema":{"type":"string","description":"the date to filter the contract version histories.","example":"2024-10-07"},"description":"the date to filter the contract version histories.","example":"2024-10-07"},{"name":"changes_gteq","in":"query","schema":{"type":"string","description":"the date to filter the contract version histories.","example":"2024-10-05"},"description":"the date to filter the contract version histories.","example":"2024-10-05"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/contracts_contract_version_history"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/contracts/contract_version_histories/{id}":{"get":{"tags":["Contracts \u003e ContractVersionHistory"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Contract version history","summary":"Reads a single Contract version history","parameters":[{"name":"id","example":"1","description":"the ids of the contract versions.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/contracts_contract_version_history"}}}}}}},"/api/2026-04-01/resources/contracts/contract_version_meta_data":{"get":{"tags":["Contracts \u003e ContractVersionMetaDatum"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Contract version meta data","summary":"Reads all Contract version meta data","parameters":[{"name":"contract_version_ids[]","in":"query","schema":{"type":"array","description":"list of contract version ids identifiers.","example":[1,2,3],"items":{"type":"integer"}},"description":"list of contract version ids identifiers.","example":[1,2,3],"required":true}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/contracts_contract_version_meta_data"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/contracts/french_contract_types":{"get":{"tags":["Contracts \u003e FrenchContractType"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all French contract types","summary":"Reads all French contract types","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"list of contract type identifiers.","example":[1,2],"items":{"type":"integer"}},"description":"list of contract type identifiers.","example":[1,2]},{"name":"archived","in":"query","schema":{"type":"boolean","description":"whether to show archived types or not.","example":false},"description":"whether to show archived types or not.","example":false}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/contracts_french_contract_type"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/contracts/french_contract_types/{id}":{"get":{"tags":["Contracts \u003e FrenchContractType"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single French contract type","summary":"Reads a single French contract type","parameters":[{"name":"id","example":"1","description":"list of contract type identifiers.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/contracts_french_contract_type"}}}}}}},"/api/2026-04-01/resources/contracts/german_contract_types":{"get":{"tags":["Contracts \u003e GermanContractType"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all German contract types","summary":"Reads all German contract types","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"list of contract type identifiers.","example":[1,2],"items":{"type":"integer"}},"description":"list of contract type identifiers.","example":[1,2]},{"name":"archived","in":"query","schema":{"type":"boolean","description":"whether to show archived types or not.","example":false},"description":"whether to show archived types or not.","example":false}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/contracts_german_contract_type"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/contracts/german_contract_types/{id}":{"get":{"tags":["Contracts \u003e GermanContractType"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single German contract type","summary":"Reads a single German contract type","parameters":[{"name":"id","example":"1","description":"list of contract type identifiers.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/contracts_german_contract_type"}}}}}}},"/api/2026-04-01/resources/contracts/portuguese_contract_types":{"get":{"tags":["Contracts \u003e PortugueseContractType"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Portuguese contract types","summary":"Reads all Portuguese contract types","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"list of contract type identifiers.","example":[1,2],"items":{"type":"integer"}},"description":"list of contract type identifiers.","example":[1,2]},{"name":"archived","in":"query","schema":{"type":"boolean","description":"whether to show archived types or not.","example":false},"description":"whether to show archived types or not.","example":false}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/contracts_portuguese_contract_type"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/contracts/portuguese_contract_types/{id}":{"get":{"tags":["Contracts \u003e PortugueseContractType"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Portuguese contract type","summary":"Reads a single Portuguese contract type","parameters":[{"name":"id","example":"1","description":"list of contract type identifiers.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/contracts_portuguese_contract_type"}}}}}}},"/api/2026-04-01/resources/contracts/reference_contracts":{"get":{"tags":["Contracts \u003e ReferenceContract"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Reference Contracts. The reference contract is the contract that applies today. If no contract applies today, we will return the nearest upcoming contract. If there are no upcoming contracts, we will provide the most recent past contract.","summary":"Reads all Reference contracts","parameters":[{"name":"employee_ids[]","in":"query","schema":{"type":"array","description":"filter by employee ids.","example":[1,2,3],"items":{"type":"integer"}},"description":"filter by employee ids.","example":[1,2,3]},{"name":"job_catalog_tree_node_uuids[]","in":"query","schema":{"type":"array","description":"the uuid of nodes in the job catalog tree.","example":["jobcatalog_treelevel-14","jobcatalog_treelevel-15"],"items":{"type":"string"}},"description":"the uuid of nodes in the job catalog tree.","example":["jobcatalog_treelevel-14","jobcatalog_treelevel-15"],"required":true}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/contracts_contract_version"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/contracts/spanish_contract_types":{"get":{"tags":["Contracts \u003e SpanishContractType"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Spanish contract types","summary":"Reads all Spanish contract types","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"list of contract type identifiers.","example":[1,2],"items":{"type":"integer"}},"description":"list of contract type identifiers.","example":[1,2]},{"name":"archived","in":"query","schema":{"type":"boolean","description":"whether to show archived types or not.","example":false},"description":"whether to show archived types or not.","example":false},{"name":"contract_template_id","in":"query","schema":{"type":"integer","description":"Contract template identifier. Refers to contracts/contract_templates.","example":1},"description":"Contract template identifier. Refers to contracts/contract_templates.","example":1}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/contracts_spanish_contract_type"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["Contracts \u003e SpanishContractType"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Creates a Spanish contract type","summary":"Creates a Spanish contract type","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/contracts_spanish_contract_type"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["name","contracts_contract_template_id"],"properties":{"name":{"type":"string","description":"Contract type name","example":"Indefinido"},"contracts_contract_template_id":{"type":"integer","description":"Contract template identifier. Refers to contracts/contract_templates.","example":1}}}}}}}},"/api/2026-04-01/resources/contracts/spanish_contract_types/{id}":{"get":{"tags":["Contracts \u003e SpanishContractType"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Spanish contract type","summary":"Reads a single Spanish contract type","parameters":[{"name":"id","example":"1","description":"list of contract type identifiers.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/contracts_spanish_contract_type"}}}}}}},"/api/2026-04-01/resources/contracts/spanish_education_levels":{"get":{"tags":["Contracts \u003e SpanishEducationLevel"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Spanish education levels","summary":"Reads all Spanish education levels","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"Education level ids","example":[1],"items":{"type":"integer"}},"description":"Education level ids","example":[1]},{"name":"contract_template_id","in":"query","schema":{"type":"integer","description":"Contract template identifier, refers to contracts/contract_templates","example":1},"description":"Contract template identifier, refers to contracts/contract_templates","example":1}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/contracts_spanish_education_level"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["Contracts \u003e SpanishEducationLevel"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Creates a Spanish education level","summary":"Creates a Spanish education level","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/contracts_spanish_education_level"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["name","contracts_contract_template_id"],"properties":{"name":{"type":"string","description":"Education level name","example":"Without studies"},"contracts_contract_template_id":{"type":"integer","description":"Contract template identifier, refers to contracts/contract_templates","example":1}}}}}}}},"/api/2026-04-01/resources/contracts/spanish_education_levels/{id}":{"get":{"tags":["Contracts \u003e SpanishEducationLevel"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Spanish education level","summary":"Reads a single Spanish education level","parameters":[{"name":"id","example":"1","description":"Education level ids","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/contracts_spanish_education_level"}}}}}}},"/api/2026-04-01/resources/contracts/spanish_professional_categories":{"get":{"tags":["Contracts \u003e SpanishProfessionalCategory"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Spanish professional categories","summary":"Reads all Spanish professional categories","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"Professional category ids","example":[1],"items":{"type":"integer"}},"description":"Professional category ids","example":[1]},{"name":"contract_template_id","in":"query","schema":{"type":"integer","description":"Contract template identifier, refers to contracts/contract_templates","example":1},"description":"Contract template identifier, refers to contracts/contract_templates","example":1}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/contracts_spanish_professional_category"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["Contracts \u003e SpanishProfessionalCategory"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Creates a Spanish professional category","summary":"Creates a Spanish professional category","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/contracts_spanish_professional_category"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["name","contracts_contract_template_id"],"properties":{"name":{"type":"string","description":"Professional category name","example":"Administration Manager"},"contracts_contract_template_id":{"type":"integer","description":"Contract template identifier, refers to contracts/contract_templates","example":1}}}}}}}},"/api/2026-04-01/resources/contracts/spanish_professional_categories/{id}":{"get":{"tags":["Contracts \u003e SpanishProfessionalCategory"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Spanish professional category","summary":"Reads a single Spanish professional category","parameters":[{"name":"id","example":"1","description":"Professional category ids","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/contracts_spanish_professional_category"}}}}}}},"/api/2026-04-01/resources/contracts/spanish_working_day_types":{"get":{"tags":["Contracts \u003e SpanishWorkingDayType"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Spanish working day types","summary":"Reads all Spanish working day types","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"Working day type ids","example":[1],"items":{"type":"integer"}},"description":"Working day type ids","example":[1]},{"name":"contract_template_id","in":"query","schema":{"type":"integer","description":"Contract template identifier, refers to contracts/contract_templates","example":1},"description":"Contract template identifier, refers to contracts/contract_templates","example":1}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/contracts_spanish_working_day_type"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["Contracts \u003e SpanishWorkingDayType"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Creates a Spanish working day type","summary":"Creates a Spanish working day type","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/contracts_spanish_working_day_type"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["name"],"properties":{"name":{"type":"string","description":"Working day type name","example":"Fulltime"},"contracts_contract_template_id":{"type":"integer","description":"Contract template identifier, refers to contracts/contract_templates","example":1}}}}}}}},"/api/2026-04-01/resources/contracts/spanish_working_day_types/{id}":{"get":{"tags":["Contracts \u003e SpanishWorkingDayType"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Spanish working day type","summary":"Reads a single Spanish working day type","parameters":[{"name":"id","example":"1","description":"Working day type ids","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/contracts_spanish_working_day_type"}}}}}}},"/api/2026-04-01/resources/contracts/taxonomies":{"get":{"tags":["Contracts \u003e Taxonomy"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Taxonomies","summary":"Reads all Taxonomies","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","items":{"type":"integer"}}},{"name":"legal_entity_ids[]","in":"query","schema":{"type":"array","items":{"type":"integer"}}},{"name":"legal_entity_id","in":"query","schema":{"type":"integer"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/contracts_taxonomy"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/contracts/taxonomies/{id}":{"get":{"tags":["Contracts \u003e Taxonomy"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Taxonomy","summary":"Reads a single Taxonomy","parameters":[{"name":"id","example":"1","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/contracts_taxonomy"}}}}}}},"/api/2026-04-01/resources/custom_fields/fields":{"get":{"tags":["CustomFields \u003e Field"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Fields","summary":"Reads all Fields","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"Field identifiers","example":[1,2],"items":{"type":"integer"}},"description":"Field identifiers","example":[1,2]},{"name":"field_type","in":"query","schema":{"type":"string","enum":["text","long_text","date","rating","checkbox","single_choice","multiple_choice","money","cents"]}},{"name":"label","in":"query","schema":{"type":"string","description":"Field label","example":"T-Shirt Size"},"description":"Field label","example":"T-Shirt Size"},{"name":"slug","in":"query","schema":{"type":"string","description":"Custom field slug","example":"tshirt_size"},"description":"Custom field slug","example":"tshirt_size"},{"name":"company_id","in":"query","schema":{"type":"integer","description":"Company identifier where this field belongs","example":3},"description":"Company identifier where this field belongs","example":3}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/custom_fields_field"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["CustomFields \u003e Field"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Creates a Field","summary":"Creates a Field","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/custom_fields_field"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["company_id","field_type"],"properties":{"company_id":{"type":"integer","description":"Company identifier where this field belongs","example":3},"editable":{"type":"string","description":"Group of employees that can edit the field","enum":["owned","reportees","team_leader","legal_entity","everybody"],"example":"owned"},"visible":{"type":"string","description":"Group of employees that can see the field","enum":["owned","reportees","team_leader","legal_entity","everybody"],"example":"everybody"},"label":{"type":"string","description":"Field label","example":"T-Shirt Size"},"field_type":{"type":"string","enum":["text","long_text","date","rating","checkbox","single_choice","multiple_choice","money","cents"]},"min_value":{"type":"integer","description":"Minimum value in range field type","example":10},"max_value":{"type":"integer","description":"Maximum value in range field type","example":0},"required":{"type":"boolean","description":"Requirement to fill this field","example":true},"options":{"type":"array","description":"Array of options","example":[true,false,"maybe"],"items":{"type":"string"}},"position":{"type":"integer"}}}}}}}},"/api/2026-04-01/resources/custom_fields/fields/{id}":{"get":{"tags":["CustomFields \u003e Field"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Field","summary":"Reads a single Field","parameters":[{"name":"id","example":"1","description":"Field identifiers","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/custom_fields_field"}}}}}},"delete":{"tags":["CustomFields \u003e Field"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Deletes a Field","summary":"Deletes a Field","parameters":[{"name":"id","example":"1","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/custom_fields_field"}}}}}}},"/api/2026-04-01/resources/custom_fields/options":{"get":{"tags":["CustomFields \u003e Option"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Options","summary":"Reads all Options","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"Options identifiers","example":[1,2],"items":{"type":"integer"}},"description":"Options identifiers","example":[1,2]},{"name":"field_ids[]","in":"query","schema":{"type":"array","description":"Identifiers for the fields where the options belong to","example":[3,4],"items":{"type":"integer"}},"description":"Identifiers for the fields where the options belong to","example":[3,4]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/custom_fields_option"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["CustomFields \u003e Option"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Creates an Option","summary":"Creates an Option","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/custom_fields_option"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["label","field_id"],"properties":{"label":{"type":"string","description":"Title for option","example":"T-shirt size"},"is_active":{"type":"boolean","description":"Flag to make the option available","example":true},"field_id":{"type":"integer","description":"Custom Fields identifier","example":2}}}}}}}},"/api/2026-04-01/resources/custom_fields/options/{id}":{"get":{"tags":["CustomFields \u003e Option"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Option","summary":"Reads a single Option","parameters":[{"name":"id","example":"1","description":"Options identifiers","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/custom_fields_option"}}}}}}},"/api/2026-04-01/resources/custom_fields/resource_fields":{"get":{"tags":["CustomFields \u003e ResourceField"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads schema custom fields","summary":"Reads all Resource fields","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"Resource field identifiers","example":[1],"items":{"type":"integer"}},"description":"Resource field identifiers","example":[1]},{"name":"field_ids[]","in":"query","schema":{"type":"array","description":"Custom Field identifiers","example":[2],"items":{"type":"integer"}},"description":"Custom Field identifiers","example":[2]},{"name":"schema_ids[]","in":"query","schema":{"type":"array","description":"Custom Resources Schema identifiers","example":[1,3],"items":{"type":"integer"}},"description":"Custom Resources Schema identifiers","example":[1,3]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/custom_fields_resource_field"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["CustomFields \u003e ResourceField"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Creates an schema custom field","summary":"Creates a Resource field","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/custom_fields_resource_field"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["schema_id","company_id","field_type","required","editable","visible"],"properties":{"schema_id":{"type":"integer","description":"Schema identifier","example":1},"company_id":{"type":"integer","description":"Company identifier","example":1},"label":{"type":"string","description":"Resource field label","example":"T-shirt size"},"field_type":{"type":"string","description":"Type of the value for the resource field","enum":["text","long_text","date","rating","checkbox","single_choice","multiple_choice","money","cents"],"example":"text"},"required":{"type":"boolean","description":"Requirement to fill this resource field","example":true},"max_value":{"type":"integer","description":"Maximum value for range field type","example":10},"min_value":{"type":"integer","description":"Minimum value for range field type","example":0},"position":{"type":"integer","description":"Field position within schema","example":2},"editable":{"type":"string","description":"Group for which this field is editable","enum":["owned","reportees","team_leader","legal_entity","everybody"],"example":"team_leader"},"visible":{"type":"string","description":"Group for which this field is visible","enum":["owned","reportees","team_leader","legal_entity","everybody"],"example":"everybody"},"options":{"type":"array","description":"Array of options to choose from","example":["yes","no","maybe"],"items":{"type":"string"}}}}}}}}},"/api/2026-04-01/resources/custom_fields/resource_fields/{id}":{"get":{"tags":["CustomFields \u003e ResourceField"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads schema custom fields","summary":"Reads a single Resource field","parameters":[{"name":"id","example":"1","description":"Resource field identifiers","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/custom_fields_resource_field"}}}}}}},"/api/2026-04-01/resources/custom_fields/values":{"get":{"tags":["CustomFields \u003e Value"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Values","summary":"Reads all Values","parameters":[{"name":"employee_ids[]","in":"query","schema":{"type":"array","description":"Employee identifiers to filter custom field values by","example":[18],"items":{"type":"integer"}},"description":"Employee identifiers to filter custom field values by","example":[18]},{"name":"identifiers[]","in":"query","schema":{"type":"array","description":"Custom field to filter by identifier","example":["01f931507aa27e1168025e27cd46b8588435b741"],"items":{"type":"string"}},"description":"Custom field to filter by identifier","example":["01f931507aa27e1168025e27cd46b8588435b741"]},{"name":"ids[]","in":"query","schema":{"type":"array","description":"Custom field value identifiers to filter by","example":[73],"items":{"type":"integer"}},"description":"Custom field value identifiers to filter by","example":[73]},{"name":"instance_id","in":"query","schema":{"type":"integer","description":"Identifier of the instance that the custom field value is attached to","example":18},"description":"Identifier of the instance that the custom field value is attached to","example":18},{"name":"value","in":"query","schema":{"type":"string","description":"Custom field value to filter by","example":"1235436"},"description":"Custom field value to filter by","example":"1235436"},{"name":"slug","in":"query","schema":{"type":"string","description":"Custom field slug to filter by","example":"matricule"},"description":"Custom field slug to filter by","example":"matricule"},{"name":"field_id","in":"query","schema":{"type":"integer","description":"Custom field identifier to filter by","example":75},"description":"Custom field identifier to filter by","example":75},{"name":"updated_at_gteq","in":"query","schema":{"type":"string","description":"Filter values updated on or after this date (ISO 8601 format).","example":"2024-10-06"},"description":"Filter values updated on or after this date (ISO 8601 format).","example":"2024-10-06"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/custom_fields_value"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["CustomFields \u003e Value"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Creates a Value","summary":"Creates a Value","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/custom_fields_value"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["field_id","valuable_type","valuable_id","value"],"properties":{"field_id":{"type":"integer","description":"Custom Fields identifier","example":1},"valuable_type":{"type":"string","description":"Type of the object that the custom field is attached to: 'Document' | 'Employee' | 'Contracts::ContractVersion' | 'CustomResources::Value' ","example":"Employee"},"valuable_id":{"type":"integer","description":"Identifier of the object that the custom field is attached to","example":1},"value":{"type":"string","description":"Custom Fields value","example":"This is an example value for a custom field"}}}}}}}},"/api/2026-04-01/resources/custom_fields/values/{id}":{"get":{"tags":["CustomFields \u003e Value"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Value","summary":"Reads a single Value","parameters":[{"name":"id","example":"73","description":"Custom field value identifiers to filter by","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/custom_fields_value"}}}}}},"put":{"tags":["CustomFields \u003e Value"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Updates a Value","summary":"Updates a Value","parameters":[{"name":"id","example":"1","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/custom_fields_value"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"integer"},"value":{"type":"string"}}}}}}}},"/api/2026-04-01/resources/custom_resources/resources":{"get":{"tags":["CustomResources \u003e Resource"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Resources","summary":"Reads all Resources","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"Resource identifiers","example":[1,2],"items":{"type":"integer"}},"description":"Resource identifiers","example":[1,2]},{"name":"employee_ids[]","in":"query","schema":{"type":"array","description":"Employee identifiers","example":[1,2],"items":{"type":"integer"}},"description":"Employee identifiers","example":[1,2]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/custom_resources_resource"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/custom_resources/resources/{id}":{"get":{"tags":["CustomResources \u003e Resource"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Resource","summary":"Reads a single Resource","parameters":[{"name":"id","example":"1","description":"Resource identifiers","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/custom_resources_resource"}}}}}}},"/api/2026-04-01/resources/custom_resources/schemas":{"get":{"tags":["CustomResources \u003e Schema"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Schemas","summary":"Reads all Schemas","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"Schemas identifiers","example":[1,2],"items":{"type":"integer"}},"description":"Schemas identifiers","example":[1,2]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/custom_resources_schema"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["CustomResources \u003e Schema"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Creates a Schema","summary":"Creates a Schema","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/custom_resources_schema"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["name","company_id","hidden"],"properties":{"name":{"type":"string","description":"Schema name","example":"Company Offsite"},"company_id":{"type":"integer","description":"Company identifier where this schema belongs","example":2},"effective_at_id":{"type":"integer","description":"Custom field identifier","example":1},"hidden":{"type":"boolean","description":"Manages visibility of the schema","example":false},"position":{"type":"integer","description":"Schema position within employee profile","example":1},"usage_group_slug":{"type":"string","description":"Schema slug","example":"company_offsite"}}}}}}}},"/api/2026-04-01/resources/custom_resources/schemas/{id}":{"get":{"tags":["CustomResources \u003e Schema"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Schema","summary":"Reads a single Schema","parameters":[{"name":"id","example":"1","description":"Schemas identifiers","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/custom_resources_schema"}}}}}}},"/api/2026-04-01/resources/custom_resources/values":{"get":{"tags":["CustomResources \u003e Value"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Values","summary":"Reads all Values","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"Values identifiers","example":[1,2],"items":{"type":"integer"}},"description":"Values identifiers","example":[1,2]},{"name":"employee_ids[]","in":"query","schema":{"type":"array","description":"Employee identifiers","example":[1,2],"items":{"type":"integer"}},"description":"Employee identifiers","example":[1,2]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/custom_resources_value"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["CustomResources \u003e Value"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Creates a Value","summary":"Creates a Value","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/custom_resources_value"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["schema_id","employee_id","field_id","value"],"properties":{"schema_id":{"type":"integer","description":"Identifier of the schema this value belongs to","example":1},"employee_id":{"type":"integer","description":"The identifier of the employee that owns the resource value","example":1},"custom_resource_id":{"type":"integer","description":"The identifier of the resource that owns the resource value","example":1},"field_id":{"type":"integer","description":"Identifier of the field this value belongs to","example":2},"value":{"type":"string","description":"Value for schema custom field","example":"This is an example value for a custom field"}}}}}}}},"/api/2026-04-01/resources/custom_resources/values/{id}":{"get":{"tags":["CustomResources \u003e Value"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Value","summary":"Reads a single Value","parameters":[{"name":"id","example":"1","description":"Values identifiers","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/custom_resources_value"}}}}}}},"/api/2026-04-01/resources/documents/documents":{"get":{"tags":["Documents \u003e Document"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Documents","summary":"Reads all Documents","parameters":[{"name":"by_bookkeeper_documents","in":"query","schema":{"type":"boolean","description":"flag to indicate if the document belongs to a bookkeeper.","example":true},"description":"flag to indicate if the document belongs to a bookkeeper.","example":true},{"name":"by_pending_assignment","in":"query","schema":{"type":"boolean","description":"flag to indicate if the document is pending assignment.","example":true},"description":"flag to indicate if the document is pending assignment.","example":true,"required":true},{"name":"by_trash_bin","in":"query","schema":{"type":"boolean","description":"flag to indicate if the document is in the trash bin.","example":true},"description":"flag to indicate if the document is in the trash bin.","example":true,"required":true},{"name":"by_without_folder","in":"query","schema":{"type":"boolean","description":"flag to indicate if the document doesn't have a folder.","example":true},"description":"flag to indicate if the document doesn't have a folder.","example":true},{"name":"employee_ids[]","in":"query","schema":{"type":"array","description":"list of employee identifiers.","example":[1,2,3],"items":{"type":"integer"}},"description":"list of employee identifiers.","example":[1,2,3]},{"name":"folder_id","in":"query","schema":{"type":"integer","description":"folder identifier.","example":1},"description":"folder identifier.","example":1},{"name":"ids[]","in":"query","schema":{"type":"array","description":"list of document identifiers.","example":[1,2,3],"items":{"type":"integer"}},"description":"list of document identifiers.","example":[1,2,3]},{"name":"leave_id","in":"query","schema":{"type":"integer","description":"leave identifier associated to the document, refers to /timeoff/leaves endpoint.","example":1},"description":"leave identifier associated to the document, refers to /timeoff/leaves endpoint.","example":1}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/documents_document"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["Documents \u003e Document"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Creates a Document","summary":"Creates a Document","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/documents_document"}}}}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","required":["public","space","is_pending_assignment","file","author_id","company_id","signee_ids[]","request_esignature"],"properties":{"public":{"type":"boolean","description":"flag to indicate if the document is public.","example":true},"space":{"type":"string","description":"document space, in case of employee_my_documents it's necessary to fill employee_id.","enum":["employee_my_documents","company_public","company_internal","pending_to_assign","pending_to_destroy"],"example":"employee_my_documents"},"folder_id":{"type":"integer","description":"folder identifier, references to documents/folders endpoint.","example":1},"file_filename":{"type":"string","description":"final name of the file, even if the file has been uploaded with a different name.","example":"document.pdf"},"is_pending_assignment":{"type":"boolean","description":"flag that indicates if the document is pending assignment.","example":true},"leave_id":{"type":"integer","description":"leave identifier associated to the document, refers to /timeoff/leaves endpoint.","example":1},"file":{"type":"string","description":"file to upload, the binary file.","example":"document.pdf","format":"binary"},"employee_id":{"type":"integer","description":"employee identifier associated to the document.","example":1},"author_id":{"type":"integer","description":"access identifier of the author, refers to /employees/employees endpoint.","example":1},"company_id":{"type":"integer","description":"company identifier, refers to /api/me endpoint.","example":1},"signee_ids[]":{"type":"array","description":"list of user access identifiers associated to the document, refers to /employees/employees endpoint.","example":[1,2,3],"items":{"type":"integer"}},"request_esignature":{"type":"boolean","description":"flag to indicate if the document requires an electronic signature.","example":true}}}}}}}},"/api/2026-04-01/resources/documents/documents/{id}":{"get":{"tags":["Documents \u003e Document"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Document","summary":"Reads a single Document","parameters":[{"name":"id","example":"1","description":"list of document identifiers.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/documents_document"}}}}}},"put":{"tags":["Documents \u003e Document"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Updates a Document","summary":"Updates a Document","parameters":[{"name":"id","example":"1","description":"document identifiers.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/documents_document"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id","public","request_esignature","signee_ids"],"properties":{"id":{"type":"integer","description":"document identifiers.","example":1},"public":{"type":"boolean","description":"flag to indicate if the document is public.","example":true},"employee_id":{"type":"integer","description":"employee identifier associated to the document.","example":1},"folder_id":{"type":"integer","description":"folder identifier, references to documents/folders endpoint.","example":1},"request_esignature":{"type":"boolean","description":"flag to indicate if the document requires an electronic signature.","example":true},"signee_ids":{"type":"array","description":"list of user access identifiers associated to the document, refers to /employees/employees endpoint.","example":[1,2,3],"items":{"type":"integer"}}}}}}}},"delete":{"tags":["Documents \u003e Document"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Deletes a Document","summary":"Deletes a Document","parameters":[{"name":"id","example":"1","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/documents_document"}}}}}}},"/api/2026-04-01/resources/documents/documents/move_to_trash_bin":{"post":{"tags":["Documents \u003e Document"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"This endpoint moves the documents to the trash bin, after 30 days they will be deleted from the system.","summary":"Move to trash bins a Document","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/documents_document"}}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["document_ids"],"properties":{"document_ids":{"type":"array","description":"list of document identifiers.","example":[1,2,3],"items":{"type":"integer"}}}}}}}}},"/api/2026-04-01/resources/documents/documents/restore_from_trash_bin":{"post":{"tags":["Documents \u003e Document"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"This endpoint restores the documents from the trash bin, remember that a document in the trash bin will be deleted from the system after 30 days.","summary":"Restore from trash bins a Document","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/documents_document"}}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["document_ids"],"properties":{"document_ids":{"type":"array","description":"list of document identifiers.","example":[1,2,3],"items":{"type":"integer"}}}}}}}}},"/api/2026-04-01/resources/documents/download_urls/bulk_create":{"post":{"tags":["Documents \u003e DownloadUrl"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"This endpoint generate temporal urls for a list of documents. The urls let you download the documents.","summary":"Bulk creates a Download url","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/documents_download_url"}}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"ids":{"type":"array","description":"list of document identifiers.","example":[1,2,3],"items":{"type":"integer"}}}}}}}}},"/api/2026-04-01/resources/documents/folders":{"get":{"tags":["Documents \u003e Folder"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Get all folders.","summary":"Reads all Folders","parameters":[{"name":"active","in":"query","schema":{"type":"boolean","description":"Active folder.","example":true},"description":"Active folder.","example":true},{"name":"employee_id","in":"query","schema":{"type":"integer","description":"Employee id","example":15},"description":"Employee id","example":15},{"name":"ids[]","in":"query","schema":{"type":"array","description":"ids of the folders.","example":[10,12,13],"items":{"type":"integer"}},"description":"ids of the folders.","example":[10,12,13]},{"name":"name","in":"query","schema":{"type":"string","description":"Name of the folder.","example":"Payslips"},"description":"Name of the folder.","example":"Payslips"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/documents_folder"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["Documents \u003e Folder"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Create a folder.","summary":"Creates a Folder","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/documents_folder"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["company_id","name","space"],"properties":{"company_id":{"type":"integer","description":"Company ID","example":1},"name":{"type":"string","description":"Folder name","example":"Payslips"},"space":{"type":"string","description":"The space of the folder is related to the type of documents that will be stored in it. You should always use \"employee_my_documents\"","example":"employee_my_documents"}}}}}}}},"/api/2026-04-01/resources/documents/folders/{id}":{"get":{"tags":["Documents \u003e Folder"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Get all folders.","summary":"Reads a single Folder","parameters":[{"name":"id","example":"10","description":"ids of the folders.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/documents_folder"}}}}}},"put":{"tags":["Documents \u003e Folder"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Update a folder.","summary":"Updates a Folder","parameters":[{"name":"id","example":"3","description":"Folder id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/documents_folder"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["company_id","id","name"],"properties":{"company_id":{"type":"integer","description":"Company ID","example":1},"id":{"type":"integer","description":"Folder id","example":3},"name":{"type":"string","description":"Folder name","example":"New folder name"}}}}}}}},"/api/2026-04-01/resources/employees/employees":{"get":{"tags":["Employees \u003e Employee"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Only admins can see all the employees' information, regular users will get a restricted version of the payload as a response based on the permission set by the admin","summary":"Reads all Employees","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"filter by employee ids.","example":[1,2,3],"items":{"type":"integer"}},"description":"filter by employee ids.","example":[1,2,3]},{"name":"access_ids[]","in":"query","schema":{"type":"array","description":"filter by employee access ids.","example":[1,2,3],"items":{"type":"integer"}},"description":"filter by employee access ids.","example":[1,2,3]},{"name":"emails[]","in":"query","schema":{"type":"array","description":"filter by employee emails.","example":["ana@factorial.com","john@factorial.com"],"items":{"type":"string"}},"description":"filter by employee emails.","example":["ana@factorial.com","john@factorial.com"]},{"name":"full_text_name","in":"query","schema":{"type":"string","description":"filter by employee name.","example":"Ana Lopez Perez"},"description":"filter by employee name.","example":"Ana Lopez Perez"},{"name":"updated_at_gteq","in":"query","schema":{"type":"string","description":"Filter employees updated on or after this timestamp (greater than or equal).","example":"2024-01-01"},"description":"Filter employees updated on or after this timestamp (greater than or equal).","example":"2024-01-01"},{"name":"legal_entity_ids[]","in":"query","schema":{"type":"array","description":"filter by legal entity id (refereces to companies/legal_entities).","example":[1,2],"items":{"type":"integer"}},"description":"filter by legal entity id (refereces to companies/legal_entities).","example":[1,2]},{"name":"company_identifier","in":"query","schema":{"type":"string","description":"filter by employee company identifier.","example":"bb9d281e"},"description":"filter by employee company identifier.","example":"bb9d281e"},{"name":"only_active","in":"query","schema":{"type":"boolean","description":"get only active employees","example":true},"description":"get only active employees","example":true,"required":true},{"name":"team_ids[]","in":"query","schema":{"type":"array","description":"filter employees by team id (references to core/teams).","example":[1,2],"items":{"type":"integer"}},"description":"filter employees by team id (references to core/teams).","example":[1,2]},{"name":"location_ids[]","in":"query","schema":{"type":"array","description":"filter employees by location id (references to locations/location).","example":[1,2],"items":{"type":"integer"}},"description":"filter employees by location id (references to locations/location).","example":[1,2]},{"name":"only_managers","in":"query","schema":{"type":"boolean","description":"get only manager employees.","example":true},"description":"get only manager employees.","example":true,"required":true},{"name":"name_starts_with","in":"query","schema":{"type":"string","description":"filter by employee names that start with the given text.","example":"Ana"},"description":"filter by employee names that start with the given text.","example":"Ana"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/employees_employee"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/employees/employees/{id}":{"get":{"tags":["Employees \u003e Employee"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Only admins can see all the employees' information, regular users will get a restricted version of the payload as a response based on the permission set by the admin","summary":"Reads a single Employee","parameters":[{"name":"id","example":"1","description":"filter by employee ids.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/employees_employee"}}}}}},"put":{"tags":["Employees \u003e Employee"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Updates an Employee","summary":"Updates an Employee","parameters":[{"name":"id","example":"1","description":"id of the employee.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/employees_employee"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer","description":"id of the employee.","example":1},"access_id":{"type":"integer","description":"access_id of the creator.","example":1},"gender":{"type":"string","description":"gender of the employee (male | female).","example":"female"},"first_name":{"type":"string","description":"name of the employee.","example":"Ana"},"last_name":{"type":"string","description":"last name of the employee.","example":"Blanco Perez"},"identifier":{"type":"string","description":"national identifier number.","example":"QKG587532Y"},"identifier_type":{"type":"string","description":"type of identifier (ex passport).","example":"passport"},"birthday_on":{"type":"string","description":"birthday of the employee.","example":"1990-06-06"},"nationality":{"type":"string","description":"nationality country code of the employee (Spain ES, United Kingdom GB).","example":"ES"},"address_line_1":{"type":"string","description":"address of the employee.","example":"Calle Adaro 10 1 A"},"address_line_2":{"type":"string","description":"address of the employee.","example":"Calle Adaro 10 1 A"},"postal_code":{"type":"string","description":"postal code of the employee.","example":27004},"city":{"type":"string","description":"city of the employee.","example":"Santander"},"state":{"type":"string","description":"state/province/region of the employee.","example":"Cataluña"},"country":{"type":"string","description":"country code of the employee (Spain ES, United Kingdom GB).","example":"ES"},"bank_number":{"type":"string","description":"bank account number of the employee.","example":"ES6220809324751871912999"},"swift_bic":{"type":"string","description":"code to identify banks and financial institutions globally.","example":"CAGLES2M510"},"manager_id":{"type":"integer","description":"id of manager, you can get the manager_id from employees endpoint.","example":1},"timeoff_manager_id":{"type":"integer","description":"id of manager, you can get the manager_id from employees endpoint.","example":1},"social_security_number":{"type":"string","description":"social security number of the employee.","example":150126298420},"has_work_permit":{"type":"boolean","description":"does the employee have work permit?","example":true},"phone_number":{"type":"string","description":"phone number of the employee.","example":657483987},"company_identifier":{"type":"string","description":"identity number or string used inside a company to internally identify the employee.","example":"bb9d281e"},"seniority_calculation_date":{"type":"string","description":"date since when the employee is working in the company.","example":"2024-10-07"},"legal_entity_id":{"type":"integer","description":"legal entity of the employee, references to companies/legal_entities.","example":1},"location_id":{"type":"integer","description":"location id of the employee, references to locations/locations.","example":1},"preferred_name":{"type":"string","description":"nickname of the employee or a name that defines the employee better.","example":"Anita"},"pronouns":{"type":"string","description":"pronouns that an employee uses to define themselves.","example":"She/Her"},"contact_name":{"type":"string","description":"name of the employee contact.","example":"Laura Delgado"},"contact_number":{"type":"string","description":"phone number of the employee contact .","example":657482908},"personal_email":{"type":"string","description":"personal email of the employee.","example":"ana@factorial.com"},"disability_percentage_cents":{"type":"integer","description":"officially certified level of disability granted by public administration for individuals with physical or mental impairments, expressed in cents","example":1200},"identifier_expiration_date":{"type":"string","description":"identifier expiration date","example":"2023-12-31"}}}}}}}},"/api/2026-04-01/resources/employees/employees/create_with_contract":{"post":{"tags":["Employees \u003e Employee"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Create an employee with a contract","summary":"Create with contracts an Employee","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/employees_employee"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["company_id","first_name","last_name","email"],"properties":{"company_id":{"type":"integer","description":"company id of the employee, you can get it in companies/legal_entities endpoint.","example":1},"first_name":{"type":"string","description":"name of the employee.","example":"Ana"},"last_name":{"type":"string","description":"last name of the employee.","example":"Blanco Perez"},"email":{"type":"string","description":"personal email of the employee.","example":"ana@factorial.com"},"contract_effective_on":{"type":"string","description":"the day the specific contract starts, in case of hiring the same than contract_starts_on.","example":"2024-10-06"},"contract_starts_on":{"type":"string","description":"the day the employee is hired.","example":"2024-10-06"},"ends_on":{"type":"string","description":"the day the contract ends.","example":"2024-10-06"},"gender":{"type":"string","description":"gender of the employee (male | female).","example":"female"},"identifier":{"type":"string","description":"national identifier number.","example":"QKG587532Y"},"identifier_type":{"type":"string","description":"type of identifier (ex passport).","example":"passport"},"identifier_expiration_date":{"type":"string","description":"identifier expiration date.","example":"2023-12-31"},"birthday_on":{"type":"string","description":"birthday of the employee.","example":"1990-06-06"},"nationality":{"type":"string","description":"nationality country code of the employee (Spain ES, United Kingdom GB).","example":"ES"},"address_line1":{"type":"string","description":"address of the employee.","example":"Calle Adaro 10 1 A"},"address_line_2":{"type":"string","description":"address of the employee.","example":"Calle Adaro 10 1 A"},"postal_code":{"type":"string","description":"postal code of the employee.","example":27004},"city":{"type":"string","description":"city of the employee.","example":"Santander"},"state":{"type":"string","description":"state/province/region of the employee.","example":"Cantabria"},"country":{"type":"string","description":"country code of the employee (Spain ES, United Kingdom GB).","example":"es"},"bank_number":{"type":"string","description":"bank account number of the employee.","example":"ES6220809324751871912999"},"swift_bic":{"type":"string","description":"code to identify banks and financial institutions globally.","example":"CAGLES2M510"},"manager_id":{"type":"integer","description":"id of manager, you can get the manager_id from employees endpoint.","example":1},"timeoff_manager_id":{"type":"integer","description":"id of manager, you can get the manager_id from employees endpoint.","example":1},"legal_entity_id":{"type":"integer","description":"legal entity of the employee, references to companies/legal_entities.","example":1},"company_identifier":{"type":"string","description":"identity number or string used inside a company to internally identify the employee.","example":"bb9d281e"},"seniority_calculation_date":{"type":"string","description":"date since when the employee is working in the company.","example":"2024-10-07"},"job_catalog_tree_node_uuid":{"type":"string","description":"the uuid of nodes in the job catalog tree. For now it only supports level nodes. From this point in the job catalog tree you can get the full ancestor path to the root node including the role. Refer to job_catalog/tree_nodes endpoint.","example":"jobcatalog_treelevel-14"},"team_id":{"type":"integer","description":"team id of the employee.","example":1},"location_id":{"type":"integer","description":"location id of the employee, references to locations/locations.","example":1},"social_security_number":{"type":"string","description":"social security number of the employee.","example":150126298420},"has_trial_period":{"type":"boolean","description":"does the employee have a trial period?","example":true},"trial_period_ends_on":{"type":"string","description":"when the trial period ends.","example":"2024-10-06"},"contact_name":{"type":"string","description":"name of the emergency contact.","example":"Laura Delgado"},"contact_number":{"type":"string","description":"phone number of the emergency contact.","example":"647384950"},"phone_number":{"type":"string","description":"phone number of the employee.","example":"657483987"},"a3_innuva_code":{"type":"string","description":"A3Innuva employee code.","example":"35600"},"a3_nom_code":{"type":"string","description":"A3Nom employee code.","example":"45600"},"contracts_bank_holiday_treatment":{"type":"string","description":"Defines whether a bank holiday should be considered as a workable or non-workable day.","enum":["workable","non_workable"],"example":"workable"},"contracts_annual_working_time_distribution":{"type":"string","description":"the annual working time distribution of the employee.","enum":["limit_workdays","limit_daily_hours"],"example":"limit_daily_hours"},"contracts_working_time_percentage_in_cents":{"type":"integer","description":"Working time percentage in cents (e.g., when an employee is working part-time, the percentage of full-time hours they are working).","example":8000},"contracts_max_legal_yearly_hours":{"type":"integer","description":"the maximum amount of hours the employee can work in a year.","example":18000},"contracts_maximum_weekly_hours":{"type":"integer","description":"the maximum amount of hours the employee can work in a week.","example":400}}}}}}}},"/api/2026-04-01/resources/employees/employees/invite":{"post":{"tags":["Employees \u003e Employee"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Send an email invitation to an unconfirmed employee to join Factorial","summary":"Invites an Employee","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/employees_employee"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id","company_id"],"properties":{"id":{"type":"integer","description":"id of the unconfirmed employee","example":1},"company_id":{"type":"integer","description":"id of the company","example":1}}}}}}}},"/api/2026-04-01/resources/employees/employees/set_regular_access_start_date":{"post":{"tags":["Employees \u003e Employee"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Set regular access start dates an Employee","summary":"Set regular access start dates an Employee","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/employees_employee"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer","description":"id of the employee.","example":1},"starts_on":{"type":"string","description":"the date the employee will start working in the company.","example":"2024-10-06"}}}}}}}},"/api/2026-04-01/resources/employees/employees/terminate":{"post":{"tags":["Employees \u003e Employee"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Terminates an Employee","summary":"Terminates an Employee","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/employees_employee"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id","terminated_on"],"properties":{"id":{"type":"integer","description":"id of the employee.","example":1},"terminated_on":{"type":"string","description":"when the employee will be terminated.","example":"2024-10-06"},"termination_reason":{"type":"string","description":"A reason for the termination.","example":"The employee has left the company"},"termination_assigned_manager_id":{"type":"integer","description":"id of manager that terminates the employee, you can get the manager_id from employees endpoint.","example":1}}}}}}}},"/api/2026-04-01/resources/employees/employees/unterminate":{"post":{"tags":["Employees \u003e Employee"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Unterminates an Employee","summary":"Unterminates an Employee","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/employees_employee"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer","description":"id of the employee.","example":1}}}}}}}},"/api/2026-04-01/resources/employee_updates/absences":{"get":{"tags":["EmployeeUpdates \u003e Absence"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"This endpoint can be used to retrieve a list of absence `employee updates`.","summary":"Reads all Absences","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"filter by absence incidence ids.","example":[1,2,3],"items":{"type":"integer"}},"description":"filter by absence incidence ids.","example":[1,2,3]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/employee_updates_absence"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/employee_updates/absences/{id}":{"get":{"tags":["EmployeeUpdates \u003e Absence"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"This endpoint can be used to retrieve a list of absence `employee updates`.","summary":"Reads a single Absence","parameters":[{"name":"id","example":"1","description":"filter by absence incidence ids.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/employee_updates_absence"}}}}}}},"/api/2026-04-01/resources/employee_updates/contract_changes":{"get":{"tags":["EmployeeUpdates \u003e ContractChange"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"This endpoint can be used to retrieve a list of contract changes `employee updates` details.","summary":"Reads all Contract changes","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"filter by contract change incidence ids.","example":[1,2,3],"items":{"type":"integer"}},"description":"filter by contract change incidence ids.","example":[1,2,3]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/employee_updates_contract_change"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/employee_updates/contract_changes/{id}":{"get":{"tags":["EmployeeUpdates \u003e ContractChange"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"This endpoint can be used to retrieve a list of contract changes `employee updates` details.","summary":"Reads a single Contract change","parameters":[{"name":"id","example":"1","description":"filter by contract change incidence ids.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/employee_updates_contract_change"}}}}}}},"/api/2026-04-01/resources/employee_updates/new_hires":{"get":{"tags":["EmployeeUpdates \u003e NewHire"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"This endpoint can be used to retrieve a detail of new hire `employee updates`.","summary":"Reads all New hires","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"filter by new hire incidence ids.","example":[1,2,3],"items":{"type":"integer"}},"description":"filter by new hire incidence ids.","example":[1,2,3]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/employee_updates_new_hire"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/employee_updates/new_hires/{id}":{"get":{"tags":["EmployeeUpdates \u003e NewHire"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"This endpoint can be used to retrieve a detail of new hire `employee updates`.","summary":"Reads a single New hire","parameters":[{"name":"id","example":"1","description":"filter by new hire incidence ids.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/employee_updates_new_hire"}}}}}}},"/api/2026-04-01/resources/employee_updates/personal_changes":{"get":{"tags":["EmployeeUpdates \u003e PersonalChange"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"This endpoint can be used to retrieve a list of personal changes `employee updates`.","summary":"Reads all Personal changes","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"filter by personal change incidence ids.","example":[1,2,3],"items":{"type":"integer"}},"description":"filter by personal change incidence ids.","example":[1,2,3]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/employee_updates_personal_change"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/employee_updates/personal_changes/{id}":{"get":{"tags":["EmployeeUpdates \u003e PersonalChange"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"This endpoint can be used to retrieve a list of personal changes `employee updates`.","summary":"Reads a single Personal change","parameters":[{"name":"id","example":"1","description":"filter by personal change incidence ids.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/employee_updates_personal_change"}}}}}}},"/api/2026-04-01/resources/employee_updates/summaries":{"get":{"tags":["EmployeeUpdates \u003e Summary"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"This endpoint can be used to retrieve a list of `employee updates`.","summary":"Reads all Summaries","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"retrieve only the `employee updates` that matches the `ids` passed in the request.","example":[1,2,3],"items":{"type":"integer"}},"description":"retrieve only the `employee updates` that matches the `ids` passed in the request.","example":[1,2,3]},{"name":"employee_ids[]","in":"query","schema":{"type":"array","description":"retrieve only the `employee updates` assigned to any `employee` specified in the request.","example":[1,2,3],"items":{"type":"integer"}},"description":"retrieve only the `employee updates` assigned to any `employee` specified in the request.","example":[1,2,3]},{"name":"legal_entities_ids[]","in":"query","schema":{"type":"array","description":"retrieve only the `employee updates` assigned to any `legal entity` specified in the request.","example":[1,2,3],"items":{"type":"integer"}},"description":"retrieve only the `employee updates` assigned to any `legal entity` specified in the request.","example":[1,2,3]},{"name":"type[]","in":"query","schema":{"type":"array","description":"filter `employee updates` that have the given type. The supported types are: sick, parental, name, id, address, irpf, bank, residence, nationality, gender, hiring, custom-leave, termination, contract, workplace, manual_incidence, legal_entity","example":"sick","items":{"type":"string"}},"description":"filter `employee updates` that have the given type. The supported types are: sick, parental, name, id, address, irpf, bank, residence, nationality, gender, hiring, custom-leave, termination, contract, workplace, manual_incidence, legal_entity","example":"sick"},{"name":"starts_on","in":"query","schema":{"type":"string","description":"filter `employee updates` that started **later** the given param.","example":"2024-06-06"},"description":"filter `employee updates` that started **later** the given param.","example":"2024-06-06"},{"name":"ends_on","in":"query","schema":{"type":"string","description":"filter `employee updates` that started **before** the given param.","example":"2024-06-06"},"description":"filter `employee updates` that started **before** the given param.","example":"2024-06-06"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/employee_updates_summary"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/employee_updates/summaries/{id}":{"get":{"tags":["EmployeeUpdates \u003e Summary"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"This endpoint can be used to retrieve a list of `employee updates`.","summary":"Reads a single Summary","parameters":[{"name":"id","example":"1","description":"retrieve only the `employee updates` that matches the `ids` passed in the request.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/employee_updates_summary"}}}}}}},"/api/2026-04-01/resources/employee_updates/terminations":{"get":{"tags":["EmployeeUpdates \u003e Termination"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"This endpoint can be used to retrieve a list of termination `employee updates`.","summary":"Reads all Terminations","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"filter by termination incidence ids.","example":[1,2,3],"items":{"type":"integer"}},"description":"filter by termination incidence ids.","example":[1,2,3]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/employee_updates_termination"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/employee_updates/terminations/{id}":{"get":{"tags":["EmployeeUpdates \u003e Termination"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"This endpoint can be used to retrieve a list of termination `employee updates`.","summary":"Reads a single Termination","parameters":[{"name":"id","example":"1","description":"filter by termination incidence ids.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/employee_updates_termination"}}}}}}},"/api/2026-04-01/resources/expenses/expensables":{"get":{"tags":["Expenses \u003e Expensable"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Expensables","summary":"Reads all Expensables","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","items":{"type":"integer"}}},{"name":"company_id","in":"query","schema":{"type":"integer"}},{"name":"group_ids[]","in":"query","schema":{"type":"array","items":{"type":"integer"}}},{"name":"by_resources[]","in":"query","schema":{"type":"array","items":{}}},{"name":"employee_ids[]","in":"query","schema":{"type":"array","items":{"type":"integer"}}},{"name":"reporter_ids[]","in":"query","schema":{"type":"array","items":{"type":"integer"}}},{"name":"status[]","in":"query","schema":{"type":"array","enum":["pending","changes_requested","approved","paid","rejected","reversed","draft","in_payroll","sent_to_pay"],"items":{"type":"string"}}},{"name":"creation_type[]","in":"query","schema":{"type":"array","items":{"type":"string"}}},{"name":"from","in":"query","schema":{"type":"string"}},{"name":"to","in":"query","schema":{"type":"string"}},{"name":"search","in":"query","schema":{"type":"string"}},{"name":"include_grouped","in":"query","schema":{"type":"boolean"},"required":true},{"name":"include_attachments","in":"query","schema":{"type":"boolean"},"required":true},{"name":"include_manual_drafts","in":"query","schema":{"type":"boolean"},"required":true}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/expenses_expensable"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/expenses/expensables/{id}":{"get":{"tags":["Expenses \u003e Expensable"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Expensable","summary":"Reads a single Expensable","parameters":[{"name":"id","example":"1","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/expenses_expensable"}}}}}}},"/api/2026-04-01/resources/expenses/expensables/bulk_set_to_paid":{"post":{"tags":["Expenses \u003e Expensable"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Bulk set to paids an Expensable","summary":"Bulk set to paids an Expensable","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/expenses_expensable"}}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["ids"],"properties":{"ids":{"type":"array","description":"The IDs of the expensables to set to paid","example":[1],"items":{"type":"integer"}}}}}}}}},"/api/2026-04-01/resources/expenses/expenses":{"get":{"tags":["Expenses \u003e Expense"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Expenses","summary":"Reads all Expenses","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"The ids of the expenses to filter by","items":{"type":"integer"}},"description":"The ids of the expenses to filter by"},{"name":"expenses_expensable_ids[]","in":"query","schema":{"type":"array","description":"The ids of the expensables to filter by","items":{"type":"integer"}},"description":"The ids of the expensables to filter by"},{"name":"include_manual_drafts","in":"query","schema":{"type":"boolean","description":"Whether to include manual drafts","example":true},"description":"Whether to include manual drafts","example":true,"required":true},{"name":"employee_ids[]","in":"query","schema":{"type":"array","description":"The ids of the employees to filter by","items":{"type":"integer"}},"description":"The ids of the employees to filter by"},{"name":"external_authorization_ids[]","in":"query","schema":{"type":"array","description":"The ids of the external authorizations to filter by","items":{"type":"string"}},"description":"The ids of the external authorizations to filter by"},{"name":"card_ids[]","in":"query","schema":{"type":"array","description":"The ids of the cards to filter by","items":{"type":"integer"}},"description":"The ids of the cards to filter by"},{"name":"card_payment_ids[]","in":"query","schema":{"type":"array","description":"The ids of the card payments to filter by","items":{"type":"integer"}},"description":"The ids of the card payments to filter by"},{"name":"include_attachments","in":"query","schema":{"type":"boolean","description":"Wether to include the attachments"},"description":"Wether to include the attachments","required":true},{"name":"from","in":"query","schema":{"type":"string","description":"The time from which to filter expenses"},"description":"The time from which to filter expenses"},{"name":"to","in":"query","schema":{"type":"string","description":"The time to which to filter expenses"},"description":"The time to which to filter expenses"},{"name":"dispute_ids[]","in":"query","schema":{"type":"array","description":"The ids of the disputes to filter by","items":{"type":"integer"}},"description":"The ids of the disputes to filter by"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/expenses_expense"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/expenses/expenses/{id}":{"get":{"tags":["Expenses \u003e Expense"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Expense","summary":"Reads a single Expense","parameters":[{"name":"id","example":"1","description":"The ids of the expenses to filter by","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/expenses_expense"}}}}}}},"/api/2026-04-01/resources/expenses/mileages":{"get":{"tags":["Expenses \u003e Mileage"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Mileages","summary":"Reads all Mileages","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","items":{"type":"integer"}}},{"name":"expenses_expensable_ids[]","in":"query","schema":{"type":"array","items":{"type":"integer"}}},{"name":"include_manual_drafts","in":"query","schema":{"type":"boolean"},"required":true},{"name":"employee_ids[]","in":"query","schema":{"type":"array","items":{"type":"integer"}}},{"name":"external_authorization_ids[]","in":"query","schema":{"type":"array","items":{"type":"string"}}},{"name":"card_ids[]","in":"query","schema":{"type":"array","items":{"type":"integer"}}},{"name":"card_payment_ids[]","in":"query","schema":{"type":"array","items":{"type":"integer"}}},{"name":"include_attachments","in":"query","schema":{"type":"boolean"},"required":true},{"name":"from","in":"query","schema":{"type":"string"}},{"name":"to","in":"query","schema":{"type":"string"}},{"name":"dispute_ids[]","in":"query","schema":{"type":"array","items":{"type":"integer"}}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/expenses_mileage"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/expenses/mileages/{id}":{"get":{"tags":["Expenses \u003e Mileage"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Mileage","summary":"Reads a single Mileage","parameters":[{"name":"id","example":"1","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/expenses_mileage"}}}}}}},"/api/2026-04-01/resources/expenses/per_diems":{"get":{"tags":["Expenses \u003e PerDiem"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Per diems","summary":"Reads all Per diems","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"The IDs of the per diem to read.","example":[1,2],"items":{"type":"integer"}},"description":"The IDs of the per diem to read.","example":[1,2]},{"name":"expenses_expensable_ids[]","in":"query","schema":{"type":"array","description":"The IDs of the expensables to read per diems for.","example":[1,2],"items":{"type":"integer"}},"description":"The IDs of the expensables to read per diems for.","example":[1,2]},{"name":"exclude_drafts","in":"query","schema":{"type":"boolean","description":"Whether to exclude drafts from the results.","example":false},"description":"Whether to exclude drafts from the results.","example":false}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/expenses_per_diem"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/expenses/per_diems/{id}":{"get":{"tags":["Expenses \u003e PerDiem"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Per diem","summary":"Reads a single Per diem","parameters":[{"name":"id","example":"1","description":"The IDs of the per diem to read.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/expenses_per_diem"}}}}}}},"/api/2026-04-01/resources/finance/accounts":{"get":{"tags":["Finance \u003e Account"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Fetch one or all ledger accounts for the company legal_entities.","summary":"Reads all Accounts","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"Search ledger accounts by ID","example":[1],"items":{"type":"integer"}},"description":"Search ledger accounts by ID","example":[1]},{"name":"legal_entity_ids[]","in":"query","schema":{"type":"array","description":"Search ledger accounts by legal_entity_id","example":[11],"items":{"type":"integer"}},"description":"Search ledger accounts by legal_entity_id","example":[11]},{"name":"types[]","in":"query","schema":{"type":"array","description":"Search ledger accounts by type","example":["bank"],"items":{"type":"string"}},"description":"Search ledger accounts by type","example":["bank"]},{"name":"number","in":"query","schema":{"type":"string","description":"Search ledger accounts by number","example":"1000"},"description":"Search ledger accounts by number","example":"1000"},{"name":"updated_from","in":"query","schema":{"type":"string","description":"Start date for filtering ledger accounts based on their last update.","example":"2021-01-01"},"description":"Start date for filtering ledger accounts based on their last update.","example":"2021-01-01"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/finance_account"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["Finance \u003e Account"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Create a ledger account for the company legal_entity. To avoid duplicates use the external_id field to set the ID of the ledger account in the external system.","summary":"Creates an Account","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/finance_account"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["number","type","currency","legal_entity_id"],"properties":{"name":{"type":"string","description":"Name of the ledger account","example":"Bank Account"},"number":{"type":"string","description":"Number of the ledger account","example":"1000"},"type":{"type":"string","description":"Type of the ledger account","enum":["equity","non_current_asset","current_asset","bank","non_current_liability","current_liability","expense","income"],"example":"bank"},"currency":{"type":"string","description":"Currency of the ledger account","example":"EUR"},"legal_entity_id":{"type":"integer","description":"Legal entity ID of the ledger account","example":11},"external_id":{"type":"string","description":"Id of the ledger account on the external system. This field is important to avoid having duplicated ledger accounts","example":"ext_123"}}}}}}}},"/api/2026-04-01/resources/finance/accounts/{id}":{"get":{"tags":["Finance \u003e Account"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Fetch one or all ledger accounts for the company legal_entities.","summary":"Reads a single Account","parameters":[{"name":"id","example":"1","description":"Search ledger accounts by ID","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/finance_account"}}}}}},"put":{"tags":["Finance \u003e Account"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Update a ledger account.","summary":"Updates an Account","parameters":[{"name":"id","example":"1","description":"Unique identifier in factorial for the ledger account","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/finance_account"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer","description":"Unique identifier in factorial for the ledger account","example":1},"name":{"type":"string","description":"Name of the ledger account","example":"Bank Account"},"number":{"type":"string","description":"Number of the ledger account","example":"1000"},"type":{"type":"string","description":"Type of the ledger account","enum":["equity","non_current_asset","current_asset","bank","non_current_liability","current_liability","expense","income"],"example":"bank"},"currency":{"type":"string","description":"Currency of the ledger account","example":"EUR"},"legal_entity_id":{"type":"integer","description":"Legal entity ID of the ledger account","example":11},"external_id":{"type":"string","description":"Id of the ledger account on the external system","example":"ext_123"}}}}}}}},"/api/2026-04-01/resources/finance/accounting_settings":{"get":{"tags":["Finance \u003e AccountingSetting"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Accounting settings","summary":"Reads all Accounting settings","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"List of AccountingSetting IDs to filter.","example":[1234],"items":{"type":"integer"}},"description":"List of AccountingSetting IDs to filter.","example":[1234]},{"name":"legal_entity_ids[]","in":"query","schema":{"type":"array","description":"Filter by an array of legal entity IDs.","example":[101],"items":{"type":"integer"}},"description":"Filter by an array of legal entity IDs.","example":[101]},{"name":"updated_from","in":"query","schema":{"type":"string","description":"Start date for filtering accounting settings records based on their last update.","example":"2025-01-01"},"description":"Start date for filtering accounting settings records based on their last update.","example":"2025-01-01"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/finance_accounting_setting"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/finance/accounting_settings/{id}":{"get":{"tags":["Finance \u003e AccountingSetting"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Accounting setting","summary":"Reads a single Accounting setting","parameters":[{"name":"id","example":"1234","description":"List of AccountingSetting IDs to filter.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/finance_accounting_setting"}}}}}}},"/api/2026-04-01/resources/finance/accounting_settings/upsert":{"post":{"tags":["Finance \u003e AccountingSetting"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Upserts an Accounting setting","summary":"Upserts an Accounting setting","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/finance_accounting_setting"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["legal_entity_id"],"properties":{"external_id":{"type":"string","description":"External ID for the accounting setting.","example":"ext_135"},"legal_entity_id":{"type":"integer","description":"ID of the associated Legal Entity.","example":101},"default_account_for_purchase_invoices_id":{"type":"integer","description":"Default account for purchase invoices.","example":5001},"default_account_for_vendors_id":{"type":"integer","description":"Default account for vendors.","example":5002},"default_account_for_banks_id":{"type":"integer","description":"Default account for banks.","example":5003},"default_account_for_suspense_id":{"type":"integer","description":"Default suspense account.","example":5004},"default_account_for_expenses_id":{"type":"integer","description":"Default account for expenses.","example":5005},"default_account_for_employees_id":{"type":"integer","description":"Default account for employees.","example":5006},"default_account_for_sale_invoices_id":{"type":"integer","description":"Default account for sale invoices.","example":5007},"default_account_for_clients_id":{"type":"integer","description":"Default account for clients.","example":5008},"default_account_for_benefits_id":{"type":"integer","description":"Default account for benefits.","example":5009}}}}}}}},"/api/2026-04-01/resources/finance/budget_options":{"get":{"tags":["Finance \u003e BudgetOption"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Fetch budget options for the company","summary":"Reads all Budget options","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"Search budget options by ID","example":[1],"items":{"type":"integer"}},"description":"Search budget options by ID","example":[1]},{"name":"employee_ids[]","in":"query","schema":{"type":"array","description":"Search budget options by employee IDs","example":[1],"items":{"type":"integer"}},"description":"Search budget options by employee IDs","example":[1]},{"name":"effective_at","in":"query","schema":{"type":"string","description":"Filter budget options effective at this date","example":"2021-01-01T00:00:00Z"},"description":"Filter budget options effective at this date","example":"2021-01-01T00:00:00Z"},{"name":"include_inactive","in":"query","schema":{"type":"boolean","description":"Include inactive budget options","example":false},"description":"Include inactive budget options","example":false,"required":true},{"name":"include_archived","in":"query","schema":{"type":"boolean","description":"Include archived budget options","example":false},"description":"Include archived budget options","example":false,"required":true}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/finance_budget_option"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/finance/budget_options/{id}":{"get":{"tags":["Finance \u003e BudgetOption"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Fetch budget options for the company","summary":"Reads a single Budget option","parameters":[{"name":"id","example":"1","description":"Search budget options by ID","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/finance_budget_option"}}}}}}},"/api/2026-04-01/resources/finance/categories":{"get":{"tags":["Finance \u003e Category"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Fetch expense categories and subcategories for the company","summary":"Reads all Categories","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"Search categories by ID","example":[1],"items":{"type":"integer"}},"description":"Search categories by ID","example":[1]},{"name":"company_ids[]","in":"query","schema":{"type":"array","description":"Search categories by company IDs","example":[1],"items":{"type":"integer"}},"description":"Search categories by company IDs","example":[1]},{"name":"parent_category_ids[]","in":"query","schema":{"type":"array","description":"Search subcategories by parent category ID","example":[2],"items":{"type":"integer"}},"description":"Search subcategories by parent category ID","example":[2]},{"name":"category_level","in":"query","schema":{"type":"string","description":"Filter by category level","enum":["category","subcategory","all"],"example":"all"},"description":"Filter by category level","example":"all","required":true},{"name":"type","in":"query","schema":{"type":"string","description":"Filter by category type","enum":["mileage","expense","perdiem","all"],"example":"expense"},"description":"Filter by category type","example":"expense","required":true},{"name":"statuses[]","in":"query","schema":{"type":"array","description":"Filter by category status","enum":["deleted","disabled","enabled"],"example":["enabled"],"items":{"type":"string"}},"description":"Filter by category status","example":["enabled"],"required":true},{"name":"search","in":"query","schema":{"type":"string","description":"Search by category label or identifier","example":"accommodation"},"description":"Search by category label or identifier","example":"accommodation"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/finance_category"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/finance/categories/{id}":{"get":{"tags":["Finance \u003e Category"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Fetch expense categories and subcategories for the company","summary":"Reads a single Category","parameters":[{"name":"id","example":"1","description":"Search categories by ID","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/finance_category"}}}}}}},"/api/2026-04-01/resources/finance/contacts":{"get":{"tags":["Finance \u003e Contact"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Contacts","summary":"Reads all Contacts","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"List of Contact IDs to filter by.","example":[123,456],"items":{"type":"integer"}},"description":"List of Contact IDs to filter by.","example":[123,456]},{"name":"tax_ids[]","in":"query","schema":{"type":"array","description":"List of Tax IDs to filter by.","example":["X1234567","B7654321"],"items":{"type":"string"}},"description":"List of Tax IDs to filter by.","example":["X1234567","B7654321"]},{"name":"legal_name","in":"query","schema":{"type":"string","description":"Filter by partial match of a contact's legal name.","example":"Google"},"description":"Filter by partial match of a contact's legal name.","example":"Google"},{"name":"name","in":"query","schema":{"type":"string","description":"The commercial name of the Contact.","example":"Google"},"description":"The commercial name of the Contact.","example":"Google"},{"name":"contact_type","in":"query","schema":{"type":"string","description":"Type of the contact (defaults to Vendor).","enum":["client","vendor"],"example":"vendor"},"description":"Type of the contact (defaults to Vendor).","example":"vendor"},{"name":"website","in":"query","schema":{"type":"string","description":"The website of the Contact.","example":"https://www.example.com"},"description":"The website of the Contact.","example":"https://www.example.com"},{"name":"email","in":"query","schema":{"type":"string","description":"The email of the Contact.","example":"contact@example.com"},"description":"The email of the Contact.","example":"contact@example.com"},{"name":"phone_number","in":"query","schema":{"type":"string","description":"The phone number of the Contact.","example":"+1234567890"},"description":"The phone number of the Contact.","example":"+1234567890"},{"name":"updated_from","in":"query","schema":{"type":"string","description":"Start date for filtering Contacts records based on their last update.","example":"2025-01-01"},"description":"Start date for filtering Contacts records based on their last update.","example":"2025-01-01"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/finance_contact"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["Finance \u003e Contact"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Creates a Contact","summary":"Creates a Contact","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/finance_contact"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["name","address"],"properties":{"name":{"type":"string","description":"The commercial name of the Contact.","example":"Google"},"tax_id":{"type":"string","description":"Tax identification number assigned to the Contact.","example":"X1234567"},"legal_name":{"type":"string","description":"The official or legal name of the Contact.","example":"Google engineering vendor"},"address":{"type":"object","description":"The address object containing street, city, etc.","example":{"city":"East Ariana","country_code":"SC","line1":"93402 Spencer Points","line2":"Apt. 555","postal_code":"61471","state":"Oklahoma"}},"iban":{"type":"string","description":"International Bank Account Number if provided.","example":"GB25ZFXH46063029945396"},"bank_code":{"type":"string","description":"Bank or branch code for the Contact if relevant.","example":"BABCESMM"},"external_id":{"type":"string","description":"The external id of the contact.","example":"EXT-CONTACT-001"},"project_ids":{"type":"array","description":"List of project IDs associated with the Contact.","items":{"type":"integer"}},"website":{"type":"string","description":"The website of the Contact.","example":"https://www.example.com"},"email":{"type":"string","description":"The email of the Contact.","example":"contact@example.com"},"phone_number":{"type":"string","description":"The phone number of the Contact.","example":"+1234567890"}}}}}}}},"/api/2026-04-01/resources/finance/contacts/{id}":{"get":{"tags":["Finance \u003e Contact"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Contact","summary":"Reads a single Contact","parameters":[{"name":"id","example":"123","description":"List of Contact IDs to filter by.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/finance_contact"}}}}}},"put":{"tags":["Finance \u003e Contact"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Updates a Contact","summary":"Updates a Contact","parameters":[{"name":"id","example":"123","description":"ID of the Contact to update.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/finance_contact"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id","address"],"properties":{"id":{"type":"integer","description":"ID of the Contact to update.","example":123},"tax_id":{"type":"string","description":"Tax identification number assigned to the Contact.","example":"X1234567"},"legal_name":{"type":"string","description":"The official or legal name of the Contact.","example":"Google engineering vendor"},"name":{"type":"string","description":"The commercial name of the Contact.","example":"Google"},"address":{"type":"object","description":"The address object containing street, city, etc. Example: { \"city\": \"East Ariana\", \"country_code\": \"SC\", \"line1\": \"93402 Spencer Points\", \"line2\": \"Apt. 555\", \"postal_code\": \"61471\", \"state\": \"Oklahoma\" }","example":{"city":"East Ariana","country_code":"SC","line1":"93402 Spencer Points","line2":"Apt. 555","postal_code":"61471","state":"Oklahoma"}},"website":{"type":"string","description":"The website of the Contact.","example":"https://www.example.com"},"email":{"type":"string","description":"The email of the Contact.","example":"contact@example.com"},"phone_number":{"type":"string","description":"The phone number of the Contact.","example":"+1234567890"}}}}}}}},"/api/2026-04-01/resources/finance/cost_centers":{"get":{"tags":["Finance \u003e CostCenter"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Cost centers","summary":"Reads all Cost centers","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","items":{"type":"integer"}}},{"name":"company_id","in":"query","schema":{"type":"integer"}},{"name":"legal_entity_ids[]","in":"query","schema":{"type":"array","items":{"type":"integer"}}},{"name":"include_actives_on_date","in":"query","schema":{"type":"string"}},{"name":"search","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/finance_cost_center"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["Finance \u003e CostCenter"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Creates a Cost center","summary":"Creates a Cost center","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/finance_cost_center"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["name","company_id"],"properties":{"name":{"type":"string"},"company_id":{"type":"integer"},"legal_entity_id":{"type":"integer"},"code":{"type":"string"},"description":{"type":"string"}}}}}}}},"/api/2026-04-01/resources/finance/cost_centers/{id}":{"get":{"tags":["Finance \u003e CostCenter"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Cost center","summary":"Reads a single Cost center","parameters":[{"name":"id","example":"1","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/finance_cost_center"}}}}}},"delete":{"tags":["Finance \u003e CostCenter"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Deletes a Cost center","summary":"Deletes a Cost center","parameters":[{"name":"id","example":"1","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/finance_cost_center"}}}}}}},"/api/2026-04-01/resources/finance/cost_centers/edit":{"post":{"tags":["Finance \u003e CostCenter"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Edits a Cost center","summary":"Edits a Cost center","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/finance_cost_center"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id","company_id"],"properties":{"id":{"type":"integer"},"name":{"type":"string"},"code":{"type":"string"},"description":{"type":"string"},"company_id":{"type":"integer"}}}}}}}},"/api/2026-04-01/resources/finance/cost_center_memberships":{"get":{"tags":["Finance \u003e CostCenterMembership"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Cost center memberships","summary":"Reads all Cost center memberships","parameters":[{"name":"cost_center_id","in":"query","schema":{"type":"integer","description":"To retreive active cost center memberships for a specific cost center","example":1},"description":"To retreive active cost center memberships for a specific cost center","example":1},{"name":"employee_id","in":"query","schema":{"type":"integer","description":"To retreive active cost center memberships for a specific employee","example":1},"description":"To retreive active cost center memberships for a specific employee","example":1},{"name":"active_on","in":"query","schema":{"type":"string","description":"To retreive active cost center memberships for a specific date","example":"2020-01-01"},"description":"To retreive active cost center memberships for a specific date","example":"2020-01-01"},{"name":"only_active","in":"query","schema":{"type":"boolean","description":"To retreive only active cost center memberships, this is the default behavior","example":false},"description":"To retreive only active cost center memberships, this is the default behavior","example":false},{"name":"applying_on","in":"query","schema":{"type":"string","description":"To retreive cost center memberships applying on a specific date","example":"2020-01-01"},"description":"To retreive cost center memberships applying on a specific date","example":"2020-01-01"},{"name":"company_id","in":"query","schema":{"type":"integer","description":"retrieve the cost center memberships for a specific company","example":1},"description":"retrieve the cost center memberships for a specific company","example":1},{"name":"cost_center_ids[]","in":"query","schema":{"type":"array","description":"retrieve the cost center memberships for a list of cost centers","example":[1],"items":{"type":"integer"}},"description":"retrieve the cost center memberships for a list of cost centers","example":[1]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/finance_cost_center_membership"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/finance/cost_center_memberships/bulk_create_update":{"post":{"tags":["Finance \u003e CostCenterMembership"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"###### **What does it do?** Performs an update of cost center memberships for an employee.\nThe action creates new memberships starting from today, terminating any pre-existing memberships for the employee.\nThis ensures a history of cost center memberships is preserved.\n###### **What does the `memberships` array look like?**\nAn array of objects with these properties:\n- `cost_center_id`\n- `percentage`: A float between 0 and 1 representing the percentage that the employee is assigned to the cost center. For multiple assignments, the sum of percentages must equal 1.0.\nFor example, for an employee assigned to cost center 1 during 30% of their time and cost center 2 during 70% of their time, the request parameters would look like: `memberships: [{\"cost_center_id\": 1, \"percentage\": 0.3} ,{\"cost_center_id\": 2, \"percentage\": 0.7}]`","summary":"Bulk create updates a Cost center membership","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/finance_cost_center_membership"}}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["employee_id","memberships","company_id"],"properties":{"employee_id":{"type":"integer"},"memberships":{"type":"array","items":{}},"company_id":{"type":"integer"}}}}}}}},"/api/2026-04-01/resources/finance/financial_documents":{"get":{"tags":["Finance \u003e FinancialDocument"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Fetch one or all financial documents for the company.","summary":"Reads all Financial documents","parameters":[{"name":"company_id","in":"query","schema":{"type":"integer","description":"Search financial documents by company_id","example":1},"description":"Search financial documents by company_id","example":1},{"name":"ids[]","in":"query","schema":{"type":"array","description":"Search financial documents by ID","example":[135],"items":{"type":"integer"}},"description":"Search financial documents by ID","example":[135]},{"name":"vendor_id","in":"query","schema":{"type":"integer","description":"Search financial documents by vendor_id","example":33},"description":"Search financial documents by vendor_id","example":33},{"name":"currency","in":"query","schema":{"type":"string","description":"Search financial documents by currency","example":"USD"},"description":"Search financial documents by currency","example":"USD"},{"name":"statuses[]","in":"query","schema":{"type":"array","description":"Search financial documents by status","enum":["processing","review","sent_to_pay","paid"],"example":["review"],"items":{"type":"string"}},"description":"Search financial documents by status","example":["review"]},{"name":"legal_entity_ids[]","in":"query","schema":{"type":"array","description":"Search financial documents by legal_entity_id","example":[13],"items":{"type":"integer"}},"description":"Search financial documents by legal_entity_id","example":[13]},{"name":"document_types[]","in":"query","schema":{"type":"array","description":"Search financial documents by document_type","enum":["invoice","receipt","credit_note"],"example":["invoice"],"items":{"type":"string"}},"description":"Search financial documents by document_type","example":["invoice"]},{"name":"updated_from","in":"query","schema":{"type":"string","description":"Filter financial documents updated from a specific date","example":"2020-01-01"},"description":"Filter financial documents updated from a specific date","example":"2020-01-01"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/finance_financial_document"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/finance/financial_documents/{id}":{"get":{"tags":["Finance \u003e FinancialDocument"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Fetch one or all financial documents for the company.","summary":"Reads a single Financial document","parameters":[{"name":"id","example":"135","description":"Search financial documents by ID","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/finance_financial_document"}}}}}}},"/api/2026-04-01/resources/finance/journal_entries":{"get":{"tags":["Finance \u003e JournalEntry"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Journal entries","summary":"Reads all Journal entries","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"Filter by JournalEntry IDs","example":[4321],"items":{"type":"integer"}},"description":"Filter by JournalEntry IDs","example":[4321]},{"name":"legal_entity_ids[]","in":"query","schema":{"type":"array","description":"Filter by Legal Entity IDs","example":[1001],"items":{"type":"integer"}},"description":"Filter by Legal Entity IDs","example":[1001]},{"name":"source_ids[]","in":"query","schema":{"type":"array","description":"Filter by Source IDs","example":[15],"items":{"type":"integer"}},"description":"Filter by Source IDs","example":[15]},{"name":"source_type","in":"query","schema":{"type":"string","description":"Filter by related source type","enum":["bank_transaction","invoice","reconciliation","finance_reconciliation","account","expense","payroll_result","journal_entry"],"example":"bank_transaction"},"description":"Filter by related source type","example":"bank_transaction"},{"name":"types[]","in":"query","schema":{"type":"array","description":"Filter by entry type","enum":["bank","bill","invoice","credit_note","merged_ledger_account","reconciliation","tax","receipt","payroll_result","external"],"example":["bank","invoice","credit_note","receipt"],"items":{"type":"string"}},"description":"Filter by entry type","example":["bank","invoice","credit_note","receipt"]},{"name":"status","in":"query","schema":{"type":"string","description":"Filter by Journal Entry Status","enum":["published","reversed"],"example":"published"},"description":"Filter by Journal Entry Status","example":"published"},{"name":"updated_from","in":"query","schema":{"type":"string","description":"Start date for filtering journal entries records based on their last update.","example":"2025-01-01"},"description":"Start date for filtering journal entries records based on their last update.","example":"2025-01-01"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/finance_journal_entry"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["Finance \u003e JournalEntry"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Creates a Journal entry","summary":"Creates a Journal entry","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/finance_journal_entry"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["legal_entity_id","lines","reference_date"],"properties":{"external_id":{"type":"string","description":"External identifier for the journal entry","example":"EXT-001"},"legal_entity_id":{"type":"integer","description":"The associated Legal Entity ID","example":1001},"type":{"type":"string","description":"Journal entry type (e.g. bank, invoice, tax)","enum":["bank","bill","invoice","credit_note","merged_ledger_account","reconciliation","tax","receipt","payroll_result","external"],"example":"external"},"lines":{"type":"array","description":"Array of journal lines for this entry, example: [{\"account_id\": 9876, \"debit_amount_cents\": 0, \"credit_amount_cents\": 100, \"external_id\": \"LINE-001\"}, {\"account_id\": 9876, \"debit_amount_cents\": 100, \"credit_amount_cents\": 0, \"external_id\": \"LINE-002\"}]","example":[{"account_id":9876,"debit_amount_cents":0,"credit_amount_cents":100,"external_id":"LINE-001"},{"account_id":9876,"debit_amount_cents":100,"credit_amount_cents":0,"external_id":"LINE-002"}],"items":{}},"reference_date":{"type":"string","description":"Date of the associate source","example":"2025-01-01"},"description":{"type":"string","description":"Description of the journal entry","example":"Payment for invoice"},"status":{"type":"string","description":"Status of the journal entry (reversed, published, etc.)","enum":["published","reversed"],"example":"published"}}}}}}}},"/api/2026-04-01/resources/finance/journal_entries/{id}":{"get":{"tags":["Finance \u003e JournalEntry"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Journal entry","summary":"Reads a single Journal entry","parameters":[{"name":"id","example":"4321","description":"Filter by JournalEntry IDs","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/finance_journal_entry"}}}}}}},"/api/2026-04-01/resources/finance/journal_lines":{"get":{"tags":["Finance \u003e JournalLine"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Journal lines","summary":"Reads all Journal lines","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"Filter by specific JournalLine IDs","example":[1234],"items":{"type":"integer"}},"description":"Filter by specific JournalLine IDs","example":[1234]},{"name":"journal_entry_ids[]","in":"query","schema":{"type":"array","description":"Filter by specific JournalEntry IDs","example":[4321],"items":{"type":"integer"}},"description":"Filter by specific JournalEntry IDs","example":[4321]},{"name":"account_ids[]","in":"query","schema":{"type":"array","description":"Filter by specific Account IDs","example":[9876],"items":{"type":"integer"}},"description":"Filter by specific Account IDs","example":[9876]},{"name":"journal_entry_types[]","in":"query","schema":{"type":"array","description":"Filter by JournalEntry types, accepted values: bank, bill, invoice, credit_note, merged_ledger_account, reconciliation, tax, receipt, payroll_result, external","enum":["bank","bill","invoice","credit_note","merged_ledger_account","reconciliation","tax","receipt","payroll_result","external"],"example":["bank","bill","invoice","credit_note","merged_ledger_account","reconciliation","tax","receipt","payroll_result","external"],"items":{"type":"string"}},"description":"Filter by JournalEntry types, accepted values: bank, bill, invoice, credit_note, merged_ledger_account, reconciliation, tax, receipt, payroll_result, external","example":["bank","bill","invoice","credit_note","merged_ledger_account","reconciliation","tax","receipt","payroll_result","external"]},{"name":"reconciliation_status","in":"query","schema":{"type":"string","description":"The reconciliation status of the journal line","enum":["pending","reconciled","snoozed"],"example":"pending"},"description":"The reconciliation status of the journal line","example":"pending"},{"name":"description","in":"query","schema":{"type":"string"}},{"name":"updated_from","in":"query","schema":{"type":"string","description":"Start date for filtering journal line records based on their last update.","example":"2025-01-01"},"description":"Start date for filtering journal line records based on their last update.","example":"2025-01-01"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/finance_journal_line"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/finance/journal_lines/{id}":{"get":{"tags":["Finance \u003e JournalLine"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Journal line","summary":"Reads a single Journal line","parameters":[{"name":"id","example":"1234","description":"Filter by specific JournalLine IDs","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/finance_journal_line"}}}}}}},"/api/2026-04-01/resources/finance/ledger_account_resources":{"get":{"tags":["Finance \u003e LedgerAccountResource"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Fetch one or all ledger account resource for the company.","summary":"Reads all Ledger account resources","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"Search ledger account resources by ID","example":[135],"items":{"type":"integer"}},"description":"Search ledger account resources by ID","example":[135]},{"name":"resource_ids[]","in":"query","schema":{"type":"array","description":"Filter ledger account resources by resource ID","example":[155],"items":{"type":"integer"}},"description":"Filter ledger account resources by resource ID","example":[155]},{"name":"resource_type","in":"query","schema":{"type":"string","description":"Filter ledger account resources by resource type","enum":["bankaccount","vendor","taxtype","payrollconcept","customcategory","invoice"],"example":"taxtype"},"description":"Filter ledger account resources by resource type","example":"taxtype"},{"name":"legal_entity_ids[]","in":"query","schema":{"type":"array","description":"Filter ledger account resources by legal entity ID","example":[13],"items":{"type":"integer"}},"description":"Filter ledger account resources by legal entity ID","example":[13]},{"name":"updated_from","in":"query","schema":{"type":"string","description":"Filter ledger account resources by updated at","example":"2021-01-01"},"description":"Filter ledger account resources by updated at","example":"2021-01-01"},{"name":"finance_account_ids[]","in":"query","schema":{"type":"array","description":"Filter ledger account resources by finance account ID","example":[15],"items":{"type":"integer"}},"description":"Filter ledger account resources by finance account ID","example":[15]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/finance_ledger_account_resource"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/finance/ledger_account_resources/{id}":{"get":{"tags":["Finance \u003e LedgerAccountResource"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Fetch one or all ledger account resource for the company.","summary":"Reads a single Ledger account resource","parameters":[{"name":"id","example":"135","description":"Search ledger account resources by ID","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/finance_ledger_account_resource"}}}}}}},"/api/2026-04-01/resources/finance/ledger_account_resources/upsert":{"post":{"tags":["Finance \u003e LedgerAccountResource"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Create or update a ledger account resource.","summary":"Upserts a Ledger account resource","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/finance_ledger_account_resource"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["legal_entity_id","resource_type"],"properties":{"id":{"type":"integer","description":"Factorial unique identifier.","example":135},"name":{"type":"string","description":"Name of the ledger account resource.","example":"Tax Type"},"number":{"type":"string","description":"Number of the ledger account resource.","example":"1234567890"},"external_id":{"type":"string","description":"External identifier.","example":"ext_123"},"legal_entity_id":{"type":"integer","description":"Legal entity identifier.","example":13},"account_id":{"type":"integer","description":"Finance account identifier.","example":15},"resource_id":{"type":"integer","description":"Factorial unique identifier of the resource associated to the ledger account resource.","example":155},"resource_type":{"type":"string","description":"Ledger account resource type.","enum":["customcategory","bankaccount","vendor","taxtype","invoice","payrollconcept"],"example":"taxtype"},"balance_type":{"type":"string","description":"Ledger account balance type.","enum":["credit","debit"],"example":"debit"},"operation_type":{"type":"string","description":"Ledger account operation type.","enum":["purchase","sale"],"example":"purchase"}}}}}}}},"/api/2026-04-01/resources/finance/tax_rates":{"get":{"tags":["Finance \u003e TaxRate"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Tax rates","summary":"Reads all Tax rates","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"List of TaxRate IDs to filter.","example":[123],"items":{"type":"integer"}},"description":"List of TaxRate IDs to filter.","example":[123]},{"name":"tax_type_ids[]","in":"query","schema":{"type":"array","description":"List of TaxType IDs to filter TaxRate records.","example":[1234],"items":{"type":"integer"}},"description":"List of TaxType IDs to filter TaxRate records.","example":[1234]},{"name":"updated_from","in":"query","schema":{"type":"string","description":"Start date for filtering TaxRate records based on their last update.","example":"2025-01-01"},"description":"Start date for filtering TaxRate records based on their last update.","example":"2025-01-01"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/finance_tax_rate"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["Finance \u003e TaxRate"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Creates a Tax rate","summary":"Creates a Tax rate","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/finance_tax_rate"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"description":{"type":"string","description":"An optional text describing the tax rate's purpose or context.","example":"VAT for general goods"},"rate":{"type":"number","description":"Specifies the numerical percentage for the tax rate between -1 and 1.","example":0.07},"tax_type_id":{"type":"integer","description":"The identifier of the related TaxType record.","example":1234},"external_id":{"type":"string","description":"The external id of the tax rate.","example":"EXT-RATE-001"}}}}}}}},"/api/2026-04-01/resources/finance/tax_rates/{id}":{"get":{"tags":["Finance \u003e TaxRate"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Tax rate","summary":"Reads a single Tax rate","parameters":[{"name":"id","example":"123","description":"List of TaxRate IDs to filter.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/finance_tax_rate"}}}}}},"put":{"tags":["Finance \u003e TaxRate"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Updates a Tax rate","summary":"Updates a Tax rate","parameters":[{"name":"id","example":"123","description":"The id of the tax rate.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/finance_tax_rate"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer","description":"The id of the tax rate.","example":123},"description":{"type":"string","description":"An optional text describing the tax rate's purpose or context.","example":"VAT for general goods"}}}}}}}},"/api/2026-04-01/resources/finance/tax_types":{"get":{"tags":["Finance \u003e TaxType"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Tax types","summary":"Reads all Tax types","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"List of TaxType IDs to filter.","example":[1234],"items":{"type":"integer"}},"description":"List of TaxType IDs to filter.","example":[1234]},{"name":"country_code","in":"query","schema":{"type":"string","description":"Filters TaxTypes by a specified country code or includes those without any country code if set to nil.","example":"ES"},"description":"Filters TaxTypes by a specified country code or includes those without any country code if set to nil.","example":"ES"},{"name":"type","in":"query","schema":{"type":"string","description":"Filters TaxTypes by a type (vat, personal_income).","enum":["vat","personal_income"],"example":"vat"},"description":"Filters TaxTypes by a type (vat, personal_income).","example":"vat"},{"name":"updated_from","in":"query","schema":{"type":"string","description":"Start date for filtering TaxType records based on their last update.","example":"2025-01-01"},"description":"Start date for filtering TaxType records based on their last update.","example":"2025-01-01"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/finance_tax_type"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["Finance \u003e TaxType"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Creates a Tax type","summary":"Creates a Tax type","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/finance_tax_type"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["name","type"],"properties":{"name":{"type":"string","description":"The name assigned to the tax type.","example":"general IVA"},"type":{"type":"string","description":"The tax category used to distinguish different tax kinds.","enum":["vat","personal_income"],"example":"vat"},"country_code":{"type":"string","description":"The country code where this tax type applies.","example":"ES"},"external_id":{"type":"string","description":"The external id of the tax type.","example":"EXT-TYPE-001"}}}}}}}},"/api/2026-04-01/resources/finance/tax_types/{id}":{"get":{"tags":["Finance \u003e TaxType"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Tax type","summary":"Reads a single Tax type","parameters":[{"name":"id","example":"1234","description":"List of TaxType IDs to filter.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/finance_tax_type"}}}}}},"put":{"tags":["Finance \u003e TaxType"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Updates a Tax type","summary":"Updates a Tax type","parameters":[{"name":"id","example":"1234","description":"The id of the tax type.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/finance_tax_type"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id","type"],"properties":{"id":{"type":"integer","description":"The id of the tax type.","example":1234},"name":{"type":"string","description":"The name assigned to the tax type.","example":"general IVA"},"type":{"type":"string","description":"The tax category used to distinguish different tax kinds.","enum":["vat","personal_income"],"example":"vat"},"country_code":{"type":"string","description":"The country code where this tax type applies.","example":"ES"}}}}}}}},"/api/2026-04-01/resources/holidays/company_holidays":{"get":{"tags":["Holidays \u003e CompanyHoliday"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Retrieves company holidays","summary":"Reads all Company holidays","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"Company holiday ids","example":[56],"items":{"type":"integer"}},"description":"Company holiday ids","example":[56]},{"name":"location_ids[]","in":"query","schema":{"type":"array","description":"Location ids","example":[1],"items":{"type":"integer"}},"description":"Location ids","example":[1]},{"name":"team_ids[]","in":"query","schema":{"type":"array","description":"Team ids","example":[3],"items":{"type":"integer"}},"description":"Team ids","example":[3]},{"name":"employee_ids[]","in":"query","schema":{"type":"array","description":"Filter by the default location of these employees","example":[1],"items":{"type":"integer"}},"description":"Filter by the default location of these employees","example":[1]},{"name":"start_at","in":"query","schema":{"type":"string","description":"Start date","example":"2024-12-01"},"description":"Start date","example":"2024-12-01"},{"name":"end_at","in":"query","schema":{"type":"string","description":"End date","example":"2024-12-31"},"description":"End date","example":"2024-12-31"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/holidays_company_holiday"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/holidays/company_holidays/{id}":{"get":{"tags":["Holidays \u003e CompanyHoliday"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Retrieves company holidays","summary":"Reads a single Company holiday","parameters":[{"name":"id","example":"56","description":"Company holiday ids","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/holidays_company_holiday"}}}}}}},"/api/2026-04-01/resources/integrations/syncable_items":{"get":{"tags":["Integrations \u003e SyncableItem"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Syncable items","summary":"Reads all Syncable items","parameters":[{"name":"sync_run_id","in":"query","schema":{"type":"integer","description":"Identifier of the sync run","example":1},"description":"Identifier of the sync run","example":1,"required":true}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/integrations_syncable_item"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/integrations/syncable_sync_runs/{id}":{"put":{"tags":["Integrations \u003e SyncableSyncRun"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Updates a Syncable sync run","summary":"Updates a Syncable sync run","parameters":[{"name":"id","example":"1","description":"Identifier of the syncable sync run","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/integrations_syncable_sync_run"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id","status"],"properties":{"id":{"type":"integer","description":"Identifier of the syncable sync run","example":1},"status":{"type":"string","description":"Status of the syncable sync run","enum":["success","failed","invalid"],"example":"failed"},"error_messages":{"type":"object","description":"Error or validation messages of the syncable sync run","example":{"sync_api_error":"Api sync error","sync_validation_error":"Missing payroll concept code"}}}}}}}}},"/api/2026-04-01/resources/it_management/it_assets":{"get":{"tags":["ItManagement \u003e ItAsset"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all It assets","summary":"Reads all It assets","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"IT Asset identifiers to retrieve","example":["0199e6ea-20c0-73d3-9782-8267dc96773a"],"items":{"type":"string"}},"description":"IT Asset identifiers to retrieve","example":["0199e6ea-20c0-73d3-9782-8267dc96773a"]},{"name":"serial_numbers[]","in":"query","schema":{"type":"array","description":"Serial numbers of IT assets to retrieve","example":["SN123456789"],"items":{"type":"string"}},"description":"Serial numbers of IT assets to retrieve","example":["SN123456789"]},{"name":"type_names[]","in":"query","schema":{"type":"array","description":"Type names of IT assets to filter","example":["laptop"],"items":{"type":"string"}},"description":"Type names of IT assets to filter","example":["laptop"]},{"name":"owner_ids[]","in":"query","schema":{"type":"array","description":"Owner (employee) identifiers to filter assets","example":[1],"items":{"type":"integer"}},"description":"Owner (employee) identifiers to filter assets","example":[1]},{"name":"location_ids[]","in":"query","schema":{"type":"array","description":"Location identifiers to filter assets","example":[1],"items":{"type":"integer"}},"description":"Location identifiers to filter assets","example":[1]},{"name":"workplace_ids[]","in":"query","schema":{"type":"array","description":"Workplace identifiers to filter assets","example":[1],"items":{"type":"integer"}},"description":"Workplace identifiers to filter assets","example":[1]},{"name":"team_ids[]","in":"query","schema":{"type":"array","description":"Team identifiers to filter assets","example":[1],"items":{"type":"integer"}},"description":"Team identifiers to filter assets","example":[1]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/it_management_it_asset"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["ItManagement \u003e ItAsset"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Creates an It asset","summary":"Creates an It asset","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/it_management_it_asset"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["it_asset_model_id","serial_number"],"properties":{"it_asset_model_id":{"type":"string","description":"IT Asset Model identifier","example":"0199e6ea-20c0-73d3-9782-8267dc96773a"},"serial_number":{"type":"string","description":"Serial number of the IT asset","example":"SN123456789"},"owner_id":{"type":"integer","description":"Owner (employee) identifier","example":1},"location_id":{"type":"integer","description":"Space identifier"},"workplace_id":{"type":"integer","description":"Workplace identifier"},"team_id":{"type":"integer","description":"Team identifier"},"purchase_date":{"type":"string","description":"Purchase date of the IT asset (YYYY-MM-DD)","example":"2024-01-01"},"purchase_price_cents":{"type":"integer","description":"Purchase price in cents","example":100000},"currency":{"type":"string","description":"Currency of the purchase price","example":"EUR"},"warranty_end_date":{"type":"string","description":"Warranty end date of the IT asset (YYYY-MM-DD)","example":"2027-01-01"},"label":{"type":"string","description":"Label of the IT asset","example":"Internal asset label"},"notes":{"type":"string","description":"Notes about the IT asset","example":"This field is for custom data related to the asset"},"company_id":{"type":"integer","description":"Company identifier","example":1}}}}}}}},"/api/2026-04-01/resources/it_management/it_assets/{id}":{"get":{"tags":["ItManagement \u003e ItAsset"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single It asset","summary":"Reads a single It asset","parameters":[{"name":"id","example":"0199e6ea-20c0-73d3-9782-8267dc96773a","description":"IT Asset identifiers to retrieve","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/it_management_it_asset"}}}}}},"put":{"tags":["ItManagement \u003e ItAsset"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Updates an It asset","summary":"Updates an It asset","parameters":[{"name":"id","example":"0199e6ea-20c0-73d3-9782-8267dc96773a","description":"IT Asset identifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/it_management_it_asset"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id"],"properties":{"id":{"type":"string","description":"IT Asset identifier","example":"0199e6ea-20c0-73d3-9782-8267dc96773a"},"it_asset_model_id":{"type":"string","description":"IT Asset Model identifier (Endpoints related to ItManagement/it_asset_models).","example":"0199e6ea-20c0-73d3-9782-8267dc96773a"},"serial_number":{"type":"string","description":"Serial number of the IT asset","example":"SN123456789"},"status":{"type":"string","description":"Status of the IT asset. Possible values:\n- `assigned`: Asset is assigned to an employee\n- `in_stock`: Asset is available in inventory\n- `maintenance`: Asset is under maintenance or repair\n- `retired`: Asset has been retired or decommissioned\n\nNote: Not all status transitions are allowed. For example, an asset cannot be directly changed from `assigned` or `in_stock` to certain other statuses without proper workflow validation.\n","example":"maintenance"},"owner_id":{"type":"integer","description":"Owner (employee) identifier"},"location_id":{"type":"integer","description":"Space identifier"},"workplace_id":{"type":"integer","description":"Workplace identifier"},"team_id":{"type":"integer","description":"Team identifier"},"purchase_date":{"type":"string","description":"Purchase date of the IT asset (YYYY-MM-DD)","example":"2024-01-01"},"purchase_price_cents":{"type":"integer","description":"Purchase price in cents","example":100000},"currency":{"type":"string","description":"Currency of the purchase price","example":"EUR"},"warranty_end_date":{"type":"string","description":"Warranty end date of the IT asset (YYYY-MM-DD)","example":"2027-01-01"},"label":{"type":"string","description":"Label of the IT asset"},"notes":{"type":"string","description":"Notes about the IT asset"},"company_id":{"type":"integer","description":"Company identifier","example":1}}}}}}},"delete":{"tags":["ItManagement \u003e ItAsset"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Deletes an It asset","summary":"Deletes an It asset","parameters":[{"name":"id","example":"0199e6ea-20c0-73d3-9782-8267dc96773a","description":"IT Asset identifier to delete","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/it_management_it_asset"}}}}}}},"/api/2026-04-01/resources/it_management/it_asset_models":{"get":{"tags":["ItManagement \u003e ItAssetModel"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all It asset models","summary":"Reads all It asset models","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"IT Asset Model identifiers to retrieve","example":["0199e6ea-20c0-73d3-9782-8267dc96773a"],"items":{"type":"string"}},"description":"IT Asset Model identifiers to retrieve","example":["0199e6ea-20c0-73d3-9782-8267dc96773a"]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/it_management_it_asset_model"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["ItManagement \u003e ItAssetModel"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Creates an It asset model","summary":"Creates an It asset model","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/it_management_it_asset_model"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["type_name","brand","name"],"properties":{"type_name":{"type":"string","description":"Type name of the IT asset model. Possible values are 'laptop', 'desktop', 'tablet', 'phone', 'screen', 'mouse', 'keyboard', 'headset', 'other'","example":"laptop"},"brand":{"type":"string","description":"Brand of the IT asset model","example":"Apple"},"name":{"type":"string","description":"Name/model of the IT asset model","example":"MacBook Pro"},"company_id":{"type":"integer","description":"Company identifier","example":1}}}}}}}},"/api/2026-04-01/resources/it_management/it_asset_models/{id}":{"get":{"tags":["ItManagement \u003e ItAssetModel"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single It asset model","summary":"Reads a single It asset model","parameters":[{"name":"id","example":"0199e6ea-20c0-73d3-9782-8267dc96773a","description":"IT Asset Model identifiers to retrieve","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/it_management_it_asset_model"}}}}}},"put":{"tags":["ItManagement \u003e ItAssetModel"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Updates an It asset model","summary":"Updates an It asset model","parameters":[{"name":"id","example":"0199e6ea-20c0-73d3-9782-8267dc96773a","description":"IT Asset Model identifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/it_management_it_asset_model"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id","type_name","brand","name"],"properties":{"id":{"type":"string","description":"IT Asset Model identifier","example":"0199e6ea-20c0-73d3-9782-8267dc96773a"},"type_name":{"type":"string","description":"Type name of the IT asset model. Possible values are 'laptop', 'desktop', 'tablet', 'phone', 'screen', 'mouse', 'keyboard', 'headset', 'other'","example":"laptop"},"brand":{"type":"string","description":"Brand of the IT asset model","example":"Apple"},"name":{"type":"string","description":"Name/model of the IT asset model","example":"MacBook Pro"},"company_id":{"type":"integer","description":"Company identifier","example":1}}}}}}}},"/api/2026-04-01/resources/job_catalog/levels":{"get":{"tags":["JobCatalog \u003e Level"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"This returns the job catalog levels","summary":"Reads all Levels","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"filter by level ids.","example":[1],"items":{"type":"integer"}},"description":"filter by level ids.","example":[1]},{"name":"role_ids[]","in":"query","schema":{"type":"array","description":"filter by role ids.","example":[1],"items":{"type":"integer"}},"description":"filter by role ids.","example":[1]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/job_catalog_level"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/job_catalog/levels/{id}":{"get":{"tags":["JobCatalog \u003e Level"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"This returns the job catalog levels","summary":"Reads a single Level","parameters":[{"name":"id","example":"1","description":"filter by level ids.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/job_catalog_level"}}}}}}},"/api/2026-04-01/resources/job_catalog/node_attributes":{"get":{"tags":["JobCatalog \u003e NodeAttribute"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Fetch Attributes for a node (Family, Function, role or level) in the Job Catalog Tree","summary":"Reads all Node attributes","parameters":[{"name":"node_uuid","in":"query","schema":{"type":"string","description":"Preferred identifier of the node to fetch attributes for. Required unless `node_id` + `node_type` are provided.","example":"jobcatalog_treelevel-331"},"description":"Preferred identifier of the node to fetch attributes for. Required unless `node_id` + `node_type` are provided.","example":"jobcatalog_treelevel-331","required":true},{"name":"attribute_types[]","in":"query","schema":{"type":"array","description":"Restrict the response to attributes of these classes (e.g., competency, salary_range).","enum":["working_conditions","competency","salary_range","it_management"],"example":["competency","salary_range"],"items":{"type":"string"}},"description":"Restrict the response to attributes of these classes (e.g., competency, salary_range).","example":["competency","salary_range"],"required":true}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/job_catalog_node_attribute"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/job_catalog/roles":{"get":{"tags":["JobCatalog \u003e Role"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Roles","summary":"Reads all Roles","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","items":{"type":"integer"}}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/job_catalog_role"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/job_catalog/roles/{id}":{"get":{"tags":["JobCatalog \u003e Role"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Role","summary":"Reads a single Role","parameters":[{"name":"id","example":"1","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/job_catalog_role"}}}}}}},"/api/2026-04-01/resources/job_catalog/tree_nodes":{"get":{"tags":["JobCatalog \u003e TreeNode"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Fetch Job Catalog Tree Node. For now only admins can see all the nodes' information, regular users won't have access to the nodes' information. In general there are four node types level, function, role and family.","summary":"Reads all Tree nodes","parameters":[{"name":"uuids[]","in":"query","schema":{"type":"array","description":"List of Job Catalog node UUIDs to fetch. Must reference nodes of a single type.","example":["jobcatalog_treelevel-331","jobcatalog_treelevel-412"],"items":{"type":"string"}},"description":"List of Job Catalog node UUIDs to fetch. Must reference nodes of a single type.","example":["jobcatalog_treelevel-331","jobcatalog_treelevel-412"]},{"name":"node_type","in":"query","schema":{"type":"string","description":"Node type scope for the query. Required with IDs, ancestor filters, or name search. Accepted values: jobcatalog_treelevel, jobcatalog_treefunction, jobcatalog_treerole, jobcatalog_treefamily.","enum":["jobcatalog_treeroot","jobcatalog_treefamily","jobcatalog_treefunction","jobcatalog_treerole","jobcatalog_treelevel"],"example":"jobcatalog_treelevel"},"description":"Node type scope for the query. Required with IDs, ancestor filters, or name search. Accepted values: jobcatalog_treelevel, jobcatalog_treefunction, jobcatalog_treerole, jobcatalog_treefamily.","example":"jobcatalog_treelevel","required":true},{"name":"ancestor_uuids[]","in":"query","schema":{"type":"array","description":"Return nodes that descend from any of these ancestor UUIDs (single node type only).","example":["jobcatalog_treefamily-018","jobcatalog_treefamily-225"],"items":{"type":"string"}},"description":"Return nodes that descend from any of these ancestor UUIDs (single node type only).","example":["jobcatalog_treefamily-018","jobcatalog_treefamily-225"]},{"name":"include_full_path","in":"query","schema":{"type":"boolean","description":"When true, includes each node's ordered ancestor path up to the root.","example":true},"description":"When true, includes each node's ordered ancestor path up to the root.","example":true}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/job_catalog_node"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/locations/locations":{"get":{"tags":["Locations \u003e Location"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Locations","summary":"Reads all Locations","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"The location IDs to filter the results.","example":[1],"items":{"type":"integer"}},"description":"The location IDs to filter the results.","example":[1]},{"name":"employee_ids[]","in":"query","schema":{"type":"array","description":"Return only the locations assigned to these employees.","example":[1],"items":{"type":"integer"}},"description":"Return only the locations assigned to these employees.","example":[1]},{"name":"main","in":"query","schema":{"type":"boolean","description":"Wether to filter only the main location.","example":false},"description":"Wether to filter only the main location.","example":false}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/locations_location"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["Locations \u003e Location"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Creates a Location","summary":"Creates a Location","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/locations_location"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["name","country","timezone","company_id"],"properties":{"name":{"type":"string","description":"name of the location","example":"Barcelona Office"},"country":{"type":"string","description":"country code of the location","example":"es"},"main":{"type":"boolean","description":"whether the location is the main one","example":false},"city":{"type":"string","description":"City of the location","example":"Barcelona"},"state":{"type":"string","description":"State of the location","example":"Barcelona"},"phone_number":{"type":"string","description":"phone number of the location","example":"657483987"},"postal_code":{"type":"string","description":"Postal code of the location","example":"08005"},"address_line_one":{"type":"string","description":"Address line 1 of the location","example":"Carrer Mallorca"},"address_line_two":{"type":"string","description":"Address line 2 of the location","example":"61 2A"},"latitude":{"type":"number","description":"latitude of the location","example":52.378},"longitude":{"type":"number","description":"longitude of the location","example":4.898},"timezone":{"type":"string","description":"timezone of the location","example":"Europe/Madrid"},"radius":{"type":"number","description":"radius of the location","example":5.0},"company_id":{"type":"integer","description":"company identifier","example":1},"siret":{"type":"string","description":"siret of the location (only for France)","example":"FR00123456789"}}}}}}}},"/api/2026-04-01/resources/locations/locations/{id}":{"get":{"tags":["Locations \u003e Location"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Location","summary":"Reads a single Location","parameters":[{"name":"id","example":"1","description":"The location IDs to filter the results.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/locations_location"}}}}}},"put":{"tags":["Locations \u003e Location"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Updates a Location","summary":"Updates a Location","parameters":[{"name":"id","example":"1","description":"identifier of the location","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/locations_location"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer","description":"identifier of the location","example":1},"name":{"type":"string","description":"name of the location","example":"Barcelona Office"},"country":{"type":"string","description":"country code of the location","example":"es"},"main":{"type":"boolean","description":"whether the location is the main one","example":false},"city":{"type":"string","description":"City of the location","example":"Barcelona"},"state":{"type":"string","description":"State of the location","example":"Barcelona"},"phone_number":{"type":"string","description":"phone number of the location","example":"657483987"},"postal_code":{"type":"string","description":"Postal code of the location","example":"08005"},"address_line_one":{"type":"string","description":"Address line 1 of the location","example":"Carrer Mallorca"},"address_line_two":{"type":"string","description":"Address line 2 of the location","example":"61 2A"},"timezone":{"type":"string","description":"timezone of the location","example":"Europe/Madrid"},"latitude":{"type":"number","description":"latitude of the location","example":52.378},"longitude":{"type":"number","description":"longitude of the location","example":4.898},"radius":{"type":"number","description":"radius of the location","example":5.0},"siret":{"type":"string","description":"siret of the location (only for France)","example":"FR00123456789"}}}}}}},"delete":{"tags":["Locations \u003e Location"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Deletes a Location","summary":"Deletes a Location","parameters":[{"name":"id","example":"1","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/locations_location"}}}}}}},"/api/2026-04-01/resources/locations/work_areas":{"get":{"tags":["Locations \u003e WorkArea"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Work areas","summary":"Reads all Work areas","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","items":{"type":"integer"}}},{"name":"location_ids[]","in":"query","schema":{"type":"array","items":{"type":"integer"}}},{"name":"only_non_archived","in":"query","schema":{"type":"boolean"},"required":true}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/locations_work_area"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["Locations \u003e WorkArea"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Creates a Work area","summary":"Creates a Work area","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/locations_work_area"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["name","location_id"],"properties":{"name":{"type":"string"},"location_id":{"type":"integer"}}}}}}}},"/api/2026-04-01/resources/locations/work_areas/{id}":{"get":{"tags":["Locations \u003e WorkArea"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Work area","summary":"Reads a single Work area","parameters":[{"name":"id","example":"1","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/locations_work_area"}}}}}},"put":{"tags":["Locations \u003e WorkArea"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Updates a Work area","summary":"Updates a Work area","parameters":[{"name":"id","example":"1","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/locations_work_area"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id","name"],"properties":{"id":{"type":"integer"},"name":{"type":"string"}}}}}}}},"/api/2026-04-01/resources/locations/work_areas/archive":{"post":{"tags":["Locations \u003e WorkArea"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Archives a Work area","summary":"Archives a Work area","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/locations_work_area"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer"}}}}}}}},"/api/2026-04-01/resources/locations/work_areas/unarchive":{"post":{"tags":["Locations \u003e WorkArea"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Unarchives a Work area","summary":"Unarchives a Work area","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/locations_work_area"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer"}}}}}}}},"/api/2026-04-01/resources/marketplace/installations":{"post":{"tags":["Marketplace \u003e Installation"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Creates an Installation","summary":"Creates an Installation","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/marketplace_installation"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["company_id","integration_uuid"],"properties":{"company_id":{"type":"integer","description":"Identifier of the company","example":1},"integration_uuid":{"type":"string","description":"UUID of the integration","example":"123e4567-e89b-12d3-a456-426614174000"}}}}}}}},"/api/2026-04-01/resources/marketplace/installation_settings":{"get":{"tags":["Marketplace \u003e InstallationSetting"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Installation settings","summary":"Reads all Installation settings","parameters":[{"name":"company_id","in":"query","schema":{"type":"integer","description":"Identifier of the company","example":1},"description":"Identifier of the company","example":1,"required":true},{"name":"integration_id","in":"query","schema":{"type":"string","description":"ID of the integration","example":"Y0h_Sh7pRxCWpl0DySn_uQ"},"description":"ID of the integration","example":"Y0h_Sh7pRxCWpl0DySn_uQ","required":true}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/marketplace_installation_settings"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/payroll/family_situations":{"get":{"tags":["Payroll \u003e FamilySituation"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Get all family situations.","summary":"Reads all Family situations","parameters":[{"name":"employee_ids[]","in":"query","schema":{"type":"array","description":"employee ids.","example":[1,2,3],"items":{"type":"integer"}},"description":"employee ids.","example":[1,2,3]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/payroll_family_situation"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["Payroll \u003e FamilySituation"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Create a family situation.","summary":"Creates a Family situation","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/payroll_family_situation"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["employee_id"],"properties":{"employee_id":{"type":"integer","description":"Employee id.","example":10},"civil_status":{"type":"string","description":"Civil status of the employee.","enum":["single","cohabitating","divorced","married","civil_partnership","separated","widow","not_applicable","unknown"],"example":"married"},"number_of_dependants":{"type":"integer","description":"Number of dependants of the employee.","example":3}}}}}}}},"/api/2026-04-01/resources/payroll/family_situations/{id}":{"put":{"tags":["Payroll \u003e FamilySituation"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Update a family situation.","summary":"Updates a Family situation","parameters":[{"name":"id","example":"3","description":"Family situation id.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/payroll_family_situation"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id","employee_id"],"properties":{"id":{"type":"integer","description":"Family situation id.","example":3},"employee_id":{"type":"integer","description":"Employee id.","example":10},"civil_status":{"type":"string","description":"Civil status of the employee.","enum":["single","cohabitating","divorced","married","unknown","civil_partnership","separated","widow","not_applicable"],"example":"married"},"number_of_dependants":{"type":"integer","description":"Number of dependants of the employee.","example":2}}}}}}}},"/api/2026-04-01/resources/payroll/policy_periods/change_status":{"post":{"tags":["Payroll \u003e PolicyPeriod"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Change statuses a Policy period","summary":"Change statuses a Policy period","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/payroll_policy_period"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id","status","notify_employee","employee_ids"],"properties":{"id":{"type":"integer","description":"Policy period id","example":1},"status":{"type":"string","description":"Status of the policy period","enum":["preparation","supplements_definition","under_review","payroll_calculation","payment_processing","paid"],"example":"preparation"},"notify_employee":{"type":"boolean","description":"Flag to notify employees","example":true},"employee_ids":{"type":"array","description":"Ids of the employees","example":[1,2,3],"items":{"type":"integer"}}}}}}}}},"/api/2026-04-01/resources/payroll/supplements":{"get":{"tags":["Payroll \u003e Supplement"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Supplements","summary":"Reads all Supplements","parameters":[{"name":"from","in":"query","schema":{"type":"string","description":"Valid date following the format YYYY-MM-DD","example":"2024-01-01"},"description":"Valid date following the format YYYY-MM-DD","example":"2024-01-01"},{"name":"to","in":"query","schema":{"type":"string","description":"Valid date following the format YYYY-MM-DD","example":"2024-01-01"},"description":"Valid date following the format YYYY-MM-DD","example":"2024-01-01"},{"name":"employee_ids[]","in":"query","schema":{"type":"array","description":"The employee ids to retrieve","example":[1],"items":{"type":"integer"}},"description":"The employee ids to retrieve","example":[1]},{"name":"policy_period_ids[]","in":"query","schema":{"type":"array","description":"The policy period ids to retrieve","example":[1],"items":{"type":"integer"}},"description":"The policy period ids to retrieve","example":[1],"required":true},{"name":"compensation_id","in":"query","schema":{"type":"integer","description":"The compensation id to retrieve","example":1},"description":"The compensation id to retrieve","example":1},{"name":"ids[]","in":"query","schema":{"type":"array","description":"ids","example":[1],"items":{"type":"integer"}},"description":"ids","example":[1]},{"name":"legal_entity_ids[]","in":"query","schema":{"type":"array","description":"The legal entities id to retrieve","example":[1],"items":{"type":"integer"}},"description":"The legal entities id to retrieve","example":[1]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/payroll_supplement"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["Payroll \u003e Supplement"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Creates a Supplement","summary":"Creates a Supplement","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/payroll_supplement"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["amount_in_cents","employee_id","effective_on","contracts_taxonomy_id","payroll_policy_period_id"],"properties":{"amount_in_cents":{"type":"integer","description":"Supplement amount in cents","example":"50000"},"employee_id":{"type":"integer","description":"The employee id of the suplement","example":1},"effective_on":{"type":"string","description":"Supplement effective on date following the format YYYY-MM-DD","example":"2024-01-01"},"contracts_taxonomy_id":{"type":"integer","description":"Supplement contract taxonomy id","example":2},"contracts_compensation_id":{"type":"integer","description":"Supplement contract compensation id","example":1},"payroll_policy_period_id":{"type":"integer","description":"Supplement payroll policy period id","example":1},"unit":{"type":"string","description":"Supplement unit","example":"money"},"worked_days":{"type":"integer","description":"Supplement worked days","example":5}}}}}}}},"/api/2026-04-01/resources/payroll/supplements/{id}":{"get":{"tags":["Payroll \u003e Supplement"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Supplement","summary":"Reads a single Supplement","parameters":[{"name":"id","example":"1","description":"ids","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/payroll_supplement"}}}}}},"put":{"tags":["Payroll \u003e Supplement"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Updates a Supplement unless it is an additional compensation supplement (In such case, you need to create a new one, then remove the old compensation supplement from the contract and add the newly created one to it).","summary":"Updates a Supplement","parameters":[{"name":"id","example":"1","description":"The supplement id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/payroll_supplement"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer","description":"The supplement id","example":1},"employee_id":{"type":"integer","description":"The employee id of the supplement","example":1},"contracts_compensation_id":{"type":"integer","description":"The supplement contract compensation id","example":1},"contracts_taxonomy_id":{"type":"integer","description":"The supplement contract taxonomy id","example":2},"amount_in_cents":{"type":"integer","description":"Supplement amount in cents","example":50000},"effective_on":{"type":"string","description":"Supplement effective on date following the format YYYY-MM-DD","example":"2024-01-01"},"unit":{"type":"string","description":"Supplement unit","example":"money"},"payroll_policy_period_id":{"type":"integer","description":"Supplement payroll policy period  id","example":1}}}}}}},"delete":{"tags":["Payroll \u003e Supplement"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Deletes a Supplement","summary":"Deletes a Supplement","parameters":[{"name":"id","example":"1","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/payroll_supplement"}}}}}}},"/api/2026-04-01/resources/payroll_employees/identifiers":{"get":{"tags":["PayrollEmployees \u003e Identifier"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads Payroll employee identifier codes, current countries supported are Portugal, Italy and Germany","summary":"Reads all Identifiers","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","items":{"type":"integer"}}},{"name":"employees_ids[]","in":"query","schema":{"type":"array","description":"filters by employee identifiers","example":[1,2,3],"items":{"type":"integer"}},"description":"filters by employee identifiers","example":[1,2,3]},{"name":"legal_entities_ids[]","in":"query","schema":{"type":"array","items":{"type":"integer"}}},{"name":"country","in":"query","schema":{"type":"string","description":"filters by country code pt | it | de","enum":["pt","de","it"],"example":"it"},"description":"filters by country code pt | it | de","example":"it","required":true}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/payroll_employees_identifier"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["PayrollEmployees \u003e Identifier"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads Payroll employee identifier codes, current countries supported are Portugal, Italy and Germany","summary":"Creates an Identifier","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/payroll_employees_identifier"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["employee_id","country"],"properties":{"employee_id":{"type":"integer","description":"identifier of the employee","example":1},"social_security_number":{"type":"string","description":"social security number of the employee","example":123456788},"tax_id":{"type":"string","description":"tax id of the employee","example":123456789},"country":{"type":"string","description":"country code of the employee pt | it | de","enum":["pt","de","it"],"example":"it"}}}}}}}},"/api/2026-04-01/resources/payroll_employees/identifiers/{id}":{"get":{"tags":["PayrollEmployees \u003e Identifier"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads Payroll employee identifier codes, current countries supported are Portugal, Italy and Germany","summary":"Reads a single Identifier","parameters":[{"name":"id","example":"1","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/payroll_employees_identifier"}}}}}},"put":{"tags":["PayrollEmployees \u003e Identifier"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads Payroll employee identifier codes, current countries supported are Portugal, Italy and Germany","summary":"Updates an Identifier","parameters":[{"name":"id","example":"1","description":"payroll employee identifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/payroll_employees_identifier"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id","country"],"properties":{"id":{"type":"integer","description":"payroll employee identifier","example":1},"social_security_number":{"type":"string","description":"social security number of the employee","example":123456788},"tax_id":{"type":"string","description":"tax id of the employee","example":123456789},"country":{"type":"string","description":"country code of the employee pt | it | de","enum":["pt","de","it"],"example":"it"}}}}}}},"delete":{"tags":["PayrollEmployees \u003e Identifier"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads Payroll employee identifier codes, current countries supported are Portugal, Italy and Germany","summary":"Deletes an Identifier","parameters":[{"name":"id","example":"1","description":"payroll employee identifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/payroll_employees_identifier"}}}}}}},"/api/2026-04-01/resources/payroll_integrations_base/codes":{"get":{"tags":["PayrollIntegrationsBase \u003e Code"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Codes","summary":"Reads all Codes","parameters":[{"name":"code","in":"query","schema":{"type":"string","description":"Code Value","example":"COD-51"},"description":"Code Value","example":"COD-51"},{"name":"integrations[]","in":"query","schema":{"type":"array","description":"Payroll Integration names","enum":["a3innuva","a3nom","agenda","paierh","yeap_paierh","silae","sage100","datev","datev_api","datev_lug_api","datev_lauds","team_system","zucchetti","gispaghe","job_sistemi"],"example":"a3innuva","items":{"type":"string"}},"description":"Payroll Integration names","example":"a3innuva","required":true},{"name":"codeable_id","in":"query","schema":{"type":"integer","description":"Related object ID. Used together with codeable_type","example":1},"description":"Related object ID. Used together with codeable_type","example":1},{"name":"codeable_type","in":"query","schema":{"type":"string","description":"Related object type. Used together with codeable_id","example":"Employee | Company | LegalEntity | Location"},"description":"Related object type. Used together with codeable_id","example":"Employee | Company | LegalEntity | Location"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/payroll_integrations_base_code"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["PayrollIntegrationsBase \u003e Code"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Creates a Code","summary":"Creates a Code","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/payroll_integrations_base_code"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["code","codeable_id","codeable_type","integration"],"properties":{"code":{"type":"string","description":"Code Value","example":"COD-51"},"codeable_id":{"type":"integer","description":"Related object ID. Used together with codeable_type","example":1},"codeable_type":{"type":"string","description":"Related object type. Used together with codeable_id","example":"Employee | Company | LegalEntity | Location | TimeoffLeaveType"},"integration":{"type":"string","description":"Integration name","enum":["a3innuva","a3nom","agenda","paierh","yeap_paierh","silae","sage100","datev","datev_api","datev_lug_api","datev_lauds","team_system","zucchetti","gispaghe","job_sistemi"],"example":"a3innuva"}}}}}}}},"/api/2026-04-01/resources/payroll_integrations_base/codes/{id}":{"put":{"tags":["PayrollIntegrationsBase \u003e Code"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Updates a Code","summary":"Updates a Code","parameters":[{"name":"id","example":"1","description":"Code identifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/payroll_integrations_base_code"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id","code"],"properties":{"id":{"type":"integer","description":"Code identifier","example":1},"code":{"type":"string","description":"Code Value","example":"COD-51"}}}}}}},"delete":{"tags":["PayrollIntegrationsBase \u003e Code"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Deletes a Code","summary":"Deletes a Code","parameters":[{"name":"id","example":"1","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/payroll_integrations_base_code"}}}}}}},"/api/2026-04-01/resources/performance/agreements":{"get":{"tags":["Performance \u003e Agreement"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Retrieves the action plans of review processes.","summary":"Reads all Agreements","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"Filter by action plan IDs","example":["1","2","3"],"items":{"type":"string"}},"description":"Filter by action plan IDs","example":["1","2","3"]},{"name":"process_ids[]","in":"query","schema":{"type":"array","description":"Filter by review process IDs","example":[1,2,3],"items":{"type":"integer"}},"description":"Filter by review process IDs","example":[1,2,3]},{"name":"target_ids[]","in":"query","schema":{"type":"array","description":"Filter by review process target IDs","example":["1-3","1-4","1-5"],"items":{"type":"string"}},"description":"Filter by review process target IDs","example":["1-3","1-4","1-5"]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/performance_agreement"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/performance/agreements/{id}":{"get":{"tags":["Performance \u003e Agreement"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Retrieves the action plans of review processes.","summary":"Reads a single Agreement","parameters":[{"name":"id","example":"1","description":"Filter by action plan IDs","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/performance_agreement"}}}}}}},"/api/2026-04-01/resources/performance/agreements/bulk_initiate":{"post":{"tags":["Performance \u003e Agreement"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Initiate the action plan for all your direct reports in a review process. If you are acting as a company, the action plan from all employees in the review process will be initiated.","summary":"Bulk initiates an Agreement","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/performance_agreement"}}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["process_id"],"properties":{"process_id":{"type":"integer","description":"Review process ID","example":1}}}}}}}},"/api/2026-04-01/resources/performance/agreements/initiate":{"post":{"tags":["Performance \u003e Agreement"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Initiate the action plan for a review process target ID in a review process.","summary":"Initiates an Agreement","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/performance_agreement"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["process_id","target_id"],"properties":{"process_id":{"type":"integer","description":"Review process ID","example":1},"target_id":{"type":"string","description":"Review process target ID","example":"1-3"}}}}}}}},"/api/2026-04-01/resources/performance/company_employee_score_scales":{"get":{"tags":["Performance \u003e CompanyEmployeeScoreScale"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Retrieves the predefined scale set for the company and used when scoring the employee inside a review.","summary":"Reads all Company employee score scales","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"Filter by company IDs","example":[1,2,3],"items":{"type":"integer"}},"description":"Filter by company IDs","example":[1,2,3]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/performance_company_employee_score_scale"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/performance/company_employee_score_scales/{id}":{"get":{"tags":["Performance \u003e CompanyEmployeeScoreScale"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Retrieves the predefined scale set for the company and used when scoring the employee inside a review.","summary":"Reads a single Company employee score scale","parameters":[{"name":"id","example":"1","description":"Filter by company IDs","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/performance_company_employee_score_scale"}}}}}}},"/api/2026-04-01/resources/performance/company_employee_score_scales/set":{"post":{"tags":["Performance \u003e CompanyEmployeeScoreScale"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Set the predefined employee score scale for the company.","summary":"Sets a Company employee score scale","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/performance_company_employee_score_scale"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id","scale_id"],"properties":{"id":{"type":"integer"},"scale_id":{"type":"integer"}}}}}}}},"/api/2026-04-01/resources/performance/employee_score_scales":{"get":{"tags":["Performance \u003e EmployeeScoreScale"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Retrieves the predefined employee score scales that can be set for the company to be used when scoring the employee inside a review.","summary":"Reads all Employee score scales","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"Filter by employee score scale IDs","example":[1,2,3],"items":{"type":"integer"}},"description":"Filter by employee score scale IDs","example":[1,2,3]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/performance_employee_score_scale"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/performance/employee_score_scales/{id}":{"get":{"tags":["Performance \u003e EmployeeScoreScale"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Retrieves the predefined employee score scales that can be set for the company to be used when scoring the employee inside a review.","summary":"Reads a single Employee score scale","parameters":[{"name":"id","example":"1","description":"Filter by employee score scale IDs","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/performance_employee_score_scale"}}}}}}},"/api/2026-04-01/resources/performance/review_evaluations":{"get":{"tags":["Performance \u003e ReviewEvaluation"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Retrieves the pending and published review evaluations. The evaluations are created based on the participants and the review types when the review process is started.\n\nFor example, if the defined review types are \"self-review\" and \"manager review,\" two evaluations will be created for each participant when the review process starts. One will be for the self-review, where the participant is both the target and the reviewer. The other will be for the manager review, where the participant is the target, and the manager is the reviewer.","summary":"Reads all Review evaluations","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"Filter by evaluation IDs","example":[1,2,3],"items":{"type":"integer"}},"description":"Filter by evaluation IDs","example":[1,2,3]},{"name":"performance_review_process_ids[]","in":"query","schema":{"type":"array","description":"Filter by review process IDs","example":[1,2,3],"items":{"type":"integer"}},"description":"Filter by review process IDs","example":[1,2,3]},{"name":"published","in":"query","schema":{"type":"boolean","description":"Only published or unpublished evaluations","example":true},"description":"Only published or unpublished evaluations","example":true},{"name":"reviewer_ids[]","in":"query","schema":{"type":"array","description":"Filter by reviewer access IDs","example":[1,2,3],"items":{"type":"integer"}},"description":"Filter by reviewer access IDs","example":[1,2,3]},{"name":"reviewer_strategies[]","in":"query","schema":{"type":"array","description":"Filter by reviewer strategies","enum":["self","manager","direct_reports","peers"],"example":["manager","peer"],"items":{"type":"string"}},"description":"Filter by reviewer strategies","example":["manager","peer"]},{"name":"target_access_ids[]","in":"query","schema":{"type":"array","description":"Filter by participant access IDs","example":[1,2,3],"items":{"type":"integer"}},"description":"Filter by participant access IDs","example":[1,2,3]},{"name":"review_process_target_ids[]","in":"query","schema":{"type":"array","description":"Filter by review process target IDs. Composite key format: review_process_id-target_access_id","example":["1-1","1-2","1-3"],"items":{"type":"string"}},"description":"Filter by review process target IDs. Composite key format: review_process_id-target_access_id","example":["1-1","1-2","1-3"]},{"name":"with_targets_managed_by_filter","in":"query","schema":{"type":"object","description":"Only evaluations where the participant is managed by the specified employee ID","example":{"manager_employee_id":1,"only_direct_reports":false}},"description":"Only evaluations where the participant is managed by the specified employee ID","example":{"manager_employee_id":1,"only_direct_reports":false}},{"name":"exclude_ids[]","in":"query","schema":{"type":"array","description":"Exclude evaluations by IDs","example":[1,2,3],"items":{"type":"integer"}},"description":"Exclude evaluations by IDs","example":[1,2,3]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/performance_review_evaluation"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/performance/review_evaluations/{id}":{"get":{"tags":["Performance \u003e ReviewEvaluation"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Retrieves the pending and published review evaluations. The evaluations are created based on the participants and the review types when the review process is started.\n\nFor example, if the defined review types are \"self-review\" and \"manager review,\" two evaluations will be created for each participant when the review process starts. One will be for the self-review, where the participant is both the target and the reviewer. The other will be for the manager review, where the participant is the target, and the manager is the reviewer.","summary":"Reads a single Review evaluation","parameters":[{"name":"id","example":"1","description":"Filter by evaluation IDs","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/performance_review_evaluation"}}}}}}},"/api/2026-04-01/resources/performance/review_evaluations/replace_reviewer":{"post":{"tags":["Performance \u003e ReviewEvaluation"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Define a new reviewer for the evaluation that will only be able to leave feedback about the employee. This can only be done if the process is active, the evaluation is not published and the evaluation type is not \"self\".","summary":"Replace reviewers a Review evaluation","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/performance_review_evaluation"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id","new_reviewer_access_id"],"properties":{"id":{"type":"string","description":"Evaluation ID","example":1},"new_reviewer_access_id":{"type":"string","description":"New reviewer access ID","example":5}}}}}}}},"/api/2026-04-01/resources/performance/review_evaluation_answers":{"get":{"tags":["Performance \u003e ReviewEvaluationAnswer"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Retrieves the questions and answers of review evaluations.","summary":"Reads all Review evaluation answers","parameters":[{"name":"performance_review_evaluation_ids[]","in":"query","schema":{"type":"array","description":"Filter by review evaluation IDs","example":[1,2,3],"items":{"type":"integer"}},"description":"Filter by review evaluation IDs","example":[1,2,3]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/performance_review_evaluation_answer"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/performance/review_evaluation_scores":{"get":{"tags":["Performance \u003e ReviewEvaluationScore"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Retrieves the published evaluation scores of performance reviews.","summary":"Reads all Review evaluation scores","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"Filter by evaluation score IDs","example":[1,2,3],"items":{"type":"integer"}},"description":"Filter by evaluation score IDs","example":[1,2,3]},{"name":"review_process_ids[]","in":"query","schema":{"type":"array","description":"Filter by review process IDs","example":[1,2,3],"items":{"type":"integer"}},"description":"Filter by review process IDs","example":[1,2,3]},{"name":"review_evaluation_ids[]","in":"query","schema":{"type":"array","description":"Filter by evaluation IDs","example":[1,2,3],"items":{"type":"integer"}},"description":"Filter by evaluation IDs","example":[1,2,3]},{"name":"target_access_ids[]","in":"query","schema":{"type":"array","description":"Filter by employee access IDs","example":[1,2,3],"items":{"type":"integer"}},"description":"Filter by employee access IDs","example":[1,2,3]},{"name":"reviewer_strategies[]","in":"query","schema":{"type":"array","description":"Filter by who scored the employee","enum":["self","manager","direct_reports","peers"],"example":["self","manager"],"items":{"type":"string"}},"description":"Filter by who scored the employee","example":["self","manager"]},{"name":"review_process_target_ids[]","in":"query","schema":{"type":"array","description":"Filter by review process target IDs","example":["1-1","1-2","1-3"],"items":{"type":"string"}},"description":"Filter by review process target IDs","example":["1-1","1-2","1-3"]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/performance_review_evaluation_score"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/performance/review_evaluation_scores/{id}":{"get":{"tags":["Performance \u003e ReviewEvaluationScore"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Retrieves the published evaluation scores of performance reviews.","summary":"Reads a single Review evaluation score","parameters":[{"name":"id","example":"1","description":"Filter by evaluation score IDs","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/performance_review_evaluation_score"}}}}}}},"/api/2026-04-01/resources/performance/review_owners":{"get":{"tags":["Performance \u003e ReviewOwner"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Retrieves the review owners of review processes (each process has at least one owner). The owners can edit the review process and access its results.","summary":"Reads all Review owners","parameters":[{"name":"performance_review_process_ids[]","in":"query","schema":{"type":"array","description":"Filter by review process IDs","example":[1,2,3],"items":{"type":"integer"}},"description":"Filter by review process IDs","example":[1,2,3]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/performance_review_owner"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/performance/review_owners/{id}":{"delete":{"tags":["Performance \u003e ReviewOwner"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Remove an owner from a review process. The review process must have at least one owner.","summary":"Deletes a Review owner","parameters":[{"name":"id","example":"1","description":"Review owner ID","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/performance_review_owner"}}}}}}},"/api/2026-04-01/resources/performance/review_owners/bulk_create":{"post":{"tags":["Performance \u003e ReviewOwner"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Add multiple owners to a review process.","summary":"Bulk creates a Review owner","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/performance_review_owner"}}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["review_process_id","owner_access_ids"],"properties":{"review_process_id":{"type":"integer","description":"Review process ID","example":1},"owner_access_ids":{"type":"array","description":"List of access IDs to be added as owners","example":[1,2,3],"items":{"type":"integer"}}}}}}}}},"/api/2026-04-01/resources/performance/review_processes":{"get":{"tags":["Performance \u003e ReviewProcess"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Review processes","summary":"Reads all Review processes","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"Filter by review process IDs","example":[1,2,3],"items":{"type":"integer"}},"description":"Filter by review process IDs","example":[1,2,3]},{"name":"search","in":"query","schema":{"type":"string","description":"Filter by review process name","example":"2024"},"description":"Filter by review process name","example":"2024"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/performance_review_process"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["Performance \u003e ReviewProcess"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Create a new review process.","summary":"Creates a Review process","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/performance_review_process"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["author_access_id"],"properties":{"author_access_id":{"type":"integer","description":"Access identifier of the author of the review process","example":1},"name":{"type":"string","description":"Name of the review process","example":"Performance Review - Q1 2024"},"description":{"type":"string","description":"A brief description of the review process","example":"The performance review for the first quarter of 2024 has started!"},"reviewer_strategies":{"type":"array","description":"Review types that will be assigned to the review process. It'll be used to create the evaluations when the process starts","enum":["self","manager","direct_reports","peers"],"example":["self","manager"],"items":{"type":"string"}},"target_strategy":{"type":"string","description":"Condition that defines the employees that will be evaluated (participants). Calculated when the review process starts","enum":["all_employees","by_locations","by_teams","by_employees","manual_selection"],"example":"all_employees"},"arguments":{"type":"array","description":"IDs of target strategy groups selected","items":{"type":"integer"}},"ends_at":{"type":"string","description":"Date when the review process should end","example":"2024-04-01T00:00:00Z"},"agreements_enabled":{"type":"boolean","description":"Action plans help track goal progress, and facilitate performance review discussions.","example":true},"employee_score_enabled":{"type":"boolean","description":"Include one question at the end of the review to rate participants' performance. This rating will be reflected on the results page.","example":true},"employee_potential_score_enabled":{"type":"boolean","description":"Include one question at the end of the review to rate participants' potential. This rating will be reflected in the 9 box grid.","example":true},"competencies_assessments_enabled":{"type":"boolean","description":"Assess employees based on their assigned competencies through both manager and self-reviews. Ensure roles with designated competencies are properly set up.","example":true},"cycle_id":{"type":"string","description":"Performance cycle ID","example":"5"}}}}}}}},"/api/2026-04-01/resources/performance/review_processes/{id}":{"get":{"tags":["Performance \u003e ReviewProcess"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Review process","summary":"Reads a single Review process","parameters":[{"name":"id","example":"1","description":"Filter by review process IDs","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/performance_review_process"}}}}}},"delete":{"tags":["Performance \u003e ReviewProcess"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Delete an existing review process.","summary":"Deletes a Review process","parameters":[{"name":"id","example":"1","description":"Review process ID","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/performance_review_process"}}}}}}},"/api/2026-04-01/resources/performance/review_processes/create_from_template":{"post":{"tags":["Performance \u003e ReviewProcess"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Create a new review process from a template.","summary":"Create from templates a Review process","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/performance_review_process"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["author_access_id","template_id","template_type"],"properties":{"author_access_id":{"type":"integer","description":"Access ID to be set as author of the new review process","example":1},"template_id":{"type":"integer","description":"Review process template ID","example":1},"template_type":{"type":"string","description":"Type of the template, custom or predefined","enum":["predefined","custom"],"example":"predefined"},"name":{"type":"string","description":"Name of the new review process","example":"Performance Review - Q2 2024"}}}}}}}},"/api/2026-04-01/resources/performance/review_processes/duplicate":{"post":{"tags":["Performance \u003e ReviewProcess"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Duplicate an existing review process","summary":"Duplicates a Review process","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/performance_review_process"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id","author_access_id"],"properties":{"id":{"type":"integer","description":"Review process ID to duplicate","example":1},"author_access_id":{"type":"integer","description":"Access ID to be set as author of the new review process","example":1}}}}}}}},"/api/2026-04-01/resources/performance/review_processes/remind_in_bulk":{"post":{"tags":["Performance \u003e ReviewProcess"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Send bulk reminders to the reviewers that haven't answered their evaluations in a review process.","summary":"Remind in bulks a Review process","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/performance_review_process"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer","description":"Review process ID","example":1},"evaluation_types":{"type":"array","description":"Reviewer strategies to remind about","enum":["self","manager","direct_reports","peers"],"example":["self","manager"],"items":{"type":"string"}}}}}}}}},"/api/2026-04-01/resources/performance/review_processes/remove_schedule":{"post":{"tags":["Performance \u003e ReviewProcess"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Removes the schedule job for a review process. This is only allowed if the process is scheduled.","summary":"Remove schedules a Review process","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/performance_review_process"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer","description":"Review process ID","example":1}}}}}}}},"/api/2026-04-01/resources/performance/review_processes/reopen":{"post":{"tags":["Performance \u003e ReviewProcess"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reopen a finished review process.","summary":"Reopens a Review process","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/performance_review_process"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id","ends_at"],"properties":{"id":{"type":"integer","description":"Review process ID","example":1},"ends_at":{"type":"string","description":"New deadline of the review process","example":"2024-04-01T00:00:00Z"}}}}}}}},"/api/2026-04-01/resources/performance/review_processes/schedule":{"post":{"tags":["Performance \u003e ReviewProcess"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Schedule a review process to start at a given date. This is only allowed if the process is in draft.","summary":"Schedules a Review process","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/performance_review_process"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id","starts_at"],"properties":{"id":{"type":"integer","description":"Review process ID","example":1},"starts_at":{"type":"string","description":"Date when the review process should start","example":"2024-01-01T00:00:00Z"}}}}}}}},"/api/2026-04-01/resources/performance/review_processes/start":{"post":{"tags":["Performance \u003e ReviewProcess"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Start a review process. This is only allowed if the process is in draft or scheduled.","summary":"Starts a Review process","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/performance_review_process"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer","description":"Review process ID","example":1}}}}}}}},"/api/2026-04-01/resources/performance/review_processes/stop":{"post":{"tags":["Performance \u003e ReviewProcess"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Stop a review process.","summary":"Stops a Review process","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/performance_review_process"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer","description":"Review process ID","example":1}}}}}}}},"/api/2026-04-01/resources/performance/review_processes/toggle_archive":{"post":{"tags":["Performance \u003e ReviewProcess"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Archive or unarchive a review process","summary":"Toggle archives a Review process","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/performance_review_process"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer","description":"Review process ID","example":1}}}}}}}},"/api/2026-04-01/resources/performance/review_processes/update_agreements_configuration":{"post":{"tags":["Performance \u003e ReviewProcess"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Enable or disable action plans in a review process.","summary":"Update agreements configurations a Review process","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/performance_review_process"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id","enabled"],"properties":{"id":{"type":"integer","description":"Review process ID","example":1},"enabled":{"type":"boolean","example":true}}}}}}}},"/api/2026-04-01/resources/performance/review_processes/update_basic_info":{"post":{"tags":["Performance \u003e ReviewProcess"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Update the basic information of an existing review process.","summary":"Update basic infos a Review process","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/performance_review_process"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer","description":"Review process ID","example":1},"name":{"type":"string","description":"New name of the review process","example":"Performance Review - Q2 2024"},"description":{"type":"string","description":"New description of the review process","example":"The performance review for the first quarter of 2024 has started!"}}}}}}}},"/api/2026-04-01/resources/performance/review_processes/update_competencies_assessments_configuration":{"post":{"tags":["Performance \u003e ReviewProcess"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Allows to assess employees based on their assigned competencies through both manager and self-reviews.","summary":"Update competencies assessments configurations a Review process","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/performance_review_process"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id","enabled"],"properties":{"id":{"type":"integer","description":"Review process ID","example":1},"enabled":{"type":"boolean","example":true}}}}}}}},"/api/2026-04-01/resources/performance/review_processes/update_deadline":{"post":{"tags":["Performance \u003e ReviewProcess"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Update the deadline of a review process.","summary":"Update deadlines a Review process","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/performance_review_process"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id","ends_at"],"properties":{"id":{"type":"integer","description":"Review process ID","example":1},"ends_at":{"type":"string","description":"New deadline of the review process","example":"2024-04-01T00:00:00.000+00:00"}}}}}}}},"/api/2026-04-01/resources/performance/review_processes/update_employee_score_configuration":{"post":{"tags":["Performance \u003e ReviewProcess"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Includes or not one question at the end of the review to rate participants' performance.","summary":"Update employee score configurations a Review process","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/performance_review_process"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id","enabled"],"properties":{"id":{"type":"integer","description":"Review process ID","example":1},"enabled":{"type":"boolean","example":true}}}}}}}},"/api/2026-04-01/resources/performance/review_processes/update_reviewer_strategies":{"post":{"tags":["Performance \u003e ReviewProcess"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Update the review types of a review process. This is only allowed while the process is in draft.","summary":"Update reviewer strategies a Review process","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/performance_review_process"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id","reviewer_strategies"],"properties":{"id":{"type":"integer","description":"Review process ID","example":1},"reviewer_strategies":{"type":"array","description":"New review types to be applied","enum":["self","manager","direct_reports","peers"],"example":["self","manager"],"items":{"type":"string"}}}}}}}}},"/api/2026-04-01/resources/performance/review_processes/update_schedule":{"post":{"tags":["Performance \u003e ReviewProcess"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Update the starting date of a scheduled review process. This is only allowed if the process is scheduled.","summary":"Update schedules a Review process","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/performance_review_process"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id","starts_at"],"properties":{"id":{"type":"integer","description":"Review process ID","example":1},"starts_at":{"type":"string","description":"Date when the review process should start","example":"2024-01-01T00:00:00Z"}}}}}}}},"/api/2026-04-01/resources/performance/review_processes/update_target_strategy":{"post":{"tags":["Performance \u003e ReviewProcess"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Update the criteria for calculating the participants of a review process. This is only allowed while the process is in draft.","summary":"Update target strategies a Review process","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/performance_review_process"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer","description":"Review process ID","example":1},"target_strategy":{"type":"string","description":"Condition that defines the employees that will be evaluated (participants)","enum":["all_employees","by_locations","by_teams","by_employees","manual_selection"],"example":"all_employees"},"arguments":{"type":"array","description":"IDs of target strategy groups selected","items":{"type":"integer"}}}}}}}}},"/api/2026-04-01/resources/performance/review_process_custom_templates":{"get":{"tags":["Performance \u003e ReviewProcessCustomTemplate"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Retrieves the templates for the company.","summary":"Reads all Review process custom templates","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"Filter by template IDs","example":[1,2,3],"items":{"type":"integer"}},"description":"Filter by template IDs","example":[1,2,3]},{"name":"author_ids[]","in":"query","schema":{"type":"array","description":"Filter by author IDs","example":[1,2,3],"items":{"type":"integer"}},"description":"Filter by author IDs","example":[1,2,3]},{"name":"search","in":"query","schema":{"type":"string","description":"Filter by template name","example":"Q1 2024"},"description":"Filter by template name","example":"Q1 2024"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/performance_review_process_custom_template"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/performance/review_process_custom_templates/{id}":{"get":{"tags":["Performance \u003e ReviewProcessCustomTemplate"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Retrieves the templates for the company.","summary":"Reads a single Review process custom template","parameters":[{"name":"id","example":"1","description":"Filter by template IDs","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/performance_review_process_custom_template"}}}}}}},"/api/2026-04-01/resources/performance/review_process_estimated_targets":{"get":{"tags":["Performance \u003e ReviewProcessEstimatedTarget"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Retrieve review process estimated target before the review process is launched","summary":"Reads all Review process estimated targets","parameters":[{"name":"performance_review_process_ids[]","in":"query","schema":{"type":"array","description":"Filter by review process IDs","example":[1],"items":{"type":"integer"}},"description":"Filter by review process IDs","example":[1]},{"name":"access_ids[]","in":"query","schema":{"type":"array","description":"Filter by access IDs","example":[1,2,3],"items":{"type":"integer"}},"description":"Filter by access IDs","example":[1,2,3]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/performance_review_process_estimated_target"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/performance/review_process_targets":{"get":{"tags":["Performance \u003e ReviewProcessTarget"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Retrieves the participants of active review processes.","summary":"Reads all Review process targets","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"Filter by review process target IDs","example":["1-1","1-2","1-3"],"items":{"type":"string"}},"description":"Filter by review process target IDs","example":["1-1","1-2","1-3"]},{"name":"access_ids[]","in":"query","schema":{"type":"array","description":"Filter by access IDs","example":[1,2,3],"items":{"type":"integer"}},"description":"Filter by access IDs","example":[1,2,3]},{"name":"only_for_peer_assignment","in":"query","schema":{"type":"boolean","description":"Only participants for peer assignment","example":false},"description":"Only participants for peer assignment","example":false},{"name":"without_manager","in":"query","schema":{"type":"boolean","description":"Only participants with no manager assigned","example":false},"description":"Only participants with no manager assigned","example":false},{"name":"performance_review_process_ids[]","in":"query","schema":{"type":"array","description":"Filter by reviewer process IDs","example":[1,2,3],"items":{"type":"integer"}},"description":"Filter by reviewer process IDs","example":[1,2,3]},{"name":"agreement_completion_status","in":"query","schema":{"type":"string","description":"Filter by agreement status","enum":["canbeinitiated","notinitiated","haspendingagreement","hassignedagreement","haspendingesignaturesagreement","haspartiallyesignedagreement","hasesignedagreement","hasdeclinedagreement","hasbouncedemailagreement","hascancelledagreement","haserroragreement","hasexpiredagreement"],"example":"canbeinitiated"},"description":"Filter by agreement status","example":"canbeinitiated"},{"name":"pending_peer_evaluations","in":"query","schema":{"type":"boolean","description":"Only participants with no peer evaluations","example":false},"description":"Only participants with no peer evaluations","example":false},{"name":"managed_by_filter","in":"query","schema":{"type":"object","description":"Only participants managed by the specified employee ID","example":{"manager_employee_id":1,"only_direct_reports":false}},"description":"Only participants managed by the specified employee ID","example":{"manager_employee_id":1,"only_direct_reports":false}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/performance_review_process_target"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/performance/review_process_targets/{id}":{"get":{"tags":["Performance \u003e ReviewProcessTarget"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Retrieves the participants of active review processes.","summary":"Reads a single Review process target","parameters":[{"name":"id","example":"1-1","description":"Filter by review process target IDs","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/performance_review_process_target"}}}}}},"delete":{"tags":["Performance \u003e ReviewProcessTarget"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Delete a participant from the active review process. This will also remove all previously submitted evaluations about the participant.","summary":"Deletes a Review process target","parameters":[{"name":"id","example":"1-1","description":"Process Target ID","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/performance_review_process_target"}}}}}}},"/api/2026-04-01/resources/performance/review_process_targets/add_peers":{"post":{"tags":["Performance \u003e ReviewProcessTarget"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Assign peers to evaluate a specific participant.","summary":"Add peers a Review process target","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/performance_review_process_target"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id","peer_access_ids"],"properties":{"id":{"type":"string","description":"Review process target ID","example":"1-3"},"peer_access_ids":{"type":"array","description":"List of access IDs to be added as peers for the participant","example":[1,2,3],"items":{"type":"integer"}}}}}}}}},"/api/2026-04-01/resources/performance/review_process_targets/bulk_create":{"post":{"tags":["Performance \u003e ReviewProcessTarget"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Add multiple participants to the active review process and create the evaluations for them.","summary":"Bulk creates a Review process target","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/performance_review_process_target"}}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["performance_review_process_id","targets_access_ids"],"properties":{"performance_review_process_id":{"type":"integer","description":"Review process ID","example":1},"targets_access_ids":{"type":"array","description":"List of access IDs to be added as participants","example":[1,2,3],"items":{"type":"integer"}}}}}}}}},"/api/2026-04-01/resources/performance/review_process_targets/remove_peer_evaluations":{"post":{"tags":["Performance \u003e ReviewProcessTarget"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Remove peers and their evaluations from a specific participant.","summary":"Remove peer evaluations a Review process target","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/performance_review_process_target"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id","evaluation_ids"],"properties":{"id":{"type":"string"},"evaluation_ids":{"type":"array","items":{"type":"integer"}}}}}}}}},"/api/2026-04-01/resources/performance/review_questionnaire_by_strategies":{"get":{"tags":["Performance \u003e ReviewQuestionnaireByStrategy"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Retrieves the questionnaires by reviewer strategy for review processes.","summary":"Reads all Review questionnaire by strategies","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"Filter by review process IDs","example":[1,2,3],"items":{"type":"integer"}},"description":"Filter by review process IDs","example":[1,2,3]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/performance_review_questionnaires_by_strategy"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/performance/review_questionnaire_by_strategies/{id}":{"get":{"tags":["Performance \u003e ReviewQuestionnaireByStrategy"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Retrieves the questionnaires by reviewer strategy for review processes.","summary":"Reads a single Review questionnaire by strategy","parameters":[{"name":"id","example":"1","description":"Filter by review process IDs","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/performance_review_questionnaires_by_strategy"}}}}}}},"/api/2026-04-01/resources/performance/review_questionnaire_by_strategies/update_default_rating_scale":{"post":{"tags":["Performance \u003e ReviewQuestionnaireByStrategy"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Update the scoring range used in rating questions for all reviewer strategies.","summary":"Update default rating scales a Review questionnaire by strategy","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/performance_review_questionnaires_by_strategy"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["performance_review_process_id","default_rating_scale"],"properties":{"performance_review_process_id":{"type":"integer","description":"Review process ID","example":1},"default_rating_scale":{"type":"array","description":"###### **What should each range object look like?**\n\n  - `value`: Range value (0 to 10)\n  - `text`: Range description","example":[{"value":1,"text":"Poor"},{"value":2,"text":"Inconsistent"},{"value":3,"text":"Meets expectations"},{"value":4,"text":"Exceeds expectations"},{"value":5,"text":"Exceptional"}],"items":{}}}}}}}}},"/api/2026-04-01/resources/performance/review_questionnaire_by_strategies/update_questionnaire_for_strategy":{"post":{"tags":["Performance \u003e ReviewQuestionnaireByStrategy"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Update the review process questionnaire for a specific reviewer strategy (review type). It can be used to add, edit or delete questions from a draft review process.","summary":"Update questionnaire for strategies a Review questionnaire by strategy","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/performance_review_questionnaires_by_strategy"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["performance_review_process_id","strategy","questionnaire_content"],"properties":{"performance_review_process_id":{"type":"integer","description":"Review process ID","example":1},"strategy":{"type":"string","description":"Reviewer strategy to update the questionnaire for","enum":["self","manager","direct_reports","peers"],"example":"manager"},"questionnaire_content":{"type":"array","description":"List of grouped questions to be evaluated by the reviewer.\n###### **What should each group object look like?**\n\n  - `uuid`: Unique identifier for the group\n  - `type`: Group type (`section` or `question`). If it's `section`, the questions will be grouped under a section with a given title\n  - `section_title`: Title of the section (optional)\n  - `questions`: List of questions\n\n###### **What should each question object look like?**\n\n  - `uuid`: Unique identifier for the question\n  - `mandatory`: Whether the question is mandatory or not\n  - `with_comment`: Whether the reviewer can add a comment or not\n  - `title`: Question\n  - `answer_type`: Answer type (`text`, `rating`, `number` or `multiple_choice`)\n  - `max_choices`: Maximum number of choices. If `1`, it'll be a single choice question\n  - `choice_options`: List of options for single and multiple choice questions","example":[{"uuid":"b69c9b4d-0aa6-4ada-89d5-5fdcb04c1327","type":"section","section_title":"Performance","questions":[{"uuid":"a347a2fd-1a0a-4eee-b6c8-f74be63624fb","mandatory":true,"with_comment":true,"title":"How would you rate the commitment of the employee?","answer_type":"rating"},{"uuid":"a922bd33-e9c8-4856-87c6-92eb895f4271","mandatory":true,"with_comment":false,"title":"What are the strengths of the employee?","answer_type":"text"}]},{"uuid":"26f26623-043f-4110-a5cb-1fd54a69626f","type":"question","questions":[{"uuid":"84ba99f3-4e4f-4917-a2af-6d0aa8c2e0f2","mandatory":true,"with_comment":false,"title":"Do you think the employee is a team player?","answer_type":"multiple_choice","max_choices":1,"choice_options":["Yes","No"]}]}],"items":{}}}}}}}}},"/api/2026-04-01/resources/performance/review_visibility_settings":{"get":{"tags":["Performance \u003e ReviewVisibilitySetting"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Retrieves the visibility settings of review processes.","summary":"Reads all Review visibility settings","parameters":[{"name":"performance_review_process_ids[]","in":"query","schema":{"type":"array","description":"Filter by review process IDs","example":[1,2,3],"items":{"type":"integer"}},"description":"Filter by review process IDs","example":[1,2,3]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/performance_review_visibility_setting"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/performance/review_visibility_settings/{id}":{"put":{"tags":["Performance \u003e ReviewVisibilitySetting"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Modifiy the visibility settings of the review process.","summary":"Updates a Review visibility setting","parameters":[{"name":"id","example":"1","description":"Review process ID","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/performance_review_visibility_setting"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["restrict_answers_visibility_to_reportees","early_access_to_answers_for_managers","anonymous_peer_evaluation_for_target"],"properties":{"id":{"type":"integer","description":"Review process ID","example":1},"performance_review_process_id":{"type":"integer","description":"Review process ID","example":1},"restrict_answers_visibility_to_reportees":{"type":"boolean","description":"When enabled, employees don't have access to their results","example":false},"early_access_to_answers_for_managers":{"type":"boolean","description":"When enabled, managers can access the results of their reports before deadline","example":true},"anonymous_peer_evaluation_for_target":{"type":"boolean","description":"When enabled, peer evaluations are anonymous so employees don't know who reviewed them","example":false}}}}}}}},"/api/2026-04-01/resources/performance/target_managers":{"get":{"tags":["Performance \u003e TargetManager"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Retrieves the participants' managers of a review process.","summary":"Reads all Target managers","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","items":{"type":"integer"}}},{"name":"performance_review_process_ids[]","in":"query","schema":{"type":"array","description":"Review process ID (only one ID is allowed)","example":[1],"items":{"type":"integer"}},"description":"Review process ID (only one ID is allowed)","example":[1],"required":true}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/performance_target_manager"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/performance/target_managers/{id}":{"get":{"tags":["Performance \u003e TargetManager"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Retrieves the participants' managers of a review process.","summary":"Reads a single Target manager","parameters":[{"name":"id","example":"1","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/performance_target_manager"}}}}}}},"/api/2026-04-01/resources/posts/comments":{"get":{"tags":["Posts \u003e Comment"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Comments","summary":"Reads all Comments","parameters":[{"name":"post_ids[]","in":"query","schema":{"type":"array","description":"identifiers of the post","example":[1,2,3],"items":{"type":"integer"}},"description":"identifiers of the post","example":[1,2,3],"required":true},{"name":"ids[]","in":"query","schema":{"type":"array","description":"identifiers of the comment","example":[1,2,3],"items":{"type":"integer"}},"description":"identifiers of the comment","example":[1,2,3]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/posts_comment"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["Posts \u003e Comment"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Creates a Comment","summary":"Creates a Comment","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/posts_comment"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["post_id","text"],"properties":{"post_id":{"type":"integer","description":"identifier of the post","example":1},"text":{"type":"string","description":"Text of the comment","example":"How is the week going Ana?"}}}}}}}},"/api/2026-04-01/resources/posts/comments/{id}":{"get":{"tags":["Posts \u003e Comment"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Comment","summary":"Reads a single Comment","parameters":[{"name":"id","example":"1","description":"identifiers of the comment","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/posts_comment"}}}}}},"put":{"tags":["Posts \u003e Comment"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Updates a Comment","summary":"Updates a Comment","parameters":[{"name":"id","example":"1","description":"identifier of the comment","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/posts_comment"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id","post_id","text"],"properties":{"id":{"type":"integer","description":"identifier of the comment","example":1},"post_id":{"type":"integer","description":"identifier of the post","example":1},"text":{"type":"string","description":"Text of the comment","example":"How is the week going Ana?"}}}}}}},"delete":{"tags":["Posts \u003e Comment"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Deletes a Comment","summary":"Deletes a Comment","parameters":[{"name":"id","example":"1","description":"identifier of the comment","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/posts_comment"}}}}}}},"/api/2026-04-01/resources/posts/groups":{"get":{"tags":["Posts \u003e Group"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"\u003e ###### **What does it do?**\n\u003e These endpoints will allow you to retrieve groups\n\u003e ###### **What can you do with groups?**\n\u003e Increase visibility and communication within the company by creating events and announcements. You can create groups for different departments, teams, or projects.\n\u003e ###### **Who can use it?**\n\u003e For having this funcionality available, you need to have Communities V2 feature enabled.","summary":"Reads all Groups","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"identifier of the group.","example":[1,2,3],"items":{"type":"integer"}},"description":"identifier of the group.","example":[1,2,3]},{"name":"search","in":"query","schema":{"type":"string","description":"search term to filter groups by title or description.","example":"announcements"},"description":"search term to filter groups by title or description.","example":"announcements"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/posts_group"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["Posts \u003e Group"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Creates a Group","summary":"Creates a Group","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/posts_group"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["title","description","company_id"],"properties":{"title":{"type":"string","description":"title of the group.","example":"Company announcements"},"description":{"type":"string","description":"description of the group.","example":"The place to find all company announcements."},"company_id":{"type":"integer","description":"Identifier of the company, this value can be retrieved from core/me endpoint","example":1}}}}}}}},"/api/2026-04-01/resources/posts/groups/{id}":{"get":{"tags":["Posts \u003e Group"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"\u003e ###### **What does it do?**\n\u003e These endpoints will allow you to retrieve groups\n\u003e ###### **What can you do with groups?**\n\u003e Increase visibility and communication within the company by creating events and announcements. You can create groups for different departments, teams, or projects.\n\u003e ###### **Who can use it?**\n\u003e For having this funcionality available, you need to have Communities V2 feature enabled.","summary":"Reads a single Group","parameters":[{"name":"id","example":"1","description":"identifier of the group.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/posts_group"}}}}}},"put":{"tags":["Posts \u003e Group"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Updates a Group","summary":"Updates a Group","parameters":[{"name":"id","example":"1","description":"Identifier of the group.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/posts_group"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer","description":"Identifier of the group.","example":1},"title":{"type":"string","description":"title of the group.","example":"Company announcements"},"description":{"type":"string","description":"description of the group.","example":"The place to find all company announcements."}}}}}}},"delete":{"tags":["Posts \u003e Group"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Deletes a Group","summary":"Deletes a Group","parameters":[{"name":"id","example":"1","description":"identifier of the group.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/posts_group"}}}}}}},"/api/2026-04-01/resources/posts/groups/archive":{"post":{"tags":["Posts \u003e Group"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Archives a group but keeps the data.","summary":"Archives a Group","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/posts_group"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer","description":"identifier of the group.","example":1}}}}}}}},"/api/2026-04-01/resources/posts/posts":{"get":{"tags":["Posts \u003e Post"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"###### **What does it do?**\nThese endpoints allow you to retrieve posts of a community\n###### **What can you do with groups?**\nIncrease visibility and communication within the company by creating interaction and community within your company.\n###### **Who can use it?**\nFor having this funcionality available, you need to have Communities V2 feature available","summary":"Reads all Posts","parameters":[{"name":"groups[]","in":"query","schema":{"type":"array","description":"group identifiers of the posts","example":[1,2,3],"items":{"type":"integer"}},"description":"group identifiers of the posts","example":[1,2,3]},{"name":"from","in":"query","schema":{"type":"string","description":"date from which posts will be retrieved","example":"2024-05-02"},"description":"date from which posts will be retrieved","example":"2024-05-02"},{"name":"until","in":"query","schema":{"type":"string","description":"date until which the posts will be retrieved","example":"2024-08-01"},"description":"date until which the posts will be retrieved","example":"2024-08-01"},{"name":"ids[]","in":"query","schema":{"type":"array","description":"identifiers of the post","example":[1,2,3],"items":{"type":"integer"}},"description":"identifiers of the post","example":[1,2,3]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/posts_post"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["Posts \u003e Post"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Creates a Post","summary":"Creates a Post","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/posts_post"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["title","description","post_group_id"],"properties":{"title":{"type":"string","description":"title of the post","example":"Are you ready for the perfomance review?"},"description":{"type":"string","description":"description of the post","example":"As you know today we start the performance review process."},"post_group_id":{"type":"integer","description":"group identifier of the post, references to posts/groups endpoint","example":1},"allow_comments_and_reactions":{"type":"boolean","description":"allow comments and reactions on the post","example":true}}}}}}}},"/api/2026-04-01/resources/posts/posts/{id}":{"get":{"tags":["Posts \u003e Post"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"###### **What does it do?**\nThese endpoints allow you to retrieve posts of a community\n###### **What can you do with groups?**\nIncrease visibility and communication within the company by creating interaction and community within your company.\n###### **Who can use it?**\nFor having this funcionality available, you need to have Communities V2 feature available","summary":"Reads a single Post","parameters":[{"name":"id","example":"1","description":"identifiers of the post","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/posts_post"}}}}}},"put":{"tags":["Posts \u003e Post"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Updates a Post","summary":"Updates a Post","parameters":[{"name":"id","example":"1","description":"identifier of the post","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/posts_post"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer","description":"identifier of the post","example":1},"title":{"type":"string","description":"title of the post","example":"Are you ready for the perfomance review?"},"description":{"type":"string","description":"description of the post","example":"As you know today we start the performance review process."},"post_group_id":{"type":"integer","description":"group identifier of the post, references to posts/groups endpoint","example":1},"allow_comments_and_reactions":{"type":"boolean","description":"allow comments and reactions on the post","example":true}}}}}}},"delete":{"tags":["Posts \u003e Post"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Deletes a Post","summary":"Deletes a Post","parameters":[{"name":"id","example":"1","description":"identifier of the post","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/posts_post"}}}}}}},"/api/2026-04-01/resources/procurement/purchase_orders":{"get":{"tags":["Procurement \u003e PurchaseOrder"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Fetch one or all purchase orders for the company.","summary":"Reads all Purchase orders","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"An array of purchase order IDs to filter by.","example":[678432],"items":{"type":"integer"}},"description":"An array of purchase order IDs to filter by.","example":[678432]},{"name":"purchase_request_ids[]","in":"query","schema":{"type":"array","description":"An array of purchase request IDs to filter by.","example":[5678],"items":{"type":"integer"}},"description":"An array of purchase request IDs to filter by.","example":[5678]},{"name":"status","in":"query","schema":{"type":"string","description":"Status to filter by.","enum":["draft","pending","ordered","partial","received","closed"],"example":"pending"},"description":"Status to filter by.","example":"pending"},{"name":"vendor_id","in":"query","schema":{"type":"integer","description":"Vendor IDs to filter by.","example":9012},"description":"Vendor IDs to filter by.","example":9012}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/procurement_purchase_order"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/procurement/purchase_orders/{id}":{"get":{"tags":["Procurement \u003e PurchaseOrder"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Fetch one or all purchase orders for the company.","summary":"Reads a single Purchase order","parameters":[{"name":"id","example":"678432","description":"An array of purchase order IDs to filter by.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/procurement_purchase_order"}}}}}}},"/api/2026-04-01/resources/procurement/purchase_requests":{"get":{"tags":["Procurement \u003e PurchaseRequest"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Fetch one or all purchase requests for the company.","summary":"Reads all Purchase requests","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"An array of purchase request IDs to filter by.","example":[678432],"items":{"type":"integer"}},"description":"An array of purchase request IDs to filter by.","example":[678432]},{"name":"requester_employee_ids[]","in":"query","schema":{"type":"array","description":"An array of employee IDs to filter by as the purchase requester requesters.","example":[20],"items":{"type":"integer"}},"description":"An array of employee IDs to filter by as the purchase requester requesters.","example":[20]},{"name":"type_ids[]","in":"query","schema":{"type":"array","description":"An array of purchase type IDs to filter by.","example":[12353],"items":{"type":"integer"}},"description":"An array of purchase type IDs to filter by.","example":[12353]},{"name":"status","in":"query","schema":{"type":"string","description":"Status to filter by.","enum":["approved","draft","pending","rejected","changes_requested"],"example":"pending"},"description":"Status to filter by.","example":"pending"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/procurement_purchase_request"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/procurement/purchase_requests/{id}":{"get":{"tags":["Procurement \u003e PurchaseRequest"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Fetch one or all purchase requests for the company.","summary":"Reads a single Purchase request","parameters":[{"name":"id","example":"678432","description":"An array of purchase request IDs to filter by.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/procurement_purchase_request"}}}}}}},"/api/2026-04-01/resources/procurement/types":{"get":{"tags":["Procurement \u003e Type"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Fetch one or all procurement types for the company.","summary":"Reads all Types","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"An array of procurement type IDs to filter by.","example":[1],"items":{"type":"integer"}},"description":"An array of procurement type IDs to filter by.","example":[1]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/procurement_type"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/procurement/types/{id}":{"get":{"tags":["Procurement \u003e Type"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Fetch one or all procurement types for the company.","summary":"Reads a single Type","parameters":[{"name":"id","example":"1","description":"An array of procurement type IDs to filter by.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/procurement_type"}}}}}}},"/api/2026-04-01/resources/project_management/budget_strategies":{"get":{"tags":["ProjectManagement \u003e BudgetStrategy"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Budget strategies","summary":"Reads all Budget strategies","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"Filter budget strategies by these ids","example":[1234,5678],"items":{"type":"integer"}},"description":"Filter budget strategies by these ids","example":[1234,5678]},{"name":"project_ids[]","in":"query","schema":{"type":"array","description":"Filter budget strategies by these project ids","example":[1234,5678],"items":{"type":"integer"}},"description":"Filter budget strategies by these project ids","example":[1234,5678]},{"name":"subproject_ids[]","in":"query","schema":{"type":"array","description":"Filter budget strategies by these subproject ids","example":[5678],"items":{"type":"integer"}},"description":"Filter budget strategies by these subproject ids","example":[5678]},{"name":"without_subproject","in":"query","schema":{"type":"boolean","description":"When true, return only budget strategies without a subproject","example":false},"description":"When true, return only budget strategies without a subproject","example":false}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/project_management_budget_strategy"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["ProjectManagement \u003e BudgetStrategy"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Creates a Budget strategy","summary":"Creates a Budget strategy","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/project_management_budget_strategy"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["budget_strategy_type","project_id"],"properties":{"budget_strategy_type":{"type":"string","description":"Type of budget strategy. One of project_fixed_cost =\u003e ProjectFixedCost, total_budget =\u003e TimeAndMaterials, without_budget =\u003e WithoutBudget","enum":["project_fixed_cost","total_budget","without_budget"],"example":"total_budget"},"planned_cents":{"type":"integer","description":"Planned amount in cents (for project_fixed_cost / total_budget)","example":100000},"planned_minutes":{"type":"integer","description":"Planned time in minutes (for total_budget)","example":6000},"fee_amount_cents":{"type":"integer","description":"Fee amount in cents (for project_fixed_cost / total_budget when is billable)","example":5000},"project_id":{"type":"integer","description":"Id of the project this budget strategy belongs to","example":1234},"subproject_id":{"type":"integer","description":"Id of the subproject, if any","example":5678},"delegated":{"type":"boolean","description":"Whether the budget strategy is delegated","example":false}}}}}}}},"/api/2026-04-01/resources/project_management/budget_strategies/{id}":{"get":{"tags":["ProjectManagement \u003e BudgetStrategy"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Budget strategy","summary":"Reads a single Budget strategy","parameters":[{"name":"id","example":"1234","description":"Filter budget strategies by these ids","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/project_management_budget_strategy"}}}}}},"put":{"tags":["ProjectManagement \u003e BudgetStrategy"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Updates a Budget strategy","summary":"Updates a Budget strategy","parameters":[{"name":"id","example":"1234","description":"Id of the budget strategy to update","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/project_management_budget_strategy"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer","description":"Id of the budget strategy to update","example":1234},"planned_cents":{"type":"integer","description":"Planned amount in cents (for project_fixed_cost / total_budget)","example":100000},"planned_minutes":{"type":"integer","description":"Planned time in minutes (for total_budget)","example":6000},"fee_amount_cents":{"type":"integer","description":"Fee amount in cents (for project_fixed_cost / total_budget when is billable)","example":5000},"budget_strategy_type":{"type":"string","description":"Type of budget strategy. One of project_fixed_cost =\u003e ProjectFixedCost, total_budget =\u003e TimeAndMaterials, without_budget =\u003e WithoutBudget","enum":["project_fixed_cost","total_budget","without_budget"],"example":"total_budget"},"delegated":{"type":"boolean","description":"Whether the budget strategy is delegated","example":false}}}}}}},"delete":{"tags":["ProjectManagement \u003e BudgetStrategy"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Deletes a Budget strategy","summary":"Deletes a Budget strategy","parameters":[{"name":"id","example":"1234","description":"Id of the budget strategy to delete","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/project_management_budget_strategy"}}}}}}},"/api/2026-04-01/resources/project_management/expense_records":{"get":{"tags":["ProjectManagement \u003e ExpenseRecord"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Expense records","summary":"Reads all Expense records","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"Retrieve only the expense records that matches the project ids provided in the request.","example":[123,456],"items":{"type":"integer"}},"description":"Retrieve only the expense records that matches the project ids provided in the request.","example":[123,456]},{"name":"start_date","in":"query","schema":{"type":"string","description":"Retrieve only the expense records with end date greater than or equal to the start date provided in the request.","example":"2025-01-01"},"description":"Retrieve only the expense records with end date greater than or equal to the start date provided in the request.","example":"2025-01-01"},{"name":"end_date","in":"query","schema":{"type":"string","description":"Retrieve only the expense records with start date less than or equal to the end date provided in the request.","example":"2025-01-01"},"description":"Retrieve only the expense records with start date less than or equal to the end date provided in the request.","example":"2025-01-01"},{"name":"expense_ids[]","in":"query","schema":{"type":"array","description":"Retrieve only the expense records that matches the expense ids provided in the request.","example":[123,456],"items":{"type":"integer"}},"description":"Retrieve only the expense records that matches the expense ids provided in the request.","example":[123,456]},{"name":"project_ids[]","in":"query","schema":{"type":"array","description":"Retrieve only the expense records that matches the project ids provided in the request.","example":[123,456],"items":{"type":"integer"}},"description":"Retrieve only the expense records that matches the project ids provided in the request.","example":[123,456]},{"name":"subproject_ids[]","in":"query","schema":{"type":"array","description":"Retrieve only the expense records that matches the subproject ids provided in the request.","example":[123,456],"items":{"type":"integer"}},"description":"Retrieve only the expense records that matches the subproject ids provided in the request.","example":[123,456]},{"name":"updated_after","in":"query","schema":{"type":"string","description":"Retrieve only the expense records that matches the updated after date provided in the request.","example":"2025-01-01"},"description":"Retrieve only the expense records that matches the updated after date provided in the request.","example":"2025-01-01"},{"name":"employee_user_name_like","in":"query","schema":{"type":"string","description":"Retrieve only the expense records that matches the employee user name like provided in the request.","example":"John Doe"},"description":"Retrieve only the expense records that matches the employee user name like provided in the request.","example":"John Doe"},{"name":"project_worker_ids[]","in":"query","schema":{"type":"array","description":"Retrieve only the expense records that matches the project worker ids provided in the request.","example":[123,456],"items":{"type":"integer"}},"description":"Retrieve only the expense records that matches the project worker ids provided in the request.","example":[123,456]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/project_management_expense_record"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/project_management/expense_records/{id}":{"get":{"tags":["ProjectManagement \u003e ExpenseRecord"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Expense record","summary":"Reads a single Expense record","parameters":[{"name":"id","example":"123","description":"Retrieve only the expense records that matches the project ids provided in the request.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/project_management_expense_record"}}}}}}},"/api/2026-04-01/resources/project_management/exportable_expenses":{"get":{"tags":["ProjectManagement \u003e ExportableExpense"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"###### **What does it do?**\n\n  This will generate an export of the type **\"Project's expenses\"**. You will have to pass the start and end date to determine the range for which htis information will be exported; as well as the projects ids to get the information of specifically given projects.\n\n###### **What params does it accept?**\n  - `start_date`: It's mandatory to pass this data, being start date to delimit the range of information exported.\n  - `end_date`: It's mandatory to pass this data, corresponding to an end date for the date range of data to be exported.\n  - `project_ids`: Mandatory data to pass to the export, specifying the projects to be exported from.\n\n###### **Who can use it?**\nOnly companies who have enabled the `projects_management` feature and users with the permission of read projects.","summary":"Reads all Exportable expenses","parameters":[{"name":"start_date","in":"query","schema":{"type":"string"},"required":true},{"name":"end_date","in":"query","schema":{"type":"string"},"required":true},{"name":"project_ids[]","in":"query","schema":{"type":"array","items":{"type":"integer"}},"required":true}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/project_management_exportable_expense"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/project_management/flexible_time_records":{"get":{"tags":["ProjectManagement \u003e FlexibleTimeRecord"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"###### **What does it do?**\nThis endpoint can be used to retrieve a list of `flexible time records`. To fetch *flexible time record comments*, you have to use this [endpoint](https://apidoc.factorialhr.com/v2.0/reference/get_api-v2-resources-project-management-flexible-time-record-comments) and pass the `flexible_time_record_id` as a param.\n###### **What params does it accept?**\n\n  - `ids`: retrieve only the `flexible time records` that matches the `ids` passed in the request.\n  - `project_worker_ids`: retrieve only the `flexible time records` assigned to any `project_worker` specified in the request.\n  - `starts_on`: filter `flexible time records` that started **later** the given param.\n  - `ends_on`: filter `flexible time records` that started **before** the given param.\n  - `updated_after`: this parameter is needed to filter flexible time records created or updated after a date.\n\n###### **Is it related to other entities?**\nA `flexible time record` is always related to a `project worker` and can optionally be related to a `subproject`.\n###### **Who can use it?**\nOnly companies who have enabled `projects_flexible_tracking` feature and users with the permission to read flexible time records.","summary":"Reads all Flexible time records","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","items":{"type":"integer"}},"required":true},{"name":"project_worker_ids[]","in":"query","schema":{"type":"array","items":{"type":"integer"}},"required":true},{"name":"starts_on","in":"query","schema":{"type":"string"}},{"name":"ends_on","in":"query","schema":{"type":"string"}},{"name":"updated_after","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/project_management_flexible_time_record"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["ProjectManagement \u003e FlexibleTimeRecord"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"###### **What does it do?**\nThis endpoint allows the creation of a new `flexible time record` with the given params. A flexible time record is used to impute time to a project, without having an strict relation with an attendance's shift. For a successful creation; the given `project` must be `active` and the given `project worker` must be `assigned`.\n###### **What params does it accept?**\n\n  - `project_worker_id`: the `project worker` that will be related to the `flexible time record`.\n  - `date`: the date that occured the `flexible time record`.\n  - `imputed minutes`: the amount of time that has to be imputed, in minutes.\n  - `subproject_id`: optionally, the id of the `subproject` worked on.\n\n###### **Who can use it?**\nOnly companies who have enabled `projects_flexible_tracking` feature and users with the permission to create flexible time records.","summary":"Creates a Flexible time record","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/project_management_flexible_time_record"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["project_worker_id","date","imputed_minutes"],"properties":{"project_worker_id":{"type":"integer"},"date":{"type":"string"},"imputed_minutes":{"type":"integer"},"subproject_id":{"type":"integer"}}}}}}}},"/api/2026-04-01/resources/project_management/flexible_time_records/{id}":{"get":{"tags":["ProjectManagement \u003e FlexibleTimeRecord"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"###### **What does it do?**\nThis endpoint can be used to retrieve a list of `flexible time records`. To fetch *flexible time record comments*, you have to use this [endpoint](https://apidoc.factorialhr.com/v2.0/reference/get_api-v2-resources-project-management-flexible-time-record-comments) and pass the `flexible_time_record_id` as a param.\n###### **What params does it accept?**\n\n  - `ids`: retrieve only the `flexible time records` that matches the `ids` passed in the request.\n  - `project_worker_ids`: retrieve only the `flexible time records` assigned to any `project_worker` specified in the request.\n  - `starts_on`: filter `flexible time records` that started **later** the given param.\n  - `ends_on`: filter `flexible time records` that started **before** the given param.\n  - `updated_after`: this parameter is needed to filter flexible time records created or updated after a date.\n\n###### **Is it related to other entities?**\nA `flexible time record` is always related to a `project worker` and can optionally be related to a `subproject`.\n###### **Who can use it?**\nOnly companies who have enabled `projects_flexible_tracking` feature and users with the permission to read flexible time records.","summary":"Reads a single Flexible time record","parameters":[{"name":"id","example":"1","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/project_management_flexible_time_record"}}}}}},"put":{"tags":["ProjectManagement \u003e FlexibleTimeRecord"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"###### **What does it do?**\nThis endpoint is used to update the amount of time that has been imputed for the `flexible time record`.\n###### **What params does it accept?**\n\n  - `imputed minutes`: the new amount of time that has to be imputed, in minutes.\n\n###### **Who can use it?**\nOnly companies who have enabled `projects_flexible_tracking` feature and users with the permission to update flexible time records.","summary":"Updates a Flexible time record","parameters":[{"name":"id","example":"1","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/project_management_flexible_time_record"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id","imputed_minutes"],"properties":{"id":{"type":"integer"},"imputed_minutes":{"type":"integer"}}}}}}},"delete":{"tags":["ProjectManagement \u003e FlexibleTimeRecord"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"###### **What does it do?**\nThis endpoint is used to delete a `flexible time record`.\n###### **What params does it accept?**\n\n  - `id`: the id of the `flexible time record` willing to be deleted.\n\n###### **Who can use it?**\nOnly companies who have enabled `projects_flexible_tracking` feature and users with the permission to delete flexible time records.","summary":"Deletes a Flexible time record","parameters":[{"name":"id","example":"1","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/project_management_flexible_time_record"}}}}}}},"/api/2026-04-01/resources/project_management/flexible_time_record_comments":{"get":{"tags":["ProjectManagement \u003e FlexibleTimeRecordComment"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"###### **What does it do?**\nThis endpoint can be used to read a 'flexible time record comment'\n###### **What params does it accept?**\n\n  - 'flexible_time_record_id':  the `flexible time record` to which the comment to be read is associated. Must be an integer.\n  - 'ids': the comment id to be fetched. Has to be an array of integers.\n###### **Who can use it?**\nOnly companies who have enabled `projects_flexible_tracking` feature.","summary":"Reads all Flexible time record comments","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","items":{"type":"integer"}}},{"name":"flexible_time_record_id","in":"query","schema":{"type":"integer"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/project_management_flexible_time_record_comment"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["ProjectManagement \u003e FlexibleTimeRecordComment"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"###### **What does it do?**\nThis endpoint can be used to create a comment for an already existing `flexible time record`. In order to retrieve the comment, you can use the `read` endpoint for `flexible time records`.\n###### **What params does it accept?**\n\n  - `content`: the content itself for the comment to be created.\n  - `flexible_time_record_id`: the `flexible time record` to which the comment should be associated.\n\n###### **Is it related to other entities?**\nA `flexible time record comment` is always related to a `flexible time record`.\n###### **Who can use it?**\nOnly companies who have enabled `projects_flexible_tracking` feature.","summary":"Creates a Flexible time record comment","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/project_management_flexible_time_record_comment"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["content","flexible_time_record_id"],"properties":{"content":{"type":"string"},"flexible_time_record_id":{"type":"integer"}}}}}}}},"/api/2026-04-01/resources/project_management/flexible_time_record_comments/{id}":{"get":{"tags":["ProjectManagement \u003e FlexibleTimeRecordComment"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"###### **What does it do?**\nThis endpoint can be used to read a 'flexible time record comment'\n###### **What params does it accept?**\n\n  - 'flexible_time_record_id':  the `flexible time record` to which the comment to be read is associated. Must be an integer.\n  - 'ids': the comment id to be fetched. Has to be an array of integers.\n###### **Who can use it?**\nOnly companies who have enabled `projects_flexible_tracking` feature.","summary":"Reads a single Flexible time record comment","parameters":[{"name":"id","example":"1","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/project_management_flexible_time_record_comment"}}}}}}},"/api/2026-04-01/resources/project_management/flexible_time_record_comments/delete_by_flexible_time_record":{"post":{"tags":["ProjectManagement \u003e FlexibleTimeRecordComment"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"###### **What does it do?**\nThis endpoint can be used to delete a `flexible time record comment`.\n###### **What params does it accept?**\n\n  - `flexible_time_record_id`: the `flexible time record` to which the comment to be deleted is associated.\n\n###### **Who can use it?**\nOnly companies who have enabled `projects_flexible_tracking` feature.","summary":"Delete by flexible time records a Flexible time record comment","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/project_management_flexible_time_record_comment"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["flexible_time_record_id"],"properties":{"flexible_time_record_id":{"type":"integer"}}}}}}}},"/api/2026-04-01/resources/project_management/flexible_time_record_comments/update_by_flexible_time_record":{"post":{"tags":["ProjectManagement \u003e FlexibleTimeRecordComment"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"###### **What does it do?**\nThis endpoint can be used to update the content for a `flexible time record comment`.\n###### **What params does it accept?**\n\n  - `content`: the new content for the comment.\n  - `flexible_time_record_id`: the `flexible time record` to which the comment to be updated is associated.\n\n###### **Who can use it?**\nOnly companies who have enabled `projects_flexible_tracking` feature.","summary":"Update by flexible time records a Flexible time record comment","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/project_management_flexible_time_record_comment"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["flexible_time_record_id","content"],"properties":{"flexible_time_record_id":{"type":"integer"},"content":{"type":"string"}}}}}}}},"/api/2026-04-01/resources/project_management/planned_records":{"get":{"tags":["ProjectManagement \u003e PlannedRecord"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Planned records","summary":"Reads all Planned records","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"Retrieve only the planned records that matches the ids provided in the request.","example":[314159],"items":{"type":"integer"}},"description":"Retrieve only the planned records that matches the ids provided in the request.","example":[314159]},{"name":"project_worker_ids[]","in":"query","schema":{"type":"array","description":"Retrieve only the planned records that matches the project worker ids provided in the request.","example":[314159],"items":{"type":"integer"}},"description":"Retrieve only the planned records that matches the project worker ids provided in the request.","example":[314159]},{"name":"start_date","in":"query","schema":{"type":"string","description":"Retrieve only the planned records that matches the start date provided in the request.","example":"2025-01-01"},"description":"Retrieve only the planned records that matches the start date provided in the request.","example":"2025-01-01"},{"name":"end_date","in":"query","schema":{"type":"string","description":"Retrieve only the planned records that matches the end date provided in the request.","example":"2025-01-03"},"description":"Retrieve only the planned records that matches the end date provided in the request.","example":"2025-01-03"},{"name":"subproject_ids[]","in":"query","schema":{"type":"array","description":"Retrieve only the planned records that matches the subproject ids provided in the request.","example":[314159],"items":{"type":"integer"}},"description":"Retrieve only the planned records that matches the subproject ids provided in the request.","example":[314159]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/project_management_planned_record"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/project_management/planned_records/{id}":{"get":{"tags":["ProjectManagement \u003e PlannedRecord"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Planned record","summary":"Reads a single Planned record","parameters":[{"name":"id","example":"314159","description":"Retrieve only the planned records that matches the ids provided in the request.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/project_management_planned_record"}}}}}},"put":{"tags":["ProjectManagement \u003e PlannedRecord"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Updates a Planned record","summary":"Updates a Planned record","parameters":[{"name":"id","example":"314159","description":"The id of the planned record to update","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/project_management_planned_record"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id","start_date","end_date","daily_minutes"],"properties":{"id":{"type":"integer","description":"The id of the planned record to update","example":314159},"start_date":{"type":"string","description":"The start date to update the planned record for","example":"2025-01-01"},"end_date":{"type":"string","description":"The end date to update the planned record for","example":"2025-01-03"},"daily_minutes":{"type":"integer","description":"The daily minutes to update the planned record for","example":100},"project_worker_id":{"type":"integer","description":"The project worker id to update the planned record for","example":314159},"week_days":{"type":"array","description":"The week days to update the planned record for, start in Sunday 0 and end in Saturday 6","example":[1,2,3,4,5],"items":{"type":"integer"}}}}}}}},"delete":{"tags":["ProjectManagement \u003e PlannedRecord"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Deletes a Planned record","summary":"Deletes a Planned record","parameters":[{"name":"id","example":"314159","description":"The id of the planned record to delete","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/project_management_planned_record"}}}}}}},"/api/2026-04-01/resources/project_management/planned_records/bulk_create":{"post":{"tags":["ProjectManagement \u003e PlannedRecord"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Bulk creates a Planned record","summary":"Bulk creates a Planned record","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/project_management_planned_record"}}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["project_worker_ids","start_date","end_date","daily_minutes"],"properties":{"project_worker_ids":{"type":"array","description":"The project worker ids to create the planned records for","example":[314159],"items":{"type":"integer"}},"start_date":{"type":"string","description":"The start date to create the planned records for","example":"2025-01-01"},"end_date":{"type":"string","description":"The end date to create the planned records for","example":"2025-01-03"},"daily_minutes":{"type":"integer","description":"The daily minutes to create the planned records for","example":100},"subproject_id":{"type":"integer","description":"The subproject id to create the planned records for","example":314159},"week_days":{"type":"array","description":"The week days to create the planned records for, start in Sunday 0 and end in Saturday 6","example":[1,2,3,4,5],"items":{"type":"integer"}}}}}}}}},"/api/2026-04-01/resources/project_management/projects":{"get":{"tags":["ProjectManagement \u003e Project"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"###### **What does it do?** This reads the data of projects, and retrieves the information based on the permissions:\n\n  - If the user has the `team_leader` permission, he will only be able to read the projects that he is the team leader.\n  - If the user has the `reportees` permission, he will only be able to read the projects that he is the team leader or the projects that he is a team member.\n  - If the user has `everyone` permission, he will be able to read all projects.\n  - If the user has the `owned` permission, he will only be able to read the projects that he is the assigned.\n\n###### **Is it related to other entities?** A project is always related to a company, so you can use the query params to list only the projects that are related to a specific company. ###### **Who can use it?** Only companies who have enabled the `projects_management` feature and users with the permission of read projects.","summary":"Reads all Projects","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"Retrieve only the projects that matches the ids provided in the request.","example":[314159,271828],"items":{"type":"integer"}},"description":"Retrieve only the projects that matches the ids provided in the request.","example":[314159,271828]},{"name":"name","in":"query","schema":{"type":"string","description":"Retrieve only the projects that match the name passed in the request. (deprecated)","example":"Project Name"},"description":"Retrieve only the projects that match the name passed in the request. (deprecated)","example":"Project Name"},{"name":"name_or_code","in":"query","schema":{"type":"string","description":"Retrieve only the projects that match the name or code passed in the request.","example":"Project Name"},"description":"Retrieve only the projects that match the name or code passed in the request.","example":"Project Name"},{"name":"include_inputed_minutes","in":"query","schema":{"type":"boolean","description":"If true we will perform the minutes calculations and will be return the total inputed_minutes. If false, 0 will be returned and no minutes calculations will be performed.","example":true},"description":"If true we will perform the minutes calculations and will be return the total inputed_minutes. If false, 0 will be returned and no minutes calculations will be performed.","example":true,"required":true},{"name":"include_costs","in":"query","schema":{"type":"boolean","description":"If true we will perform the costs calculations and will be return the total cost. If false, 0 will be returned and no costs calculations will be performed.","example":true},"description":"If true we will perform the costs calculations and will be return the total cost. If false, 0 will be returned and no costs calculations will be performed.","example":true},{"name":"updated_after","in":"query","schema":{"type":"string","description":"Retrieve only the projects that were created or updated after the date provided in the request.","example":"1993-08-23"},"description":"Retrieve only the projects that were created or updated after the date provided in the request.","example":"1993-08-23"},{"name":"legal_entity_id","in":"query","schema":{"type":"integer","description":"Retrieve only the projects that are related to the legal entity passed in the request.","example":123},"description":"Retrieve only the projects that are related to the legal entity passed in the request.","example":123},{"name":"client_ids[]","in":"query","schema":{"type":"array","description":"Retrieve only the projects that are related to the clients passed in the request, refers to finance/contacts.","example":[314159,271828],"items":{"type":"integer"}},"description":"Retrieve only the projects that are related to the clients passed in the request, refers to finance/contacts.","example":[314159,271828]},{"name":"no_clients","in":"query","schema":{"type":"boolean","description":"Retrieve only the projects that are not related to any client, refers to finance/contacts.","example":false},"description":"Retrieve only the projects that are not related to any client, refers to finance/contacts.","example":false},{"name":"total_currency","in":"query","schema":{"type":"string","description":"Retrieve only the projects that have the total cost in the currency passed in the request.","example":"USD"},"description":"Retrieve only the projects that have the total cost in the currency passed in the request.","example":"USD"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/project_management_project"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["ProjectManagement \u003e Project"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"###### **What does it do?**\nThis creates a new project. By default, the project will be created with the status `active`.\n###### **What body params do you need?**\n\n  - `name`: is mandatory to pass a name of the project.\n  - `code`: optional unique code for the project to be identifiable and searchable.\n  - `start_date`: optional start date for the project. If given must be in iso-8601 format (YYYY-MM-DD).\n  - `due_date`: optional due date for the project. If given must be in iso-8601 format (YYYY-MM-DD).\n  - `status`: a project can have the status `active` or `closed`. By default, the project will be created with the status `active`.\n  - `employees_assignment`: optional param to define the kind of assignation the project has. Its possible values are: [`manual`, `company`]. A project can have `manual` assignation or can be defined to be assigned to the whole `company`. Defaults to `manual`.\n###### **Who can use it?**\nOnly companies who have enabled the `projects_management` feature and users with the permission of create projects.","summary":"Creates a Project","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/project_management_project"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["name"],"properties":{"name":{"type":"string","description":"Mandatory to pass a name of the project.","example":"Project Name"},"code":{"type":"string","description":"Optional unique code for the project to be identifiable and searchable.","example":"PRO"},"description":{"type":"string","description":"Description of the project.","example":"A comprehensive project to develop and implement a new customer relationship management system"},"start_date":{"type":"string","description":"Optional start date for the project. If given must be in iso-8601 format (YYYY-MM-DD).","example":"2024-10-30"},"due_date":{"type":"string","description":"Optional due date for the project. If given must be in iso-8601 format (YYYY-MM-DD).","example":"2026-01-01"},"status":{"type":"string","description":"Project status. Can be `active` or `closed`","example":"active"},"employees_assignment":{"type":"string","description":"Optional param to define the kind of assignation the project has. Can be `manual` or `company`","example":"company"},"project_admins":{"type":"array","description":"Array of employee IDs who are project administrators","example":[314159],"items":{"type":"integer"}},"project_managers":{"type":"array","description":"Array of employee IDs who are project managers","example":[271828],"items":{"type":"integer"}},"is_billable":{"type":"boolean","description":"Whether the project is billable to clients","example":true},"fixed_cost_cents":{"type":"integer","description":"Fixed cost of the project in cents","example":50000},"budget_allocation":{"type":"integer","description":"Budget allocation in minutes for the project, it's exclusive of the budget_allocation_cents","example":1200},"legal_entity_id":{"type":"integer","description":"The legal entity ID associated with the project","example":123},"budget_allocation_cents":{"type":"integer","description":"Budget allocation amount in cents, it's exclusive of the budget_allocation","example":100000},"fee_amount_cents":{"type":"integer","description":"Fee amount in cents for the project","example":25000},"client_id":{"type":"integer","description":"Client associated to the project, refers to finance/contacts.","example":1}}}}}}}},"/api/2026-04-01/resources/project_management/projects/{id}":{"get":{"tags":["ProjectManagement \u003e Project"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"###### **What does it do?** This reads the data of projects, and retrieves the information based on the permissions:\n\n  - If the user has the `team_leader` permission, he will only be able to read the projects that he is the team leader.\n  - If the user has the `reportees` permission, he will only be able to read the projects that he is the team leader or the projects that he is a team member.\n  - If the user has `everyone` permission, he will be able to read all projects.\n  - If the user has the `owned` permission, he will only be able to read the projects that he is the assigned.\n\n###### **Is it related to other entities?** A project is always related to a company, so you can use the query params to list only the projects that are related to a specific company. ###### **Who can use it?** Only companies who have enabled the `projects_management` feature and users with the permission of read projects.","summary":"Reads a single Project","parameters":[{"name":"id","example":"314159","description":"Retrieve only the projects that matches the ids provided in the request.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/project_management_project"}}}}}},"put":{"tags":["ProjectManagement \u003e Project"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"###### **What does it do?**\nThis updates a project with the given params.\n###### **Who can use it?**\nOnly companies who have enabled the `projects_management` feature and users with a role in the project.","summary":"Updates a Project","parameters":[{"name":"id","example":"314159","description":"Id project.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/project_management_project"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id","name"],"properties":{"id":{"type":"integer","description":"Id project.","example":314159},"name":{"type":"string","description":"Name of the project.","example":"Project Name"},"code":{"type":"string","description":"Code for the project to be identifiable and searchable.","example":"PRO"},"description":{"type":"string","description":"Description of the project.","example":"A comprehensive project to develop and implement a new customer relationship management system"},"start_date":{"type":"string","description":"Start date for the project. If given must be in iso-8601 format (YYYY-MM-DD).","example":"2025-01-01"},"due_date":{"type":"string","description":"Due date for the project. If given must be in iso-8601 format (YYYY-MM-DD).","example":"2026-01-01"},"client_id":{"type":"integer","description":"Client associated to the project, refers to finance/contacts.","example":123},"legal_entity_id":{"type":"integer","description":"Id of the legal entity for the currency of the project","example":123}}}}}}}},"/api/2026-04-01/resources/project_management/projects/activate":{"post":{"tags":["ProjectManagement \u003e Project"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"###### **What does it do?**\nThis endpoint can be used to set a project as `Active`.\n###### **What body params do you need?**\n  - `id`: mandatory. The id of the project aimed to be activated.\n\n###### **Who can use it?**\nOnly companies who have enabled the `projects_management` feature and users with a role in the project.","summary":"Activates a Project","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/project_management_project"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer"}}}}}}}},"/api/2026-04-01/resources/project_management/projects/change_assignment":{"post":{"tags":["ProjectManagement \u003e Project"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"###### **What does it do?** **DEPRECATED**; this endpoint will be removed soon.\nThis changes assignment type to a project.\n###### **Who can use it?**\nOnly companies who have enabled the `projects_management` feature and users with the permission of assign employees.","summary":"Change assignments a Project","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/project_management_project"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id","employees_assignment"],"properties":{"id":{"type":"integer"},"employees_assignment":{"type":"string"}}}}}}}},"/api/2026-04-01/resources/project_management/projects/change_status":{"post":{"tags":["ProjectManagement \u003e Project"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"###### **What does it do?**\nThis update the project status.\n###### **Who can use it?**\nOnly companies who have enabled the `projects_management` feature and users with owner permission.","summary":"Change statuses a Project","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/project_management_project"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id","status"],"properties":{"id":{"type":"integer","description":"Id project.","example":314159},"status":{"type":"string","description":"new status of the projects","enum":["active","closed","draft"],"example":"active"}}}}}}}},"/api/2026-04-01/resources/project_management/projects/close":{"post":{"tags":["ProjectManagement \u003e Project"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"###### **What does it do?**\nThis endpoint can be used to set a project as `Closed`.\n###### **What body params do you need?**\n  - `id`: mandatory. The id of the project aimed to be closed.\n\n###### **Who can use it?**\nOnly companies who have enabled the `projects_management` feature and users with a role in the project.","summary":"Closes a Project","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/project_management_project"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer"}}}}}}}},"/api/2026-04-01/resources/project_management/projects/soft_delete":{"post":{"tags":["ProjectManagement \u003e Project"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"###### **What does it do?**\nThis soft deletes a project.\n###### **Who can use it?**\nOnly companies who have enabled the `projects_management` feature and users with the permission of delete projects.","summary":"Soft deletes a Project","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/project_management_project"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer"}}}}}}}},"/api/2026-04-01/resources/project_management/project_tasks":{"get":{"tags":["ProjectManagement \u003e ProjectTask"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"###### **What does it do?**\nThis reads the data of projects tasks, and retrieves the information based on permissions:\n\n  - If the user can see all company projects for everybody, the endpoint will return a list with the tasks from the related projects.\n  - If the user can create projects for everybody, the endpoint will return a list with the tasks from the related projects.\n  - If the user has any role (editor or owner) on the project, the endpoint will return a list with the tasks from the related projects where the user has that role.\n  - If those conditions are not matched, the endpoint will return an empty list.\n\n###### **What params does it accept?**\n\n  - `ids`: retrieve only the projects tasks that matches the ids passed in the request.\n  - `project_ids`: retrieve only the projects tasks from the projects that matched the ids passed in the request.\n  - `subproject_ids`: retrieve only the projects tasks from the subprojects that matched the ids passed in the request.\n  - `completed`: boolean - retrieve only the projects tasks with the status completed.\n  - `overdue`: boolean - retrieve only the projects tasks that are overdue.\n  - `search`:  retrieve only the projects tasks that their name match with the content passed as argument.\n  - `due_status`: retrieve only the project tasks that their due status match with the content passed as argument.\n  - `client_ids`: retrieve only the projects tasks from the clients that matched the ids passed in the request.\n\n###### **Who can use it?**\n\n  Only companies who have enabled the `projects_management` feature and users with the permission of read projects.","summary":"Reads all Project tasks","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"Retrieve only the projects tasks that matches the ids passed in the request.","example":[314159,271828],"items":{"type":"integer"}},"description":"Retrieve only the projects tasks that matches the ids passed in the request.","example":[314159,271828],"required":true},{"name":"project_ids[]","in":"query","schema":{"type":"array","description":"Retrieve only the projects tasks from the projects that matched the ids passed in the request.","example":[314159,271828],"items":{"type":"integer"}},"description":"Retrieve only the projects tasks from the projects that matched the ids passed in the request.","example":[314159,271828],"required":true},{"name":"subproject_ids[]","in":"query","schema":{"type":"array","description":"Retrieve only the projects tasks from the subprojects that matched the ids passed in the request.","example":[314159,271828],"items":{"type":"integer"}},"description":"Retrieve only the projects tasks from the subprojects that matched the ids passed in the request.","example":[314159,271828],"required":true},{"name":"task_ids[]","in":"query","schema":{"type":"array","items":{"type":"integer"}}},{"name":"completed","in":"query","schema":{"type":"boolean","description":"Retrieve only the projects tasks with the status completed.","example":true},"description":"Retrieve only the projects tasks with the status completed.","example":true,"required":true},{"name":"overdue","in":"query","schema":{"type":"boolean","description":"Retrieve only the projects tasks that are overdue.","example":true},"description":"Retrieve only the projects tasks that are overdue.","example":true,"required":true},{"name":"search","in":"query","schema":{"type":"string","description":"Retrieve only the projects tasks that their name match with the content passed as argument.","example":"Project Name"},"description":"Retrieve only the projects tasks that their name match with the content passed as argument.","example":"Project Name","required":true},{"name":"due_status","in":"query","schema":{"type":"string","description":"Retrieve only the project tasks that their due status match with the content passed as argument.","enum":["no_due","due_today","over_due","due_in_future"],"example":"due_in_future"},"description":"Retrieve only the project tasks that their due status match with the content passed as argument.","example":"due_in_future","required":true},{"name":"client_ids[]","in":"query","schema":{"type":"array","description":"Retrieve only the projects tasks from the clients that matched the ids passed in the request.","example":[314159,271828],"items":{"type":"integer"}},"description":"Retrieve only the projects tasks from the clients that matched the ids passed in the request.","example":[314159,271828],"required":true}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/project_management_project_task"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["ProjectManagement \u003e ProjectTask"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"###### **What does it do?**\nThis creates a new project task. It will also create a new normal task in the system linked with the project task.\n###### **Who can use it?**\nOnly companies who have enabled the `projects_management` feature and users with the permission of create projects.","summary":"Creates a Project task","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/project_management_project_task"}}}}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","required":["name","project_id","status"],"properties":{"name":{"type":"string","description":"The name of the project task","example":"Complete project documentation"},"content":{"type":"string","description":"The content/description of the project task","example":"Write comprehensive documentation for the new feature"},"starts_on":{"type":"string","description":"The date when the project task starts","example":"2024-01-15"},"follow_up":{"type":"boolean","description":"If true, status changes related to the project will notify the author","example":true},"due_on":{"type":"string","description":"The date when the project task will be due","example":"2024-02-01"},"assignee_employee_ids[]":{"type":"array","description":"The value of the assignee employee ids of the project task","example":[15],"items":{"type":"integer"}},"project_id":{"type":"integer","description":"The ID of the project where the task belongs","example":123},"subproject_id":{"type":"integer","description":"The ID of the subproject where the project task belongs","example":456},"files[]":{"type":"array","description":"Array of files that will be attached to the project task","items":{"type":"string","format":"binary"}},"status":{"type":"string","description":"The status of the project task","enum":["todo","in_progress","done","discarded"],"example":"todo"}}}}}}}},"/api/2026-04-01/resources/project_management/project_tasks/{id}":{"get":{"tags":["ProjectManagement \u003e ProjectTask"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"###### **What does it do?**\nThis reads the data of projects tasks, and retrieves the information based on permissions:\n\n  - If the user can see all company projects for everybody, the endpoint will return a list with the tasks from the related projects.\n  - If the user can create projects for everybody, the endpoint will return a list with the tasks from the related projects.\n  - If the user has any role (editor or owner) on the project, the endpoint will return a list with the tasks from the related projects where the user has that role.\n  - If those conditions are not matched, the endpoint will return an empty list.\n\n###### **What params does it accept?**\n\n  - `ids`: retrieve only the projects tasks that matches the ids passed in the request.\n  - `project_ids`: retrieve only the projects tasks from the projects that matched the ids passed in the request.\n  - `subproject_ids`: retrieve only the projects tasks from the subprojects that matched the ids passed in the request.\n  - `completed`: boolean - retrieve only the projects tasks with the status completed.\n  - `overdue`: boolean - retrieve only the projects tasks that are overdue.\n  - `search`:  retrieve only the projects tasks that their name match with the content passed as argument.\n  - `due_status`: retrieve only the project tasks that their due status match with the content passed as argument.\n  - `client_ids`: retrieve only the projects tasks from the clients that matched the ids passed in the request.\n\n###### **Who can use it?**\n\n  Only companies who have enabled the `projects_management` feature and users with the permission of read projects.","summary":"Reads a single Project task","parameters":[{"name":"id","example":"314159","description":"Retrieve only the projects tasks that matches the ids passed in the request.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/project_management_project_task"}}}}}},"put":{"tags":["ProjectManagement \u003e ProjectTask"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"###### **What does it do?**\nThis update a project task.\n###### **Who can use it?**\nOnly companies who have enabled the `projects_management` feature and users with the permission of create projects.","summary":"Updates a Project task","parameters":[{"name":"id","example":"789","description":"The ID of the project task to update","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/project_management_project_task"}}}}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","required":["id","name","project_id"],"properties":{"id":{"type":"integer","description":"The ID of the project task to update","example":789},"name":{"type":"string","description":"The name of the project task","example":"Complete project documentation"},"content":{"type":"string","description":"The content/description of the project task","example":"Write comprehensive documentation for the new feature"},"starts_on":{"type":"string","description":"The date when the project task starts","example":"2024-01-15"},"follow_up":{"type":"boolean","description":"If true, status changes related to the project will notify the author","example":true},"due_on":{"type":"string","description":"The date when the project task will be due","example":"2024-02-01"},"assignee_employee_ids[]":{"type":"array","description":"The value of the assignee employee ids of the project task","example":[15],"items":{"type":"integer"}},"project_id":{"type":"integer","description":"The ID of the project where the task belongs","example":123},"subproject_id":{"type":"integer","description":"The ID of the subproject where the project task belongs","example":456},"files_to_add[]":{"type":"array","description":"Array of files to add to the project task","items":{"type":"string","format":"binary"}},"files_to_remove[]":{"type":"array","description":"Array of files to remove from the project task","items":{"type":"integer"}},"status":{"type":"string","description":"The status of the project task","enum":["todo","in_progress","done","discarded"],"example":"in_progress"}}}}}}}},"/api/2026-04-01/resources/project_management/project_tasks/bulk_destroy":{"post":{"tags":["ProjectManagement \u003e ProjectTask"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"###### **What does it do?**\nThis will delete the project tasks with the ids passed as an argument.\n###### **What params does it accept?**\n\n  - `ids`: Project task ids\n\n###### **Who can use it?**\nOnly companies who have enabled the `projects_management` feature and users with the permission of read projects.","summary":"Bulk destroys a Project task","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/project_management_project_task"}}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["ids"],"properties":{"ids":{"type":"array","items":{"type":"integer"}}}}}}}}},"/api/2026-04-01/resources/project_management/project_tasks/bulk_duplicate":{"post":{"tags":["ProjectManagement \u003e ProjectTask"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"###### **What does it do?**\nThis will create new project tasks with the same attributes as the project task ids passed as an argument.\n###### **What params does it accept?**\n\n  - `ids`: Project task ids\n\n###### **Who can use it?**\nOnly companies who have enabled the `projects_management` feature and users with the permission of read projects.","summary":"Bulk duplicates a Project task","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/project_management_project_task"}}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["ids"],"properties":{"project_id":{"type":"integer","description":"Project id where the tasks will be duplicated","example":1},"subproject_id":{"type":"integer","description":"Subproject id where the tasks will be duplicated","example":1},"ids":{"type":"array","description":"Task ids to be duplicated","example":[1,2,3],"items":{"type":"integer"}},"exclude_assignees":{"type":"boolean","description":"Set this to true if you want to exclude assignees from the duplicated tasks","example":true}}}}}}}},"/api/2026-04-01/resources/project_management/project_workers":{"get":{"tags":["ProjectManagement \u003e ProjectWorker"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"###### **What does it do?**\nThis endpoint reads and retrieves a list of project workers. You can utilize URL parameters to filter the results.\n###### **Is it related to other entities?**\nA project_worker is always related to a project and a employee. Only a `project worker` is able to add time to a project using the `time_record` entity.\n###### **Who can use it?**\nOnly companies who have enabled the `projects_management` feature and users with the permission to read project workers.","summary":"Reads all Project workers","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"Retrieve only the project workers that matches the ids provided in the request.","example":[92732,2],"items":{"type":"integer"}},"description":"Retrieve only the project workers that matches the ids provided in the request.","example":[92732,2]},{"name":"project_ids[]","in":"query","schema":{"type":"array","description":"Retrieve only the project workers that matches the project_ids provided in the request.","example":[314159,33],"items":{"type":"integer"}},"description":"Retrieve only the project workers that matches the project_ids provided in the request.","example":[314159,33]},{"name":"subproject_ids[]","in":"query","schema":{"type":"array","description":"Retrieve only the project workers that matches the subproject_ids provided in the request.","example":[5,6],"items":{"type":"integer"}},"description":"Retrieve only the project workers that matches the subproject_ids provided in the request.","example":[5,6]},{"name":"no_subproject","in":"query","schema":{"type":"boolean","description":"Retrieve the project workers that are not assigned to any subproject (can be combined with subproject_ids)."},"description":"Retrieve the project workers that are not assigned to any subproject (can be combined with subproject_ids)."},{"name":"employee_ids[]","in":"query","schema":{"type":"array","description":"Retrieve only the project workers that are related to the employee_ids provided in the request.","example":[21,22],"items":{"type":"integer"}},"description":"Retrieve only the project workers that are related to the employee_ids provided in the request.","example":[21,22]},{"name":"assigned","in":"query","schema":{"type":"boolean","description":"Retrieve project workers that are assigned if true or in not-assigned status if false.","example":true},"description":"Retrieve project workers that are assigned if true or in not-assigned status if false.","example":true},{"name":"project_active","in":"query","schema":{"type":"boolean","description":"Retrieve the project workers that are assigned to active projects if turew or closed projects if false.","example":true},"description":"Retrieve the project workers that are assigned to active projects if turew or closed projects if false.","example":true},{"name":"employee_name","in":"query","schema":{"type":"string","description":"Retrieve only the project workers that matches the given employee's name provided in the request.","example":"John D"},"description":"Retrieve only the project workers that matches the given employee's name provided in the request.","example":"John D"},{"name":"include_inputed_minutes","in":"query","schema":{"type":"boolean","description":"If true we will perform the minutes calculations and will be return the total inputed_minutes. If false, 0 will be returned and no minutes calculations will be performed.","example":true},"description":"If true we will perform the minutes calculations and will be return the total inputed_minutes. If false, 0 will be returned and no minutes calculations will be performed.","example":true},{"name":"include_cost","in":"query","schema":{"type":"boolean","description":"If true, costs of the project worker will be included to the response.","example":true},"description":"If true, costs of the project worker will be included to the response.","example":true},{"name":"updated_after","in":"query","schema":{"type":"string","description":"Retrieve only the project workers that were created or updated after the date provided in the request.","example":"1993-08-23"},"description":"Retrieve only the project workers that were created or updated after the date provided in the request.","example":"1993-08-23"},{"name":"include_labor_cost","in":"query","schema":{"type":"boolean"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/project_management_project_worker"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["ProjectManagement \u003e ProjectWorker"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"###### **What does it do?**\nThis creates a new project worker. By default, the project worker will be created with the status `assigned`.\n###### **Who can use it?**\nOnly companies who have enabled the `projects_management` feature and users with a role in the given project.","summary":"Creates a Project worker","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/project_management_project_worker"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["project_id","employee_id"],"properties":{"project_id":{"type":"integer","description":"The id of the project to assign the employee project worker.","example":314159},"employee_id":{"type":"integer","description":"The id of the employee to be assigned to the project.","example":21}}}}}}}},"/api/2026-04-01/resources/project_management/project_workers/{id}":{"get":{"tags":["ProjectManagement \u003e ProjectWorker"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"###### **What does it do?**\nThis endpoint reads and retrieves a list of project workers. You can utilize URL parameters to filter the results.\n###### **Is it related to other entities?**\nA project_worker is always related to a project and a employee. Only a `project worker` is able to add time to a project using the `time_record` entity.\n###### **Who can use it?**\nOnly companies who have enabled the `projects_management` feature and users with the permission to read project workers.","summary":"Reads a single Project worker","parameters":[{"name":"id","example":"92732","description":"Retrieve only the project workers that matches the ids provided in the request.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/project_management_project_worker"}}}}}}},"/api/2026-04-01/resources/project_management/project_workers/bulk_assign":{"post":{"tags":["ProjectManagement \u003e ProjectWorker"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"###### **What does it do?**\nThis method is used to specify a set of employees that should be assigned as a result of the execution. All the employees in the list will be assigned and all others will be unassigned.\n###### **Who can use it?**\nOnly companies who have enabled the `projects_management` feature and users with a role in the given project.","summary":"Bulk assigns a Project worker","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/project_management_project_worker"}}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["employee_ids"],"properties":{"project_id":{"type":"integer","description":"**DEPRECATED** in favor of `project_ids`. Please use `project_ids` instead","example":314159},"project_ids":{"type":"array","description":"Set of project_ids to assign to the employees specified in the next param.","example":[33,34],"items":{"type":"integer"}},"employee_ids":{"type":"array","description":"Set of a employee_ids that must be **assigned** after execution.","example":[21,22,23],"items":{"type":"integer"}}}}}}}}},"/api/2026-04-01/resources/project_management/project_workers/bulk_create":{"post":{"tags":["ProjectManagement \u003e ProjectWorker"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Bulk creates a Project worker","summary":"Bulk creates a Project worker","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/project_management_project_worker"}}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["project_id","employee_ids"],"properties":{"project_id":{"type":"integer","description":"The id of the project to assign the given employees.","example":314159},"employee_ids":{"type":"array","description":"The id of the employee to be assigned to the projects.","example":[21,22],"items":{"type":"integer"}}}}}}}}},"/api/2026-04-01/resources/project_management/project_workers/unassign":{"post":{"tags":["ProjectManagement \u003e ProjectWorker"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Unassigns a Project worker","summary":"Unassigns a Project worker","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/project_management_project_worker"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer","description":"The id of the project worker to be unassigned.","example":92732}}}}}}}},"/api/2026-04-01/resources/project_management/subprojects":{"get":{"tags":["ProjectManagement \u003e Subproject"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"###### **What does it do?**\nThis reads all subprojects created\n###### **What params does it accept?**\n\n  - `ids`: retrieve only the subprojects that matches the ids passed in the request.\\n\n  - `include_inputed_minutes`: if `true` we will perform the minutes calculations and will be return the total `inputed_minutes`. If the param is not passed in the request, its default value is `FALSE` so it will return `inputed_minutes: 0` and no minutes calculations will be performed.\n  - `updated_after`: this parameter is needed to filter subprojects created or updated after a date.\n\n###### **Is it related to other entities?**\nA subproject is always related to a project, so you can use the query params to list only the subprojects that are related to a specific project.\n###### **Who can use it?**\nOnly companies who have enabled the `projects_with_subprojects` feature and users with the permission of read subprojects.","summary":"Reads all Subprojects","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"Retrieve only the subprojects that matches the ids passed in the request.","example":[314],"items":{"type":"integer"}},"description":"Retrieve only the subprojects that matches the ids passed in the request.","example":[314]},{"name":"project_ids[]","in":"query","schema":{"type":"array","description":"Retrieve only the subprojects that belongs to the project ids passed in the request.","example":[11],"items":{"type":"integer"}},"description":"Retrieve only the subprojects that belongs to the project ids passed in the request.","example":[11]},{"name":"name","in":"query","schema":{"type":"string","description":"Retrieve only the subprojects that matches the name passed in the request.","example":"Subproject name"},"description":"Retrieve only the subprojects that matches the name passed in the request.","example":"Subproject name"},{"name":"include_no_subproject","in":"query","schema":{"type":"boolean"}},{"name":"include_inputed_minutes","in":"query","schema":{"type":"boolean","description":"If `true` we will perform the minutes calculations and will be return the total `inputed_minutes`. If the param is not passed in the request, its default value is `FALSE` so it will return `inputed_minutes: 0` and no minutes calculations will be performed.","example":true},"description":"If `true` we will perform the minutes calculations and will be return the total `inputed_minutes`. If the param is not passed in the request, its default value is `FALSE` so it will return `inputed_minutes: 0` and no minutes calculations will be performed.","example":true},{"name":"include_cost","in":"query","schema":{"type":"boolean","description":"If `true` we will perform the cost calculations and will be return the total `labor_cost_cents`. If the param is not passed in the request, its default value is `FALSE` so it will return `labor_cost_cents: 0` and no cost calculations will be performed.","example":true},"description":"If `true` we will perform the cost calculations and will be return the total `labor_cost_cents`. If the param is not passed in the request, its default value is `FALSE` so it will return `labor_cost_cents: 0` and no cost calculations will be performed.","example":true},{"name":"updated_after","in":"query","schema":{"type":"string","description":"Retrieve only the subprojects that were updated after the date passed in the request.","example":"1993-08-23"},"description":"Retrieve only the subprojects that were updated after the date passed in the request.","example":"1993-08-23"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/project_management_subproject"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["ProjectManagement \u003e Subproject"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"###### **What does it do?**\nThis creates a new subproject.\n###### **Is it related to other entities?**\nA subproject is always related to a project.\n###### **Who can use it?**\nOnly companies who have enabled the `projects_with_subprojects` feature and users with a role in the project owning the subproject.","summary":"Creates a Subproject","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/project_management_subproject"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["name","project_id"],"properties":{"name":{"type":"string"},"project_id":{"type":"integer"}}}}}}}},"/api/2026-04-01/resources/project_management/subprojects/{id}":{"get":{"tags":["ProjectManagement \u003e Subproject"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"###### **What does it do?**\nThis reads all subprojects created\n###### **What params does it accept?**\n\n  - `ids`: retrieve only the subprojects that matches the ids passed in the request.\\n\n  - `include_inputed_minutes`: if `true` we will perform the minutes calculations and will be return the total `inputed_minutes`. If the param is not passed in the request, its default value is `FALSE` so it will return `inputed_minutes: 0` and no minutes calculations will be performed.\n  - `updated_after`: this parameter is needed to filter subprojects created or updated after a date.\n\n###### **Is it related to other entities?**\nA subproject is always related to a project, so you can use the query params to list only the subprojects that are related to a specific project.\n###### **Who can use it?**\nOnly companies who have enabled the `projects_with_subprojects` feature and users with the permission of read subprojects.","summary":"Reads a single Subproject","parameters":[{"name":"id","example":"314","description":"Retrieve only the subprojects that matches the ids passed in the request.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/project_management_subproject"}}}}}},"put":{"tags":["ProjectManagement \u003e Subproject"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"###### **What does it do?**\nThis updates the subproject details.","summary":"Updates a Subproject","parameters":[{"name":"id","example":"314","description":"The id of the subproject.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/project_management_subproject"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer","description":"The id of the subproject.","example":314},"name":{"type":"string","description":"The name of the subproject.","example":"Subproject name"},"description":{"type":"string","description":"The description of the subproject.","example":"Subproject description"},"status":{"type":"string","description":"The status of the subproject.","enum":["active","closed","draft","processing"],"example":"active"},"code":{"type":"string","description":"The code of the subproject.","example":"SUB123"},"start_date":{"type":"string","description":"The start date of the subproject.","example":"2025-01-01"},"due_date":{"type":"string","description":"The due date of the subproject.","example":"2025-01-01"}}}}}}},"delete":{"tags":["ProjectManagement \u003e Subproject"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"###### **What does it do?**\nThis deletes a subproject.\n###### **Who can use it?**\nOnly companies who have enabled the `projects_with_subprojects` feature and users with a role in the project owning the subproject.","summary":"Deletes a Subproject","parameters":[{"name":"id","example":"1","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/project_management_subproject"}}}}}}},"/api/2026-04-01/resources/project_management/subprojects/rename":{"post":{"tags":["ProjectManagement \u003e Subproject"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"###### **What does it do?**\nThis renames a subproject.\n###### **Who can use it?**\nOnly companies who have enabled the `projects_with_subprojects` feature and users with a role in the project owning the subproject.","summary":"Renames a Subproject","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/project_management_subproject"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id","name"],"properties":{"id":{"type":"integer"},"name":{"type":"string"}}}}}}}},"/api/2026-04-01/resources/project_management/time_records":{"get":{"tags":["ProjectManagement \u003e TimeRecord"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"###### **What does it do?**\nThis endpoint reads and retrieves a list of time records. You can utilize URL parameters to filter the results.\n###### **What params does it accept?**\n\n  - `ids`: retrieve only the time records that matches the `ids` passed in the request.\n  - `project_workers_ids`: Retrieve only the time records assigned to any `project_workers_ids` passed in the request.\n  - `subproject_ids`: retrieve only the time records related with any `subproject_ids` passed in the request.\n  - `attendance_shift_ids`: retrieve only the time records related with any `attendance_shift_ids` passed in the request.\n  - `employee_ids`: ⚠️ This param, will be deprecated soon. **Please use `project_worker_ids` param instead.**\n  - `month`: Filter time records created in a specific month of the year.\n  - `year`: To be used with the `month` parameter to filter time records created in a particular period.\n  - `updated_after`: this parameter is needed to filter time records created or updated after a date.\n\n###### **Is it related to other entities?**\nA `time_record` is mandatory related to a `project_worker_id` and an `attendance_shift_id`. Optionally, it can be related to a subproject.\n###### **Who can use it?**\nOnly companies who have enabled the `projects_management` feature and users with the permission to read time_records.","summary":"Reads all Time records","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"Time record ids to retrieve","example":[1,2],"items":{"type":"integer"}},"description":"Time record ids to retrieve","example":[1,2]},{"name":"project_worker_ids[]","in":"query","schema":{"type":"array","description":"Project worker ids to retrieve","example":[1,2],"items":{"type":"integer"}},"description":"Project worker ids to retrieve","example":[1,2]},{"name":"subproject_ids[]","in":"query","schema":{"type":"array","description":"Subproject ids to retrieve","example":[1,2],"items":{"type":"integer"}},"description":"Subproject ids to retrieve","example":[1,2]},{"name":"attendance_shift_ids[]","in":"query","schema":{"type":"array","description":"Attendance shift ids to retrieve","example":[1,2],"items":{"type":"integer"}},"description":"Attendance shift ids to retrieve","example":[1,2]},{"name":"employee_ids[]","in":"query","schema":{"type":"array","description":"Employee ids to retrieve","example":[1,2],"items":{"type":"integer"}},"description":"Employee ids to retrieve","example":[1,2]},{"name":"month","in":"query","schema":{"type":"integer","description":"Month to filter","example":1},"description":"Month to filter","example":1},{"name":"year","in":"query","schema":{"type":"integer","description":"Year to filter","example":2021},"description":"Year to filter","example":2021},{"name":"updated_after","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/project_management_time_record"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["ProjectManagement \u003e TimeRecord"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"###### **What does it do?**\n\"This endpoint is used to create time records. A time record is an entity that establishes a mandatory relationship between `project_worker` and `attendance_shift_id`, and optionally with `subproject`. For a successful creation of a `time_record`, the `project_worker` must be **assigned**, and the associated `project` must be **active**.\"\n###### **Who can use it?**\nOnly companies who have enabled the `projects_management` feature and users with the permission to create `time_records`.","summary":"Creates a Time record","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/project_management_time_record"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["project_worker_id"],"properties":{"project_worker_id":{"type":"integer"},"attendance_shift_id":{"type":"integer"},"subproject_id":{"type":"integer"}}}}}}}},"/api/2026-04-01/resources/project_management/time_records/{id}":{"get":{"tags":["ProjectManagement \u003e TimeRecord"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"###### **What does it do?**\nThis endpoint reads and retrieves a list of time records. You can utilize URL parameters to filter the results.\n###### **What params does it accept?**\n\n  - `ids`: retrieve only the time records that matches the `ids` passed in the request.\n  - `project_workers_ids`: Retrieve only the time records assigned to any `project_workers_ids` passed in the request.\n  - `subproject_ids`: retrieve only the time records related with any `subproject_ids` passed in the request.\n  - `attendance_shift_ids`: retrieve only the time records related with any `attendance_shift_ids` passed in the request.\n  - `employee_ids`: ⚠️ This param, will be deprecated soon. **Please use `project_worker_ids` param instead.**\n  - `month`: Filter time records created in a specific month of the year.\n  - `year`: To be used with the `month` parameter to filter time records created in a particular period.\n  - `updated_after`: this parameter is needed to filter time records created or updated after a date.\n\n###### **Is it related to other entities?**\nA `time_record` is mandatory related to a `project_worker_id` and an `attendance_shift_id`. Optionally, it can be related to a subproject.\n###### **Who can use it?**\nOnly companies who have enabled the `projects_management` feature and users with the permission to read time_records.","summary":"Reads a single Time record","parameters":[{"name":"id","example":"1","description":"Time record ids to retrieve","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/project_management_time_record"}}}}}},"delete":{"tags":["ProjectManagement \u003e TimeRecord"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Deletes a Time record","summary":"Deletes a Time record","parameters":[{"name":"id","example":"1","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/project_management_time_record"}}}}}}},"/api/2026-04-01/resources/project_management/time_records/bulk_delete":{"post":{"tags":["ProjectManagement \u003e TimeRecord"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"###### **What does it do?**\nThis endpoint is used to bulk delete all the time records in a particular `date` for a specific `project_worker_id`.","summary":"Bulk deletes a Time record","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/project_management_time_record"}}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["date","project_worker_id"],"properties":{"date":{"type":"string"},"project_worker_id":{"type":"integer"},"subproject_id":{"type":"integer"}}}}}}}},"/api/2026-04-01/resources/project_management/time_records/bulk_process":{"post":{"tags":["ProjectManagement \u003e TimeRecord"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"###### **What does it do?**\nThis versatile endpoint allows for the creation, update, or deletion of a time record associated with an `attendance_shift_id`. To achieve this, provide an array of items with the following structure:\n\n  ```json\n    [{\n      \"time_record_id\": number | null,\n      \"attendance_shift_id\": number | null,\n      \"project_worker_id\": number | null,\n      \"subproject_id\": number | null\n    }]\n  ```\n\n  - If no `time_record_id` provided, a created will be performed with the other data that will be required (except for `subproject_id`, that is always optional).\n  - If `time_record_id but no other data provided, then the action will be a **delete**.\n  - If `time_record_id` and more data, then it's an **update**.\n\nPlease note: The relationship between `time_record` and `attendance_shift` is unique. In the provided array of items, if two items have exactly the same `attendance_shift_id`, only the last action specified will be executed, **unless the first action is a delete and the second one an update**.\n###### **Who can use it?**\nOnly companies who have enabled the `projects_management` feature.","summary":"Bulk processes a Time record","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/project_management_time_record"}}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["items"],"properties":{"items":{"type":"array","items":{}}}}}}}}},"/api/2026-04-01/resources/project_management/time_records/update_project_worker":{"post":{"tags":["ProjectManagement \u003e TimeRecord"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"###### **What does it do?**\nThis endpoint is used to change the project that an employee (`project_worker`) has assigned to an `attendance_shift`.","summary":"Update project workers a Time record","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/project_management_time_record"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id","project_worker_id"],"properties":{"id":{"type":"integer"},"project_worker_id":{"type":"integer"},"subproject_id":{"type":"integer"}}}}}}}},"/api/2026-04-01/resources/shift_management/shifts":{"get":{"tags":["ShiftManagement \u003e Shift"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Shifts","summary":"Reads all Shifts","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"Filter shifts by their unique identifiers. Returns only shifts matching the provided IDs. If an empty array is provided, returns no results","example":[1],"items":{"type":"integer"}},"description":"Filter shifts by their unique identifiers. Returns only shifts matching the provided IDs. If an empty array is provided, returns no results","example":[1]},{"name":"without_ids[]","in":"query","schema":{"type":"array","description":"Exclude shifts with these identifiers from the results. Useful for filtering out specific shifts while keeping others","example":[3],"items":{"type":"integer"}},"description":"Exclude shifts with these identifiers from the results. Useful for filtering out specific shifts while keeping others","example":[3]},{"name":"employee_ids[]","in":"query","schema":{"type":"array","description":"Filter shifts by employee identifiers. Returns only shifts assigned to the specified employees. If not provided, returns shifts for all accessible employees","example":[1],"items":{"type":"integer"}},"description":"Filter shifts by employee identifiers. Returns only shifts assigned to the specified employees. If not provided, returns shifts for all accessible employees","example":[1]},{"name":"location_ids[]","in":"query","schema":{"type":"array","description":"Filter shifts by location identifiers. Returns shifts that occur at the specified locations. Can be combined with employee_ids for more precise filtering","example":[3],"items":{"type":"integer"}},"description":"Filter shifts by location identifiers. Returns shifts that occur at the specified locations. Can be combined with employee_ids for more precise filtering","example":[3]},{"name":"start_at","in":"query","schema":{"type":"string","description":"Filter shifts that end on or after this date. Only the date (calendar day) is used; the time part is ignored (treated as start of day, 00:00:00). Shifts are included if their end time is at or after the start of the specified day","example":"2020-01-01"},"description":"Filter shifts that end on or after this date. Only the date (calendar day) is used; the time part is ignored (treated as start of day, 00:00:00). Shifts are included if their end time is at or after the start of the specified day","example":"2020-01-01"},{"name":"end_at","in":"query","schema":{"type":"string","description":"Filter shifts that start before this date. Only the date (calendar day) is used; the time part is ignored (treated as end of day, 23:59:59). Shifts are included if their start time is before the end of the specified day","example":"2020-12-31"},"description":"Filter shifts that start before this date. Only the date (calendar day) is used; the time part is ignored (treated as end of day, 23:59:59). Shifts are included if their start time is before the end of the specified day","example":"2020-12-31"},{"name":"only_published","in":"query","schema":{"type":"boolean","description":"When true, returns only shifts with state 'published' (visible to employees). When false, returns shifts in all states (draft, published, backup) based on your permissions","example":false},"description":"When true, returns only shifts with state 'published' (visible to employees). When false, returns shifts in all states (draft, published, backup) based on your permissions","example":false},{"name":"only_states[]","in":"query","schema":{"type":"array","description":"Filter shifts by their state. Provide an array of states ('draft', 'published', 'backup') to include. Can be combined with other filters for precise control","enum":["draft","published","backup"],"example":["draft","published"],"items":{"type":"string"}},"description":"Filter shifts by their state. Provide an array of states ('draft', 'published', 'backup') to include. Can be combined with other filters for precise control","example":["draft","published"]},{"name":"split_overnight_shifts","in":"query","schema":{"type":"boolean","description":"When true, shifts that span across midnight (overnight shifts) are split into two separate shift objects - one for each calendar day. This makes it easier to display shifts in day-based views","example":false},"description":"When true, shifts that span across midnight (overnight shifts) are split into two separate shift objects - one for each calendar day. This makes it easier to display shifts in day-based views","example":false}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/shift_management_shift"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["ShiftManagement \u003e Shift"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Creates a Shift","summary":"Creates a Shift","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/shift_management_shift"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["start_at","end_at","employee_id","company_id"],"properties":{"name":{"type":"string","description":"Display name of the shift. If not explicitly set, falls back to the default shift title or template week name","example":"Morning shift"},"start_at":{"type":"string","description":"Timestamp indicating when the shift starts. Required parameter","example":"2020-09-07T06:00:00.000+00:00"},"end_at":{"type":"string","description":"Timestamp indicating when the shift ends. Required parameter","example":"2020-09-07T15:00:00.000+00:00"},"notes":{"type":"string","description":"Optional notes or comments about the shift, visible to managers and schedulers","example":"This is a shift note"},"employee_id":{"type":"integer","description":"Identifier of the employee assigned to this shift. Required parameter","example":1},"location_id":{"type":"integer","description":"Identifier of the location where the shift takes place. Can be null if the shift uses the employee's default location","example":3},"work_area_id":{"type":"integer","description":"Identifier of the specific work area within the location where the shift occurs. Work areas allow further subdivision of locations","example":5},"company_id":{"type":"integer","description":"Identifier of the company that owns this shift. Required parameter","example":1}}}}}}}},"/api/2026-04-01/resources/shift_management/shifts/{id}":{"get":{"tags":["ShiftManagement \u003e Shift"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Shift","summary":"Reads a single Shift","parameters":[{"name":"id","example":"1","description":"Filter shifts by their unique identifiers. Returns only shifts matching the provided IDs. If an empty array is provided, returns no results","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/shift_management_shift"}}}}}},"delete":{"tags":["ShiftManagement \u003e Shift"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Deletes a Shift","summary":"Deletes a Shift","parameters":[{"name":"id","example":"1","description":"Shift identifier to delete","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/shift_management_shift"}}}}}}},"/api/2026-04-01/resources/shift_management/shifts/bulk_create":{"post":{"tags":["ShiftManagement \u003e Shift"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Bulk creates a Shift","summary":"Bulk creates a Shift","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/shift_management_shift"}}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["shifts"],"properties":{"shifts":{"type":"array","description":"Array of shift objects to create. Each shift object represents a scheduled work period for an employee","items":{}},"planned_breaks":{"type":"array","description":"An array of planned breaks to be added to the shifts created.","items":{}}}}}}}}},"/api/2026-04-01/resources/shift_management/shifts/bulk_delete":{"post":{"tags":["ShiftManagement \u003e Shift"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Bulk deletes a Shift","summary":"Bulk deletes a Shift","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/shift_management_shift"}}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["author_id"],"properties":{"ids":{"type":"array","description":"Filter shifts by their unique identifiers. Deletes only shifts matching the provided IDs. If not provided, uses other filters to determine which shifts to delete","example":[1],"items":{"type":"integer"}},"start_at":{"type":"string","description":"Filter shifts that end on or after this date. Only the date (calendar day) is used; the time part is ignored (treated as start of day, 00:00:00). Shifts are included if their end time is at or after the start of the specified day","example":"2020-01-01T15:00:00.000+00:00"},"end_at":{"type":"string","description":"Filter shifts that start before this date. Only the date (calendar day) is used; the time part is ignored (treated as end of day, 23:59:59). Shifts are included if their start time is before the end of the specified day","example":"2020-12-31T15:00:00.000+00:00"},"employee_ids":{"type":"array","description":"Filter shifts by employee identifiers. Deletes only shifts assigned to the specified employees. Can be combined with start_at and end_at for precise bulk deletion","example":[1],"items":{"type":"integer"}},"author_id":{"type":"integer","description":"Identifier of the user/access who is performing the bulk delete operation. Used for audit purposes and tracking who deleted the shifts","example":1781}}}}}}}},"/api/2026-04-01/resources/tasks/tasks":{"get":{"tags":["Tasks \u003e Task"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"This endpoint retrieves all tasks created.","summary":"Reads all Tasks","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"retrieve only the tasks that match the IDs passed in the request.","example":[1,2,3],"items":{"type":"integer"}},"description":"retrieve only the tasks that match the IDs passed in the request.","example":[1,2,3]},{"name":"company_id","in":"query","schema":{"type":"integer","description":"retrieve the tasks that have a company_id associated","example":1},"description":"retrieve the tasks that have a company_id associated","example":1},{"name":"assignee_id","in":"query","schema":{"type":"integer","description":"retrieve the tasks that have an assignee_id associated, assignee_id references to employee_id.","example":1},"description":"retrieve the tasks that have an assignee_id associated, assignee_id references to employee_id.","example":1},{"name":"due_on","in":"query","schema":{"type":"string","description":"filter by tasks that have a due date.","example":"2024-06-06"},"description":"filter by tasks that have a due date.","example":"2024-06-06"},{"name":"already_due","in":"query","schema":{"type":"boolean","description":"filter by tasks that have expired or are still due.","example":true},"description":"filter by tasks that have expired or are still due.","example":true},{"name":"task_status","in":"query","schema":{"type":"string","description":"filter by tasks that with an especific status (todo | in_progress | done | discarded).","enum":["todo","in_progress","done","discarded"],"example":"todo"},"description":"filter by tasks that with an especific status (todo | in_progress | done | discarded).","example":"todo"},{"name":"involvee_id","in":"query","schema":{"type":"integer","description":"retrieve tasks where the user is affectee or assignee","example":1},"description":"retrieve tasks where the user is affectee or assignee","example":1},{"name":"category","in":"query","schema":{"type":"string","description":"filter by tasks that have a specific category","enum":["benefits","complaints","compensation","documents","engagement","finance","organization","performance","policies","recruitment","software","spending","surveys","timeoff","time_planning","time_tracking","training"],"example":"benefits"},"description":"filter by tasks that have a specific category","example":"benefits"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/tasks_task"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["Tasks \u003e Task"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"This endpoint creates a new task.","summary":"Creates a Task","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tasks_task"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["name","status"],"properties":{"name":{"type":"string","description":"name of the task.","example":"My task"},"content":{"type":"string","description":"description of the task","example":"Complete your performance review before Friday"},"due_on":{"type":"string","description":"expiration date of the task.","example":"2024-06-06"},"assignee_ids":{"type":"array","description":"Employees assigned to the task, assignee_id references to access_id.","example":[1,2,3],"items":{"type":"integer"}},"status":{"type":"string","description":"status of the task (todo | in_progress | done | discarded).","enum":["todo","in_progress","done","discarded"],"example":"todo"}}}}}}}},"/api/2026-04-01/resources/tasks/tasks/{id}":{"get":{"tags":["Tasks \u003e Task"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"This endpoint retrieves all tasks created.","summary":"Reads a single Task","parameters":[{"name":"id","example":"1","description":"retrieve only the tasks that match the IDs passed in the request.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tasks_task"}}}}}},"put":{"tags":["Tasks \u003e Task"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"This endpoint updates an existing task.","summary":"Updates a Task","parameters":[{"name":"id","example":"1","description":"id of a task.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tasks_task"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer","description":"id of a task.","example":1},"name":{"type":"string","description":"name of  task.","example":"My task"},"content":{"type":"string","description":"description of the task.","example":"Complete your performance review before Friday"},"due_on":{"type":"string","description":"expiration date of the task.","example":"2024-06-06"},"assignee_ids":{"type":"array","description":"employees assigned to the task, assignee_id references to access_id.","example":[1],"items":{"type":"integer"}},"status":{"type":"string","description":"status of the task (todo | in_progress | done | discarded).","enum":["todo","in_progress","done","discarded"],"example":"todo"}}}}}}},"delete":{"tags":["Tasks \u003e Task"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"This endpoint deletes a task.","summary":"Deletes a Task","parameters":[{"name":"id","example":"1","description":"id of the task.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tasks_task"}}}}}}},"/api/2026-04-01/resources/tasks/tasks/bulk_create":{"post":{"tags":["Tasks \u003e Task"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"This endpoint creates a new task for each assignee.","summary":"Bulk creates a Task","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/tasks_task"}}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["name","status"],"properties":{"name":{"type":"string","description":"name of the task.","example":"My task"},"content":{"type":"string","description":"description of the task","example":"Complete your performance review before Friday"},"due_on":{"type":"string","description":"expiration date of the task.","example":"2024-06-06"},"assignee_ids":{"type":"array","description":"Employees assigned to the task, assignee_id references to access_id.","example":[1,2,3],"items":{"type":"integer"}},"status":{"type":"string","description":"status of the task (todo | in_progress | done | discarded).","enum":["todo","in_progress","done","discarded"],"example":"todo"}}}}}}}},"/api/2026-04-01/resources/tasks/tasks/bulk_delete":{"post":{"tags":["Tasks \u003e Task"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"This endpoint allows to delete a list of tasks given the ids.","summary":"Bulk deletes a Task","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/tasks_task"}}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["ids"],"properties":{"ids":{"type":"array","description":"a list of task ids.","example":[1,2,3],"items":{"type":"integer"}}}}}}}}},"/api/2026-04-01/resources/tasks/tasks/bulk_update":{"post":{"tags":["Tasks \u003e Task"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Bulk updates a Task","summary":"Bulk updates a Task","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/tasks_task"}}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["tasks"],"properties":{"tasks":{"type":"array","description":"a list of tasks to update.","example":[{"id":1,"name":"My task","content":"Complete your performance review before Friday","due_on":"2024-06-06","assignee_ids":[1],"status":"todo"}],"items":{}}}}}}}}},"/api/2026-04-01/resources/tasks/tasks/copy":{"post":{"tags":["Tasks \u003e Task"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"This endpoint duplicates a task.","summary":"Copies a Task","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tasks_task"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer","description":"id of the task.","example":1},"name":{"type":"string","description":"name of the task","example":"My task"}}}}}}}},"/api/2026-04-01/resources/tasks/tasks/create_comment":{"post":{"tags":["Tasks \u003e Task"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Create comments a Task","summary":"Create comments a Task","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tasks_task"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["content","author_id","resource_id","company_id"],"properties":{"content":{"type":"string"},"author_id":{"type":"integer"},"resource_id":{"type":"integer"},"company_id":{"type":"integer"},"mentioned_access_ids":{"type":"array","items":{"type":"integer"}}}}}}}}},"/api/2026-04-01/resources/tasks/task_files":{"get":{"tags":["Tasks \u003e TaskFile"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Task files","summary":"Reads all Task files","parameters":[{"name":"task_id","in":"query","schema":{"type":"integer","description":"identifier of the task","example":1},"description":"identifier of the task","example":1,"required":true},{"name":"ids[]","in":"query","schema":{"type":"array","description":"identifiers of the files","example":[1,2,3],"items":{"type":"integer"}},"description":"identifiers of the files","example":[1,2,3]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/tasks_task_file"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["Tasks \u003e TaskFile"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Creates a Task file","summary":"Creates a Task file","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tasks_task_file"}}}}},"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","required":["task_id","file"],"properties":{"task_id":{"type":"integer","description":"identifier of the task","example":1},"file":{"type":"string","description":"file to attach to the task","example":"expenses.png","format":"binary"}}}}}}}},"/api/2026-04-01/resources/tasks/task_files/{id}":{"get":{"tags":["Tasks \u003e TaskFile"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Task file","summary":"Reads a single Task file","parameters":[{"name":"id","example":"1","description":"identifiers of the files","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tasks_task_file"}}}}}},"delete":{"tags":["Tasks \u003e TaskFile"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Deletes a Task file","summary":"Deletes a Task file","parameters":[{"name":"id","example":"2","description":"identifier of the file","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/tasks_task_file"}}}}}}},"/api/2026-04-01/resources/teams/memberships":{"get":{"tags":["Teams \u003e Membership"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Get all memberships.","summary":"Reads all Memberships","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"Membership ids.","example":[1,2,3],"items":{"type":"integer"}},"description":"Membership ids.","example":[1,2,3]},{"name":"lead","in":"query","schema":{"type":"boolean","description":"Whether the employee is a lead of the team or not","example":true},"description":"Whether the employee is a lead of the team or not","example":true},{"name":"team_ids[]","in":"query","schema":{"type":"array","description":"Team ids.","example":[3,5,7],"items":{"type":"integer"}},"description":"Team ids.","example":[3,5,7]},{"name":"employee_ids[]","in":"query","schema":{"type":"array","description":"Employee ids.","example":[10,12,13],"items":{"type":"integer"}},"description":"Employee ids.","example":[10,12,13]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/teams_membership"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["Teams \u003e Membership"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Assign an employee to a team, meaning create a membership.","summary":"Creates a Membership","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/teams_membership"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["team_id","employee_id"],"properties":{"team_id":{"type":"integer","description":"Team id.","example":1},"employee_id":{"type":"integer","description":"Employee id.","example":5},"lead":{"type":"boolean","description":"Makes the employee a lead of the team.","example":true}}}}}}}},"/api/2026-04-01/resources/teams/memberships/{id}":{"get":{"tags":["Teams \u003e Membership"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Get all memberships.","summary":"Reads a single Membership","parameters":[{"name":"id","example":"1","description":"Membership ids.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/teams_membership"}}}}}},"put":{"tags":["Teams \u003e Membership"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Update the membership to either make the employee a lead of the team or remove them as a lead.","summary":"Updates a Membership","parameters":[{"name":"id","example":"1","description":"Membership id.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/teams_membership"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer","description":"Membership id.","example":1},"lead":{"type":"boolean","description":"Assign an employee as a lead for their respective team.","example":true}}}}}}},"delete":{"tags":["Teams \u003e Membership"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Delete the membership to remove the employee from the team.","summary":"Deletes a Membership","parameters":[{"name":"id","example":"1","description":"Membership id.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/teams_membership"}}}}}}},"/api/2026-04-01/resources/teams/teams":{"get":{"tags":["Teams \u003e Team"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Gets all the teams","summary":"Reads all Teams","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","items":{"type":"integer"}}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/teams_team"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["Teams \u003e Team"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Create a team with a given name","summary":"Creates a Team","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/teams_team"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["name"],"properties":{"name":{"type":"string","description":"Name of the team.","example":"Management"},"description":{"type":"string","description":"Description of the team","example":"Management team description"}}}}}}}},"/api/2026-04-01/resources/teams/teams/{id}":{"get":{"tags":["Teams \u003e Team"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Gets all the teams","summary":"Reads a single Team","parameters":[{"name":"id","example":"1","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/teams_team"}}}}}},"put":{"tags":["Teams \u003e Team"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Update a team","summary":"Updates a Team","parameters":[{"name":"id","example":"1","description":"id of the team","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/teams_team"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer","description":"id of the team","example":1},"name":{"type":"string","description":"name of the team","example":"Engineering"},"description":{"type":"string","description":"Description of the team","example":"Engineering team description"},"avatar":{"type":"string","description":"Avatar of the team","example":"https://api.factorialhr.com/rails/active_storage/representations/redirect/bob.png","format":"binary"}}}}}}},"delete":{"tags":["Teams \u003e Team"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Delete a team","summary":"Deletes a Team","parameters":[{"name":"id","example":"1","description":"id of the team","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/teams_team"}}}}}}},"/api/2026-04-01/resources/timeoff/allowances":{"get":{"tags":["Timeoff \u003e Allowance"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Retrieves allowances","summary":"Reads all Allowances","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"An array of allowance ids to look for","example":[1,2],"items":{"type":"integer"}},"description":"An array of allowance ids to look for","example":[1,2]},{"name":"timeoff_policy_id","in":"query","schema":{"type":"integer","description":"Filter allowances by Time off policy id","example":1},"description":"Filter allowances by Time off policy id","example":1},{"name":"by_overtime","in":"query","schema":{"type":"boolean","description":"Filter by only overtime allowances","example":true},"description":"Filter by only overtime allowances","example":true}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/timeoff_allowance"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["Timeoff \u003e Allowance"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Creates a new Time off allowance","summary":"Creates an Allowance","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/timeoff_allowance"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["accrued_units_availability","allowance_type","available_days","count_holiday_as_workable","cycle_start","days_type","holiday_allowance_in_cents","leave_type_ids","name","negative_counter_type","proration_type","pto_proratio_enabled","rounding","source_units","tenure_periods","timeoff_policy_id","unlimited_accrued_hours","unlimited_carry_over","unlimited_carry_over_expiration","unlimited_holidays"],"properties":{"accrued_denominator_in_cents":{"type":"integer","description":"Only for Allowances based on worked time. It represents how many units you need to work to be granted allowance units","example":1000},"accrued_factor_in_cents":{"type":"integer","description":"Only for Allowances based on worked time. It represents how many units you are given per unit of time worked","example":10},"accrued_units_availability":{"type":"string","description":"When can the accrued units be spent.","enum":["current_cycle","next_cycle"],"example":"current_cycle"},"allowance_type":{"type":"string","description":"Sets the allowance units. Can be \"days\" or \"hours\"","enum":["days","hours"],"example":"days"},"available_days":{"type":"string","description":"Indicates how the allowance units are accrued. For example all_days means all allowance days are given on the first day of the cycle.","enum":["all_days","generated_days","generated_days_monthly","generated_days_monthly_first_day","monthly_fifteenth","mensiversary","bimonthly_first_and_fifteenth","bimonthly_fifteenth_and_last"],"example":"all_days"},"carry_over_units_in_cents":{"type":"integer","description":"How many units can carry over between cycles multiplied by 100","example":1500},"count_holiday_as_workable":{"type":"boolean","description":"This setting flags if units taken during a bank holiday should be deducted or not from allowance.","example":false},"cycle_length":{"type":"integer","description":"How many months does each allowance cycle last","example":12},"cycle_start":{"type":"string","description":"When does the cycle start.","enum":["jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec","employee_hired_date"],"example":"jan"},"days_type":{"type":"string","description":"Indicates if the allowance is based on working on calendar days.","enum":["working_days","natural_days","natural_days_only_range","french_calendar_days","french_ouvres"],"example":"working_days"},"expire_in_months":{"type":"integer","description":"When does the carryover expire in months.","example":6},"frequency":{"type":"string","description":"Defines duration of the allowance cycles. Can be \"yearly\", \"monthly_flexible\" or \"lifetime\"","enum":["monthly_flexible","yearly","lifetime"],"example":"yearly"},"holiday_allowance_in_cents":{"type":"integer","description":"Base amount of holiday allowance units multiplied by 100","example":2300},"leave_type_ids":{"type":"array","description":"An array of leave type ids associated with that allowance","example":[1,2,3,4],"items":{"type":"integer"}},"maximum_amount_in_cents":{"type":"integer","description":"Maximum the allowance can reach on accrued","example":2800},"name":{"type":"string","description":"Allowance name set by the user","example":"Holiday Allowance"},"negative_counter_type":{"type":"string","description":"Whether the allowance allows to request more days than available.","enum":["negative_counter_disabled","negative_counter_enabled"],"example":"negative_counter_disabled"},"position":{"type":"integer","description":"Indicates the position in the allowance when rendering them in UI","example":0},"proration_type":{"type":"string","description":"Whether the allowance has proration enabled or not.","enum":["proration_enabled","proration_disabled"],"example":"proration_enabled"},"pto_proratio_enabled":{"type":"boolean","description":"Whether the allowance days are prorated or not","example":false},"range_type":{"type":"string","description":"Configures how leaves duration is handled.","enum":["exact_range","extra_non_working_days_at_end"],"example":"working_days"},"rounding":{"type":"string","description":"How the accrued units of the allowance are rounded. It depends if the allowance is set in hours or days.","enum":["half_day","decimals","quarters","round_up"],"example":"half_day"},"source_units":{"type":"string","description":"This field configures the type of allowance (fixed balance, based on worked time)","enum":["base_units","overtime_units","by_worked_time"],"example":"base_units"},"tenure_period_transition":{"type":"string","description":"In case the allowance has tenure periods, when is this tenure applied.","enum":["beginning_of_cycle","end_of_cycle","after_milestone"],"example":"beginning_of_cycle"},"tenure_periods_enabled":{"type":"boolean","description":"Whether the allowance has tenure periods enabled or not.","example":false},"tenure_periods":{"type":"array","description":"The tenure periods associated with the allowance.","example":[{"period_type":"years","period_length":1,"adjustment_in_cents":100,"timeoff_allowance_id":23,"max_cap_in_cents":100,"time_worked_based_hours_accrued_in_cents":100,"time_worked_based_per_hours_worked_in_cents":100,"balance_type":"fixed_balance"}],"items":{}},"timeoff_policy_id":{"type":"integer","description":"The Id of the policy to which the allowance belongs to","example":1},"unlimited_accrued_hours":{"type":"boolean","description":"Flag to indicate if there is unlimited accrual.","example":false},"unlimited_carry_over":{"type":"boolean","description":"Flag to indicate if there is unlimited carry over.","example":false},"unlimited_carry_over_expiration":{"type":"boolean","description":"Boolean to flag if carryover does not expire","example":false},"unlimited_holidays":{"type":"boolean","description":"Flag to indicate that the allowance has unlimited available days","example":false}}}}}}}},"/api/2026-04-01/resources/timeoff/allowances/{id}":{"get":{"tags":["Timeoff \u003e Allowance"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Retrieves allowances","summary":"Reads a single Allowance","parameters":[{"name":"id","example":"1","description":"An array of allowance ids to look for","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/timeoff_allowance"}}}}}},"put":{"tags":["Timeoff \u003e Allowance"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Updates an existing Time Off Allowance","summary":"Updates an Allowance","parameters":[{"name":"id","example":"1","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/timeoff_allowance"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer"},"accrued_denominator_in_cents":{"type":"integer","description":"Only for Allowances based on worked time. It represents how many units you need to work to be granted allowance units","example":1000},"accrued_factor_in_cents":{"type":"integer","description":"Only for Allowances based on worked time. It represents how many units you are given per unit of time worked","example":10},"available_days":{"type":"string","description":"Indicates how the allowance units are accrued. For example all_days means all allowance days are given on the first day of the cycle.","enum":["all_days","generated_days","generated_days_monthly","generated_days_monthly_first_day","monthly_fifteenth","mensiversary","bimonthly_first_and_fifteenth","bimonthly_fifteenth_and_last"],"example":"all_days"},"carry_over_units_in_cents":{"type":"integer","description":"How many units can carry over between cycles multiplied by 100","example":1500},"count_holiday_as_workable":{"type":"boolean","description":"This setting flags if units taken during a bank holiday should be deducted or not from allowance.","example":false},"days_type":{"type":"string","description":"Indicates if the allowance is based on working on calendar days.","enum":["working_days","natural_days","natural_days_only_range","french_calendar_days","french_ouvres"],"example":"working_days"},"expire_in_months":{"type":"integer","description":"When does the carryover expire in months.","example":6},"frequency":{"type":"string","description":"Defines duration of the allowance cycles. Can be \"yearly\", \"monthly_flexible\" or \"lifetime\"","enum":["monthly_flexible","yearly","lifetime"],"example":"yearly"},"holiday_allowance_in_cents":{"type":"integer","description":"Base amount of holiday allowance units multiplied by 100","example":2300},"leave_type_ids":{"type":"array","description":"An array of leave type ids associated with that allowance","example":[1,2,3,4],"items":{"type":"integer"}},"maximum_amount_in_cents":{"type":"integer","description":"Maximum the allowance can reach on accrued","example":2800},"name":{"type":"string","description":"Allowance name set by the user","example":"Holiday Allowance"},"negative_counter_type":{"type":"string","description":"Whether the allowance allows to request more days than available.","enum":["negative_counter_disabled","negative_counter_enabled"],"example":"negative_counter_disabled"},"position":{"type":"integer","description":"Indicates the position in the allowance when rendering them in UI","example":0},"proration_type":{"type":"string","description":"Whether the allowance has proration enabled or not.","enum":["proration_enabled","proration_disabled"],"example":"proration_enabled"},"pto_proratio_enabled":{"type":"boolean","description":"Whether the allowance days are prorated or not","example":false},"range_type":{"type":"string","description":"Configures how leaves duration is handled.","enum":["exact_range","extra_non_working_days_at_end"],"example":"working_days"},"rounding":{"type":"string","description":"How the accrued units of the allowance are rounded. It depends if the allowance is set in hours or days.","enum":["half_day","decimals","quarters","round_up"],"example":"half_day"},"tenure_period_transition":{"type":"string","description":"In case the allowance has tenure periods, when is this tenure applied.","enum":["beginning_of_cycle","end_of_cycle","after_milestone"],"example":"beginning_of_cycle"},"tenure_periods_enabled":{"type":"boolean","description":"Whether the allowance has tenure periods enabled or not.","example":false},"tenure_periods":{"type":"array","description":"The tenure periods associated with the allowance.","example":[{"period_type":"years","period_length":1,"adjustment_in_cents":100,"timeoff_allowance_id":23,"max_cap_in_cents":100,"time_worked_based_hours_accrued_in_cents":100,"time_worked_based_per_hours_worked_in_cents":100,"balance_type":"fixed_balance"}],"items":{}},"unlimited_accrued_hours":{"type":"boolean","description":"Flag to indicate if there is unlimited accrual.","example":false},"unlimited_carry_over":{"type":"boolean","description":"Flag to indicate if there is unlimited carry over.","example":false},"unlimited_carry_over_expiration":{"type":"boolean","description":"Boolean to flag if carryover does not expire","example":false},"unlimited_holidays":{"type":"boolean","description":"Flag to indicate that the allowance has unlimited available days","example":false}}}}}}},"delete":{"tags":["Timeoff \u003e Allowance"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Deletes an allowance","summary":"Deletes an Allowance","parameters":[{"name":"id","example":"1","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/timeoff_allowance"}}}}}}},"/api/2026-04-01/resources/timeoff/allowances/delete_with_alt_allowance":{"post":{"tags":["Timeoff \u003e Allowance"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Deletes an allowance and migrate the existing incidences in the alternative allowance","summary":"Delete with alt allowances an Allowance","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/timeoff_allowance"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id","alt_allowance_id"],"properties":{"id":{"type":"integer"},"alt_allowance_id":{"type":"integer","description":"Allowance id sent to migrate existing incidences from the deleted allowance to the alternative allowance","example":1}}}}}}}},"/api/2026-04-01/resources/timeoff/allowance_incidences":{"get":{"tags":["Timeoff \u003e AllowanceIncidence"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Allowance incidences","summary":"Reads all Allowance incidences","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","items":{"type":"integer"}}},{"name":"employee_ids[]","in":"query","schema":{"type":"array","items":{"type":"integer"}}},{"name":"timeoff_allowance_ids[]","in":"query","schema":{"type":"array","items":{"type":"integer"}}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/timeoff_allowance_incidence"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["Timeoff \u003e AllowanceIncidence"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Creates an allowance incidence, also known as an Allowance Adjustment in the Employee Time off Page. They are hours or days added or subtracted from the time off allowance","summary":"Creates an Allowance incidence","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/timeoff_allowance_incidence"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["employee_id","timeoff_allowance_id","days_in_cents","effective_on","target_balance"],"properties":{"employee_id":{"type":"integer","description":"Employee Id","example":6},"timeoff_allowance_id":{"type":"integer","description":"Allowance Id","example":1},"days_in_cents":{"type":"integer","description":"How many units multiplied by 100 do you want to add/substract. Can be positive or negative","example":100},"description":{"type":"string","description":"A free text field to add a description to the incidence","example":"Working on a bank holiday a different day"},"effective_on":{"type":"string","description":"When does the incidence take effect. This is related to the allowance cycle.","example":"2024-01-05"},"target_balance":{"type":"string","description":"Which counter does the incidence affect. Can be \"accrued\" or \"available\"","enum":["available","accrued"],"example":"accrued"},"_skip_notifications":{"type":"boolean","description":"When set to true, it prevents notifications being sent to employee when this incidence is created"}}}}}}}},"/api/2026-04-01/resources/timeoff/allowance_incidences/{id}":{"get":{"tags":["Timeoff \u003e AllowanceIncidence"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Allowance incidence","summary":"Reads a single Allowance incidence","parameters":[{"name":"id","example":"1","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/timeoff_allowance_incidence"}}}}}},"put":{"tags":["Timeoff \u003e AllowanceIncidence"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Updates an allowance incidence","summary":"Updates an Allowance incidence","parameters":[{"name":"id","example":"1","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/timeoff_allowance_incidence"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer"},"days_in_cents":{"type":"integer","description":"How many units multiplied by 100 do you want to add/substract. Can be positive or negative","example":100},"timeoff_allowance_id":{"type":"integer","description":"Allowance Id","example":1},"description":{"type":"string","description":"A free text field to add a description to the incidence","example":"Working on a bank holiday a different day"},"effective_on":{"type":"string","description":"When does the incidence take effect. This is related to the allowance cycle.","example":"2024-01-05"},"target_balance":{"type":"string","description":"Which counter does the incidence affect. Can be \"accrued\" or \"available\"","enum":["available","accrued"],"example":"accrued"}}}}}}},"delete":{"tags":["Timeoff \u003e AllowanceIncidence"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Deletes an allowance incidence","summary":"Deletes an Allowance incidence","parameters":[{"name":"id","example":"1","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/timeoff_allowance_incidence"}}}}}}},"/api/2026-04-01/resources/timeoff/allowance_stats":{"get":{"tags":["Timeoff \u003e AllowanceStat"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Retrieves the employee time off counters for a specific allowance with a reference date","summary":"Reads all Allowance stats","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"A virtual ID for the allowance stat, composed of employee_id/allowance_id/reference_date. Cannot be used to fetch this resource.","example":"1/2/2023-10-01","items":{"type":"string"}},"description":"A virtual ID for the allowance stat, composed of employee_id/allowance_id/reference_date. Cannot be used to fetch this resource.","example":"1/2/2023-10-01"},{"name":"employee_ids[]","in":"query","schema":{"type":"array","description":"Get the allowance stats for specific employees","example":[1],"items":{"type":"integer"}},"description":"Get the allowance stats for specific employees","example":[1]},{"name":"allowance_ids[]","in":"query","schema":{"type":"array","description":"Filter the stats by these allowance IDs","example":[1,2],"items":{"type":"integer"}},"description":"Filter the stats by these allowance IDs","example":[1,2]},{"name":"reference_date","in":"query","schema":{"type":"string","description":"The reference date to calculate the allowance stats. If not provided, it will use today's date.","example":"2023-10-01"},"description":"The reference date to calculate the allowance stats. If not provided, it will use today's date.","example":"2023-10-01"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/timeoff_allowance_stats_new"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/timeoff/allowance_stats/{id}":{"get":{"tags":["Timeoff \u003e AllowanceStat"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Retrieves the employee time off counters for a specific allowance with a reference date","summary":"Reads a single Allowance stat","parameters":[{"name":"id","example":"1/2/2023-10-01","description":"A virtual ID for the allowance stat, composed of employee_id/allowance_id/reference_date. Cannot be used to fetch this resource.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/timeoff_allowance_stats_new"}}}}}}},"/api/2026-04-01/resources/timeoff/blocked_periods":{"get":{"tags":["Timeoff \u003e BlockedPeriod"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Retrieves blocked periods","summary":"Reads all Blocked periods","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","items":{"type":"integer"}}},{"name":"company_ids[]","in":"query","schema":{"type":"array","items":{"type":"integer"}}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/timeoff_blocked_periods_policy"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["Timeoff \u003e BlockedPeriod"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Creates a blocked period is add a range of dates during which employees cannot submit time off requests. This allows to better plan your team's work throughout the year and ensure that time off requests are in line with the company's needs","summary":"Creates a Blocked period","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/timeoff_blocked_periods_policy"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["company_id","name","leave_type_ids"],"properties":{"company_id":{"type":"integer","description":"The company id","example":1},"name":{"type":"string","description":"Name of the blocked period.","example":"Onboarding period"},"leave_type_ids":{"type":"array","description":"An array of leave type identifiers for which employees can not request timeoff","example":[1,2,4],"items":{"type":"integer"}}}}}}}}},"/api/2026-04-01/resources/timeoff/blocked_periods/{id}":{"get":{"tags":["Timeoff \u003e BlockedPeriod"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Retrieves blocked periods","summary":"Reads a single Blocked period","parameters":[{"name":"id","example":"1","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/timeoff_blocked_periods_policy"}}}}}},"put":{"tags":["Timeoff \u003e BlockedPeriod"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Updates a blocked period","summary":"Updates a Blocked period","parameters":[{"name":"id","example":"1","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/timeoff_blocked_periods_policy"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id","name","leave_type_ids","time_periods_attributes","strategy"],"properties":{"id":{"type":"integer"},"name":{"type":"string","description":"Name of the blocked period.","example":"Onboarding period edited"},"leave_type_ids":{"type":"array","description":"List of leave type identifiers for which employees can not request timeoff edited","example":[1,2],"items":{"type":"integer"}},"time_periods_attributes":{"type":"array","description":"The tenure periods associated with the allowance edited.","example":[{"name":"Product offsite updated","period_type":"by_contract_start_date","duration":2,"duration_unit":"months","start_on":"2024-01-02","finish_on":"2024-02-28"}],"items":{}},"strategy":{"type":"string","description":"Type of access group","example":"fqlmultiselect"},"members":{"type":"array","description":"List of employees manually selected","example":[25,22,23],"items":{"type":"integer"}},"query":{"type":"string"},"team_ids":{"type":"array","description":"List of team identifiers which the selected employees belong to","example":[1,2],"items":{"type":"integer"}},"location_ids":{"type":"array","description":"List of locations workplace identifiers where the employees are located","example":[1,2],"items":{"type":"integer"}},"legal_entity_ids":{"type":"array","description":"List of legal entity identifiers which the selected employees belong to","example":[1,2],"items":{"type":"integer"}}}}}}}},"delete":{"tags":["Timeoff \u003e BlockedPeriod"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Deletes a blocked period","summary":"Deletes a Blocked period","parameters":[{"name":"id","example":"1","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/timeoff_blocked_periods_policy"}}}}}}},"/api/2026-04-01/resources/timeoff/leaves":{"get":{"tags":["Timeoff \u003e Leave"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Leaves","summary":"Reads all Leaves","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"The leave ids to retrieve","example":[1],"items":{"type":"integer"}},"description":"The leave ids to retrieve","example":[1]},{"name":"employee_ids[]","in":"query","schema":{"type":"array","description":"The employee ids to retrieve","example":[1],"items":{"type":"integer"}},"description":"The employee ids to retrieve","example":[1]},{"name":"leave_type_id[]","in":"query","schema":{"type":"array","description":"The leave type id to retrieve","example":[36],"items":{"type":"integer"}},"description":"The leave type id to retrieve","example":[36]},{"name":"to","in":"query","schema":{"type":"string","description":"Valid date following the format YYYY-MM-DD","example":"2028-09-30"},"description":"Valid date following the format YYYY-MM-DD","example":"2028-09-30"},{"name":"from","in":"query","schema":{"type":"string","description":"Valid date following the format YYYY-MM-DD","example":"2028-09-01"},"description":"Valid date following the format YYYY-MM-DD","example":"2028-09-01"},{"name":"only_active","in":"query","schema":{"type":"boolean","description":"Retrieve only active leaves","example":false},"description":"Retrieve only active leaves","example":false},{"name":"include_deleted_leaves","in":"query","schema":{"type":"boolean","description":"Whether to include deleted leaves (not included by default if not specified)","example":true},"description":"Whether to include deleted leaves (not included by default if not specified)","example":true,"required":true},{"name":"approved","in":"query","schema":{"type":"boolean","description":"Retrieve approved leaves","example":true},"description":"Retrieve approved leaves","example":true},{"name":"include_pending","in":"query","schema":{"type":"boolean","description":"Retrieve pending leaves","example":true},"description":"Retrieve pending leaves","example":true},{"name":"include_leave_type","in":"query","schema":{"type":"boolean","description":"Retrieve leave types","example":false},"description":"Retrieve leave types","example":false},{"name":"include_duration","in":"query","schema":{"type":"boolean","description":"Retrieve leave duration","example":true},"description":"Retrieve leave duration","example":true},{"name":"type_is_workable","in":"query","schema":{"type":"boolean","description":"Retrieve workable leaves","example":false},"description":"Retrieve workable leaves","example":false},{"name":"type_is_payable","in":"query","schema":{"type":"boolean","description":"Retrieve payable leaves","example":false},"description":"Retrieve payable leaves","example":false}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/timeoff_leave"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["Timeoff \u003e Leave"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Creates a Leave","summary":"Creates a Leave","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/timeoff_leave"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["employee_id","start_on"],"properties":{"employee_id":{"type":"integer","description":"The employee id of the leave","example":1},"leave_type_id":{"type":"integer","description":"The leave type id","example":36},"description":{"type":"string","description":"The description of the leave","example":"Annual family vacation"},"start_on":{"type":"string","description":"The valid start date of the leave following the format YYYY-MM-DD","example":"2028-09-05"},"finish_on":{"type":"string","description":"The valid end date of the leave following the format YYYY-MM-DD","example":"2028-09-05"},"half_day":{"type":"string","description":"If the leave is in: [beggining_of_day, end_of_day]"},"start_time":{"type":"string","description":"The start time of a leave","example":"09:00"},"hours_amount_in_cents":{"type":"integer","description":"The hours amount in cents of a leave","example":"800"},"medical_leave_type":{"type":"integer","description":"The medical leave type","example":"4"},"effective_on":{"type":"string","description":"The effective on date of a leave following the format YYYY-MM-DD","example":"2024-05-05"},"medical_discharge_reason":{"type":"string","description":"The medical discharge reason of a leave","example":"Illness"},"colegiate_number":{"type":"integer","description":"The colegiate number of a leave","example":150},"has_previous_relapse":{"type":"boolean","description":"If the leave has previous relapse","example":false},"relapse_leave_id":{"type":"integer","description":"The leave relapse id","example":1},"relapse_on":{"type":"string","description":"The leave relapse on date following the format YYYY-MM-DD","example":"2028-09-05"},"accident_on":{"type":"string","description":"The leave accident on date following the format YYYY-MM-DD","example":"2028-09-05"},"paternity_birth_on":{"type":"string","description":"The leave paternity birth on date following the format YYYY-MM-DD","example":"2028-09-05"}}}}}}}},"/api/2026-04-01/resources/timeoff/leaves/{id}":{"get":{"tags":["Timeoff \u003e Leave"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Leave","summary":"Reads a single Leave","parameters":[{"name":"id","example":"1","description":"The leave ids to retrieve","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/timeoff_leave"}}}}}},"put":{"tags":["Timeoff \u003e Leave"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Updates a Leave","summary":"Updates a Leave","parameters":[{"name":"id","example":"1","description":"The leave id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/timeoff_leave"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer","description":"The leave id"},"employee_id":{"type":"integer","description":"The employee id of the leave","example":1},"leave_type_id":{"type":"integer","description":"The leave type id","example":36},"description":{"type":"string","description":"The description of the leave","example":"Annual family vacation"},"start_on":{"type":"string","description":"The valid start date of the leave following the format YYYY-MM-DD","example":"2028-09-05"},"finish_on":{"type":"string","description":"The valid end date of the leave following the format YYYY-MM-DD","example":"2028-09-05"},"half_day":{"type":"string","description":"If the leave is in: [beggining_of_day, end_of_day]"},"start_time":{"type":"string","description":"The start time of a leave","example":"09:00"},"hours_amount_in_cents":{"type":"integer","description":"The hours amount in cents of a leave","example":"800"},"approved":{"type":"boolean","description":"Whether the leave is approved","example":true},"skip_notifications":{"type":"boolean","description":"Whether to skip notifications for this update","example":false},"skip_validations":{"type":"boolean","description":"Whether to skip validations for this update","example":false},"skip_medical_leave":{"type":"boolean","description":"Whether to skip medical leave processing for this update","example":false}}}}}}},"delete":{"tags":["Timeoff \u003e Leave"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Deletes a Leave","summary":"Deletes a Leave","parameters":[{"name":"id","example":"1","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/timeoff_leave"}}}}}}},"/api/2026-04-01/resources/timeoff/leaves/approve":{"post":{"tags":["Timeoff \u003e Leave"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Allows authorized users to approve employee time-off requests by approving the corresponding approval flow if it exists","summary":"Approves a Leave","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/timeoff_leave"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer","description":"Identifier of the Leave","example":1}}}}}}}},"/api/2026-04-01/resources/timeoff/leaves/approve_all":{"post":{"tags":["Timeoff \u003e Leave"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Allows authorized users to approve employee time-off requests by directly approving the leave","summary":"Approve alls a Leave","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/timeoff_leave"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer","description":"Identifier of the Leave","example":1}}}}}}}},"/api/2026-04-01/resources/timeoff/leaves/reject":{"post":{"tags":["Timeoff \u003e Leave"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Allows authorized users to reject employee time-off requests","summary":"Rejects a Leave","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/timeoff_leave"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer","description":"Identifier of the Leave","example":1},"reason":{"type":"string","description":"Reason for rejecting the leave","example":"Not enough notice"}}}}}}}},"/api/2026-04-01/resources/timeoff/leave_types":{"get":{"tags":["Timeoff \u003e LeaveType"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Leave types","summary":"Reads all Leave types","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"Identifiers of the leave types","example":[1,2],"items":{"type":"integer"}},"description":"Identifiers of the leave types","example":[1,2]},{"name":"company_ids[]","in":"query","schema":{"type":"array","description":"Identifiers of the companies","example":[1,2],"items":{"type":"integer"}},"description":"Identifiers of the companies","example":[1,2]},{"name":"active","in":"query","schema":{"type":"boolean","description":"Whether the leave type is active","example":true},"description":"Whether the leave type is active","example":true},{"name":"payable","in":"query","schema":{"type":"boolean","description":"Whether the leave type is payable","example":false},"description":"Whether the leave type is payable","example":false},{"name":"identifier","in":"query","schema":{"type":"unknown","description":"A unique identifier for the leave type, or an array of identifiers","example":["holiday"]},"description":"A unique identifier for the leave type, or an array of identifiers","example":["holiday"]},{"name":"employee_id","in":"query","schema":{"type":"integer","description":"Identifier of the employee","example":1},"description":"Identifier of the employee","example":1},{"name":"reference_date","in":"query","schema":{"type":"string","description":"A reference date for the leave type","example":"2024-08-22"},"description":"A reference date for the leave type","example":"2024-08-22"},{"name":"leave_type_id","in":"query","schema":{"type":"integer","description":"Identifier of a specific leave type","example":1},"description":"Identifier of a specific leave type","example":1},{"name":"allow_endless","in":"query","schema":{"type":"boolean","description":"Whether the leave type allows for no end date","example":true},"description":"Whether the leave type allows for no end date","example":true}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/timeoff_leave_type"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["Timeoff \u003e LeaveType"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Creates a Leave type","summary":"Creates a Leave type","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/timeoff_leave_type"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["accrues","approval_required","identifier","color","name","workable","company_id","details_required"],"properties":{"accrues":{"type":"boolean","description":"Whether the leave type accrues over time","example":true},"approval_required":{"type":"boolean","description":"Whether approval is required for this leave type","example":true},"identifier":{"type":"string","description":"A unique identifier for the leave type","example":"custom"},"attachment":{"type":"boolean","description":"Whether an attachment is required for this leave type","example":true},"color":{"type":"string","description":"The color associated with this leave type","example":"red"},"name":{"type":"string","description":"The name of the leave type","example":"Sick Leave"},"visibility":{"type":"boolean","description":"Whether the leave type is visible to employees","example":true},"workable":{"type":"boolean","description":"Whether the leave type is workable (can be worked on during leave)","example":false},"payable":{"type":"boolean","description":"Whether the leave type is payable","example":true},"is_attachment_mandatory":{"type":"boolean","description":"Whether the attachment is mandatory","example":false},"half_days_units_enabled":{"type":"boolean","description":"Whether half-day units are enabled for this leave type","example":true},"max_days_in_cents":{"type":"integer","description":"Maximum days in cents that can be taken","example":5000},"min_days_in_cents":{"type":"integer","description":"Minimum days in cents that must be taken","example":1000},"company_id":{"type":"integer","description":"Identifier of the company associated with this leave type","example":1},"editable":{"type":"boolean","description":"Whether the leave type is editable","example":true},"allow_endless":{"type":"boolean","description":"Whether endless leave is allowed","example":false},"restricted":{"type":"boolean","description":"Whether the leave type is restricted","example":false},"description":{"type":"string","description":"Description of the leave type","example":"Leave for sick days"},"details_required":{"type":"boolean","description":"Whether additional details are required for the leave type","example":false}}}}}}}},"/api/2026-04-01/resources/timeoff/leave_types/{id}":{"get":{"tags":["Timeoff \u003e LeaveType"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Leave type","summary":"Reads a single Leave type","parameters":[{"name":"id","example":"1","description":"Identifiers of the leave types","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/timeoff_leave_type"}}}}}},"put":{"tags":["Timeoff \u003e LeaveType"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Updates a Leave type","summary":"Updates a Leave type","parameters":[{"name":"id","example":"5","description":"Identifier of the leave type to update","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/timeoff_leave_type"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"integer","description":"Identifier of the leave type to update","example":5},"accrues":{"type":"boolean","description":"Whether the leave type accrues over time","example":true},"approval_required":{"type":"boolean","description":"Whether approval is required for this leave type","example":true},"identifier":{"type":"string","description":"A unique identifier for the leave type","example":"custom"},"attachment":{"type":"boolean","description":"Whether an attachment is required for this leave type","example":true},"color":{"type":"string","description":"The color associated with this leave type (hex code)","example":"red"},"name":{"type":"string","description":"The name of the leave type","example":"Sick Leave"},"visibility":{"type":"boolean","description":"Whether the leave type is visible to employees","example":true},"workable":{"type":"boolean","description":"Whether the leave type is workable (can be worked on during leave)","example":false},"payable":{"type":"boolean","description":"Whether the leave type is payable","example":true},"is_attachment_mandatory":{"type":"unknown","description":"Whether the attachment is mandatory or a status description (boolean or string)"},"half_days_units_enabled":{"type":"boolean","description":"Whether half-day units are enabled for this leave type","example":true},"max_days_in_cents":{"type":"integer","description":"Maximum days in cents that can be taken","example":5000},"min_days_in_cents":{"type":"integer","description":"Minimum days in cents that must be taken","example":1000},"active":{"type":"boolean","description":"Whether the leave type is active","example":true},"allow_endless":{"type":"boolean","description":"Whether endless leave is allowed","example":false},"restricted":{"type":"boolean","description":"Whether the leave type is restricted","example":false},"description":{"type":"string","description":"Description of the leave type","example":"Leave for sick days"},"details_required":{"type":"boolean","description":"Whether additional details are required for the leave type","example":false}}}}}}}},"/api/2026-04-01/resources/timeoff/policies":{"get":{"tags":["Timeoff \u003e Policy"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Policies","summary":"Reads all Policies","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"The policies ids to retrieve.","example":[1,2,3],"items":{"type":"integer"}},"description":"The policies ids to retrieve.","example":[1,2,3]},{"name":"company_ids[]","in":"query","schema":{"type":"array","description":"The company ids to retrieve policies.","example":[1,2,3],"items":{"type":"integer"}},"description":"The company ids to retrieve policies.","example":[1,2,3]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/timeoff_policy"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["Timeoff \u003e Policy"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Creates a Policy","summary":"Creates a Policy","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/timeoff_policy"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["name"],"properties":{"name":{"type":"string","description":"The name of the policy.","example":"Policy for remotes"},"main":{"type":"boolean","description":"If the policy is the main policy.","example":false},"description":{"type":"string","description":"Policy description.","example":"This policy will apply only for remote employees"},"company_id":{"type":"integer","description":"Company ID.","example":1}}}}}}}},"/api/2026-04-01/resources/timeoff/policies/{id}":{"get":{"tags":["Timeoff \u003e Policy"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Policy","summary":"Reads a single Policy","parameters":[{"name":"id","example":"1","description":"The policies ids to retrieve.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/timeoff_policy"}}}}}},"put":{"tags":["Timeoff \u003e Policy"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Updates a Policy","summary":"Updates a Policy","parameters":[{"name":"id","example":"1","description":"Id of the policy to update.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/timeoff_policy"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer","description":"Id of the policy to update.","example":1},"name":{"type":"string","description":"The name of the policy.","example":"Policy for remotes"},"description":{"type":"string","description":"Policy description.","example":"This policy will apply only for remote employees"},"main":{"type":"boolean","description":"If the policy is the main policy.","example":false}}}}}}},"delete":{"tags":["Timeoff \u003e Policy"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Deletes a Policy","summary":"Deletes a Policy","parameters":[{"name":"id","example":"1","description":"Id of the policy to delete.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/timeoff_policy"}}}}}}},"/api/2026-04-01/resources/timeoff/policy_assignments":{"get":{"tags":["Timeoff \u003e PolicyAssignment"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Read Time off Policy Assignments","summary":"Reads all Policy assignments","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"An array of time off policy assignment ids","example":[1,2],"items":{"type":"integer"}},"description":"An array of time off policy assignment ids","example":[1,2]},{"name":"employee_ids[]","in":"query","schema":{"type":"array","description":"Filter policy assignments by employee ids","example":[1,2],"items":{"type":"integer"}},"description":"Filter policy assignments by employee ids","example":[1,2]},{"name":"timeoff_policy_ids[]","in":"query","schema":{"type":"array","description":"Filter policy assignments by time off policy ids","example":[1,2],"items":{"type":"integer"}},"description":"Filter policy assignments by time off policy ids","example":[1,2]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/timeoff_policy_assignment"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["Timeoff \u003e PolicyAssignment"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Create a Time off Policy Assignment","summary":"Creates a Policy assignment","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/timeoff_policy_assignment"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["timeoff_policy_id","employee_id","effective_at"],"properties":{"timeoff_policy_id":{"type":"integer","description":"The time off policy id","example":1},"employee_id":{"type":"integer","description":"The employee id","example":1},"effective_at":{"type":"string","description":"The effective date of the policy assignment","example":"2024-01-01"}}}}}}}},"/api/2026-04-01/resources/timeoff/policy_assignments/{id}":{"get":{"tags":["Timeoff \u003e PolicyAssignment"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Read Time off Policy Assignments","summary":"Reads a single Policy assignment","parameters":[{"name":"id","example":"1","description":"An array of time off policy assignment ids","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/timeoff_policy_assignment"}}}}}},"put":{"tags":["Timeoff \u003e PolicyAssignment"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Update a Time off Policy Assignment","summary":"Updates a Policy assignment","parameters":[{"name":"id","example":"1","description":"Unique identifier of the policy assignment","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/timeoff_policy_assignment"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id","timeoff_policy_id","effective_at"],"properties":{"id":{"type":"integer","description":"Unique identifier of the policy assignment","example":1},"timeoff_policy_id":{"type":"integer","description":"The time off policy id","example":1},"effective_at":{"type":"string","description":"The effective date of the policy assignment","example":"2024-01-01"}}}}}}},"delete":{"tags":["Timeoff \u003e PolicyAssignment"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Delete a Time off Policy Assignment","summary":"Deletes a Policy assignment","parameters":[{"name":"id","example":"1","description":"Unique identifier of the policy assignment","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/timeoff_policy_assignment"}}}}}}},"/api/2026-04-01/resources/timeoff/policy_timelines":{"get":{"tags":["Timeoff \u003e PolicyTimeline"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Policy timelines","summary":"Reads all Policy timelines","parameters":[{"name":"employee_id","in":"query","schema":{"type":"integer"},"required":true},{"name":"reference_date","in":"query","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/timeoff_policy_timeline"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/time_planning/planned_breaks":{"get":{"tags":["TimePlanning \u003e PlannedBreak"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Planned breaks","summary":"Reads all Planned breaks","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"List of planned break identifiers","items":{"type":"integer"}},"description":"List of planned break identifiers","required":true},{"name":"paid","in":"query","schema":{"type":"boolean","description":"Filter by paid or unpaid breaks"},"description":"Filter by paid or unpaid breaks","required":true},{"name":"default_shift_ids[]","in":"query","schema":{"type":"array","description":"List of default shift identifiers","items":{"type":"integer"}},"description":"List of default shift identifiers","required":true},{"name":"shift_ids[]","in":"query","schema":{"type":"array","description":"List of shift identifiers","items":{"type":"integer"}},"description":"List of shift identifiers","required":true},{"name":"day_configuration_ids[]","in":"query","schema":{"type":"array","description":"List of day configuration identifiers","items":{"type":"integer"}},"description":"List of day configuration identifiers","required":true},{"name":"shift_configuration_ids[]","in":"query","schema":{"type":"array","description":"List of shift configuration identifiers","items":{"type":"integer"}},"description":"List of shift configuration identifiers","required":true},{"name":"active_break_configuration","in":"query","schema":{"type":"boolean","description":"Filter by active break configurations only"},"description":"Filter by active break configurations only","required":true}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/time_planning_planned_break"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/time_planning/planned_breaks/{id}":{"get":{"tags":["TimePlanning \u003e PlannedBreak"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Planned break","summary":"Reads a single Planned break","parameters":[{"name":"id","example":"1","description":"List of planned break identifiers","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/time_planning_planned_break"}}}}}}},"/api/2026-04-01/resources/time_planning/planned_breaks/bulk_create":{"post":{"tags":["TimePlanning \u003e PlannedBreak"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Bulk creates a Planned break","summary":"Bulk creates a Planned break","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/time_planning_planned_break"}}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["planned_breaks"],"properties":{"planned_breaks":{"type":"array","description":"List of planned breaks to create","example":[{"id":1,"start_at":"2020-09-07T06:00:00.000+00:00","end_at":"2020-09-07T15:00:00.000+00:00","duration":30,"break_type":"semi_flexible","break_configuration_id":1,"shift_id":1}],"items":{}}}}}}}}},"/api/2026-04-01/resources/time_planning/planning_versions":{"get":{"tags":["TimePlanning \u003e PlanningVersion"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Planning versions","summary":"Reads all Planning versions","parameters":[{"name":"employee_ids[]","in":"query","schema":{"type":"array","description":"List of employee identifiers","example":[1,2,3],"items":{"type":"integer"}},"description":"List of employee identifiers","example":[1,2,3]},{"name":"for_shifts","in":"query","schema":{"type":"boolean","description":"Filter by shift management planning tool","example":true},"description":"Filter by shift management planning tool","example":true},{"name":"only_active","in":"query","schema":{"type":"boolean","description":"Filter by active planning versions only","example":false},"description":"Filter by active planning versions only","example":false,"required":true},{"name":"planning_tool","in":"query","schema":{"type":"string","description":"Type of planning tool (shift_management, work_schedules, contract_hours)","enum":["shift_management","work_schedule","contract_hours"],"example":"shift_management"},"description":"Type of planning tool (shift_management, work_schedules, contract_hours)","example":"shift_management"},{"name":"schedule_ids[]","in":"query","schema":{"type":"array","description":"List of work schedule identifiers to include","example":[1,2,3],"items":{"type":"integer"}},"description":"List of work schedule identifiers to include","example":[1,2,3]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/time_planning_planning_version"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["TimePlanning \u003e PlanningVersion"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Creates a Planning version","summary":"Creates a Planning version","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/time_planning_planning_version"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["effective_at","planning_tool","employee_id"],"properties":{"effective_at":{"type":"string","description":"Planning version start date","example":"2020-09-07"},"planning_tool":{"type":"string","description":"Type of planning tool (shift_management, work_schedules, contract_hours)","example":"shift_management"},"number_of_rest_days_in_cents":{"type":"integer","description":"Amount of rest days per week if applicable (in cents)","example":200},"employee_id":{"type":"integer","description":"Employee identifier","example":1},"schedule_id":{"type":"integer","description":"Work schedule identifier to include if applicable","example":1}}}}}}}},"/api/2026-04-01/resources/time_planning/planning_versions/{id}":{"put":{"tags":["TimePlanning \u003e PlanningVersion"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Updates a Planning version","summary":"Updates a Planning version","parameters":[{"name":"id","example":"1","description":"Planning version identifier","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/time_planning_planning_version"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id","effective_at","planning_tool"],"properties":{"id":{"type":"integer","description":"Planning version identifier","example":1},"effective_at":{"type":"string","description":"Planning version start date","example":"2020-09-07"},"number_of_rest_days_in_cents":{"type":"integer","description":"Amount of rest days per week if applicable (in cents)","example":200},"planning_tool":{"type":"string","description":"Type of planning tool (shift_management, work_schedules, contract_hours)","example":"shift_management"},"schedule_id":{"type":"integer","description":"Work schedule identifier to include if applicable","example":1}}}}}}},"delete":{"tags":["TimePlanning \u003e PlanningVersion"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Deletes a Planning version","summary":"Deletes a Planning version","parameters":[{"name":"id","example":"1","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/time_planning_planning_version"}}}}}}},"/api/2026-04-01/resources/time_planning/planning_versions/bulk_create":{"post":{"tags":["TimePlanning \u003e PlanningVersion"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Bulk creates a Planning version","summary":"Bulk creates a Planning version","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/time_planning_planning_version"}}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["effective_at","planning_tool","employee_ids"],"properties":{"effective_at":{"type":"string","description":"Start date of the planning version","example":"2020-09-07"},"planning_tool":{"type":"string","description":"Type of planning tool (shift_management, work_schedules, contract_hours)","example":"shift_management"},"number_of_rest_days_in_cents":{"type":"integer","description":"Amount of rest days per week if applicable (in cents)","example":200},"employee_ids":{"type":"array","description":"List of employee identifiers","example":[1,2,3],"items":{"type":"integer"}},"schedule_id":{"type":"integer","description":"Work schedule identifier to include if applicable","example":1}}}}}}}},"/api/2026-04-01/resources/time_settings/break_configurations":{"get":{"tags":["TimeSettings \u003e BreakConfiguration"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Break configurations","summary":"Reads all Break configurations","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","items":{"type":"integer"}}},{"name":"active","in":"query","schema":{"type":"boolean"},"required":true}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/time_settings_break_configuration"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["TimeSettings \u003e BreakConfiguration"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Creates a Break configuration","summary":"Creates a Break configuration","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/time_settings_break_configuration"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["name","paid"],"properties":{"name":{"type":"string"},"paid":{"type":"boolean"}}}}}}}},"/api/2026-04-01/resources/time_settings/break_configurations/{id}":{"get":{"tags":["TimeSettings \u003e BreakConfiguration"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Break configuration","summary":"Reads a single Break configuration","parameters":[{"name":"id","example":"1","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/time_settings_break_configuration"}}}}}},"put":{"tags":["TimeSettings \u003e BreakConfiguration"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Updates a Break configuration","summary":"Updates a Break configuration","parameters":[{"name":"id","example":"1","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/time_settings_break_configuration"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer"},"name":{"type":"string"},"paid":{"type":"boolean"},"archived":{"type":"boolean"}}}}}}}},"/api/2026-04-01/resources/trainings/categories":{"get":{"tags":["Trainings \u003e Category"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Categories","summary":"Reads all Categories","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","items":{"type":"integer"}}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/trainings_category"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["Trainings \u003e Category"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Creates a Category","summary":"Creates a Category","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/trainings_category"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["name","company_id"],"properties":{"name":{"type":"string"},"company_id":{"type":"integer"}}}}}}}},"/api/2026-04-01/resources/trainings/categories/{id}":{"get":{"tags":["Trainings \u003e Category"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Category","summary":"Reads a single Category","parameters":[{"name":"id","example":"1","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/trainings_category"}}}}}},"delete":{"tags":["Trainings \u003e Category"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Deletes a Category","summary":"Deletes a Category","parameters":[{"name":"id","example":"1","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/trainings_category"}}}}}}},"/api/2026-04-01/resources/trainings/sessions":{"get":{"tags":["Trainings \u003e Session"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Sessions","summary":"Reads all Sessions","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"This field is used to filter those sessions whose id match with the given.","example":[1],"items":{"type":"integer"}},"description":"This field is used to filter those sessions whose id match with the given.","example":[1]},{"name":"training_ids[]","in":"query","schema":{"type":"array","description":"This field is used to filter those sessions whose belong to these trainings.","example":[1],"items":{"type":"integer"}},"description":"This field is used to filter those sessions whose belong to these trainings.","example":[1]},{"name":"search","in":"query","schema":{"type":"string","description":"This field is used to filter those sessions whose name include some of the text written.","example":"Session 1"},"description":"This field is used to filter those sessions whose name include some of the text written.","example":"Session 1"},{"name":"start_after","in":"query","schema":{"type":"string","description":"This field is used to filter those sessions whose starts date is after the given.","example":"2024-01-05T00:00:00.000Z"},"description":"This field is used to filter those sessions whose starts date is after the given.","example":"2024-01-05T00:00:00.000Z"},{"name":"start_before","in":"query","schema":{"type":"string","description":"This field is used to filter those sessions whose starts date is before the given.","example":"2025-06-05T00:00:00.000Z"},"description":"This field is used to filter those sessions whose starts date is before the given.","example":"2025-06-05T00:00:00.000Z"},{"name":"access_id","in":"query","schema":{"type":"integer","description":"access_id associated to the employee, refers to employees/employees endpoint."},"description":"access_id associated to the employee, refers to employees/employees endpoint."},{"name":"employee_id","in":"query","schema":{"type":"integer","description":"employee_id associated to the employee, refers to employees/employees endpoint.","example":20},"description":"employee_id associated to the employee, refers to employees/employees endpoint.","example":20},{"name":"training_class_ids[]","in":"query","schema":{"type":"array","description":"This field is used to filter those sessions whose belong to this training groups.","example":[1],"items":{"type":"string"}},"description":"This field is used to filter those sessions whose belong to this training groups.","example":[1]},{"name":"next","in":"query","schema":{"type":"boolean","description":"When this field is active, it filters and orders those sessions that are closest in time, with the first element being the closest.","example":false},"description":"When this field is active, it filters and orders those sessions that are closest in time, with the first element being the closest.","example":false},{"name":"modality","in":"query","schema":{"type":"string","description":"The mode the session will be handled, online, in person or hybrid.","example":"inperson"},"description":"The mode the session will be handled, online, in person or hybrid.","example":"inperson"},{"name":"starts_at[]","in":"query","schema":{"type":"array","description":"This field is used to filter the sessions that start at a given date.","example":["2025-02-04T10:31:48.000Z"],"items":{"type":"string"}},"description":"This field is used to filter the sessions that start at a given date.","example":["2025-02-04T10:31:48.000Z"]},{"name":"active","in":"query","schema":{"type":"boolean","description":"When this field is active, filter by only active sessions","example":true},"description":"When this field is active, filter by only active sessions","example":true}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/trainings_session"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["Trainings \u003e Session"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Create a new training session, do not forget to make it child from a training class if you want it to be displayed in the frontend application.","summary":"Create a new training session","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/trainings_session"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["name","training_id"],"properties":{"name":{"type":"string","description":"Session name","example":"Session one"},"training_id":{"type":"integer","description":"Training this session belongs to"},"description":{"type":"string","description":"Session specific description","example":"This is the first session of this training class"},"training_class_id":{"type":"integer","description":"Training class it belongs to"},"starts_at":{"type":"string","description":"Start date for the session, if scheduled, starts at and ends at needs to happen within the same day."},"ends_at":{"type":"string","description":"End date for the session, if scheduled, starts at and ends at needs to happen within the same day."},"due_date":{"type":"string","description":"Only necessary for self paced sessions."},"duration":{"type":"string","description":"Duration in hours of the session","example":"1.5 =\u003e 1h 30m"},"modality":{"type":"string","description":"Online, In person or mixed","enum":["online","inperson","mixed"]},"schedule":{"type":"string","description":"Scheduled or Self paced. Scheduled needs to have a start time and end time within the same day, self paced can start and end in different days and specific time won't be shown in the frontend app.","enum":["selfpaced","scheduled"]},"link":{"type":"string","description":"Link to join the session if it's online, or to access or download related material for the session."},"location":{"type":"string","description":"Place where the session will happen if modality is mixed or in person."},"subsidized":{"type":"boolean","description":"Mark the session as subsidized"},"recurrent":{"type":"boolean","description":"-"},"reminders":{"type":"array","description":"Session reminder notifications for those assigned to the session","items":{}},"send_calendar_invites":{"type":"boolean","description":"Send calendar invites to attendees assigned to the session","example":false}}}}}}}},"/api/2026-04-01/resources/trainings/sessions/{id}":{"get":{"tags":["Trainings \u003e Session"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Session","summary":"Reads a single Session","parameters":[{"name":"id","example":"1","description":"This field is used to filter those sessions whose id match with the given.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/trainings_session"}}}}}},"put":{"tags":["Trainings \u003e Session"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Update fields from a training session","summary":"Update training session","parameters":[{"name":"id","example":"1","description":"The session id you want to update","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/trainings_session"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id","name"],"properties":{"id":{"type":"integer","description":"The session id you want to update"},"name":{"type":"string","description":"Session name","example":"Session one"},"starts_at":{"type":"string","description":"Start date for the session, if scheduled, starts at and ends at needs to happen within the same day."},"ends_at":{"type":"string","description":"End date for the session, if scheduled, starts at and ends at needs to happen within the same day."},"due_date":{"type":"string","description":"Only necessary for self paced sessions."},"duration":{"type":"string","description":"Duration in hours of the session","example":"1.5 =\u003e 1h 30m"},"modality":{"type":"string","description":"Online, In person or mixed"},"schedule":{"type":"string","description":"Scheduled or Self paced. Scheduled needs to have a start time and end time within the same day, self paced can start and end in different days and specific time won't be shown in the frontend app.","enum":["selfpaced","scheduled"]},"link":{"type":"string","description":"Link to join the session if it's online, or to access or download related material for the session."},"location":{"type":"string","description":"Place where the session will happen if modality is mixed or in person."},"subsidized":{"type":"boolean","description":"Mark the session as subsidized"},"recurrent":{"type":"boolean","description":"-"},"send_calendar_invites":{"type":"boolean","description":"Send calendar invites to attendees assigned to the session","example":false}}}}}}},"delete":{"tags":["Trainings \u003e Session"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Deletes a Session","summary":"Deletes a Session","parameters":[{"name":"id","example":"1","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/trainings_session"}}}}}}},"/api/2026-04-01/resources/trainings/session_access_memberships":{"get":{"tags":["Trainings \u003e SessionAccessMembership"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Session access memberships","summary":"Reads all Session access memberships","parameters":[{"name":"session_id","in":"query","schema":{"type":"integer","description":"Filter memberships by session ID","example":1},"description":"Filter memberships by session ID","example":1,"required":true},{"name":"ids[]","in":"query","schema":{"type":"array","description":"Filter memberships by specific IDs","example":[1,2,3],"items":{"type":"integer"}},"description":"Filter memberships by specific IDs","example":[1,2,3]},{"name":"search","in":"query","schema":{"type":"string","description":"Filter memberships by user name","example":"John"},"description":"Filter memberships by user name","example":"John"},{"name":"team_ids[]","in":"query","schema":{"type":"array","description":"ID of the team associated with this membership","example":[1,2],"items":{"type":"integer"}},"description":"ID of the team associated with this membership","example":[1,2]},{"name":"status[]","in":"query","schema":{"type":"array","description":"Current status of the session attendance","example":"pending","items":{"type":"string"}},"description":"Current status of the session attendance","example":"pending"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/trainings_session_access_membership"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/trainings/session_access_memberships/{id}":{"get":{"tags":["Trainings \u003e SessionAccessMembership"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Session access membership","summary":"Reads a single Session access membership","parameters":[{"name":"id","example":"1","description":"Filter memberships by specific IDs","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/trainings_session_access_membership"}}}}}}},"/api/2026-04-01/resources/trainings/session_access_memberships/bulk_create":{"post":{"tags":["Trainings \u003e SessionAccessMembership"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Bulk creates a Session access membership","summary":"Bulk creates a Session access membership","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/trainings_session_access_membership"}}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["session_id","notify"],"properties":{"access_ids":{"type":"array","items":{"type":"integer"}},"employee_ids":{"type":"array","items":{"type":"integer"}},"session_id":{"type":"integer"},"notify":{"type":"boolean"}}}}}}}},"/api/2026-04-01/resources/trainings/session_access_memberships/bulk_destroy":{"post":{"tags":["Trainings \u003e SessionAccessMembership"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Bulk destroys a Session access membership","summary":"Bulk destroys a Session access membership","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/trainings_session_access_membership"}}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["ids","notify"],"properties":{"ids":{"type":"array","items":{"type":"integer"}},"notify":{"type":"boolean"}}}}}}}},"/api/2026-04-01/resources/trainings/session_attendances":{"get":{"tags":["Trainings \u003e SessionAttendance"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Session attendances","summary":"Reads all Session attendances","parameters":[{"name":"session_id","in":"query","schema":{"type":"integer"}},{"name":"id","in":"query","schema":{"type":"integer"}},{"name":"ids[]","in":"query","schema":{"type":"array","items":{"type":"integer"}}},{"name":"session_access_membership_ids[]","in":"query","schema":{"type":"array","items":{"type":"integer"}}},{"name":"access_ids[]","in":"query","schema":{"type":"array","items":{"type":"integer"}}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/trainings_session_attendance"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/trainings/session_attendances/{id}":{"get":{"tags":["Trainings \u003e SessionAttendance"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Session attendance","summary":"Reads a single Session attendance","parameters":[{"name":"id","example":"1","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/trainings_session_attendance"}}}}}}},"/api/2026-04-01/resources/trainings/session_attendances/bulk_update":{"post":{"tags":["Trainings \u003e SessionAttendance"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Updates the status or completed duration of multiple session attendances. When status is set to completed, completed_duration is automatically set to session duration. When only completed_duration is provided, attendances must already be in completed status.","summary":"Bulk update session attendances","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/trainings_session_attendance"}}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["ids"],"properties":{"ids":{"type":"array","description":"List of session attendance IDs to update","example":[1],"items":{"type":"integer"}},"status":{"type":"string","description":"New status for the session attendances","example":"completed"},"completed_duration":{"type":"string","description":"Completed duration in hours (decimal format, e.g. 1.5 means 1h 30m)","example":"1.5"}}}}}}}},"/api/2026-04-01/resources/trainings/trainings":{"get":{"tags":["Trainings \u003e Training"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Trainings","summary":"Reads all Trainings","parameters":[{"name":"id","in":"query","schema":{"type":"integer","description":"This field is used to get a specific training."},"description":"This field is used to get a specific training."},{"name":"ids[]","in":"query","schema":{"type":"array","description":"This field is used to filter those trainings whose id match with the given.","items":{"type":"integer"}},"description":"This field is used to filter those trainings whose id match with the given."},{"name":"access_id","in":"query","schema":{"type":"integer","description":"@deprecated"},"description":"@deprecated"},{"name":"search","in":"query","schema":{"type":"string","description":"This field is used to search in the training name, training description or training category."},"description":"This field is used to search in the training name, training description or training category."},{"name":"status","in":"query","schema":{"type":"string","description":"This field is used to filter those trainings whose status is the same as the one we pass."},"description":"This field is used to filter those trainings whose status is the same as the one we pass."},{"name":"catalog","in":"query","schema":{"type":"boolean","description":"This field is used to filter those trainings whose are visible in the catalog."},"description":"This field is used to filter those trainings whose are visible in the catalog."},{"name":"only_assigned","in":"query","schema":{"type":"boolean","description":"This field is used to filter those trainings whose attendance status is different from not assigned."},"description":"This field is used to filter those trainings whose attendance status is different from not assigned."},{"name":"with_expired_memberships","in":"query","schema":{"type":"boolean","description":"This field is used to filter those trainings whose members have the course expired (if 'true') or not (if 'false')."},"description":"This field is used to filter those trainings whose members have the course expired (if 'true') or not (if 'false')."},{"name":"return_expired_memberships","in":"query","schema":{"type":"boolean","description":"Fills the information of the field 'number_of_expired_participants' if 'true'"},"description":"Fills the information of the field 'number_of_expired_participants' if 'true'"},{"name":"is_mandatory","in":"query","schema":{"type":"boolean","description":"This field is used to filter by mandatory or non-mandatory trainings if provided","example":false},"description":"This field is used to filter by mandatory or non-mandatory trainings if provided","example":false},{"name":"with_current_training_classes","in":"query","schema":{"type":"boolean","description":"This field is used to filter those trainings whose have current training classes if 'true'","example":false},"description":"This field is used to filter those trainings whose have current training classes if 'true'","example":false}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/trainings_training"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["Trainings \u003e Training"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Creates a Training","summary":"Creates a Training","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/trainings_training"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["name","description","external","year","attachments"],"properties":{"name":{"type":"string","description":"Name of the training","example":"Communication Course"},"code":{"type":"string","description":"Code of the training","example":"COM-101"},"description":{"type":"string","description":"Description of the training","example":"Intermediate-level communication course that focuses on building and enhancing language skills."},"external_provider":{"type":"string","description":"External provider of the training","example":"Coursera"},"external":{"type":"boolean","description":"External training","example":false},"category_ids":{"type":"array","description":"List of ids of training categories","example":[1,20],"items":{"type":"integer"}},"competency_ids":{"type":"array","description":"Competency ids of the training","example":[1,2],"items":{"type":"integer"}},"author_id":{"type":"integer","description":"The person that creates the training","example":20},"employee_id":{"type":"integer","description":"Employee identifier associated with the training","example":15},"cost":{"type":"integer","example":0},"subsidized_cost":{"type":"integer","example":0},"cost_decimal":{"type":"string","example":"0.0"},"subsidized_cost_decimal":{"type":"string","example":"0.0"},"year":{"type":"integer","description":"Year of the training","example":2022},"company_id":{"type":"integer","description":"Company identifier of the training","example":1},"attachments":{"type":"array","description":"Attachments of the training","items":{}},"valid_for":{"type":"integer","description":"The training validity period in years","example":1},"objectives":{"type":"string","description":"Objectives of the course","example":"Intermediate-level communication course that focuses on building and enhancing language skills."},"total_duration":{"type":"number","description":"The total duration in hours and minutes of the course","example":2.5},"is_mandatory":{"type":"boolean","description":"This field is used to define if the training is mandatory or not","example":false}}}}}}}},"/api/2026-04-01/resources/trainings/trainings/{id}":{"get":{"tags":["Trainings \u003e Training"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Training","summary":"Reads a single Training","parameters":[{"name":"id","example":"1","description":"This field is used to get a specific training.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/trainings_training"}}}}}},"put":{"tags":["Trainings \u003e Training"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Updates a Training","summary":"Updates a Training","parameters":[{"name":"id","example":"1","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/trainings_training"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id","name","description","external","year"],"properties":{"id":{"type":"integer"},"name":{"type":"string"},"code":{"type":"string"},"description":{"type":"string"},"external_provider":{"type":"string"},"external":{"type":"boolean"},"category_ids":{"type":"array","items":{"type":"integer"}},"competency_ids":{"type":"array","items":{"type":"integer"}},"cost":{"type":"integer"},"subsidized_cost":{"type":"integer"},"cost_decimal":{"type":"string"},"subsidized_cost_decimal":{"type":"string"},"year":{"type":"integer"},"valid_for":{"type":"integer"}}}}}}},"delete":{"tags":["Trainings \u003e Training"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Deletes a Training","summary":"Deletes a Training","parameters":[{"name":"id","example":"1","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/trainings_training"}}}}}}},"/api/2026-04-01/resources/trainings/trainings/bulk_delete":{"post":{"tags":["Trainings \u003e Training"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Bulk deletes a Training","summary":"Bulk deletes a Training","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/trainings_training"}}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["ids"],"properties":{"ids":{"type":"array","items":{"type":"integer"}}}}}}}}},"/api/2026-04-01/resources/trainings/trainings/bulk_update_catalog":{"post":{"tags":["Trainings \u003e Training"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Bulk update catalogs a Training","summary":"Bulk update catalogs a Training","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/trainings_training"}}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["ids","catalog"],"properties":{"ids":{"type":"array","items":{"type":"integer"}},"catalog":{"type":"boolean"}}}}}}}},"/api/2026-04-01/resources/trainings/trainings/update_status":{"post":{"tags":["Trainings \u003e Training"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Update statuses a Training","summary":"Update statuses a Training","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/trainings_training"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id","status","notify"],"properties":{"id":{"type":"integer"},"status":{"type":"string"},"notify":{"type":"boolean"}}}}}}}},"/api/2026-04-01/resources/trainings/training_classes":{"get":{"tags":["Trainings \u003e TrainingClass"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Training classes","summary":"Reads all Training classes","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"Filter those training classes whose id match with the given.","items":{"type":"integer"}},"description":"Filter those training classes whose id match with the given."},{"name":"id","in":"query","schema":{"type":"integer","description":"Get a specific training class."},"description":"Get a specific training class."},{"name":"training_id","in":"query","schema":{"type":"integer","description":"Get training classes for the specified training."},"description":"Get training classes for the specified training."},{"name":"search","in":"query","schema":{"type":"string","description":"This field is used to search in the training class name."},"description":"This field is used to search in the training class name."},{"name":"start_date[]","in":"query","schema":{"type":"array","description":"Field those classes that start on the given date.","items":{"type":"string"}},"description":"Field those classes that start on the given date."},{"name":"end_date[]","in":"query","schema":{"type":"array","description":"Filter those classes that end on the given date.","items":{"type":"string"}},"description":"Filter those classes that end on the given date."}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/trainings_training_class"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["Trainings \u003e TrainingClass"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Creates a Training class","summary":"Creates a Training class","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/trainings_training_class"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["start_date","end_date","training_id","company_id","author_id","cost","subsidized_cost","indirect_cost","salary_cost","payment_status"],"properties":{"name":{"type":"string","description":"Class name","example":"Edition 25"},"description":{"type":"string","description":"Class description","example":"This is the group for the year 2025 edition"},"start_date":{"type":"string","description":"Traning class start date","example":"2025-03-24"},"end_date":{"type":"string","description":"Traning class end date","example":"2025-03-28"},"training_id":{"type":"integer","description":"Training the class belongs to","example":1},"company_id":{"type":"integer","description":"Company identifier the class belongs to","example":1},"author_id":{"type":"integer","description":"access_id associated to the employee that creates the training class, refers to employees/employees endpoint.","example":20},"cost":{"type":"string","description":"Training-related expenses, such as instructor fees, materials, venue, and logistics.","example":"100.0"},"subsidized_cost":{"type":"string","description":"Amount of training expenses covered by financial aid or grants for this group.","example":"50.0"},"indirect_cost":{"type":"string","description":"General business expenses related to training, such as utilities and administrative fees.","example":"30.0"},"salary_cost":{"type":"string","description":"Cost of all employees' time spent on the course.","example":"60.0"},"payment_status":{"type":"string","description":"Payment status of the training class.","enum":["paid","pending"],"example":"pending"}}}}}}}},"/api/2026-04-01/resources/trainings/training_classes/{id}":{"get":{"tags":["Trainings \u003e TrainingClass"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Training class","summary":"Reads a single Training class","parameters":[{"name":"id","example":"1","description":"Filter those training classes whose id match with the given.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/trainings_training_class"}}}}}},"put":{"tags":["Trainings \u003e TrainingClass"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Updates a Training class","summary":"Updates a Training class","parameters":[{"name":"id","example":"1","description":"Identifier of the training class to update","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/trainings_training_class"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id","cost","subsidized_cost","salary_cost","indirect_cost","payment_status"],"properties":{"name":{"type":"string","description":"Class name","example":"Edition 25"},"description":{"type":"string","description":"Class description","example":"This is the group for the year 2025 edition"},"start_date":{"type":"string","description":"Traning class start date","example":"2025-03-24"},"end_date":{"type":"string","description":"Traning class end date","example":"2025-03-28"},"id":{"type":"integer","description":"Identifier of the training class to update","example":1},"cost":{"type":"string","description":"Training-related expenses, such as instructor fees, materials, venue, and logistics.","example":"100.0"},"subsidized_cost":{"type":"string","description":"Amount of training expenses covered by financial aid or grants for this group.","example":"50.0"},"salary_cost":{"type":"string","description":"Cost of all employees' time spent on the course.","example":"60.0"},"indirect_cost":{"type":"string","description":"General business expenses related to training, such as utilities and administrative fees.","example":"30.0"},"payment_status":{"type":"string","description":"Payment status of the training class.","enum":["paid","pending"],"example":"pending"}}}}}}},"delete":{"tags":["Trainings \u003e TrainingClass"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Deletes a Training class","summary":"Deletes a Training class","parameters":[{"name":"id","example":"1","description":"Identifier of the training class to delete","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/trainings_training_class"}}}}}}},"/api/2026-04-01/resources/trainings/training_memberships":{"get":{"tags":["Trainings \u003e TrainingMembership"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Training memberships","summary":"Reads all Training memberships","parameters":[{"name":"training_id","in":"query","schema":{"type":"integer","description":"This field is used to filter those trainings memberships that belongs to this training.","example":1},"description":"This field is used to filter those trainings memberships that belongs to this training.","example":1},{"name":"ids[]","in":"query","schema":{"type":"array","description":"This field is used to filter those trainings memberships whose id match with the given.","example":[1],"items":{"type":"integer"}},"description":"This field is used to filter those trainings memberships whose id match with the given.","example":[1]},{"name":"search","in":"query","schema":{"type":"string","description":"This field is used to filter those trainings memberships whose employee name include some of the text written.","example":"Jane"},"description":"This field is used to filter those trainings memberships whose employee name include some of the text written.","example":"Jane"},{"name":"team_id","in":"query","schema":{"type":"integer","description":"This field is used to filter those memberships whose employees belongs to this team.","example":1},"description":"This field is used to filter those memberships whose employees belongs to this team.","example":1},{"name":"status","in":"query","schema":{"type":"string","description":"This field is used to filter those trainings memberships whose attendance status is the given.","example":"notstarted"},"description":"This field is used to filter those trainings memberships whose attendance status is the given.","example":"notstarted"},{"name":"class_id","in":"query","schema":{"type":"integer","description":"This field is used to filter those trainings memberships whose employees belongs to this group.","example":1},"description":"This field is used to filter those trainings memberships whose employees belongs to this group.","example":1},{"name":"employee_id","in":"query","schema":{"type":"integer","description":"Get the training memberships by passing the employee id","example":20},"description":"Get the training memberships by passing the employee id","example":20},{"name":"due_date","in":"query","schema":{"type":"string","description":"This field is used to filter training memberships by due date. Values can be 'overdue', 'no_due_date', or a number of days (e.g., '7', '30', '90').","example":"7"},"description":"This field is used to filter training memberships by due date. Values can be 'overdue', 'no_due_date', or a number of days (e.g., '7', '30', '90').","example":"7","required":true}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/trainings_training_membership"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/trainings/training_memberships/{id}":{"get":{"tags":["Trainings \u003e TrainingMembership"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Training membership","summary":"Reads a single Training membership","parameters":[{"name":"id","example":"1","description":"This field is used to filter those trainings memberships whose id match with the given.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/trainings_training_membership"}}}}}},"put":{"tags":["Trainings \u003e TrainingMembership"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Update a training membership","summary":"Updates a Training membership","parameters":[{"name":"id","example":"1","description":"Unique identifier for the training membership. Only used to identify the training membership to update.","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/trainings_training_membership"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer","description":"Unique identifier for the training membership. Only used to identify the training membership to update.","example":1},"training_completed_at":{"type":"string","description":"This field is used to record the date a training was completed for trainings that have an expiry date.","example":"2022-01-01"}}}}}}}},"/api/2026-04-01/resources/trainings/training_memberships/bulk_create":{"post":{"tags":["Trainings \u003e TrainingMembership"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Creates training memberships in bulk","summary":"Bulk creates a Training membership","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/trainings_training_membership"}}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["employee_ids","training_id"],"properties":{"employee_ids":{"type":"array","description":"ids for the accesses to be assigned in a training","example":[20],"items":{"type":"integer"}},"training_id":{"type":"integer","description":"Training id to be assigned","example":1}}}}}}}},"/api/2026-04-01/resources/trainings/training_memberships/bulk_destroy":{"post":{"tags":["Trainings \u003e TrainingMembership"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Deletes training memberships in bulk","summary":"Bulk destroys a Training membership","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/trainings_training_membership"}}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["ids"],"properties":{"ids":{"type":"array","description":"IDs of training memberships to delete. When 'all' is true, these IDs are excluded from deletion.","example":[1,2],"items":{"type":"integer"}},"training_id":{"type":"integer","description":"Training ID. Required when 'all' is true to identify which training's memberships to delete.","example":1},"all":{"type":"boolean","description":"When true, deletes all memberships for the given training_id, excluding those in the 'ids' array.","example":false}}}}}}}},"/api/2026-04-01/resources/work_schedule/day_configurations":{"get":{"tags":["WorkSchedule \u003e DayConfiguration"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Day configurations","summary":"Reads all Day configurations","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","items":{"type":"integer"}}},{"name":"overlap_period_id","in":"query","schema":{"type":"integer"}},{"name":"schedule_id","in":"query","schema":{"type":"integer"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/work_schedule_day_configuration"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}}},"/api/2026-04-01/resources/work_schedule/day_configurations/{id}":{"get":{"tags":["WorkSchedule \u003e DayConfiguration"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Day configuration","summary":"Reads a single Day configuration","parameters":[{"name":"id","example":"1","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/work_schedule_day_configuration"}}}}}}},"/api/2026-04-01/resources/work_schedule/day_configurations/bulk_cud":{"post":{"tags":["WorkSchedule \u003e DayConfiguration"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Bulk cuds a Day configuration","summary":"Bulk cuds a Day configuration","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/work_schedule_day_configuration"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["overlap_period_id","day_configurations"],"properties":{"overlap_period_id":{"type":"integer"},"day_configurations":{"type":"array","items":{}}}}}}}}},"/api/2026-04-01/resources/work_schedule/overlap_periods":{"get":{"tags":["WorkSchedule \u003e OverlapPeriod"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Overlap periods","summary":"Reads all Overlap periods","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","description":"List of overlap period identifiers to retrieve. If provided, returns only overlap periods matching these IDs","example":[1,2,3],"items":{"type":"integer"}},"description":"List of overlap period identifiers to retrieve. If provided, returns only overlap periods matching these IDs","example":[1,2,3]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/work_schedule_overlap_period"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["WorkSchedule \u003e OverlapPeriod"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Creates an Overlap period","summary":"Creates an Overlap period","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/work_schedule_overlap_period"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["author","schedule_id","create_params"],"properties":{"author":{"type":"unknown"},"schedule_id":{"type":"integer"},"create_params":{"type":"unknown"}}}}}}}},"/api/2026-04-01/resources/work_schedule/overlap_periods/{id}":{"get":{"tags":["WorkSchedule \u003e OverlapPeriod"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Overlap period","summary":"Reads a single Overlap period","parameters":[{"name":"id","example":"1","description":"List of overlap period identifiers to retrieve. If provided, returns only overlap periods matching these IDs","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/work_schedule_overlap_period"}}}}}},"put":{"tags":["WorkSchedule \u003e OverlapPeriod"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Updates an Overlap period","summary":"Updates an Overlap period","parameters":[{"name":"id","example":"1","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/work_schedule_overlap_period"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["author","id","update_params"],"properties":{"author":{"type":"unknown"},"id":{"type":"integer"},"update_params":{"type":"unknown"}}}}}}},"delete":{"tags":["WorkSchedule \u003e OverlapPeriod"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Deletes an Overlap period","summary":"Deletes an Overlap period","parameters":[{"name":"id","example":"1","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/work_schedule_overlap_period"}}}}}}},"/api/2026-04-01/resources/work_schedule/schedules":{"get":{"tags":["WorkSchedule \u003e Schedule"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads all Schedules","summary":"Reads all Schedules","parameters":[{"name":"ids[]","in":"query","schema":{"type":"array","items":{"type":"integer"}}},{"name":"with_employee_ids","in":"query","schema":{"type":"boolean"},"required":true},{"name":"with_periods","in":"query","schema":{"type":"boolean"},"required":true}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/work_schedule_schedule"}},"meta":{"$ref":"#/components/schemas/_paged_index_meta"}}}}}}}},"post":{"tags":["WorkSchedule \u003e Schedule"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Creates a Schedule","summary":"Creates a Schedule","parameters":[],"responses":{"201":{"description":"CREATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/work_schedule_schedule"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["name","schedule_type"],"properties":{"name":{"type":"string"},"schedule_type":{"type":"string"}}}}}}}},"/api/2026-04-01/resources/work_schedule/schedules/{id}":{"get":{"tags":["WorkSchedule \u003e Schedule"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Reads a single Schedule","summary":"Reads a single Schedule","parameters":[{"name":"id","example":"1","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/work_schedule_schedule"}}}}}},"put":{"tags":["WorkSchedule \u003e Schedule"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Updates a Schedule","summary":"Updates a Schedule","parameters":[{"name":"id","example":"1","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/work_schedule_schedule"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id","author"],"properties":{"name":{"type":"string"},"id":{"type":"integer"},"author":{"type":"unknown"}}}}}}}},"/api/2026-04-01/resources/work_schedule/schedules/toggle_archive":{"post":{"tags":["WorkSchedule \u003e Schedule"],"security":[{"oauth2":[]},{"apikey":[]}],"description":"Toggle archives a Schedule","summary":"Toggle archives a Schedule","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/work_schedule_schedule"}}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer"}}}}}}}}},"components":{"securitySchemes":{"oauth2":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"/oauth/authorize","tokenUrl":"/oauth/token","refreshUrl":"/oauth/token","scopes":{"read":"Required for all operations","write":"Required for write operations"}}}},"apikey":{"type":"apiKey","in":"header","name":"x-api-key"}},"schemas":{"api_public_credential":{"type":"object","required":["company_id","id","employee_id"],"properties":{"company_id":{"type":"integer","description":"company id for all kind of accesses","example":1},"id":{"type":"integer","description":"id of the credential prefixed by the type of credential","example":"access-1"},"email":{"type":"string","description":"Only for Access Oauth token","example":"test@factorial.co"},"login_email":{"type":"string","description":"Only for Access Oauth token","example":"test@factorial.co"},"full_name":{"type":"string"},"first_name":{"type":"string","description":"Only for Access Oauth token","example":"Hellen"},"last_name":{"type":"string","description":"Only for Access Oauth token","example":"Smith"},"employee_id":{"type":"integer","description":"Id for hte employee related. Only for Access Oauth token","example":1},"role":{"type":"string","description":"Employee role in the Company. Only for Access Oauth token","example":"Smith"},"gdpr_tos":{"type":"boolean","description":"Only for Company Oauth or API key","example":"General Data Protection Regulation Terms of Service acceptance"},"legal_name":{"type":"string","description":"Only for Company Oauth or API key","example":"Company legal name"},"locale":{"type":"string","description":"Only for Company Oauth or API key","example":"Company locale"},"logo":{"type":"string","description":"Only for Company Oauth or API key","example":"Thumbnail companylogo url"},"name":{"type":"string","description":"Only for Company Oauth or API key","example":"Company name"},"onboarded_on":{"type":"string","description":"Only for Company Oauth or API key","example":"Factorial onboarding date"},"subscription_plan":{"type":"string","description":"Only for Company Oauth or API key","example":"Company subscription plan"},"tin":{"type":"string","description":"Only for Company Oauth or API key","example":"Company tax identification number"},"to_be_deleted":{"type":"string","description":"Only for Company Oauth or API key","example":"Company deletion date"},"tos":{"type":"boolean","description":"Only for Company Oauth or API key","example":"Terms of Service acceptance"}}},"api_public_webhook_subscription":{"type":"object","required":["id","target_url","type","company_id","enabled","api_version"],"properties":{"id":{"type":"integer","description":"Identifier of the webhook subscription","example":1},"target_url":{"type":"string","description":"URL where the webhook payload will be sent","example":"https://webhook.site/"},"type":{"type":"string","description":"Type of the webhook subscription","example":"ats/job_posting/create"},"company_id":{"type":"integer","description":"Company identifier of the webhook subscription","example":1},"name":{"type":"string","description":"Name of the webhook subscription","example":"Webhook subscription of a job posting created"},"challenge":{"type":"string","description":"String to verify the subscription","example":"2bca4e6d-9aaf-4f11-9e5d"},"enabled":{"type":"boolean","description":"Boolean to enable/disable the subscription","example":true},"api_version":{"type":"string","description":"API version of the webhook subscription that determines the schema of the payload","example":"2026-04-01"}}},"approvals_materialized_approvals_flow":{"type":"object","required":["id","author_id","owner_id","resource_type","resource_id","resource_url","status","expires_at","approval_flow_id","approvers","email_detail_blocks"],"properties":{"id":{"type":"integer"},"author_id":{"type":"integer"},"author_employee_id":{"type":"integer"},"owner_id":{"type":"integer"},"owner_employee_id":{"type":"integer"},"resource_type":{"type":"string"},"resource_id":{"type":"integer"},"resource_url":{"type":"string"},"status":{"type":"string","enum":["running","requestedinformation","changes_requested","stopped","approved","rejected"]},"expires_at":{"type":"string"},"final_decision_at":{"type":"string"},"approval_flow_id":{"type":"integer"},"approvers":{"type":"array","items":{}},"email_detail_blocks":{"type":"array","items":{"type":"string"}},"override_approver_id":{"type":"integer"},"override_approver_employee_id":{"type":"integer"},"rules_decision":{"type":"string"},"auto_approval_description":{"type":"string"},"action_type":{"type":"string"},"reason":{"type":"string"}}},"ats_answer":{"type":"object","required":["id","ats_application_id","original_question_label","original_question_type","created_at","updated_at"],"properties":{"id":{"type":"integer","description":"Identifier of the answer","example":1},"ats_question_id":{"type":"integer","description":"Identifier of the question","example":1},"ats_application_id":{"type":"integer","description":"Identifier of the application","example":1},"original_question_label":{"type":"string","description":"Question label of the answer","example":"How was your application ranked?"},"value":{"type":"string","description":"Value of the answer","example":"One of the best I have ever seen"},"original_question_type":{"type":"string","description":"Original type of the question","enum":["text","long_text","single_choice","multiple_choice","file"],"example":"text"},"created_at":{"type":"string","description":"Created date of the answer","example":"2021-01-01T00:00:00.000Z"},"updated_at":{"type":"string","description":"Last updated date of the answer","example":"2021-01-01T00:00:00.000Z"}}},"ats_application":{"type":"object","required":["id","company_id","ats_job_posting_id","ats_candidate_id","created_at"],"properties":{"id":{"type":"integer","description":"Id of the application","example":1},"company_id":{"type":"integer","description":"Company id of the application","example":1},"ats_job_posting_id":{"type":"integer","description":"Job posting id of the application","example":1},"ats_candidate_id":{"type":"integer","description":"Candidate id of the application","example":1},"employee_id":{"type":"integer","description":"Employee id of the application","example":1},"phone":{"type":"string","description":"Candidate phone of the application","example":"123321"},"qualified":{"type":"boolean","description":"Qualified of the application","example":true},"ats_application_phase_id":{"type":"integer","description":"Application phase id","example":1},"created_at":{"type":"string","description":"Application created at date","example":"2024-08-19T14:30:00Z"},"cover_letter":{"type":"string","description":"Application cover letter","example":"cover_letter"},"ats_conversation_id":{"type":"integer","description":"Application conversation id","example":1},"medium":{"type":"string","description":"Application medium","example":"medium"},"rating_average":{"type":"integer","description":"Application average rating","example":1},"ats_rejection_reason_id":{"type":"integer","description":"Application rejection reason id","example":1},"source_id":{"type":"integer","description":"Application source id","example":1}}},"ats_application_phase":{"type":"object","required":["id","ats_job_posting_id","name","position","editable","phase_type"],"properties":{"id":{"type":"integer","description":"Identifier of the application Phase","example":1},"ats_job_posting_id":{"type":"integer","description":"Job posting of the application phase","example":1},"name":{"type":"string","description":"Name of the application phase","example":"In review"},"position":{"type":"integer","description":"Position of the application phase","example":1},"editable":{"type":"boolean","description":"If the application phase is editable","example":true},"phase_type":{"type":"string","description":"Application phase type","enum":["initial","normal","hired","screening","interview","assessment","offer"],"example":"Screening"},"applications_count":{"type":"integer","description":"Active application count","example":1},"active_applications_count":{"type":"integer"},"ats_hiring_stage_id":{"type":"integer","description":"Hiring stage identifier","example":1}}},"ats_candidate":{"type":"object","required":["id","first_name","last_name","full_name","talent_pool","created_at","updated_at"],"properties":{"id":{"type":"integer","description":"identifier of the candidate.","example":1},"company_id":{"type":"integer","description":"company identifier.","example":1},"first_name":{"type":"string","description":"name of the candidate.","example":"Ana"},"last_name":{"type":"string","description":"last name of the candidate.","example":"Fernandez Perez"},"full_name":{"type":"string","description":"full name of the candidate.","example":"Ana Fernandez Perez"},"email":{"type":"string","description":"email of the candidate.","example":"ana@factorial.com"},"talent_pool":{"type":"boolean","description":"is the candidate part of talent pool?","example":true},"phone_number":{"type":"string","description":"phone number of the candidate.","example":645786980},"created_at":{"type":"string","description":"creation date of the candidate.","example":"2021-01-01T00:00:00Z"},"updated_at":{"type":"string","description":"last update of the candidate.","example":"2021-01-01T00:00:00Z"},"consent_given_at":{"type":"string","description":"date when the consent was given.","example":"2021-01-01T00:00:00Z"},"inactive_since":{"type":"string","description":"date when the candidate became inactive.","example":"2021-01-01T00:00:00Z"},"ats_job_posting_ids":{"type":"array","description":"list of job posting identifiers.","example":[1,2,3],"items":{"type":"integer"}},"personal_url":{"type":"string","description":"personal web resource from the candidate.","example":"https://anaperez.factorial.com"},"consent_expiration_date":{"type":"string","description":"date when the consent expires.","example":"2021-01-01T00:00:00Z"},"consent_to_talent_pool":{"type":"boolean","description":"consent to talent pool.","example":true},"medium":{"type":"string","description":"specifies additional details related to the source of the candidate, such as the referrer name for example if the source is referred.","example":"email"},"source_id":{"type":"integer","description":"candidate source identifier, refers to ats/candidate_sources endpoint.","example":1},"gender":{"type":"string","description":"gender of the candidate.","enum":["female","male","unanswered","other"],"example":"female"},"score":{"type":"number","description":"score of the candidate.","example":7}}},"ats_candidate_source":{"type":"object","required":["id","company_id","category","name","label"],"properties":{"id":{"type":"integer","description":"identifier of the source.","example":1},"company_id":{"type":"integer","description":"identifier of the company.","example":1},"category":{"type":"string","description":"category of the source.","enum":["job_board","agency_or_external_recruiter","event","social_media","referral","internal","manually_added","organic","system"],"example":"social_media"},"name":{"type":"string","description":"name of the source.","example":"manually_added"},"label":{"type":"string","description":"Translated label of the source if it is a default one, or name otherwise","example":"Manually added"}}},"ats_evaluation_form":{"type":"object","required":["id","company_id","name","questions","created_at","updated_at"],"properties":{"id":{"type":"integer","description":"Id of the evaluation form.","example":1},"company_id":{"type":"integer","description":"Id of the company that the evaluation form belongs to.","example":1},"ats_job_posting_id":{"type":"integer","description":"Id of the job posting that the evaluation form is associated with.","example":1},"name":{"type":"string","description":"Name of the evaluation form.","example":"Technical Evaluation"},"based_on_id":{"type":"integer","description":"Id of the evaluation form that this evaluation form is related.","example":1},"questions":{"type":"array","description":"List of questions in the evaluation form.","example":[{"id":1,"text":"What is your experience with Ruby on Rails?","description":"experience in years"}],"items":{}},"created_at":{"type":"string","description":"date and time when the evaluation form was created.","example":"2021-01-01T00:00:00Z"},"updated_at":{"type":"string","description":"date and time when the evaluation form was last updated.","example":"2021-01-01T00:00:00Z"}}},"ats_feedback":{"type":"object","required":["id","created_at","ats_candidate_id"],"properties":{"id":{"type":"integer","description":"the ID of the feedback entry.","example":1},"rating":{"type":"integer","description":"the overall rating from 1 to 5 for the candidate's application.","example":4},"description":{"type":"string","description":"the description of the feedback provided.","example":"The candidate has a great attitude and is a good fit for the team."},"ats_application_id":{"type":"integer","description":"the ID of the application related to the feedback.","example":1},"ats_application_phase_id":{"type":"integer","description":"the ID of the phase within the application related to the feedback.","example":1},"created_at":{"type":"string","description":"the date and time when the feedback entry was created.","example":"2022-01-01T00:00:00Z"},"ats_candidate_id":{"type":"integer","description":"the ID of the candidate to whom the feedback is associated.","example":1},"ats_evaluation_forms_id":{"type":"integer","description":"the ID of the evaluation form to which the feedback belongs if the evaluation forms feature is active.","example":1},"evaluation_form_answers":{"type":"array","description":"the answers from the evaluation form, if this feedback is related to an evaluation form.","example":[{"id":1,"score":3,"note":"Good communication skills."}],"items":{}}}},"ats_hiring_stage":{"type":"object","required":["id","name","label","company_id","position"],"properties":{"id":{"type":"integer","description":"Identifier of the hiring stage","example":1},"name":{"type":"string","description":"Name of the hiring stage","enum":["new","screening","interview","assessment","offer","hired"],"example":"hired"},"label":{"type":"string","description":"Label of the hiring stage","example":"Hired"},"company_id":{"type":"integer","description":"Company identifier of the hiring stage","example":1},"position":{"type":"integer","description":"Position of the hiring stage","example":1}}},"ats_job_posting":{"type":"object","required":["id","company_id","ats_company_id","title","remote","status","cv_requirement","cover_letter_requirement","phone_requirement","photo_requirement","personal_url_requirement","salary_period","created_at"],"properties":{"id":{"type":"integer","description":"Unique identifier for the job posting","example":1},"company_id":{"type":"integer","description":"Identifier of the company associated with the job posting","example":1},"ats_company_id":{"type":"integer","description":"Identifier of the ATS company associated with the job posting","example":1},"title":{"type":"string","description":"Title of the job posting","example":"My job title"},"description":{"type":"string","description":"Description of the job posting","example":"My job description"},"contract_type":{"type":"string","enum":["indefinite","temporary","intern","training","freelance","vendor_contractor","volunteer","per_hour","other","alternant","interim","minijob","werkstudent","apprenticeship","pj","clt","jovem_aprendiz","a_termo_incerto","a_termo_certo","de_curta_duracao","de_muita_curta_duracao","promessa_de_trabalho","a_tempo_parcial","com_pluralidade_de_empregadores","teletrabalho","pre_reforma","recibos_verdes","estagio","sem_termo","apprentissage","fixed_discontinued","apprendistato"],"example":"indefinite"},"workplace_type":{"type":"string","enum":["onsite","remote","hybrid"],"example":"onsite"},"remote":{"type":"boolean","description":"Indicates if the job posting is remote","example":true},"status":{"type":"string","description":"The current status of the job posting (e.g., draft, published, archived)","enum":["draft","published","unlisted","archived","cancelled","deleted"],"example":"draft"},"schedule_type":{"type":"string","description":"The schedule type of the job posting (e.g., full_time, part_time)","enum":["full_time","part_time"],"example":"full_time"},"team_id":{"type":"integer","description":"Identifier of the team associated with the job posting","example":1},"location_id":{"type":"integer","description":"Identifier of the location associated with the job posting","example":1},"legal_entity_id":{"type":"integer","description":"Identifier of the legal entity associated with the job posting","example":1},"salary_format":{"type":"string","description":"The format of the salary (e.g., range, fixed_amount)","enum":["fixed_amount","range"],"example":"range"},"salary_from_amount_in_cents":{"type":"integer","description":"The minimum salary amount in cents","example":3000000},"salary_to_amount_in_cents":{"type":"integer","description":"The maximum salary amount in cents","example":5000000},"hide_salary":{"type":"boolean","description":"Indicates whether the salary information for the job posting should be hidden from applicants.","example":false},"cv_requirement":{"type":"string","description":"Requirement for the CV (e.g, mandatory, optional, do_not_ask)","enum":["mandatory","optional","do_not_ask"],"example":"mandatory"},"cover_letter_requirement":{"type":"string","description":"Requirement for the cover letter (e.g, mandatory, optional, do_not_ask)","enum":["mandatory","optional","do_not_ask"],"example":"optional"},"phone_requirement":{"type":"string","description":"Requirement for the phone number (e.g, mandatory, optional, do_not_ask)","enum":["mandatory","optional","do_not_ask"],"example":"do_not_ask"},"photo_requirement":{"type":"string","description":"Requirement for the phone number (e.g, mandatory, optional, do_not_ask)","enum":["mandatory","optional","do_not_ask"],"example":"do_not_ask"},"personal_url_requirement":{"type":"string","description":"Requirement for the personal URL (e.g, mandatory, optional, do_not_ask)","enum":["mandatory","optional","do_not_ask"],"example":"do_not_ask"},"url":{"type":"string","description":"If published, the public URL of the job posting. Otherwise will be null","example":"https://my-factorial-domain/job_posting/job-title-slug"},"salary_period":{"type":"string","description":"The period of the salary (e.g., annual, monthly, daily)","enum":["annual","monthly","daily"],"example":"annual"},"published_at":{"type":"string","description":"Published date in ISO 8601 format of the job. If never been published the value will be null","example":"2024-07-02T08:28:00.000Z"},"created_at":{"type":"string","description":"Date in ISO 8601 format when the job posting was created","example":"2024-07-10T13:30:02.000Z"}}},"ats_message":{"type":"object","required":["id","content","ats_conversation_id","sent_by_id","sent_by_type","created_at","attachments","topic"],"properties":{"id":{"type":"integer"},"content":{"type":"string"},"ats_conversation_id":{"type":"integer"},"sent_by_id":{"type":"integer"},"sent_by_type":{"type":"string"},"created_at":{"type":"string"},"attachments":{"type":"array","items":{}},"topic":{"type":"string"},"delayed_until":{"type":"string"},"sent_at":{"type":"string"},"delivered_at":{"type":"string"},"opened_at":{"type":"string"},"last_error_at":{"type":"string"}}},"ats_question":{"type":"object","required":["id","ats_job_posting_id","label","position","mandatory","auto_disqualify","question_type","created_at","updated_at"],"properties":{"id":{"type":"integer","description":"question identifier","example":1},"ats_job_posting_id":{"type":"integer","description":"job posting identifier.","example":1},"label":{"type":"string","description":"text of the question.","example":"Are you open to relocate?"},"position":{"type":"integer","description":"position of the question in the list.","example":1},"mandatory":{"type":"boolean","description":"is the question mandatory or not","example":true},"auto_disqualify":{"type":"boolean","description":"if the question autodisqualifies the candidate depending on it's response.","example":false},"question_type":{"type":"string","description":"type of the question.","enum":["text","long_text","single_choice","multiple_choice","file"],"example":"text"},"created_at":{"type":"string","description":"creation date","example":"2025-01-01T00:00:00.000Z"},"updated_at":{"type":"string","description":"last update date","example":"2025-01-01T00:00:00.000Z"},"options":{"type":"array","description":"options for the question.","example":[{"text":"Yes","disqualifies":false},{"text":"No","disqualifies":false}],"items":{}}}},"ats_rejection_reason":{"type":"object","required":["id","company_id","decision_maker","reason","created_at","updated_at"],"properties":{"id":{"type":"integer","description":"Rejection reason identifier","example":1},"company_id":{"type":"integer","description":"Company identifier of the rejection reason","example":1},"decision_maker":{"type":"string","description":"Decision maker of the rejection reason","enum":["company","candidate"],"example":"candidate"},"reason":{"type":"string","description":"Reason of the rejection","example":"Unfit for the role"},"created_at":{"type":"string","description":"Rejection reason created date","example":"2024-08-22T14:30:00-07:00"},"updated_at":{"type":"string","description":"Rejection reason updated date","example":"2024-08-22T14:30:00-07:00"}}},"attendance_break_configuration":{"type":"object","required":["id","attendance_employees_setting_id","time_settings_break_configuration_id","enabled"],"properties":{"id":{"type":"integer"},"attendance_employees_setting_id":{"type":"integer","description":"Id of the attendance employee setting"},"time_settings_break_configuration_id":{"type":"integer","description":"Id of the time settings break configuration"},"enabled":{"type":"boolean","description":"Status of the break configuration if enabled or not"},"name":{"type":"string","description":"Name of the break configuration"},"paid":{"type":"boolean","description":"Check the break configuration is paid or not"}}},"attendance_edit_timesheet_request":{"type":"object","required":["id","request_type","employee_id"],"properties":{"id":{"type":"integer","description":"Unique identifier for the edit timesheet request","example":1},"approved":{"type":"boolean","description":"Status of the edit timesheet request","example":1},"request_type":{"type":"string","description":"Type of the request","enum":["create_shift","delete_shift","update_shift"],"example":"create_shift"},"employee_id":{"type":"integer","description":"Id of the shift's employee","example":1},"workable":{"type":"boolean","description":"Indicates if the shift is workable or a break","example":true},"clock_in":{"type":"string","description":"Clock in of the shift","example":"08:30:15"},"clock_out":{"type":"string","description":"Clock out of the shift","example":"10:30:00"},"location_type":{"type":"string","description":"Location of the shift","enum":["office","business_trip","work_from_home"],"example":"office"},"reason":{"type":"string","description":"Approve or reject reason","example":"Looks good!"},"attendance_shift_id":{"type":"integer","description":"Id of the shift for the request","example":1},"time_settings_break_configuration_id":{"type":"integer","description":"Id of the type of break for the request","example":1},"observations":{"type":"string","description":"Additional observations for the shift","example":"Employee arrived late due to traffic"},"date":{"type":"string","description":"Date of the shift","example":"2023-10-01"},"reference_date":{"type":"string","description":"Reference date for the shift","example":"2023-09-30"}}},"attendance_estimated_time":{"type":"object","required":["date","company_id","employee_id","expected_minutes","regular_minutes","overtime_minutes","breaks","time_unit","estimated_half_days","shifts","source","id","minutes"],"properties":{"date":{"type":"string"},"company_id":{"type":"integer"},"employee_id":{"type":"integer"},"expected_minutes":{"type":"number","description":"Amount of minutes the employee has to work without taking into consideration time off leaves and bank holidays."},"regular_minutes":{"type":"number","description":"Amount of regular minutes the employee has to work."},"overtime_minutes":{"type":"number","description":"Amount of overtime minutes the employee has to work (only available with Shift Management)."},"breaks":{"type":"array","items":{}},"time_unit":{"type":"string","enum":["minute","half_day","none"]},"estimated_half_days":{"type":"integer"},"shifts":{"type":"array","items":{}},"source":{"type":"string","description":"Source of the estimated time. Could be employee's contract, work schedule or shift management.","enum":["shift_management","work_schedule","contract_hours","none"]},"id":{"type":"string","description":"ID to specify the estimation time it includes the employee_id and date","example":"1_2025-02-01"},"minutes":{"type":"number","description":"Amount of minutes the employee has to work."}}},"attendance_open_shift":{"type":"object","required":["id","employee_id","date","reference_date","clock_in","status","workable","automatic_clock_in"],"properties":{"id":{"type":"integer","description":"Open Shift identifier.","example":1},"employee_id":{"type":"integer","description":"Employee identifier from the open shift.","example":1},"date":{"type":"string","description":"Date of the open shift.","example":"2024-06-06"},"reference_date":{"type":"string","description":"Reference date for the shift","example":"2024-06-06"},"clock_in":{"type":"string","description":"Clock in time from the shift. Ignore the date part.","example":"2000-01-01T02:35:25.000Z"},"clock_out":{"type":"string","description":"For open shifts, this field is null."},"status":{"type":"string","description":"Status of the shift","enum":["opened","closed","created"],"example":"opened"},"workable":{"type":"boolean","description":"Indicates if the shift is a break or a workable shift.","example":true},"automatic_clock_in":{"type":"boolean","description":"Indicates if the shift is automatic or not","example":false},"location_type":{"type":"string","description":"String representing the location type of the shift. Examples work_from_home, office, etc.","example":"work_from_home"},"workplace_id":{"type":"integer","description":"Identifier for the workplace assinged to the shift.","example":1},"time_settings_break_configuration_id":{"type":"integer","description":"If the shift is a break, this field will have the break configuration id.","example":1}}},"attendance_overtime_request":{"type":"object","required":["id","employee_id","author_id","status","date","hours_amount_in_cents","approver","is_editable"],"properties":{"id":{"type":"integer"},"employee_id":{"type":"integer"},"approver_id":{"type":"integer"},"author_id":{"type":"integer"},"status":{"type":"string","enum":["pending","approved","rejected","none"]},"description":{"type":"string"},"reason":{"type":"string"},"date":{"type":"string"},"hours_amount_in_cents":{"type":"integer"},"created_at":{"type":"string"},"approver":{"type":"boolean"},"approver_full_name":{"type":"string"},"is_editable":{"type":"boolean","description":"Defines if the overtime request can be edited"}}},"attendance_review":{"type":"object","required":["id","employee_id","date","reviewed_at","author_id"],"properties":{"id":{"type":"integer"},"employee_id":{"type":"integer","description":"Employee identifier","example":1},"date":{"type":"string","description":"Date reviewed","example":"2025-01-01"},"reviewed_at":{"type":"string","description":"Reviewed at (ISO 8601 format string)","example":"2025-01-02T00:00:00Z"},"author_id":{"type":"integer","description":"Author of the review","example":1}}},"attendance_shift":{"type":"object","required":["id","employee_id","date","reference_date","created_at","company_id","updated_at","minutes"],"properties":{"id":{"type":"integer","description":"Unique identifier for the shift","example":1},"employee_id":{"type":"integer","description":"Identifier for the employee assigned to the shift","example":1},"date":{"type":"string","description":"Date of the shift","example":"2023-10-01"},"reference_date":{"type":"string","description":"Reference date for the shift","example":"2023-09-30"},"clock_in":{"type":"string","description":"Time when the employee clocked in","example":"08:30"},"clock_out":{"type":"string","description":"Time when the employee clocked out","example":"12:30"},"in_source":{"type":"string","description":"Source of the clock-in time","example":"automatic"},"out_source":{"type":"string","description":"Source of the clock-out time","example":"automatic"},"observations":{"type":"string","description":"Additional observations about the shift","example":"Employee arrived late due to traffic"},"location_type":{"type":"string","description":"Type of location for the shift","enum":["office","business_trip","work_from_home"],"example":"office"},"half_day":{"type":"string","description":"Indicates which worked part of the day","enum":["beginning_of_day","end_of_day"],"example":"beginning_of_day"},"in_location_latitude":{"type":"number","description":"Latitude of the clock-in location","example":37.7749},"in_location_longitude":{"type":"number","description":"Longitude of the clock-in location","example":-122.419},"in_location_accuracy":{"type":"number","description":"Accuracy of the clock-in location","example":5.0},"out_location_latitude":{"type":"number","description":"Latitude of the clock-out location","example":37.7749},"out_location_longitude":{"type":"number","description":"Longitude of the clock-out location","example":-122.419},"out_location_accuracy":{"type":"number","description":"Accuracy of the clock-out location","example":5.7},"workable":{"type":"boolean","description":"Indicates if the shift is workable","example":true},"created_at":{"type":"string","description":"Timestamp when the shift record was created","example":"2023-10-01T08:00:00.000Z"},"workplace_id":{"type":"integer","description":"Identifier for the location","example":1},"time_settings_break_configuration_id":{"type":"integer","description":"Identifier for the break configuration","example":1},"company_id":{"type":"integer","description":"Identifier for the company","example":1},"updated_at":{"type":"string","description":"Timestamp when the shift record was updated","example":"2023-10-01T08:00:00.000Z"},"minutes":{"type":"integer","description":"Number in minutes of the shift","example":240},"clock_in_with_seconds":{"type":"string","description":"Clock in time with seconds","example":"08:30:15"}}},"attendance_worked_time":{"type":"object","required":["employee_id","date","company_id","tracked_minutes","multiplied_minutes","pending_minutes","minutes","time_unit","worked_time_blocks","day_type","id"],"properties":{"employee_id":{"type":"integer"},"date":{"type":"string"},"company_id":{"type":"integer"},"tracked_minutes":{"type":"integer"},"multiplied_minutes":{"type":"integer"},"pending_minutes":{"type":"integer"},"minutes":{"type":"integer"},"time_unit":{"type":"string","enum":["minute","half_day","none"]},"worked_time_blocks":{"type":"array","items":{}},"day_type":{"type":"string","enum":["saturday","sunday","bank_holiday","workday"]},"id":{"type":"string","description":"ID to specify the worked time it includes the employee_id and date","example":"1_2024-07-01"}}},"banking_bank_account":{"type":"object","required":["id","external_id","currency","country","account_number","account_number_type","account_balance_cents","available_balance_cents","pending_balance_cents","updated_at"],"properties":{"id":{"type":"integer","description":"Factorial unique identifier.","example":1},"external_id":{"type":"string","description":"External ID for the bank account.","example":"ext_135"},"currency":{"type":"string","description":"Currency.","example":"EUR"},"country":{"type":"string","description":"Country.","example":"es"},"account_number":{"type":"string","description":"Account number.","example":"ES28209582976036485969781"},"account_number_type":{"type":"string","description":"Account number type.","enum":["iban","sort_code_and_account_number","routing_number_and_account_number","clabe","other","bank_name_and_account_number"],"example":"iban"},"sort_code":{"type":"string","description":"Sort code.","example":"123456"},"bic":{"type":"string","description":"Bank Identifier Code.","example":"FAKEBB33"},"iban":{"type":"string","description":"International Bank Account Number.","example":"ES28209582976036485969781"},"routing_number":{"type":"string","description":"Routing number.","example":"12345678"},"account_balance_cents":{"type":"integer","description":"Account balance in cents.","example":0},"available_balance_cents":{"type":"integer","description":"Available balance in cents.","example":0},"pending_balance_cents":{"type":"integer","description":"Pending balance in cents.","example":0},"beneficiary_name":{"type":"string","description":"Beneficiary name.","example":"factorial INC. - B66854530"},"bank_name":{"type":"string","description":"Bank name.","example":"Fake Bank"},"account_alias":{"type":"string","description":"Account alias.","example":"My Bank Account"},"updated_at":{"type":"string","description":"Last updated date.","example":"2021-01-01T00:00:00.000Z"},"legal_entity_id":{"type":"integer","description":"Factorial unique identifier of the legal entity.","example":11}}},"banking_card_payment":{"type":"object","required":["id","card_id","amount_cents","currency","merchant_name","merchant_amount_cents","merchant_currency","approved","external_created_at","status","type","exchange_rate","created_at"],"properties":{"id":{"type":"integer","description":"The ID of the card payment.","example":135},"card_id":{"type":"integer","description":"The ID of the card.","example":123},"amount_cents":{"type":"integer","description":"The amount of the card payment.","example":-1000},"currency":{"type":"string","description":"The currency of the card payment.","example":"EUR"},"merchant_name":{"type":"string","description":"The name of the merchant.","example":"Test Merchant"},"merchant_amount_cents":{"type":"integer","description":"The amount of the merchant.","example":-1000},"merchant_currency":{"type":"string","description":"The currency of the merchant.","example":"EUR"},"approved":{"type":"boolean","description":"Whether the card payment was approved.","example":true},"external_created_at":{"type":"string","description":"The date and time the card payment was created in the external system.","example":"2025-01-01T00:00:00.000Z"},"status":{"type":"string","description":"The status of the card payment.","enum":["pending","closed","reversed","rejected"],"example":"closed"},"type":{"type":"string","description":"The type of the card payment.","enum":["payment","refund"],"example":"payment"},"exchange_rate":{"type":"number","description":"The exchange rate of the card payment.","example":1.0},"rejected_reason":{"type":"string","description":"The reason the card payment was rejected.","enum":["account_disabled","card_active","card_canceled","card_expired","card_inactive","cardholder_blocked","cardholder_inactive","cardholder_verification_required","insecure_authorization_method","insufficient_funds","not_allowed","pin_blocked","spending_controls","suspected_fraud","verification_failed","webhook_approved","webhook_declined","webhook_error","webhook_timeout","authentication_failed","incorrect_cvc","incorrect_expiry","account_compliance_disabled","account_inactive","authorization_controls"],"example":"insufficient_funds"},"created_at":{"type":"string","description":"The date and time the card payment was created in factorial","example":"2025-01-01T00:00:00.000Z"}}},"banking_transaction":{"type":"object","required":["id","bank_account_id","amount_cents","currency","type","booking_date","value_date","card_payment_id","updated_at"],"properties":{"id":{"type":"integer","description":"Factorial unique identifier.","example":135},"bank_account_id":{"type":"integer","description":"Factorial Banking Bank Account unique identifier.","example":357},"amount_cents":{"type":"integer","description":"Amount in cents.","example":1000},"balance_after_cents":{"type":"integer","description":"Balance after the transaction in cents.","example":2000},"currency":{"type":"string","description":"Currency.","example":"USD"},"type":{"type":"string","description":"Type of transaction.","enum":["payroll","payment","topup","unknown","card_payment","dispute","card_refund","fees","outgoing_transfer","incoming_transfer","outgoing","incoming"],"example":"topup"},"description":{"type":"string","description":"Description of the transaction.","example":"Topup from external account"},"booking_date":{"type":"string","description":"Booking date of the transaction.","example":"2021-01-01T00:00:00.000Z"},"value_date":{"type":"string","description":"Value date of the transaction.","example":"2021-01-01T00:00:00.000Z"},"card_payment_id":{"type":"integer","description":"Factorial unique identifier of the card payment.","example":135},"updated_at":{"type":"string","description":"Date when the transaction was last updated.","example":"2021-01-01T00:00:00.000Z"}}},"bookkeepers_management_incidence":{"type":"object","required":["id","legal_entity_id","name","target_id","target_type","status","company_id","created_at","is_reopened"],"properties":{"id":{"type":"integer","description":"identifier of the incidence (aka employee update).","example":1},"employee_id":{"type":"integer","description":"identifier of employee related.","example":1},"legal_entity_id":{"type":"integer","description":"identifier of legal entity related.","example":1},"name":{"type":"string","description":"name of the incidence (aka employee update). It also represent the incidence type. For example a new hire incidence will be","example":"hiring"},"custom_name":{"type":"string"},"target_id":{"type":"integer","description":"The incidence (aka employee update) is also related to a another resource, for example for a leave target, the target identifier will be the leave id.","example":1},"target_type":{"type":"string","description":"The incidence (aka employee update) is also related to a another resource, for example a leave. This is the target type. The other types are Employee, Contracts::ContractVersion, BookkeepersManagement::ManualIncidence, Finance::CostCenterMembership.","example":"Timeoff::Leave"},"starts_on":{"type":"string","description":"The date the incidence (aka employee update) starts.","example":"2020-01-01"},"ends_on":{"type":"string","description":"The date the incidence (aka employee update) end.","example":"2020-01-01"},"read_at":{"type":"string","description":"The date the incidence (aka employee update) was read.","example":"2020-01-01"},"status":{"type":"string"},"company_id":{"type":"integer","description":"identifier of company related.","example":1},"message_from":{"type":"string","description":"Indicate the message sender on the incidence (aka employee update). It can be any of 'bookkeeper', 'admin'","example":"admin"},"has_message":{"type":"boolean","description":"Boolean that indicates if the incidence (aka employee update) has unread messages.","example":true},"created_at":{"type":"string","description":"Date in which incidence (aka employee update) was created.","example":true},"is_reopened":{"type":"boolean","description":"Boolean that indicates if the incidence (aka employee update) has been reopened.","example":true},"legal_entity_name":{"type":"string"},"employee_first_name":{"type":"string"},"employee_last_name":{"type":"string"}}},"companies_legal_entity":{"type":"object","required":["id","company_id","country","legal_name","currency"],"properties":{"id":{"type":"integer","description":"identifier of the legal entity","example":754},"company_id":{"type":"integer","description":"company identifier","example":1},"country":{"type":"string","description":"country code of the legal entity","example":"es"},"legal_name":{"type":"string","description":"Legal name of the legal entity","example":"Acme Inc."},"currency":{"type":"string","description":"The currency code in ISO 4217 format","example":"EUR"},"tin":{"type":"string","description":"Tax identification number","example":"H41192410"},"city":{"type":"string","description":"City of the legal entity","example":"Barcelona"},"state":{"type":"string","description":"State of the legal entity","example":"Barcelona"},"postal_code":{"type":"string","description":"Postal code of the legal entity","example":"08005"},"address_line_1":{"type":"string","description":"Address line 1 of the legal entity","example":"Carrer Mallorca"},"address_line_2":{"type":"string","description":"Address line 2 of the legal entity","example":"61 2A"}}},"compensations_concept":{"type":"object","required":["id","company_id","default","description","label","name","translated_name"],"properties":{"id":{"type":"integer","description":"The identifier of the concept","example":1},"category":{"type":"string","description":"The category of the concept","enum":["earnings_fixed_salary","earnings_variable","earnings_benefits_in_kind","earnings_others","deductions","company_contribution","summarized_values"],"example":"earnings_fixed_salary"},"company_id":{"type":"integer","description":"The company identifier of the concept","example":1},"default":{"type":"boolean","description":"Whether the concept is a default or a custom concept","example":false},"description":{"type":"string","description":"The description of the concept","example":"Fixed Comission"},"label":{"type":"string","description":"The label of the concept","example":"Fixed comission"},"name":{"type":"string","description":"The name of the concept","example":"fixed_comission"},"translated_name":{"type":"string","description":"The translated name of the concept if it is a default concept.","example":"Fixed comission"},"unit_name":{"type":"string","description":"The name of the unit of the concept","example":"EUR"},"unit_type":{"type":"string","description":"The type of the unit of the concept","enum":["distance","money","time","unit"],"example":"money"}}},"contracts_compensation":{"type":"object","required":["id","contract_version_id","contracts_taxonomy_id","unit"],"properties":{"id":{"type":"integer"},"contract_version_id":{"type":"integer"},"contracts_taxonomy_id":{"type":"integer"},"description":{"type":"string","example":"Yearly variable"},"compensation_type":{"type":"string","description":"Required field. You can only use the following options: fixed, undefined, up_to, per_worked_day, per_worked_hour","example":"fixed"},"amount":{"type":"integer","description":"Value paid on each recurrence, stored in the smallest currency unit (for example cents). Required unless the compensation type is `undefined`"},"unit":{"type":"string","description":"In which unit compensation is paid","example":"Money"},"sync_with_supplements":{"type":"boolean"},"payroll_policy_id":{"type":"integer"},"recurrence_count":{"type":"integer","description":"How much time will pass between payments. If recurrence is empty, assume months. For example, 12 here means compensation is paid yearly"},"starts_on":{"type":"string"},"recurrence":{"type":"string","description":"Frequency (monthly, yearly, one_time) to determine how often the employee is paid. Could be empty, use `recurrence_count` in that case"},"first_payment_on":{"type":"string","description":"Date of the first payout; differs from `starts_on` when payroll scheduling or accrual rules delay payment"},"calculation":{"type":"string","description":"Human-readable hint about the payroll formula used (for example \"current period\" or \"average of last 3 months\")"},"currency":{"type":"string"},"time_condition":{"type":"string","enum":["full_day","half_day","custom"]},"minimum_amount_of_hours":{"type":"integer"},"minimum_amount_of_hours_in_cents":{"type":"integer","description":"Compensation expected minimum amount of hours in cents"}}},"contracts_contract_template":{"type":"object","required":["id"],"properties":{"id":{"type":"integer","description":"Unique identifier for the contract template","example":1},"company_id":{"type":"integer","description":"ID of the company this template belongs to","example":1},"contract_version_type":{"type":"string","description":"Type of contract version (e.g., es for Spain, fr for France)","example":"es"}}},"contracts_contract_version":{"type":"object","required":["company_id","employee_id","effective_on","has_payroll","bank_holiday_treatment","created_at","updated_at","fr_forfait_jours"],"properties":{"id":{"type":"integer","description":"identifier for the contract version.","example":1},"company_id":{"type":"integer","description":"identifier for company.","example":1},"employee_id":{"type":"integer","description":"employee identifier, refers to /employees/employees endpoint.","example":1},"effective_on":{"type":"string","description":"the day the specific contract starts, in case of hiring the same than starts_on.","example":"2024-10-06"},"country":{"type":"string","description":"nationality country code of the employee (Spain ES, United Kingdom GB).","example":"es"},"job_title":{"type":"string","description":"job title of the employee.","example":"Designer"},"job_catalog_level_id":{"type":"integer","description":"job catalog level identifier, refers to /job_catalog/levels endpoint.","example":1},"job_catalog_tree_node_uuid":{"type":"string","description":"the uuid node in the job catalog tree. For now it only supports level nodes. From this point in the job catalog tree you can get the full ancestor path to the root node including the role. Refer to job_catalog/tree_nodes endpoint.","example":"jobcatalog_treelevel-14"},"starts_on":{"type":"string","description":"the day the employee is hired.","example":"2024-10-06"},"ends_on":{"type":"string","description":"the day the employee is terminated. It has nothing to do with trial period, these are concepts totally unrelated.","example":"2024-10-06"},"has_payroll":{"type":"boolean","description":"boolean that indicates if the employee asociated to this contract belongs to a payroll policy.","example":false},"has_trial_period":{"type":"boolean","description":"a flag that indicates if the contract version has ever had a trial period.","example":false},"trial_period_ends_on":{"type":"string","description":"when the trial period ends. If there is no date, it means that the employee has never been in trial. This date is not related with the end date of a contract.","example":"2024-10-06"},"salary_amount":{"type":"integer","description":"the amount of money the employee earns in cents.","example":1000},"salary_frequency":{"type":"string","description":"the frequency of the salary payment.","example":"yearly"},"working_week_days":{"type":"string","description":"the days of the week the employee works.","example":"monday,tuesday,wednesday,thursday,friday"},"working_hours":{"type":"integer","description":"the amount of hours the employee works.","example":40},"working_hours_frequency":{"type":"string","description":"the frequency of the working hours.","example":"week"},"max_legal_yearly_hours":{"type":"integer","description":"the maximum amount of hours the employee can work in a year.","example":2000},"maximum_weekly_hours":{"type":"integer","description":"the maximum amount of hours the employee can work in a week.","example":40},"bank_holiday_treatment":{"type":"string","description":"Defines whether a bank holiday should be considered as a workable or non-workable day.","enum":["workable","non_workable"],"example":"workable"},"working_time_percentage_in_cents":{"type":"integer","description":"Working time percentage in cents (e.g., when an employee is working part-time, the percentage of full-time hours they are working).","example":8000},"annual_working_time_distribution":{"type":"string","description":"Allows companies to define how annual working hours are spread across the year to ensure compliance with legal limits.","enum":["limit_workdays","limit_daily_hours"],"example":"limit_workdays"},"min_rest_minutes_between_days":{"type":"integer","description":"the minimum amount of minutes the employee must rest between working periods.","example":2880},"max_work_minutes_per_day":{"type":"integer","description":"the maximum amount of minutes the employee can work in a day.","example":480},"max_work_days_in_row":{"type":"integer","description":"the maximum amount of days the employee can work in a row.","example":6},"min_rest_hours_in_row":{"type":"integer","description":"the minimum amount of hours the employee must rest in a row.","example":36},"created_at":{"type":"string","description":"the date the contract version was created.","example":"2024-10-06T00:00:00.000Z"},"updated_at":{"type":"string","description":"the date of the last contract version updated.","example":"2024-10-06T00:00:00.000Z"},"es_has_teleworking_contract":{"type":"boolean","description":"flag that indicates if the contract has teleworking.","example":false},"es_cotization_group":{"type":"integer","description":"the group of cotization of the employee.","example":1},"contracts_es_tariff_group_id":{"type":"integer","description":"the group of cotization of the employee.","example":1},"es_contract_observations":{"type":"string","description":"observations of the contract.","example":"review contract for job promotion"},"es_job_description":{"type":"string","description":"the job description of the employee.","example":"Designer"},"es_contract_type_id":{"type":"integer","description":"contract type identifier.","example":1},"es_working_day_type_id":{"type":"integer","description":"working day type identifier.","example":1},"es_education_level_id":{"type":"integer","description":"education level identifier.","example":1},"es_professional_category_id":{"type":"integer","description":"professional category identifier.","example":1},"fr_employee_type":{"type":"string","description":"employee type.","example":"apprenti"},"fr_forfait_jours":{"type":"boolean","description":"flag that indicates if the employee is allowed to work within the framework of a fixed number of days.","example":false},"fr_jours_par_an":{"type":"integer","description":"the number of days the employee is allowed to work.","example":200},"fr_coefficient":{"type":"string","description":"coefficient for france contracts.","example":"1"},"fr_contract_type_id":{"type":"integer","description":"contract type identifier.","example":1},"fr_level_id":{"type":"integer","description":"level identifier.","example":1},"fr_step_id":{"type":"integer","description":"step identifier.","example":1},"fr_mutual_id":{"type":"integer","description":"mutual identifier.","example":1},"fr_professional_category_id":{"type":"integer","description":"professional category identifier.","example":1},"fr_work_type_id":{"type":"integer","description":"work type identifier.","example":1},"de_contract_type_id":{"type":"integer","description":"contract type identifier.","example":1},"de_base_salary_type_id":{"type":"integer","description":"Identifier for the German base salary type. References a payroll concept available via the /payroll/concepts endpoint.","example":1},"pt_contract_type_id":{"type":"integer","description":"contract type identifier.","example":1}}},"contracts_contract_version_history":{"type":"object","required":["id","employee_id","effective_on","has_payroll","original_contract_version_id","changed_at","created_at","updated_at","fr_forfait_jours"],"properties":{"id":{"type":"integer","description":"identifier for the contract version history.","example":1},"employee_id":{"type":"integer","description":"employee identifier, refers to /employees/employees endpoint.","example":1},"effective_on":{"type":"string","description":"the day the specific contract starts, in case of hiring the same than starts_on.","example":"2024-10-06"},"country":{"type":"string","description":"nationality country code of the employee.","example":"es"},"job_title":{"type":"string","description":"job title of the employee.","example":"Designer"},"job_catalog_level_id":{"type":"integer","description":"job catalog level identifier, refers to /job_catalog/levels endpoint.","example":1},"job_catalog_tree_node_uuid":{"type":"string","description":"the uuid node in the job catalog tree. For now it only supports level nodes. From this point in the job catalog tree you can get the full ancestor path to the root node including the role. Refer to job_catalog/tree_nodes endpoint.","example":"jobcatalog_treelevel-14"},"starts_on":{"type":"string","description":"the day the employee is hired.","example":"2024-10-06"},"ends_on":{"type":"string","description":"the day the employee is terminated.","example":"2024-10-06"},"has_payroll":{"type":"boolean","description":"boolean that indicates if the employee asociated to this contract belongs to a payroll policy.","example":false},"salary_amount":{"type":"integer","description":"the amount of money the employee earns in cents.","example":1000},"salary_frequency":{"type":"string","description":"the frequency of the salary payment.","example":"yearly"},"working_week_days":{"type":"string","description":"the days of the week the employee works.","example":"monday,tuesday,wednesday,thursday,friday"},"working_hours":{"type":"integer","description":"the amount of hours the employee works.","example":40},"working_hours_frequency":{"type":"string","description":"the frequency of the working hours.","example":"week"},"max_legal_yearly_hours":{"type":"integer","description":"the maximum amount of hours the employee can work in a year.","example":2000},"maximum_weekly_hours":{"type":"integer","description":"the maximum amount of hours the employee can work in a week.","example":40},"original_contract_version_id":{"type":"integer","description":"identifier for the original contract version.","example":1},"contracts_contract_version_id":{"type":"integer","description":"identifier for the current contract version.","example":1},"changed_at":{"type":"unknown","description":"the date the contract version was changed.","example":"2024-10-06T00:00:00.000Z"},"trial_period_ends_on":{"type":"string","description":"when the trial period ends.","example":"2024-10-06"},"has_trial_period":{"type":"boolean","description":"a flag that indicates if the employee has a trial period.","example":false},"author":{"type":"string","description":"the author of the contract version change.","example":"John Doe"},"action_type":{"type":"string","description":"the type of action that was performed on the contract version.","example":"promotion"},"adjusted_daily_minutes":{"type":"integer","description":"adjusted daily minutes for the employee.","example":480},"created_at":{"type":"unknown","description":"the date the contract version was created.","example":"2024-10-06"},"updated_at":{"type":"unknown","description":"the date of the last contract version updated.","example":"2024-10-06"},"es_has_teleworking_contract":{"type":"boolean","description":"spanish boolean that indicates if the employee has a teleworking contract.","example":false},"es_cotization_group":{"type":"integer","description":"spanish cotization group identifier.","example":1},"es_contract_observations":{"type":"string","description":"spanish observations of the contract.","example":"Observations"},"es_job_description":{"type":"string","description":"spanish job description of the contract.","example":"Job description"},"es_contract_type_id":{"type":"integer","description":"spanish contract type identifier.","example":1},"es_working_day_type_id":{"type":"integer","description":"spanish working day type identifier.","example":1},"es_education_level_id":{"type":"integer","description":"spanish education level identifier.","example":1},"es_professional_category_id":{"type":"integer","description":"spanish professional category identifier.","example":1},"es_contribution_type_id":{"type":"integer","description":"spanish contribution type identifier.","example":1},"es_agreement_code_id":{"type":"integer","description":"spanish agreement code identifier."},"es_cno_occupation_id":{"type":"integer","description":"spanish cno occupation identifier."},"es_tariff_group_id":{"type":"integer","description":"spanish tariff group identifier.","example":1},"es_occupation_code_id":{"type":"integer","description":"spanish occupation code identifier.","example":1},"es_classification_id":{"type":"integer","description":"spanish classification identifier."},"fr_employee_type":{"type":"string","description":"french employee type.","example":"apprenti"},"fr_forfait_jours":{"type":"boolean","description":"french flag that indicates if the employee is allowed to work within the framework of a fixed number of days.","example":false},"fr_jours_par_an":{"type":"integer","description":"french number of days the employee is allowed to work.","example":200},"fr_jours_par_an_cents":{"type":"integer","description":"french number of days the employee is allowed to work in cents.","example":20000},"fr_coefficient":{"type":"string","description":"french coefficient for france contracts.","example":"1"},"fr_contract_type_id":{"type":"integer","description":"french contract type identifier.","example":1},"fr_level_id":{"type":"integer","description":"french level identifier.","example":1},"fr_step_id":{"type":"integer","description":"french step identifier.","example":1},"fr_mutual_id":{"type":"integer","description":"french mutual identifier.","example":1},"fr_professional_category_id":{"type":"integer","description":"french professional category identifier.","example":1},"fr_work_type_id":{"type":"integer","description":"french work type identifier.","example":1},"de_contract_type_id":{"type":"integer","description":"german contract type identifier.","example":1},"de_base_salary_type_id":{"type":"integer","description":"Identifier for the German base salary type. References a payroll concept available via the /payroll/concepts endpoint.","example":1},"pt_contract_type_id":{"type":"integer","description":"portuguese contract type identifier.","example":1}}},"contracts_contract_version_meta_data":{"type":"object","required":["contract_version_id"],"properties":{"contract_version_id":{"type":"integer","description":"identifier for the contract version.","example":1},"action_type":{"type":"string","description":"the action that has been performed on the contract version ex:promotion / evolution / null.","example":"promotion"}}},"contracts_french_contract_type":{"type":"object","required":["id","name"],"properties":{"id":{"type":"integer","description":"identifier for the contract type","example":1},"name":{"type":"string","description":"Contract type name","example":"CIE - Contrat initiative emploi"}}},"contracts_german_contract_type":{"type":"object","required":["id","name"],"properties":{"id":{"type":"integer","description":"identifier for the contract type","example":1},"name":{"type":"string","description":"Contract type name","example":"Unbefristet Vollzeit"}}},"contracts_portuguese_contract_type":{"type":"object","required":["id","name"],"properties":{"id":{"type":"integer","description":"identifier for the contract type","example":1},"name":{"type":"string","description":"Contract type name","example":"Sem Termo"}}},"contracts_spanish_contract_type":{"type":"object","required":["id","name"],"properties":{"id":{"type":"integer","description":"identifier for the contract type","example":1},"name":{"type":"string","description":"The name of the contract type","example":"Indefinido"},"default":{"type":"boolean","description":"This contract type is a predefined one","example":false},"contracts_contract_template_id":{"type":"integer","description":"The contract template identifier. Refers to contracts/contract_templates.","example":1}}},"contracts_spanish_education_level":{"type":"object","required":["id","name"],"properties":{"id":{"type":"integer","description":"Education level identifier","example":1},"name":{"type":"string","description":"education level name","example":"Without studies"},"default":{"type":"boolean","description":"Whether the education level is a predefined value","example":false},"contracts_contract_template_id":{"type":"integer","description":"Contract template identifier, refers to contracts/contract_templates","example":1}}},"contracts_spanish_professional_category":{"type":"object","required":["id","name"],"properties":{"id":{"type":"integer","description":"Professional category identifier","example":1},"name":{"type":"string","description":"Professional category name","example":"Administration Manager"},"default":{"type":"boolean","description":"Whether the professional category is a predefined value","example":false},"contracts_contract_template_id":{"type":"integer","description":"Contract template identifier, refers to contracts/contract_templates","example":1}}},"contracts_spanish_working_day_type":{"type":"object","required":["id","name"],"properties":{"id":{"type":"integer","description":"Working day type identifier","example":1},"name":{"type":"string","description":"Working day type name","example":"Fulltime"},"default":{"type":"boolean","description":"Whether the Working day type is a predefined value","example":false},"contracts_contract_template_id":{"type":"integer","description":"Contract template identifier, refers to contracts/contract_templates","example":1}}},"contracts_taxonomy":{"type":"object","required":["id","name","archived","default","legal_entity_id"],"properties":{"id":{"type":"integer"},"name":{"type":"string"},"archived":{"type":"boolean"},"default":{"type":"boolean"},"legal_entity_id":{"type":"integer"}}},"custom_fields_field":{"type":"object","required":["id","field_type","label_text"],"properties":{"id":{"type":"integer","description":"Field identifier","example":2},"field_type":{"type":"string","description":"The type of the field's value","enum":["text","long_text","date","rating","checkbox","single_choice","multiple_choice","money","cents"],"example":"text"},"label_text":{"type":"string","description":"Field label","example":"T-Shirt Size"},"position":{"type":"integer","description":"Field position within employee profile","example":3},"required":{"type":"boolean","description":"Requirement to fill this field","example":true},"min_value":{"type":"integer","description":"Minimum value in range field type","example":10},"max_value":{"type":"integer","description":"Maximum value in range field type","example":0},"legal_entity_name":{"type":"string","description":"Legal entity name where this field belongs","example":"Factorial Legal"},"legal_entity_id":{"type":"integer","description":"Legal entity id where this field belongs","example":1},"slug":{"type":"string","description":"Custom field slug","example":"tshirt_size"}}},"custom_fields_option":{"type":"object","required":["id"],"properties":{"id":{"type":"integer","description":"Option identifier","example":1},"label":{"type":"string","description":"Title for option","example":"T-shirt size"},"value":{"type":"string","description":"Option value","example":"L"},"is_active":{"type":"boolean","description":"Flag to make the option available","example":true},"field_id":{"type":"integer","description":"Custom Fields identifier","example":2}}},"custom_fields_resource_field":{"type":"object","required":["id"],"properties":{"id":{"type":"integer","description":"Resource field identifier","example":1},"field_id":{"type":"integer","description":"Custom Field identifier","example":2}}},"custom_fields_value":{"type":"object","required":["id","custom_field_identifier","valuable_id","field_id","valuable_type"],"properties":{"id":{"type":"integer","description":"Unique identifier for the custom field value","example":73},"value":{"type":"unknown","description":"Custom Fields value","example":"1235436"},"long_text_value":{"type":"string","description":"Custom field text value","example":"1235436"},"custom_field_identifier":{"type":"string","description":"The unique identifier of the custom field","example":"01f931507aa27e1168025e27cd46b8588435b741"},"date_value":{"type":"string","description":"Custom field date value","example":"2024-10-06"},"single_choice_value":{"type":"string","description":"Custom field single choice value","example":"Option 1"},"cents_value":{"type":"integer","description":"Custom field number value","example":100},"valuable_id":{"type":"integer","description":"The identifier of the object that owns this custom field value","example":18},"field_id":{"type":"integer","description":"The identifier of the custom field","example":75},"valuable_type":{"type":"string","description":"The type of the object that owns this custom field value","example":"Employee"},"label":{"type":"string","description":"The label of the custom field","example":"Matricule"},"required":{"type":"boolean","description":"Whether the custom field is required","example":true},"usage_group_id":{"type":"integer","description":"The identifier of the usage group","example":37},"usage_group_slug":{"type":"string","description":"The slug of the usage group","example":"employees-questions"},"updated_at":{"type":"string","description":"The date and time the custom field value was last updated.","example":"2024-10-06T00:00:00.000Z"}}},"custom_resources_resource":{"type":"object","required":["id","schema_id","attachable_type","attachable_id"],"properties":{"id":{"type":"integer","description":"The id of the Resource","example":1},"schema_id":{"type":"integer","description":"The id of the Schema this resource belongs to","example":2},"attachable_type":{"type":"string","description":"Attachable type (the type of the attachable)","example":"Employee"},"attachable_id":{"type":"integer","description":"The id of the Attachable","example":1}}},"custom_resources_schema":{"type":"object","required":["id","name","company_id","hidden"],"properties":{"id":{"type":"integer","description":"Schema identifier","example":1},"name":{"type":"string","description":"Schema name","example":"Company Offsite"},"company_id":{"type":"integer","description":"Company identifier where this schema belongs","example":2},"hidden":{"type":"boolean","description":"Manages visibility of the schema","example":false},"position":{"type":"integer","description":"Schema position within employee profile","example":1}}},"custom_resources_value":{"type":"object","required":["id","resource_id"],"properties":{"id":{"type":"integer","description":"Value identifier","example":1},"resource_id":{"type":"integer","description":"The identifier of the resource that owns the resource value","example":1},"attachable_id":{"type":"integer","description":"The id of the attached resource like an employee","example":1}}},"documents_document":{"type":"object","required":["created_at","filename","id","public","space","updated_at"],"properties":{"author_id":{"type":"integer","description":"access identifier of the author, refers to /employees/employees endpoint.","example":1},"company_id":{"type":"integer","description":"company identifier, refers to /api/me endpoint.","example":1},"content_type":{"type":"string","description":"document content type.","example":"application/pdf"},"created_at":{"type":"string","description":"creation date of the document.","example":"2020-01-01T00:00:00Z"},"employee_id":{"type":"integer","description":"employee identifier associated to the document.","example":1},"extension":{"type":"string","description":"document extension.","example":"pdf"},"file_size":{"type":"integer","description":"document file size in bytes.","example":1024},"filename":{"type":"string","description":"name of the document.","example":"document.pdf"},"folder_id":{"type":"integer","description":"folder identifier, references to documents/folders endpoint.","example":1},"id":{"type":"integer","description":"document identifier.","example":1},"is_company_document":{"type":"boolean","description":"flag that indicates if the document is a company document.","example":true},"is_management_document":{"type":"boolean","description":"flag that indicates if the document is a management document.","example":true},"is_pending_assignment":{"type":"boolean","description":"flag that indicates if the document is pending assignment.","example":true},"leave_id":{"type":"integer","description":"leave identifier associated to the document, refers to /timeoff/leaves endpoint.","example":1},"public":{"type":"boolean","description":"flag to indicate if the document is public.","example":true},"signature_status":{"type":"string","description":"document signature status.","enum":["pending","partially_signed","declined","completed","bounced_email","cancelled","error","expired"],"example":"pending"},"signees":{"type":"array","description":"list of signee access identifiers associated to the document, refers to /employees/employees endpoint.","items":{"type":"integer"}},"space":{"type":"string","description":"document space.","example":"company_public"},"updated_at":{"type":"string","description":"last update date of the document.","example":"2020-01-01T00:00:00Z"},"deleted_at":{"type":"string","description":"deletion date of the document.","example":"2020-01-01T00:00:00Z"}}},"documents_download_url":{"type":"object","required":["id","url"],"properties":{"id":{"type":"integer","description":"document identifier.","example":1},"url":{"type":"string","description":"temporal document url.","example":"http://example.com/document.pdf"}}},"documents_folder":{"type":"object","required":["active","id","name","space"],"properties":{"active":{"type":"boolean","description":"Whether the folder is active or not","example":true},"company_id":{"type":"integer","description":"Company ID of the folder","example":1},"id":{"type":"integer","description":"Folder ID","example":10},"name":{"type":"string","description":"Folder name","example":"Payslips"},"parent_folder_id":{"type":"integer","description":"Id of the parent folder","example":23},"space":{"type":"string","description":"The space of the folder is related to the place where the folder is displayed."}}},"employees_employee":{"type":"object","required":["id","access_id","first_name","last_name","full_name","company_id","location_id","created_at","updated_at","is_terminating","attendable"],"properties":{"id":{"type":"integer","description":"id of the employee.","example":2},"access_id":{"type":"integer","description":"access_id associated to the employee.","example":1},"first_name":{"type":"string","description":"name of the employee.","example":"Ana"},"last_name":{"type":"string","description":"last name of the employee.","example":"Blanco Perez"},"full_name":{"type":"string","description":"full name of the employee.","example":"Ana Blanco Perez"},"preferred_name":{"type":"string","description":"nickname of the employee or a name that defines the employee better.","example":"Anita"},"birth_name":{"type":"string","description":"Birthname of the employee.","example":"Anna"},"gender":{"type":"string","description":"gender of the employee (male | female).","example":"female"},"identifier":{"type":"string","description":"national identifier number.","example":"QKG587532Y"},"identifier_type":{"type":"string","description":"type of identifier (ex passport).","example":"passport"},"email":{"type":"string","description":"personal email of the employee.","example":"ana@factorial.com"},"login_email":{"type":"string","description":"email associated to the session.","example":"ana@factorial.com"},"birthday_on":{"type":"string","description":"birthday of the employee.","example":"1990-06-06"},"nationality":{"type":"string","description":"nationality country code of the employee (Spain ES, United Kingdom GB).","example":"es"},"address_line_1":{"type":"string","description":"address of the employee.","example":"Calle Adaro 10 1 A"},"address_line_2":{"type":"string","description":"secondary address of the employee.","example":"Calle Adaro 10 1 A"},"postal_code":{"type":"string","description":"postal code of the employee.","example":"27004"},"city":{"type":"string","description":"city of the employee.","example":"Santander"},"state":{"type":"string","description":"state/province/region of the employee.","example":"Cantabria"},"country":{"type":"string","description":"country code of the employee (Spain ES, United Kingdom GB).","example":"es"},"bank_number":{"type":"string","description":"bank account number of the employee.","example":"ES6220809324751871912999"},"swift_bic":{"type":"string","description":"code to identify banks and financial institutions globally.","example":"CAGLES2M510"},"bank_number_format":{"type":"string","description":"bank number format.","enum":["iban","sort_code_and_account_number","routing_number_and_account_number","clabe","other","bank_name_and_account_number"],"example":"iban"},"company_id":{"type":"integer","description":"id of the company to which the employee belongs (not editable).","example":1},"legal_entity_id":{"type":"integer","description":"legal entity of the employee, references to companies/legal_entities.","example":1},"location_id":{"type":"integer","description":"location id of the employee, references to locations/locations.","example":1},"default_work_area_id":{"type":"integer","description":"Default work area ID for the employee at the default workplace. References locations/work_areas.","example":1},"created_at":{"type":"string","description":"creation date of the employee.","example":"2010-10-06T00:00:00.000Z"},"updated_at":{"type":"string","description":"date of last modification of the employee","example":"2024-10-06T00:00:00.000Z"},"social_security_number":{"type":"string","description":"social security number of the employee.","example":"150126298420"},"is_terminating":{"type":"boolean","description":"is the employee being terminated?","example":false},"terminated_on":{"type":"string","description":"termination date of the employee.","example":"2024-10-06"},"termination_reason_type":{"type":"string","description":"termination reason type of the employee","example":"others"},"termination_reason":{"type":"string","description":"A reason for the termination.","example":"The employee has left the company"},"termination_observations":{"type":"string","description":"observations about the termination.","example":"Ana has been working on this project before she left"},"manager_id":{"type":"integer","description":"manager id of the employee, you can get the manager id from employees endpoint.","example":1},"timeoff_manager_id":{"type":"integer","description":"Timeoff manager id of the employee.","example":1},"phone_number":{"type":"string","description":"phone number of the employee.","example":"657483987"},"company_identifier":{"type":"string","description":"identity number or string used inside a company to internally identify the employee.","example":"bb9d281e"},"age_number":{"type":"integer","description":"age of the employee.","example":30},"termination_type_description":{"type":"string","description":"The description of the termination type.","example":"Baja voluntaria/Dimisión"},"contact_name":{"type":"string","description":"name of the employee contact.","example":"Laura Delgado"},"contact_number":{"type":"string","description":"phone number of the employee contact .","example":"647384950"},"personal_email":{"type":"string","description":"personal email of the employee.","example":"ana@factorial.com"},"seniority_calculation_date":{"type":"string","description":"date since when the employee is working in the company.","example":"2024-10-07"},"pronouns":{"type":"string","description":"pronouns that an employee uses to define themselves.","example":"She/Her"},"active":{"type":"boolean","description":"status of the employee, true when active, false when terminated.","example":true},"disability_percentage_cents":{"type":"integer","description":"officially certified level of disability granted by public administration for individuals with physical or mental impairments, expressed in cents","example":1200},"identifier_expiration_date":{"type":"string","description":"identifier expiration date","example":"2023-12-31"},"attendable":{"type":"boolean","description":"employee included in a time tracking policy.","example":true},"country_of_birth":{"type":"string","description":"Country of birth of the employee.","example":"Spain"},"birthplace":{"type":"string","description":"Birthplace of the employee.","example":"Barcelona"}}},"employee_updates_absence":{"type":"object","required":["id","status"],"properties":{"id":{"type":"integer","description":"Identifier of the absence employee update","example":1},"status":{"type":"string","description":"The status of the employee update.","example":"done"},"employee_id":{"type":"integer","description":"Employee id of the absence","example":1},"employee_full_name":{"type":"string","description":"Full name of the employee","example":"Bob The Boss"},"approved":{"type":"boolean","description":"Indicates if the absence is approved","example":true},"description":{"type":"string","description":"A description of the absence","example":"Trip to Norway"},"start_on":{"type":"string","description":"The start date of the absence","example":"2021-06-07"},"prev_start_on":{"type":"string","description":"The previous start date of the absence","example":"2021-06-07"},"finish_on":{"type":"string","description":"The end date of the absence","example":"2021-06-09"},"prev_finish_on":{"type":"string","description":"The previous end date of the absence","example":"2021-06-07"},"half_day":{"type":"string","description":"Indicates if the absence is taken as a half-day","example":"end_of_day"},"hours_amount_in_cents":{"type":"integer","description":"The total number of hours taken for the absence, represented in cents","example":80000},"leave_type_id":{"type":"integer","description":"The id of the leave type","example":1},"leave_type_name":{"type":"string","description":"The name of the leave type","example":"Annual leave"}}},"employee_updates_contract_change":{"type":"object","required":["id","status","effective_on","employee_id","has_payroll","fr_forfait_jours","created_at","updated_at"],"properties":{"id":{"type":"integer","description":"The id of the contract change incidence","example":1},"status":{"type":"string","description":"The status of the contract change incidence","example":"done"},"effective_on":{"type":"string","description":"The effective date of the contract","example":"2024-10-06"},"starts_on":{"type":"string","description":"The start date of the contract","example":"2024-10-06"},"ends_on":{"type":"string","description":"The end date of the contract","example":"2024-10-06"},"employee_id":{"type":"integer","description":"The employee id","example":1},"job_title":{"type":"string","description":"The job title on the contract change","example":"The job title"},"job_role":{"type":"string","description":"The job role on the contract change","example":"The job role"},"job_level":{"type":"string","description":"The job level on the contract change","example":"The job level"},"has_payroll":{"type":"boolean","description":"The payrollable status of the employee on the contract change","example":true},"salary_amount":{"type":"integer","description":"The salary amount on the contract change in cents.","example":200000},"salary_frequency":{"type":"string","description":"The salary payment frequency on the contract change","example":"monthly"},"working_week_days":{"type":"string","description":"The working week days on the contract change","example":"Monday"},"working_hours":{"type":"integer","description":"The working hours on the contract change","example":40},"working_hours_frequency":{"type":"string","description":"The working hours frequency on the contract change","example":"weekly"},"country":{"type":"string","description":"The country on the contract change","example":"es"},"es_has_teleworking_contract":{"type":"boolean","description":"The teleworking status on the contract change","example":true},"es_cotization_group":{"type":"integer","description":"The cotization group on the contract change","example":1},"es_contract_observations":{"type":"string","description":"The contract observations on the contract change","example":"The contract observations"},"es_job_description":{"type":"string","description":"The job description on the contract change","example":"The job description"},"es_contract_type_id":{"type":"integer","description":"The contract type id on the contract change","example":1},"es_contract_type_name":{"type":"string","description":"The contract type name on the contract change","example":"The contract type name"},"es_trial_period_ends_on":{"type":"string","description":"The trial period end date on the contract change","example":"2024-10-06"},"es_working_day_type_id":{"type":"integer","description":"The working day type id on the contract change","example":1},"es_education_level_id":{"type":"integer","description":"The education level id on the contract change","example":1},"es_professional_category_id":{"type":"integer","description":"The professional category id on the contract change","example":1},"fr_employee_type":{"type":"string","description":"The employee type on the contract change","example":"The employee type"},"fr_forfait_jours":{"type":"boolean","description":"The forfait jours status on the contract change","example":true},"fr_jours_par_an":{"type":"integer","description":"The jours par an on the contract change","example":1},"fr_coefficient":{"type":"string","description":"The coefficient on the contract change","example":"The coefficient"},"fr_level_id":{"type":"integer","description":"The level id on the contract change","example":1},"fr_level_name":{"type":"string","description":"The level name on the contract change","example":"The level name"},"fr_step_id":{"type":"integer","description":"The step id on the contract change","example":1},"fr_step_name":{"type":"string","description":"The step name on the contract change","example":"The step name"},"fr_mutual_id":{"type":"integer","description":"The mutual id on the contract change","example":1},"fr_mutual_name":{"type":"string","description":"The mutual name on the contract change","example":"The mutual name"},"fr_professional_category_id":{"type":"integer","description":"The professional category id on the contract change","example":1},"fr_professional_category_name":{"type":"string","description":"The professional category name on the contract change","example":"The professional category name"},"fr_work_type_id":{"type":"integer","description":"The work type id on the contract change","example":1},"fr_work_type_name":{"type":"string","description":"The work type name on the contract change","example":"The work type name"},"compensation_ids":{"type":"array","items":{"type":"integer"}},"fr_contract_type_id":{"type":"integer","description":"The contract type id on the contract change","example":1},"fr_contract_type_name":{"type":"string","description":"The contract type name on the contract change","example":"The contract type name"},"de_contract_type_id":{"type":"integer","description":"The contract type id on the contract change","example":1},"de_contract_type_name":{"type":"string","description":"The contract type name on the contract change","example":"The contract type name"},"pt_contract_type_id":{"type":"integer","description":"The contract type id on the contract change","example":1},"pt_contract_type_name":{"type":"string","description":"The contract type name on the contract change","example":"The contract type name"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"employee_updates_new_hire":{"type":"object","required":["id","status","employee_id","first_name","last_name","address"],"properties":{"id":{"type":"integer","description":"The id of the new hire incidence","example":1},"status":{"type":"string","description":"The status of the new hire incidence","example":"done"},"employee_id":{"type":"integer","description":"The employee id of the new hire","example":1},"first_name":{"type":"string","description":"name of the employee.","example":"Ana"},"last_name":{"type":"string","description":"last name of the employee.","example":"Blanco Perez"},"birth_name":{"type":"string","description":"The birth name of the new hire","example":"John Doe"},"identifier":{"type":"string","description":"national identifier number.","example":"QKG587532Y"},"identifier_type":{"type":"string","description":"type of identifier (ex passport).","example":"passport"},"payroll_identifier":{"type":"string","description":"payroll identifier.","example":123456},"work_email":{"type":"string","description":"personal email of the employee.","example":"ana@factorial.com"},"phone_number":{"type":"string","description":"phone number of the employee.","example":123456789},"gender":{"type":"string","description":"gender of the employee (male | female).","example":"female"},"job_title":{"type":"string","description":"job title of the employee.","example":"Software Engineer"},"address":{"type":"string","description":"address of the employee.","example":"Calle Rosalía de Castro 10, 1º 1ª"},"city":{"type":"string","description":"city of the employee.","example":"Santander"},"country":{"type":"string","description":"country code of the employee (Spain ES, United Kingdom GB).","example":"ES"},"state":{"type":"string","description":"state/province/region of the employee.","example":"Cataluña"},"postal_code":{"type":"string","description":"postal code of the employee.","example":27004},"date_of_birth":{"type":"string","description":"birthday of the employee.","example":"1990-06-06"},"nationality":{"type":"string","description":"nationality country code of the employee (Spain ES, United Kingdom GB).","example":"ES"},"start_date":{"type":"string"},"contract_effective_date":{"type":"string"},"contract_end_date":{"type":"string"},"bank_account":{"type":"string","description":"bank account number of the employee.","example":"ES6220809324751871912999"},"salary_amount_in_cents":{"type":"integer","description":"salary amount in cents.","example":200000},"salary_frequency":{"type":"string"},"working_hours":{"type":"integer"},"working_hours_frequency":{"type":"string"},"social_security_number":{"type":"string","description":"social security number of the employee.","example":238038194000},"manager_id":{"type":"integer","description":"manager id of the employee, you can get the manager id from employees endpoint.","example":1},"tax_id":{"type":"string"},"legal_entity_id":{"type":"integer","description":"The legal entity id of the new hire","example":1},"workplace_id":{"type":"integer","description":"workplace id of the employee.","example":1}}},"employee_updates_personal_change":{"type":"object","required":["id","status","employee_id","first_name","last_name"],"properties":{"id":{"type":"integer","description":"The id of the new hire incidence","example":1},"status":{"type":"string","description":"The status of the new hire incidence","example":"done"},"employee_id":{"type":"integer","description":"The employee id of the new hire","example":1},"work_email":{"type":"string","description":"personal email of the employee.","example":"ana@factorial.com"},"phone_number":{"type":"string","description":"phone number of the employee.","example":123456789},"identifier_type":{"type":"string","description":"type of identifier (ex passport).","example":"passport"},"identifier":{"type":"string","description":"national identifier number.","example":"QKG587532Y"},"social_security_number":{"type":"string","description":"social security number of the employee.","example":238038194000},"tax_id":{"type":"string"},"first_name":{"type":"string","description":"name of the employee.","example":"Ana"},"last_name":{"type":"string","description":"last name of the employee.","example":"Blanco Perez"},"gender":{"type":"string","description":"gender of the employee (male | female).","example":"female"},"date_of_birth":{"type":"string","description":"birthday of the employee.","example":"1990-06-06"},"nationality":{"type":"string","description":"nationality country code of the employee (Spain ES, United Kingdom GB).","example":"ES"},"address_line_1":{"type":"string","description":"address line 1 of the employee.","example":"Calle Rosalía de Castro 10, 1º 1ª"},"address_line_2":{"type":"string","description":"address line 1 of the employee.","example":"Calle Rosalía de Castro 10, 1º 1ª"},"postal_code":{"type":"string","description":"postal code of the employee.","example":27004},"city":{"type":"string","description":"city of the employee.","example":"Santander"},"state":{"type":"string","description":"state/province/region of the employee.","example":"Cataluña"},"country":{"type":"string","description":"country code of the employee (Spain ES, United Kingdom GB).","example":"ES"},"bank_number":{"type":"string","description":"bank account number of the employee.","example":"ES6220809324751871912999"},"job_title":{"type":"string","description":"job title of the employee.","example":"Software Engineer"},"workplace_id":{"type":"integer","description":"workplace id of the employee.","example":1}}},"employee_updates_summary":{"type":"object","required":["id","legal_entity_id","status","type","created_at"],"properties":{"id":{"type":"integer"},"employee_id":{"type":"integer"},"legal_entity_id":{"type":"integer"},"status":{"type":"string"},"type":{"type":"string"},"starts_on":{"type":"string"},"ends_on":{"type":"string"},"created_at":{"type":"string"}}},"employee_updates_termination":{"type":"object","required":["id","status","employee_id","remaining_holidays"],"properties":{"id":{"type":"integer","description":"ID of the termination","example":1},"status":{"type":"string","description":"Status of the termination","example":"to-do"},"employee_id":{"type":"integer","description":"Employee ID","example":1},"terminated_on":{"type":"string","description":"Date terminated on","example":"2020-01-01"},"contract_end_date":{"type":"string","description":"End date of contract (employment end). Users can still have have access to Factorial after this date. To revoke access, use the terminated_on field.","example":"2020-01-01"},"termination_reason":{"type":"string","description":"Reason for the termination","example":"Fired"},"termination_observations":{"type":"string","description":"Observations about the termination","example":"none"},"legal_entity_id":{"type":"integer","description":"Legal entity ID","example":1},"remaining_holidays":{"type":"array","description":"Remaining holidays","example":[{"name":"Vacaciones restantes","available_days":"0 días laborables"}],"items":{}},"termination_reason_type":{"type":"string","description":"Termination reason type","example":"company"},"termination_type_description":{"type":"string","description":"The description of the termination type.","example":"Baja voluntaria/Dimisión"}}},"expenses_expensable":{"type":"object","required":["id","type","company_id","employee_id","created_at","currency","status","status_updated_at","updated_at","cost_center_ids"],"properties":{"id":{"type":"integer","description":"Unique identifier for the expensable","example":1},"type":{"type":"string","description":"Type of the expensable. Can be either \"expense\" or \"mileage\" or \"perdiem\"","enum":["expense","mileage","perdiem"],"example":"expense"},"company_id":{"type":"integer","description":"The ID of the company that owns the expensable","example":1},"employee_id":{"type":"integer","description":"The ID of the employee that owns the expensable","example":1},"group_id":{"type":"integer","description":"The optional ID of the group that the expensable belongs to","example":1},"legal_entity_id":{"type":"integer","description":"The optional ID of the legal entity that the expensable belongs to","example":1},"created_at":{"type":"string","description":"The date and time when the expensable was created","example":"2024-06-06T12:00:00.000Z"},"amount":{"type":"integer","description":"The optional amount in cents","example":1000},"currency":{"type":"string","description":"The currency code in ISO 4217 format","example":"EUR"},"status":{"type":"string","description":"The status of the expensable. Can be pending, approved, paid, archived, in_review, rejected, reversed, draft, or in_payroll","enum":["pending","changes_requested","approved","paid","rejected","reversed","draft","in_payroll","sent_to_pay"],"example":"approved"},"description":{"type":"string","description":"The optional description of the expensable","example":"Dinner with clients"},"reporter_id":{"type":"integer","description":"The optional ID of the employee that reported the expensable","example":1},"status_updated_at":{"type":"string","description":"The optional date and time when the status was last updated","example":"2024-06-06T12:00:00.000Z"},"effective_on":{"type":"string","description":"The optional date and time when the expensable was effective","example":"2024-06-06T12:00:00.000Z"},"review_request_at":{"type":"string","description":"The optional date and time when the expensable was requested for review","example":"2024-06-06T12:00:00.000Z"},"paid_at":{"type":"string","description":"The optional date and time when the expensable was set as paid","example":"2024-06-06T12:00:00.000Z"},"updated_at":{"type":"string","description":"The date and time when the expensable was last updated","example":"2024-06-06T12:00:00.000Z"},"reimbursable_amount":{"type":"integer","description":"The optional reimbursable amount in cents","example":1000},"reimbursable_currency":{"type":"string","description":"The optional reimbursable currency code in ISO 4217 format","example":"EUR"},"reimbursement_method":{"type":"string","description":"The optional reimbursement method","enum":["unknown","sepa_transfer","payroll"],"example":"sepa_transfer"},"internal_reference":{"type":"string","description":"The optional internal reference of the expensable","example":"REF123"},"expense_id":{"type":"integer","description":"The optional ID of the expense that the expensable belongs to","example":1},"mileage_id":{"type":"integer","description":"The optional ID of the mileage that the expensable belongs to","example":1},"per_diem_id":{"type":"integer","description":"The optional ID of the per_diem that the expensable belongs to","example":1},"budget_id":{"type":"integer","description":"The id of the budget","example":1},"project_id":{"type":"integer","description":"The id of the project","example":1},"cost_center_ids":{"type":"array","description":"The ids of the cost centers","example":[1,2],"items":{"type":"integer"}}}},"expenses_expense":{"type":"object","required":["company_id","creation_type","currency","status","effective_on","status_updated_at","files","taxes","cost_center_ids"],"properties":{"id":{"type":"integer","description":"The id of the expense","example":1},"employee_id":{"type":"integer","description":"The id of the expense's owner","example":1},"company_id":{"type":"integer","description":"The id of the expense's company","example":1},"card_payment_id":{"type":"integer","description":"The id of the card payment","example":1},"dispute_id":{"type":"integer","description":"The id of the dispute","example":1},"expenses_expensable_id":{"type":"integer","description":"The id of the expensable","example":1},"merchant_name":{"type":"string","description":"The name of the merchant","example":"Example Merchant"},"user_merchant":{"type":"string","description":"The user merchant of the expense","example":"Example User Merchant"},"merchant_tin":{"type":"string","description":"The tax identification number of the merchant","example":1234567890},"category":{"type":"object","description":"The category of the expense","example":"Category"},"subcategory":{"type":"string","description":"The subcategory of the expense","example":"Subcategory"},"creation_type":{"type":"string","description":"How the expense was created, one of 'manual', 'automatic' or 'travelperk'","enum":["manual","automatic","travelperk"]},"reference":{"type":"string","description":"The reference of the expense","example":"1414PX"},"amount":{"type":"integer","description":"The optional amount in cents","example":1000},"currency":{"type":"string","description":"The currency of the expense","example":"EUR"},"status":{"type":"string","description":"The status of the expense","enum":["pending","changes_requested","approved","paid","rejected","reversed","draft","in_payroll","sent_to_pay"],"example":"draft"},"description":{"type":"string","description":"The description of the expense","example":"Example Description"},"effective_on":{"type":"string","description":"The date when the expense was made","example":"2020-01-01"},"review_request_at":{"type":"string","description":"The date and time when the expense was reviewed","example":"2020-01-01T00:00:000Z"},"status_updated_at":{"type":"string","description":"The date and time when the status was updated","example":"2020-01-01T00:00:000Z"},"files":{"type":"array","description":"The files of the expense","items":{}},"external_authorization_id":{"type":"string","description":"The id of the external authorization","example":1},"expenses_card_id":{"type":"integer","description":"The id of the card","example":1},"card":{"type":"object","description":"The card of the expense"},"document_id":{"type":"integer","description":"The id of the document","example":1},"signed_document":{"type":"object","description":"The signed document of the expense"},"access_token":{"type":"string","description":"The access token of the expense","example":1234567890},"paid_at":{"type":"string","description":"The date and time when the expense was paid","example":"2020-01-01T00:00:000Z"},"document_number":{"type":"string","description":"Number of the financial document associated to the expense","example":123456},"document_type":{"type":"string","description":"Type of the financial document associated to the expense","example":"invoice"},"payment":{"type":"string","description":"The payment of the expense","enum":["reimbursable","not_reimbursable"]},"payment_method":{"type":"string","description":"The method of the payment"},"exchange_rate":{"type":"number","description":"The exchange rate of the payment"},"reimbursable_currency":{"type":"string","description":"The currency of the reimbursable amount","example":"EUR"},"reimbursable_amount":{"type":"integer","description":"The optional reimbursable amount in cents","example":1000},"taxes":{"type":"array","description":"The taxes of the expense","items":{}},"category_id":{"type":"integer","description":"The id of the category"},"ledger_account_id":{"type":"integer","description":"The id of the ledger account","example":1},"budget_id":{"type":"integer","description":"The id of the budget associated with this expense","example":1},"project_id":{"type":"integer","description":"The id of the project associated with this expense","example":1},"cost_center_ids":{"type":"array","description":"Array of cost center IDs associated with this expense","example":[1,2],"items":{"type":"integer"}}}},"expenses_mileage":{"type":"object","required":["id","company_id","currency","status","files","payment","cost_center_ids"],"properties":{"id":{"type":"integer","description":"Unique identifier for the mileage","example":1},"employee_id":{"type":"integer","description":"The ID of the employee that owns the mileage","example":1},"company_id":{"type":"integer","description":"The ID of the company that owns the mileage","example":1},"expenses_expensable_id":{"type":"integer","description":"The ID of the expensable associated with this mileage","example":1},"category":{"type":"object","description":"The category of the mileage","example":"business_travel"},"subcategory":{"type":"string","description":"The subcategory of the mileage","example":"client_visit"},"category_id":{"type":"integer","description":"The ID of the category","example":1},"amount":{"type":"integer","description":"The amount in cents","example":1000},"currency":{"type":"string","description":"The currency code in ISO 4217 format","example":"EUR"},"reimbursable_amount":{"type":"integer","description":"The amount to be reimbursed for the mileage in cents.","example":250},"reimbursable_currency":{"type":"string","description":"The currency for the reimbursable amount.","example":"USD"},"status":{"type":"string","description":"The status of the mileage","example":"approved"},"mileage":{"type":"integer","description":"The mileage distance","example":100},"units":{"type":"string","description":"The units for the mileage","example":"km"},"rate":{"type":"string","description":"The rate per unit","example":0.5},"from":{"type":"string","description":"The origin location","example":"Madrid"},"to":{"type":"string","description":"The destination location","example":"Barcelona"},"description":{"type":"string","description":"The description of the mileage","example":"Client meeting"},"effective_on":{"type":"string","description":"The date when the mileage was effective","example":"2024-06-06T12:00:00.000Z"},"review_request_at":{"type":"string","description":"The date when the mileage was requested for review","example":"2024-06-06T12:00:00.000Z"},"files":{"type":"array","description":"The files associated with the mileage","items":{}},"paid_at":{"type":"string","description":"The date when the mileage was paid","example":"2024-06-06T12:00:00.000Z"},"payment":{"type":"string","description":"The payment method","enum":["reimbursable","not_reimbursable"],"example":"reimbursable"},"ledger_account_id":{"type":"integer","description":"The ID of the ledger account","example":1},"round_trip":{"type":"boolean","description":"Indicates if the mileage is a round trip","example":true},"origin_longitude":{"type":"string","description":"The longitude of the origin of the mileage","example":2.1686},"origin_latitude":{"type":"string","description":"The latitude of the origin of the mileage","example":41.3874},"destination_longitude":{"type":"string","description":"The longitude of the destination of the mileage","example":3.7033},"destination_latitude":{"type":"string","description":"The latitude of the destination of the mileage","example":40.4167},"calculated_mileage":{"type":"integer","description":"The calculated mileage between origin and destination in decameters/10-milers","example":62700},"budget_id":{"type":"integer","description":"The id of the budget associated with this mileage","example":2},"project_id":{"type":"integer","description":"The id of the project associated with this mileage","example":3},"cost_center_ids":{"type":"array","description":"Array of cost center IDs associated with this mileage","example":[4,5],"items":{"type":"integer"}}}},"expenses_per_diem":{"type":"object","required":["id","company_id","currency","payment","files","status","cost_center_ids","rates"],"properties":{"id":{"type":"integer","description":"The ID of the per diem.","example":1},"employee_id":{"type":"integer","description":"The ID of the employee the per diem is for.","example":1},"company_id":{"type":"integer","description":"The ID of the company the per diem is for.","example":1},"expenses_expensable_id":{"type":"integer","description":"The ID of the expensable the per diem is for.","example":1},"end_date":{"type":"string","description":"The end date of the per diem.","example":"2020-01-01"},"start_date":{"type":"string","description":"The start date of the per diem.","example":"2020-01-01"},"from":{"type":"string","description":"The location the per diem is from.","example":"New York"},"to":{"type":"string","description":"The location the per diem is to.","example":"San Francisco"},"trip_name":{"type":"string","description":"The name of the trip.","example":"Berlin - Barcelona, 12-19 Mar 2026"},"ledger_account_id":{"type":"integer","description":"The ID of the ledger account the per diem is for.","example":1},"amount":{"type":"integer","description":"The amount of the per diem.","example":1000},"currency":{"type":"string","description":"The currency for the reimbursable amount.","example":"USD"},"reimbursable_amount":{"type":"integer","description":"The amount to be reimbursed by the per diem in cents.","example":250},"reimbursable_currency":{"type":"string","description":"The currency for the reimbursable amount.","example":"USD"},"payment":{"type":"string","description":"The payment method for the per diem.","enum":["reimbursable","not_reimbursable"],"example":"reimbursable"},"paid_at":{"type":"string","description":"The date the per diem was paid.","example":"2020-01-01T12:00:00.000Z"},"files":{"type":"array","description":"The files attached to the per diem.","items":{}},"review_request_at":{"type":"string","description":"The date the per diem was requested for review.","example":"2020-01-01T12:00:00.000Z"},"effective_on":{"type":"string","description":"The date the per diem is effective on.","example":"2020-01-01T12:00:00.000Z"},"description":{"type":"string","description":"The description of the per diem.","example":"Per diem for trip to San Francisco"},"category":{"type":"object","description":"The category of the per diem.","example":"travel"},"subcategory":{"type":"string","description":"The subcategory of the per diem.","example":"national"},"status":{"type":"string","description":"The status of the per diem.","enum":["pending","changes_requested","approved","paid","rejected","reversed","draft","in_payroll","sent_to_pay"],"example":"approved"},"budget_id":{"type":"integer","description":"The id of the budget associated with this per diem","example":1},"project_id":{"type":"integer","description":"The id of the project associated with this per diem","example":1},"cost_center_ids":{"type":"array","description":"Array of cost center IDs associated with this per diem","example":[1,2],"items":{"type":"integer"}},"rates":{"type":"array","description":"The rates for the per diem.","items":{}}}},"finance_account":{"type":"object","required":["id","legal_entity_id","number","disabled","type","updated_at"],"properties":{"id":{"type":"integer","description":"Unique identifier in factorial for the ledger account","example":1},"name":{"type":"string","description":"Name of the ledger account","example":"Bank Account"},"legal_entity_id":{"type":"integer","description":"Legal entity ID of the ledger account","example":11},"number":{"type":"string","description":"Number of the ledger account","example":"1000"},"disabled":{"type":"boolean","description":"Whether the ledger account is disabled","example":false},"type":{"type":"string","description":"Type of the ledger account","enum":["equity","non_current_asset","current_asset","bank","non_current_liability","current_liability","expense","income"],"example":"bank"},"external_id":{"type":"string","description":"Id of the ledger account on the external system","example":"ext_123"},"updated_at":{"type":"string","description":"Last updated date of the ledger account","example":"2021-01-01T00:00:00.000Z"}}},"finance_accounting_setting":{"type":"object","required":["id","company_id","legal_entity_id","updated_at"],"properties":{"id":{"type":"integer","description":"Identifier for the AccountingSetting.","example":1234},"external_id":{"type":"string","description":"External ID for the accounting setting.","example":"ext_135"},"company_id":{"type":"integer","description":"ID of the associated Company.","example":1},"legal_entity_id":{"type":"integer","description":"ID of the associated Legal Entity.","example":101},"updated_at":{"type":"string","description":"Timestamp when the accounting setting was last updated.","example":"2025-01-01T00:00:00.000Z"},"default_account_for_purchase_invoices_id":{"type":"integer","description":"Default account for purchase invoices.","example":5001},"default_account_for_vendors_id":{"type":"integer","description":"Default account for vendors.","example":5002},"default_account_for_banks_id":{"type":"integer","description":"Default account for banks.","example":5003},"default_account_for_suspense_id":{"type":"integer","description":"Default suspense account.","example":5004},"default_account_for_expenses_id":{"type":"integer","description":"Default account for expenses.","example":5005},"default_account_for_employees_id":{"type":"integer","description":"Default account for employees.","example":5006},"default_account_for_sale_invoices_id":{"type":"integer","description":"Default account for sale invoices.","example":5007},"default_account_for_clients_id":{"type":"integer","description":"Default account for clients.","example":5008},"default_account_for_benefits_id":{"type":"integer","description":"Default account for benefits.","example":5009}}},"finance_budget_option":{"type":"object","required":["id","name","currency","legal_entity_id"],"properties":{"id":{"type":"integer","description":"Unique identifier for the budget option","example":1},"name":{"type":"string","description":"Name of the budget option","example":"Marketing Budget"},"description":{"type":"string","description":"Description of the budget option","example":"Budget for marketing activities"},"currency":{"type":"string","description":"Currency of the budget option","example":"EUR"},"legal_entity_id":{"type":"integer","description":"Legal entity ID of the budget option","example":11}}},"finance_category":{"type":"object","required":["id","label","default_label","identifier","visible","enabled"],"properties":{"id":{"type":"integer","description":"Unique identifier for the category","example":1},"label":{"type":"string","description":"Custom label for the category","example":"Accommodation Expenses"},"default_label":{"type":"string","description":"Default translated label for the category","example":"Alojamiento"},"parent_category_id":{"type":"integer","description":"Parent category ID (null for main categories)","example":2},"identifier":{"type":"string","description":"System identifier for the category","example":"accommodation"},"visible":{"type":"boolean","description":"Whether the category is visible","example":true},"enabled":{"type":"boolean","description":"Whether the category is enabled","example":true},"position":{"type":"integer","description":"Display position of the category","example":1}}},"finance_contact":{"type":"object","required":["id","name","address","updated_at"],"properties":{"id":{"type":"integer","description":"Unique identifier for the Contact.","example":123},"name":{"type":"string","description":"The commercial name of the Contact.","example":"Google"},"legal_name":{"type":"string","description":"The official or legal name of the Contact.","example":"Google engineering vendor"},"tax_id":{"type":"string","description":"Tax identification number assigned to the Contact.","example":"X1234567"},"address":{"type":"object","description":"The address object containing street, city, etc.","example":{"city":"East Ariana","country_code":"SC","line1":"93402 Spencer Points","line2":"Apt. 555","postal_code":"61471","state":"Oklahoma"}},"external_id":{"type":"string","description":"The external id of the contact.","example":"EXT-CONTACT-001"},"updated_at":{"type":"string","description":"Timestamp when the Contact was last updated.","example":"2025-01-01T00:00:00.000Z"},"iban":{"type":"string","description":"International Bank Account Number if provided.","example":"GB25ZFXH46063029945396"},"bank_code":{"type":"string","description":"Bank or branch code for the Contact if relevant.","example":"BABCESMM"},"preferred_payment_method":{"type":"string","description":"Preferred payment method for the Contact (e.g. wire_transfer, paypal).","enum":["card","banktransfer"],"example":"banktransfer"},"website":{"type":"string","description":"The website of the Contact.","example":"https://www.example.com"},"email":{"type":"string","description":"The email of the Contact.","example":"contact@example.com"},"phone_number":{"type":"string","description":"The phone number of the Contact.","example":"+1234567890"}}},"finance_cost_center":{"type":"object","required":["id","name","company_id","active_employees_count","historical_employees_count","status"],"properties":{"id":{"type":"integer"},"name":{"type":"string"},"company_id":{"type":"integer"},"legal_entity_id":{"type":"integer"},"code":{"type":"string"},"description":{"type":"string"},"active_employees_count":{"type":"integer"},"historical_employees_count":{"type":"integer"},"status":{"type":"string"},"deactivation_date":{"type":"string"}}},"finance_cost_center_membership":{"type":"object","required":["id","employee_id","cost_center_id","start_date","percentage"],"properties":{"id":{"type":"integer","description":"The unique identifier of the cost center membership","example":1},"employee_id":{"type":"integer","description":"The identifier of the associated employee","example":1},"cost_center_id":{"type":"integer","description":"The identifier of the associated cost center","example":1},"start_date":{"type":"string","description":"The date the employee started being assigned to the cost center","example":"2020-01-01"},"end_date":{"type":"string","description":"The date the em'ployee stopped being assigned to the cost center","example":"2020-12-31"},"percentage":{"type":"number","description":"The percentage allocation of the employee to the cost center","example":0.5}}},"finance_financial_document":{"type":"object","required":["id","status","updated_at","taxes","document_type"],"properties":{"id":{"type":"integer","description":"Factorial unique identifier.","example":135},"net_amount_cents":{"type":"integer","description":"Net amount in cents.","example":10000},"total_amount_cents":{"type":"integer","description":"Total amount in cents.","example":11210},"document_number":{"type":"string","description":"Document number.","example":"INV-135"},"currency":{"type":"string","description":"Document currency.","example":"USD"},"status":{"type":"string","description":"Current status.","enum":["processing","review","sent_to_pay","paid"],"example":"review"},"due_date":{"type":"string","description":"Due date.","example":"2020-01-01"},"document_date":{"type":"string","description":"Document date.","example":"2020-01-01"},"legal_entity_id":{"type":"integer","description":"Factorial unique identifier for the legal entity of the financial document.","example":13},"vendor_id":{"type":"integer","description":"Factorial unique identifier for the vendor of the financial document.","example":33},"file":{"type":"object","description":"File attached.","example":{"id":1,"filename":"invoice.pdf","url":"https://factorial.com/invoice.pdf","size":1024,"content_type":"application/pdf","created_at":"2020-01-01T00:00:00.000Z"}},"updated_at":{"type":"string","description":"Updation date.","example":"2020-01-01T00:00:00.000Z"},"taxes":{"type":"array","description":"Taxes.","example":[{"amount_cents":1210,"base_amount_cents":10000,"percentage":0.21,"type":"vat","tax_rates":[{"percentage":21.0}]}],"items":{}},"fully_reconciled_at":{"type":"string","description":"Date when was fully reconciled.","example":"2020-01-01T00:00:00.000Z"},"recorded_at":{"type":"string","description":"Date when was recorded.","example":"2020-01-01T00:00:00.000Z"},"duplicate_financial_document_id":{"type":"integer","description":"Factorial unique identifier for the duplicate financial document."},"validated_at":{"type":"string","description":"Date when was validated.","example":"2020-01-01T00:00:00.000Z"},"validated_by_id":{"type":"integer","description":"Factorial unique identifier for the user who validated the financial document.","example":31},"document_type":{"type":"string","description":"Type of the financial document. Using \"invoice\" as default.","enum":["invoice","receipt","credit_note"],"example":"invoice"},"parent_financial_document_id":{"type":"integer","description":"Factorial unique identifier for the parent financial document of the financial document.","example":135},"taxes_total_amount_cents":{"type":"integer","description":"Taxes total amount in cents.","example":1210},"issuer_name":{"type":"string","description":"Name of the entity issuing the financial document.","example":"Acme Corporation"},"issuer_address_line_1":{"type":"string","description":"First line of the issuer's address.","example":"123 Main Street"},"issuer_address_line_2":{"type":"string","description":"Second line of the issuer's address.","example":"Suite 100"},"issuer_city":{"type":"string","description":"City of the issuer's address.","example":"San Francisco"},"issuer_postal_code":{"type":"string","description":"Postal code of the issuer's address.","example":"94105"},"issuer_state":{"type":"string","description":"State or province of the issuer's address.","example":"California"},"issuer_country_code":{"type":"string","description":"Country code of the issuer's address.","example":"US"},"issuer_tax_id":{"type":"string","description":"Tax identification number of the issuer.","example":"US123456789"},"recipient_name":{"type":"string","description":"Name of the entity receiving the financial document.","example":"XYZ Company"},"recipient_address_line_1":{"type":"string","description":"First line of the recipient's address.","example":"456 Market Street"},"recipient_address_line_2":{"type":"string","description":"Second line of the recipient's address.","example":"Floor 5"},"recipient_city":{"type":"string","description":"City of the recipient's address.","example":"New York"},"recipient_postal_code":{"type":"string","description":"Postal code of the recipient's address.","example":"10001"},"recipient_state":{"type":"string","description":"State or province of the recipient's address.","example":"New York"},"recipient_country_code":{"type":"string","description":"Country code of the recipient's address.","example":"es"},"recipient_tax_id":{"type":"string","description":"Tax identification number of the recipient.","example":"B66854530"}}},"finance_journal_entry":{"type":"object","required":["id","number","published_at","type","reference_date","legal_entity_id","status","updated_at"],"properties":{"id":{"type":"integer","description":"Journal entry ID","example":4321},"number":{"type":"integer","description":"Incremental number assigned to the journal entry","example":1},"published_at":{"type":"string","description":"Timestamp when the journal entry was published.","example":"2025-01-01T00:00:00.000Z"},"type":{"type":"string","description":"Journal entry type (e.g. bank, invoice, tax)","enum":["bank","bill","invoice","credit_note","merged_ledger_account","reconciliation","tax","receipt","payroll_result","external"],"example":"bank"},"source_id":{"type":"integer","description":"Source id related with this journal entry","example":15},"source_type":{"type":"string","description":"Source type related with this journal entry","enum":["bank_transaction","invoice","reconciliation","finance_reconciliation","account","expense","payroll_result","journal_entry"],"example":"bank_transaction"},"reference_date":{"type":"string","description":"Date of the associate source","example":"2025-01-01"},"description":{"type":"string","description":"Description of the journal entry","example":"Payment for invoice"},"legal_entity_id":{"type":"integer","description":"The associated Legal Entity ID","example":1001},"external_id":{"type":"string","description":"External identifier for the journal entry","example":"EXT-001"},"status":{"type":"string","description":"The status of the journal entry (draft, published, etc.)","enum":["published","reversed"],"example":"published"},"updated_at":{"type":"string","description":"Timestamp when the journal entry was last updated.","example":"2025-01-01T00:00:00.000Z"}}},"finance_journal_line":{"type":"object","required":["id","number","debit_amount_cents","credit_amount_cents","journal_entry_id","account_id","updated_at"],"properties":{"id":{"type":"integer","description":"Factorial id","example":1234},"number":{"type":"integer","description":"Sequential number assigned to the line","example":1},"debit_amount_cents":{"type":"integer","description":"The debit amount in cents","example":0},"credit_amount_cents":{"type":"integer","description":"The credit amount in cents","example":100},"journal_entry_id":{"type":"integer","description":"ID of the parent journal entry","example":4321},"account_id":{"type":"integer","description":"ID of the associated account","example":9876},"fully_reconciled_at":{"type":"string","description":"Timestamp when the journal line was reconciled","example":"2025-01-01T00:00:00.000Z"},"external_id":{"type":"string","description":"External identifier for the journal line","example":"EXT-LINE-001"},"updated_at":{"type":"string","description":"Timestamp when the journal line was last updated.","example":"2025-01-01T00:00:00.000Z"}}},"finance_ledger_account_resource":{"type":"object","required":["id","resource_type","resource_id","account_id","updated_at"],"properties":{"id":{"type":"integer","description":"Factorial unique identifier.","example":135},"resource_type":{"type":"string","description":"Ledger account resource type.","enum":["customcategory","bankaccount","vendor","taxtype","invoice","payrollconcept"],"example":"taxtype"},"resource_id":{"type":"integer","description":"Factorial unique identifier of the resource associated to the ledger account resource.","example":155},"account_id":{"type":"integer","description":"Factorial Ledger Account identifier.","example":15},"balance_type":{"type":"string","description":"Ledger account balance type.","enum":["credit","debit"],"example":"debit"},"updated_at":{"type":"string","description":"Last time the resource was updated.","example":"2021-01-01T00:00:00.000Z"},"external_id":{"type":"string","description":"External identifier.","example":"ext_123"},"legal_entity_id":{"type":"integer","description":"Factorial unique identifier of the Legal entity.","example":13}}},"finance_tax_rate":{"type":"object","required":["id","rate","tax_type_id","updated_at"],"properties":{"id":{"type":"integer","description":"Factorial id","example":123},"rate":{"type":"number","description":"Specifies the numerical percentage for the tax rate between -1 and 1.","example":0.07},"description":{"type":"string","description":"An optional text describing the tax rate's purpose or context.","example":"VAT for general goods"},"tax_type_id":{"type":"integer","description":"The identifier of the related TaxType record.","example":1234},"external_id":{"type":"string","description":"The external id of the tax rate.","example":"EXT-RATE-001"},"updated_at":{"type":"string","description":"Last update date of the tax rate.","example":"2025-01-01T00:00:00.000Z"}}},"finance_tax_type":{"type":"object","required":["id","name","type","updated_at"],"properties":{"id":{"type":"integer","description":"Factorial id","example":1234},"name":{"type":"string","description":"The name assigned to the tax type.","example":"general IVA"},"type":{"type":"string","description":"The tax category used to distinguish different tax kinds.","enum":["vat","personal_income"],"example":"vat"},"country_code":{"type":"string","description":"The country code where this tax type applies.","example":"ES"},"external_id":{"type":"string","description":"The external id of the tax type.","example":"EXT-TYPE-001"},"updated_at":{"type":"string","description":"Last update date of the tax type.","example":"2025-01-01T00:00:00.000Z"}}},"holidays_company_holiday":{"type":"object","required":["id","location_id","date"],"properties":{"id":{"type":"integer","description":"Company holiday id","example":56},"location_id":{"type":"integer","description":"Related location id","example":1},"summary":{"type":"string","description":"Company holiday summary","example":"Christmas Day"},"description":{"type":"string","description":"Company holiday description","example":"Christmas Day"},"date":{"type":"string","description":"Company holiday date","example":"2024-12-25"},"half_day":{"type":"string","description":"If the company holiday is half-day and which part of the day","enum":["beginning_of_day","end_of_day"]}}},"integrations_syncable_item":{"type":"object","required":["syncable_sync_run_id","sync_payload","syncable_type"],"properties":{"syncable_sync_run_id":{"type":"integer","description":"identifier of a syncable item within the sync run. Refers to the integrations/syncable_sync_run resource","example":1},"sync_payload":{"type":"object","description":"data of the item to be synced","example":{"employee_id":1,"payroll_concept_id":1,"legal_entity_id":1,"amount":7500,"unit":"money","effective_on":"2028-03-31","employee_company_identifier":"123456"}},"syncable_type":{"type":"string","description":"Type of the syncable item","enum":["compensations/compensation","expenses/expense"],"example":"compensations/compensation"}}},"integrations_syncable_sync_run":{"type":"object","required":["id","status","error_messages","sync_run_id","company_id"],"properties":{"id":{"type":"integer","description":"Identifier of the syncable sync run","example":1},"status":{"type":"string","description":"Status of the syncable sync run","enum":["success","failed","invalid"],"example":"failed"},"error_messages":{"type":"array","description":"Error or validation messages of the syncable sync run","example":[{"key":"sync_api_error","value":"Api sync error"},{"key":"sync_validation_error","value":"Missing payroll concept code"}],"items":{}},"sync_run_id":{"type":"integer","description":"Identifier of the sync run","example":1},"company_id":{"type":"integer","description":"Identifier of the company","example":1}}},"it_management_it_asset":{"type":"object","required":["id","company_id","it_asset_model_id","serial_number","status","created_at","updated_at"],"properties":{"id":{"type":"string","description":"IT Asset identifier","example":"0199e6ea-20c0-73d3-9782-8267dc96773a"},"company_id":{"type":"integer","description":"Company identifier","example":1},"it_asset_model_id":{"type":"string","description":"IT Asset Model identifier","example":"0199e6ea-20c0-73d3-9782-8267dc96773a"},"serial_number":{"type":"string","description":"Serial number of the IT asset","example":"SN123456789"},"status":{"type":"string","description":"Status of the IT asset. Possible values:\n- `assigned`: Asset is assigned to an employee\n- `in_stock`: Asset is available in inventory\n- `maintenance`: Asset is under maintenance or repair\n- `retired`: Asset has been retired or decommissioned\n\nNote: Not all status transitions are allowed. For example, an asset cannot be directly changed from `assigned` or `in_stock` to certain other statuses without proper workflow validation.\n","example":"in_stock"},"owner_id":{"type":"integer","description":"Owner (employee) identifier","example":1},"location_id":{"type":"integer","description":"Location identifier"},"workplace_id":{"type":"integer","description":"Workplace identifier"},"team_id":{"type":"integer","description":"Team identifier"},"purchase_date":{"type":"string","description":"Purchase date of the IT asset","example":"2024-01-01"},"purchase_price_cents":{"type":"integer","description":"Purchase price in cents","example":100000},"currency":{"type":"string","description":"Currency of the purchase price","example":"EUR"},"warranty_end_date":{"type":"string","description":"Warranty end date of the IT asset","example":"2027-01-01"},"label":{"type":"string","description":"Label of the IT asset","example":"Internal asset label"},"notes":{"type":"string","description":"Notes about the IT asset","example":"This field is for custom data related to the asset"},"created_at":{"type":"string","description":"Creation date of the IT asset","example":"2024-01-20T18:05:45.000Z"},"updated_at":{"type":"string","description":"Last update date of the IT asset","example":"2024-01-20T18:05:45.000Z"},"discarded_at":{"type":"string","description":"Timestamp when the IT asset was soft deleted","example":"2024-01-20T18:05:45.000Z"}}},"it_management_it_asset_model":{"type":"object","required":["id","type_name","company_id","brand","name","created_at","updated_at"],"properties":{"id":{"type":"string","description":"IT Asset Model identifier","example":"0199e6ea-20c0-73d3-9782-8267dc96773a"},"type_name":{"type":"string","description":"Type name of the IT asset model. Possible values are 'laptop', 'desktop', 'tablet', 'phone', 'screen', 'mouse', 'keyboard', 'headset', 'other'","example":"laptop"},"company_id":{"type":"integer","description":"Company identifier","example":1},"brand":{"type":"string","description":"Brand of the IT asset model","example":"Apple"},"name":{"type":"string","description":"Name/model of the IT asset","example":"MacBook Pro"},"created_at":{"type":"string","description":"Creation date of the IT asset model","example":"2024-01-20T18:05:45.000Z"},"updated_at":{"type":"string","description":"Last update date of the IT asset model","example":"2024-01-20T18:05:45.000Z"}}},"job_catalog_level":{"type":"object","required":["id","role_id","name","role_name","order","archived","is_default"],"properties":{"id":{"type":"integer","description":"identifier for the job catalog level.","example":1},"role_id":{"type":"integer","description":"identifier for the job catalog role.","example":1},"name":{"type":"string","description":"Level name.","example":"Senior"},"role_name":{"type":"string","description":"Role name.","example":"Sofware Engineer"},"order":{"type":"integer","description":"Order of the level.","example":1},"archived":{"type":"boolean","description":"Shows if the role is archived.","example":false},"is_default":{"type":"boolean","description":"Shows if the level is the default one.","example":false}}},"job_catalog_node_attribute":{"type":"object","required":["id","type"],"properties":{"id":{"type":"integer","description":"Unique identifier of the node attribute","example":1},"type":{"type":"string","description":"Type of the attribute (e.g., competency, salary_range, working_conditions, it_management_asset)","example":"competency"},"attribute_id":{"type":"string","description":"Identifier of the attribute being assigned to the node it it makes sense like in competecies, but not for working_conditions","example":1},"value_competency":{"type":"object","description":"Competency payload including name, short description and optional level metadata","example":"{\"name\":\"Design Fundamentals\",\"description\":\"Core visual principles\",\"level\":{\"id\":1,\"name\":\"Level 1\",\"description\":\"Understands basics\"}}"},"value_it_management_asset":{"type":"object","description":"IT asset payload describing the device assigned to the node","example":"{\"type_name\":\"headset\",\"brand\":\"Apple\",\"name\":\"AirPods Pro\"}"},"value_salary_range":{"type":"object","description":"Salary payload (cents) with currency, periodicity, range (min and max) or gross values in cents (35.000 EUR is stored as 3500000) and optional workplaces","example":["{\"currency\":\"EUR\",\"periodicity\":\"yearly\",\"min\":18000,\"max\":25000,\"workplaces\":[{\"id\":1,\"name\":\"Barcelona HQ\"}]}","{\"currency\":\"EUR\",\"periodicity\":\"yearly\",\"gross\":2000000,\"workplaces\":[{\"id\":1,\"name\":\"Barcelona HQ\"}]}"]},"value_working_conditions":{"type":"object","description":"Working-conditions payload with agreement info and simple key/value constraints. Numeric values are stored in cents (40 hours is stored as 4000).","example":"{\"name\":\"Retail Agreement\",\"description\":\"Standard UK contract\",\"conditions\":[{\"key\":\"max_weekly_hours\",\"value\":\"4000\"},{\"key\":\"bank_holidays_treatment\",\"value\":\"non_workable\"}]}"}}},"job_catalog_role":{"type":"object","required":["id","company_id","name","legal_entities_ids","archived"],"properties":{"id":{"type":"integer","description":"identifier for the job catalog role.","example":1},"company_id":{"type":"integer","description":"Identifier for the company.","example":1},"name":{"type":"string","description":"Role name.","example":"CFO"},"description":{"type":"string","description":"Role description.","example":"Financial director of the company."},"legal_entities_ids":{"type":"array","description":"List of legal entities.","example":[1,2],"items":{"type":"integer"}},"supervisors_ids":{"type":"array","description":"List of supervisors.","example":[1,2],"items":{"type":"integer"}},"competencies_ids":{"type":"array","description":"List of competencies.","example":[1,2],"items":{"type":"integer"}},"archived":{"type":"boolean","description":"Shows if the role is archived.","example":true}}},"job_catalog_node":{"type":"object","required":["type","uuid","created_at","updated_at"],"properties":{"type":{"type":"string","description":"Type of the node.","enum":["jobcatalog_treeroot","jobcatalog_treefamily","jobcatalog_treefunction","jobcatalog_treerole","jobcatalog_treelevel"],"example":"jobcatalog_treelevel"},"uuid":{"type":"string","description":"UUIDs of the node.","example":"jobcatalog_treelevel-331"},"ancestor_uuid":{"type":"string","description":"UUID of the parent node.","example":"jobcatalog_treefamily-018"},"name":{"type":"string","description":"Name of the node.","example":"Engineering"},"description":{"type":"string","description":"Description of the node in the Job Catalog.","example":"Engineering Manager family"},"created_at":{"type":"string","description":"Creation date of the node.","example":"2024-01-15"},"updated_at":{"type":"string","description":"Update date of the node.","example":"2024-01-15"},"full_path_to_root":{"type":"array","description":"Array with the list of nodes tha compose full path from the current node to the root node.","example":["jobcatalog_treelevel-331","jobcatalog_treerole-456","jobcatalog_treefunction-123","jobcatalog_treefamily-018","jobcatalog_treeroot-1"],"items":{}},"job_catalog_title":{"type":"string","description":"Full title that represents the job position.","example":"Engineering Manager, Senior"}}},"locations_location":{"type":"object","required":["id","company_id","name","main"],"properties":{"id":{"type":"integer","description":"identifier of the location","example":1},"company_id":{"type":"integer","description":"company identifier","example":1},"name":{"type":"string","description":"name of the location","example":"Barcelona Office"},"timezone":{"type":"string","description":"timezone of the location","example":"Europe/Madrid"},"country":{"type":"string","description":"country code of the location","example":"es"},"state":{"type":"string","description":"State of the location","example":"Barcelona"},"city":{"type":"string","description":"City of the location","example":"Barcelona"},"address_line_1":{"type":"string","description":"Address line 1 of the location","example":"Carrer Mallorca"},"address_line_2":{"type":"string","description":"Address line 2 of the location","example":"61 2A"},"postal_code":{"type":"string","description":"Postal code of the location","example":"08005"},"phone_number":{"type":"string","description":"phone number of the location","example":"657483987"},"main":{"type":"boolean","description":"whether the location is the main one","example":false},"latitude":{"type":"number","description":"latitude of the location","example":52.378},"longitude":{"type":"number","description":"longitude of the location","example":4.898},"radius":{"type":"number","description":"radius of the location","example":5.0},"siret":{"type":"string","description":"siret of the location (only for France)","example":"FR00123456789"}}},"locations_work_area":{"type":"object","required":["id","location_id","name"],"properties":{"id":{"type":"integer"},"location_id":{"type":"integer"},"name":{"type":"string"},"archived_at":{"type":"string"}}},"marketplace_installation":{"type":"object","required":["id","integration_uuid","company_id","created_at"],"properties":{"id":{"type":"integer"},"integration_uuid":{"type":"string","description":"UUID of the integration","example":"123e4567-e89b-12d3-a456-426614174000"},"company_id":{"type":"integer","description":"Identifier of the company","example":1},"created_at":{"type":"string"}}},"marketplace_installation_settings":{"type":"object","required":["leave_types","file_numbers","establishment_codes","timeoff_allowance_code"],"properties":{"leave_types":{"type":"array","description":"Leave types codes","example":[{"id":"holidays","value":"123456"}],"items":{}},"file_numbers":{"type":"array","description":"Legal Entity file numbers","example":[{"legal_entity_id":"1","value":"123456"}],"items":{}},"establishment_codes":{"type":"array","description":"Workplace establishment codes","example":[{"location_id":"1","value":"123456"}],"items":{}},"timeoff_allowance_code":{"type":"array","description":"Timeoff allowance codes","example":[{"id":"1","value":"123456"}],"items":{}}}},"payroll_family_situation":{"type":"object","required":["id","employee_id"],"properties":{"id":{"type":"integer","description":"ID of the family situation.","example":1},"employee_id":{"type":"integer","description":"Employee id of the family situation.","example":5},"civil_status":{"type":"string","description":"Civil status of the employee.","enum":["single","cohabitating","divorced","married","unknown","civil_partnership","separated","widow","not_applicable"],"example":"married"},"number_of_dependants":{"type":"integer","description":"Number of dependants of the employee.","example":2}}},"payroll_policy_period":{"type":"object","required":["id","starts_on","policy_id","company_id","ends_on","period"],"properties":{"id":{"type":"integer","description":"Policy period id","example":1},"name":{"type":"string","description":"Policy name with start and end date","example":"Policy name example 20 aug - 13 sep"},"starts_on":{"type":"string","description":"The start date of the policy period","example":"2020-01-01"},"policy_id":{"type":"integer","description":"The id of the policy associated with the policy period","example":1},"company_id":{"type":"integer","description":"The id of the company","example":1},"ends_on":{"type":"string","description":"The start date of the policy period","example":"2020-01-01"},"period":{"type":"string","description":"Period for the policy","example":"20 aug - 13 sep 2021"},"status":{"type":"string","description":"Policy period status","example":"preparation"},"policy_name":{"type":"string","description":"Policy name","example":"Policy name example"},"calculation_started_at":{"type":"string","description":"The date and time the calculation started","example":"2020-01-01"}}},"payroll_supplement":{"type":"object","required":["id","employee_id","company_id","unit"],"properties":{"id":{"type":"integer","description":"The identifier of the supplement","example":1},"employee_id":{"type":"integer","description":"The identifier of the employee associated with the supplement","example":1},"company_id":{"type":"integer","description":"The identifier of the company associated with the supplement","example":1},"contracts_compensation_id":{"type":"integer","description":"The contract compensation identifier associated with the supplement","example":1},"contracts_taxonomy_id":{"type":"integer","description":"The taxonomy identifier associated with the supplement","example":2},"amount_in_cents":{"type":"integer","description":"The amount of the supplement in cents","example":50000},"unit":{"type":"string","description":"The unit of the supplement","enum":["money","units","time"],"example":"money"},"effective_on":{"type":"string","description":"The date on which the supplement becomes effective","example":"2024-01-01"},"created_at":{"type":"unknown","description":"The created at date when the supplement was created","example":"2024-01-01T12:00:00Z"},"updated_at":{"type":"unknown","description":"The last updated at date when the supplement was last updated","example":"2024-01-05T12:00:00Z"},"description":{"type":"string","description":"The description of the supplement","example":"Cantidad fija"},"payroll_policy_period_id":{"type":"integer","description":"The payroll policy period identifier associated with the supplement","example":1},"employee_observations":{"type":"array","description":"Observations on the employee made by the admin or manager","example":["Worked extra shifts","Bonus for holiday work"],"items":{"type":"string"}},"raw_minutes_in_cents":{"type":"integer","description":"The raw value of minutes in cents associated with the supplement","example":5000},"minutes_in_cents":{"type":"integer","description":"The value of minutes in cents after adjustments","example":4800},"equivalent_minutes_in_cents":{"type":"integer","description":"The equivalent value of minutes in cents for payroll processing","example":4600},"currency":{"type":"string","description":"The currency used for the supplement, typically in ISO 4217 format","example":"EUR"},"legal_entity_id":{"type":"integer","description":"The legal entity identifier associated with the supplement","example":1}}},"payroll_employees_identifier":{"type":"object","required":["id","employee_id","country"],"properties":{"id":{"type":"integer","description":"payroll employee identifier","example":1},"employee_id":{"type":"integer","description":"identifier of the employee","example":1},"social_security_number":{"type":"string","description":"social security number of the employee","example":123456788},"tax_id":{"type":"string","description":"tax id of the employee","example":123456789},"country":{"type":"string","description":"country code of the employee pt | it | de","enum":["pt","de","it"],"example":"it"}}},"payroll_integrations_base_code":{"type":"object","required":["id","company_id","code","codeable_id","codeable_type","integration"],"properties":{"id":{"type":"integer","description":"Code identifier","example":1},"company_id":{"type":"integer","description":"Company ID where the code belongs to","example":2},"code":{"type":"string","description":"Code value","example":"COD-51"},"codeable_id":{"type":"integer","description":"Related object ID. Used together with codeable_type","example":5},"codeable_type":{"type":"string","description":"Related object type. Used together with codeable_id","example":"Employee | Company | LegalEntity | Location | TimeoffLeaveType"},"integration":{"type":"string","description":"Integration name","enum":["a3innuva","a3nom","agenda","paierh","yeap_paierh","silae","sage100","datev","datev_api","datev_lug_api","datev_lauds","team_system","zucchetti","gispaghe","job_sistemi"],"example":"a3innuva"}}},"performance_agreement":{"type":"object","required":["id","process_id","target_id","status","locked","self_comments","manager_comments"],"properties":{"id":{"type":"string","description":"Action plan ID","example":"1"},"process_id":{"type":"integer","description":"Review process ID","example":1},"target_id":{"type":"string","description":"Review process target ID","example":"1-3"},"signer_id":{"type":"integer","description":"Manager access ID who signed the action plan","example":5},"reviewer_id":{"type":"integer","description":"Manager employee ID","example":3},"manager_signed_at":{"type":"string","description":"Date when the manager signed the action plan","example":"2024-01-01T00:00:00Z"},"target_signed_at":{"type":"string","description":"Date when the employee signed the action plan","example":"2024-01-01T00:00:00Z"},"agreement_signed_at":{"type":"string","description":"Date when the action plan was last signed","example":"2024-01-01T00:00:00Z"},"last_modified_at":{"type":"string","description":"Date when the action plan was last modified","example":"2024-01-01T00:00:00Z"},"status":{"type":"string","description":"Action plan status","enum":["pending","signed"],"example":"signed"},"locked":{"type":"boolean","description":"When the action plan cannot be edited anymore. Locked when both manager and employee signed it.","example":true},"conclusions":{"type":"object","description":"Conclusions of the action plan","example":{"text":"The employee is doing well.","last_updated_at":"2024-01-01T00:00:00Z"}},"self_evaluation_id":{"type":"integer","description":"Self review evaluation ID","example":1},"manager_evaluation_id":{"type":"integer","description":"Manager review evaluation ID","example":2},"self_comments":{"type":"array","description":"Self comments by question","example":[{"question_uuid":"z69c9b4d-0aa6-4ada-89d5-5fdcb04c1327","author_access_id":8,"text":"I am a team player.","updated_at":"2024-01-01T00:00:00Z"}],"items":{}},"manager_comments":{"type":"array","description":"Manager comments by question","example":[{"question_uuid":"a347a2fd-1a0a-4eee-b6c8-f74be63624fb","author_access_id":5,"text":"The employee is doing well.","updated_at":"2024-01-01T00:00:00Z"}],"items":{}}}},"performance_company_employee_score_scale":{"type":"object","required":["id","scale_id","is_default"],"properties":{"id":{"type":"integer","description":"Company ID","example":1},"scale_id":{"type":"integer","description":"Employee score scale ID","example":1},"is_default":{"type":"boolean","description":"Default employee score scale","example":true}}},"performance_employee_score_scale":{"type":"object","required":["id","scale","is_default"],"properties":{"id":{"type":"integer","description":"Employee score scale ID","example":1},"scale":{"type":"array","description":"Scale to be used when scoring the employee performance","example":[{"value":1,"text":"Unsatisfactory"},{"value":2,"text":"Missed expectations"},{"value":3,"text":"Meets expectations"},{"value":4,"text":"Exceeds expectations"},{"value":5,"text":"Outstanding"}],"items":{}},"is_default":{"type":"boolean"}}},"performance_review_employee_score":{"type":"object","required":["id","review_process_id","review_evaluation_id","target_access_id","company_id","reviewer_strategy","review_process_target_id","score","scale_min","scale_max","normalized_score","published_at"],"properties":{"id":{"type":"integer","description":"Review emploee score ID","example":1},"review_process_id":{"type":"integer","description":"Review process ID","example":1},"review_evaluation_id":{"type":"integer","description":"Review evaluation ID","example":1},"target_access_id":{"type":"integer","description":"Employee access ID","example":1},"company_id":{"type":"integer","description":"Company identifier of the review employee score","example":1},"reviewer_strategy":{"type":"string","description":"Who scored the employee","enum":["self","manager","direct_reports","peers"],"example":"manager"},"review_process_target_id":{"type":"string","description":"Review process target ID (composed with review_process_id and target_access_id)","example":"1-1"},"potential_score":{"type":"integer","description":"Employee potential score within the min and max scale","example":3},"normalized_potential_score":{"type":"number","description":"Employee potential score in percentage (0% to 100%)","example":50},"score":{"type":"number","description":"Employee score within the min and max scale","example":3.0},"scale_min":{"type":"integer","description":"Minimum score in the scale","example":1},"scale_max":{"type":"integer","description":"Maximum score in the scale","example":5},"normalized_score":{"type":"number","description":"Employee score in percentage (0% to 100%)","example":50},"comment":{"type":"string","example":"The employee is doing well."},"published_at":{"type":"string","description":"Date and time when the employee score was published","example":"2024-01-01T00:00:00Z"}}},"performance_review_evaluation":{"type":"object","required":["id","evaluation_type","published","status","review_process_target_id"],"properties":{"id":{"type":"integer","description":"Evaluation ID","example":1},"performance_review_process_id":{"type":"integer","description":"Review process ID","example":1},"target_access_id":{"type":"integer","description":"Participant access ID","example":1},"reviewer_access_id":{"type":"integer","description":"Reviewer access ID","example":1},"evaluation_type":{"type":"string","description":"Evaluation type","enum":["self","manager","direct_reports","peers"],"example":"manager"},"published":{"type":"boolean","description":"Whether the evaluation is published","example":true},"status":{"type":"string","description":"Evaluation status","enum":["pending","published"],"example":"published"},"review_process_target_id":{"type":"string"},"published_at":{"type":"string","description":"Date when the evaluation was published","example":"2024-01-01T00:00:00Z"}}},"performance_review_evaluation_answer":{"type":"object","required":["id","performance_review_evaluation_id","answered_questionnaire_with_sections"],"properties":{"id":{"type":"integer","description":"Review evaluation ID","example":1},"performance_review_evaluation_id":{"type":"integer","description":"Review evaluation ID","example":1},"answered_questionnaire_with_sections":{"type":"object","description":"List of questions and their respective answers grouped by section.","example":{"content":[{"uuid":"b69c9b4d-0aa6-4ada-89d5-5fdcb04c1327","type":"section","section_title":"Performance","questions":[{"question":{"uuid":"84ba99f3-4e4f-4917-a2af-6d0aa8c2e0f2","mandatory":true,"with_comment":false,"title":"Do you think the employee is a team player?","answer_type":"multiple_choice","max_choices":1,"choice_options":["Yes","No"]},"answer":{"uuid":"84ba99f3-4e4f-4917-a2af-6d0aa8c2e0f2","answer_text":"Example answer","answer_int":10,"answer_float":10.5,"answer_choice":["Yes"],"answer_rating":{"value":3,"comment":"The employee is doing well."}}},{"question":{"uuid":"a347a2fd-1a0a-4eee-b6c8-f74be63624fb","mandatory":true,"with_comment":true,"title":"How would you rate the commitment of the employee?","answer_type":"rating"},"answer":{"uuid":"a347a2fd-1a0a-4eee-b6c8-f74be63624fb","answer_text":"Example answer","answer_int":10,"answer_float":10.5,"answer_choice":["Yes"],"answer_rating":{"value":3,"comment":"The employee is doing well."}}}]}]}},"answered_employee_score_questionnaire":{"type":"object","description":"Questionnaire for getting employee score.","example":{"content":[{"uuid":"b69c9b4d-0aa6-4ada-89d5-5fdcb04c1327","type":"section","section_title":"Overall performance","questions":[{"question":{"uuid":"a347a2fd-1a0a-4eee-b6c8-f74be63624fb","mandatory":true,"with_comment":true,"title":"How would you rate the evarall performance of the employee?","answer_type":"rating","scale":[{"value":1,"text":"Unsatisfactory"},{"value":2,"text":"Needs Improvement"},{"value":3,"text":"Meets Expectations"},{"value":4,"text":"Exceeds Expectations"},{"value":5,"text":"Outstanding"}]},"answer":{"uuid":"a347a2fd-1a0a-4eee-b6c8-f74be63625fb","answer_text":"Example answer","answer_int":10,"answer_float":10.5,"answer_choice":["Yes"],"answer_rating":{"value":3,"comment":"The employee is doing well."}}}]}]}},"answered_employee_potential_score_questionnaire":{"type":"object","description":"Questionnaire for getting the employee potential score."}}},"performance_review_evaluation_score":{"type":"object","required":["id","review_process_id","review_evaluation_id","target_access_id","company_id","reviewer_strategy","review_process_target_id","score","scale_min","scale_max","normalized_score","published_at"],"properties":{"id":{"type":"integer","description":"Review evaluation score ID","example":1},"review_process_id":{"type":"integer","description":"Review process ID","example":1},"review_evaluation_id":{"type":"integer","description":"Review evaluation ID","example":1},"target_access_id":{"type":"integer","description":"Employee access ID","example":1},"company_id":{"type":"integer","description":"Company identifier of the review evaluation score","example":1},"reviewer_strategy":{"type":"string","description":"Who scored the employee","enum":["self","manager","direct_reports","peers"],"example":"manager"},"review_process_target_id":{"type":"string","description":"Review process target ID (composed with review_process_id and target_access_id)","example":"1-1"},"potential_score":{"type":"integer","description":"Employee evaluation potential score within the min and max scale","example":3},"normalized_potential_score":{"type":"number","description":"Employee evaluation potential score in percentage (0% to 100%)","example":50.0},"score":{"type":"number","description":"Evaluation score within the min and max scale","example":3.0},"scale_min":{"type":"integer","description":"Minimum score in the scale","example":1},"scale_max":{"type":"integer","description":"Maximum score in the scale","example":5},"normalized_score":{"type":"number","description":"Evaluation score in percentage (0% to 100%)","example":50.0},"published_at":{"type":"string","description":"Date and time when the evaluation score was published","example":"2024-01-01T00:00:00.000+00:00"}}},"performance_review_owner":{"type":"object","required":["id","access_id","performance_review_process_id"],"properties":{"id":{"type":"integer","description":"Review owner ID","example":1},"access_id":{"type":"integer","description":"Review owner access ID","example":2},"performance_review_process_id":{"type":"integer","description":"Review process ID","example":1}}},"performance_review_process":{"type":"object","required":["id","company_id","status","start_validation_errors","archived","agreements_configuration","competencies_assessments_configuration"],"properties":{"id":{"type":"integer","description":"Review process ID","example":1},"company_id":{"type":"integer","description":"Company ID","example":1},"name":{"type":"string","description":"Review process name","example":"Performance Review - Q1 2024"},"description":{"type":"string","description":"A brief description of the review process","example":"The performance review for the first quarter of 2024 has started!"},"status":{"type":"string","description":"Review process status","enum":["draft","scheduled","starting","active","finished"],"example":"draft"},"target_strategy":{"type":"object","description":"Condition that defines the employees that will be evaluated (participants). Calculated when the review process starts","example":{"arguments":[],"strategy":"all_employees"}},"reviewer_strategies":{"type":"array","description":"Review types that will be assigned to the review process. It'll be used to create the evaluations when the process starts","enum":["self","manager","direct_reports","peers"],"example":["self","manager"],"items":{"type":"string"}},"starts_at":{"type":"string","description":"Date when the review process should start","example":"2024-01-01T00:00:00.000Z"},"ends_at":{"type":"string","description":"Date when the review process should end","example":"2024-04-01T00:00:00.000Z"},"start_validation_errors":{"type":"array","description":"Missing or invalid information to be able to start the review process","enum":["missing_deadline","invalid_deadline","missing_title","missing_target_strategy","missing_target_strategy_members","missing_reviewer_strategy","missing_questions","missing_potential_reviewers","invalid_section_weights_sum"],"example":["invalid_deadline","missing_target_strategy_members"],"items":{"type":"string"}},"archived":{"type":"boolean","description":"Whether the review process is archived or not","example":false},"agreements_configuration":{"type":"object","description":"Action plans help track goal progress, and facilitate performance review discussions.","example":{"enabled":true}},"competencies_assessments_configuration":{"type":"object","description":"Assess employees based on their assigned competencies through both manager and self-reviews. Ensure roles with designated competencies are properly set up.","example":{"enabled":false}},"last_bulk_reminder":{"type":"string","description":"Date when the last bulk reminder was sent","example":"2024-03-01T00:00:00.000Z"},"cycle_id":{"type":"string","description":"Performance cycle ID","example":"5"}}},"performance_review_process_custom_template":{"type":"object","required":["id","company_id","name","created_at"],"properties":{"id":{"type":"integer","description":"Review process template ID","example":1},"author_id":{"type":"integer","description":"Author of the custom template.","example":1},"company_id":{"type":"integer","description":"Company ID","example":1},"name":{"type":"string","description":"Review process name","example":"Performance Review - Q1 2024"},"description":{"type":"string","description":"A brief description of the review process","example":"Quarterly 360 review process"},"template_description":{"type":"string","description":"A brief description of the review process template","example":"This template evaluates the performance of employees"},"target_strategy":{"type":"object","description":"Condition that defines the employees that will be evaluated (participants). Calculated when the review process starts","example":{"arguments":[],"strategy":"all_employees"}},"reviewer_strategies":{"type":"array","description":"Review types that will be assigned to the review process. It'll be used to create the evaluations when the process starts","enum":["self","manager","direct_reports","peers"],"example":["self","manager"],"items":{"type":"string"}},"agreements_enabled":{"type":"boolean","description":"Action plans help track goal progress, and facilitate performance review discussions.","example":true},"employee_potential_score_enabled":{"type":"boolean","description":"Include one question at the end of the review to rate participants' potential. This rating will be reflected in the 9 box grid.","example":true},"competencies_assessments_enabled":{"type":"boolean","description":"Assess employees based on their assigned competencies through both manager and self-reviews. Ensure roles with designated competencies are properly set up.","example":false},"visibility_settings":{"type":"object","description":"Visibility settings for the custom template","example":{"early_access_to_answers_for_managers":true,"restrict_answers_visibility_to_reportees":false,"anonymous_peer_evaluation_for_target":false}},"created_at":{"type":"string","description":"Creation date of the template","example":"2025-01-01T00:00:00.000Z"}}},"performance_review_process_estimated_target":{"type":"object","required":["id","performance_review_process_id","access_id","employee_id"],"properties":{"id":{"type":"string","description":"Process target ID","example":"1-1"},"performance_review_process_id":{"type":"integer","description":"Review process ID","example":1},"access_id":{"type":"integer","description":"Access ID","example":1},"employee_id":{"type":"integer","description":"Employee ID","example":1}}},"performance_review_process_target":{"type":"object","required":["id","access_id","performance_review_process_id","materialized_process_target_id"],"properties":{"id":{"type":"string","description":"Review process target ID (composed with performance_review_process_id and access_id)","example":"1-3"},"access_id":{"type":"integer","description":"Participant access ID","example":3},"performance_review_process_id":{"type":"integer","description":"Review process ID","example":1},"materialized_process_target_id":{"type":"integer","description":"Materialized review process target ID","example":5}}},"performance_review_questionnaires_by_strategy":{"type":"object","required":["id","performance_review_process_id","default_rating_scale"],"properties":{"id":{"type":"integer","description":"Review process ID","example":1},"performance_review_process_id":{"type":"integer","description":"Review process ID","example":1},"default_rating_scale":{"type":"array","description":"Scoring range used in rating questions","example":[{"value":1,"text":"Poor"},{"value":2,"text":"Inconsistent"},{"value":3,"text":"Meets expectations"},{"value":4,"text":"Exceeds expectations"},{"value":5,"text":"Exceptional"}],"items":{}},"self_questionnaire":{"type":"object","description":"Questionnaire for self evaluation","example":{"reviewer_strategy":"self","content":[{"uuid":"26f26623-043f-4110-a5cb-1fd54a69626f","type":"question","questions":[{"uuid":"84ba99f3-4e4f-4917-a2af-6d0aa8c2e0f2","mandatory":true,"with_comment":false,"title":"Do you think you are a team player?","answer_type":"single_choice","choice_options":["Yes","No"]}]}]}},"manager_questionnaire":{"type":"object","description":"Questionnaire for manager evaluation","example":{"reviewer_strategy":"manager","content":[{"uuid":"b69c9b4d-0aa6-4ada-89d5-5fdcb04c1327","type":"section","section_title":"Performance","questions":[{"uuid":"a347a2fd-1a0a-4eee-b6c8-f74be63624fb","mandatory":true,"with_comment":true,"title":"How would you rate the commitment of the employee?","answer_type":"rating"}]}]}},"direct_report_questionnaire":{"type":"object","description":"Questionnaire for direct report evaluation"},"peers_questionnaire":{"type":"object","description":"Questionnaire for peers evaluation"},"employee_score_self_questionnaire":{"type":"object","description":"Questionnaire included in the end of self evaluation to evaluate the employee performance"},"employee_score_manager_questionnaire":{"type":"object","description":"Questionnaire included in the end of manager evaluation to evaluate the employee performance"},"employee_potential_score_manager_questionnaire":{"type":"object","description":"Questionnaire included in the end of manager evaluation to evaluate the employee potential"}}},"performance_review_visibility_setting":{"type":"object","required":["id","performance_review_process_id","restrict_answers_visibility_to_reportees","early_access_to_answers_for_managers","anonymous_peer_evaluation_for_target"],"properties":{"id":{"type":"integer","description":"Review process ID","example":1},"performance_review_process_id":{"type":"integer","description":"Review process ID","example":1},"restrict_answers_visibility_to_reportees":{"type":"boolean","description":"Employees don't have access to their results when enabled","example":false},"early_access_to_answers_for_managers":{"type":"boolean","description":"Managers can access the results of their reports before deadline when enabled","example":true},"anonymous_peer_evaluation_for_target":{"type":"boolean","description":"Peer evaluations are anonymous when enabled, so employees don't know who reviewed them","example":false}}},"performance_target_manager":{"type":"object","required":["id","performance_review_process_id","manager_access_id","manager_full_name"],"properties":{"id":{"type":"string","description":"Manager employee ID","example":1},"performance_review_process_id":{"type":"integer","description":"Review process ID","example":1},"manager_access_id":{"type":"integer","description":"Manager access ID","example":3},"manager_full_name":{"type":"string","description":"Manager full name","example":"John Doe"}}},"posts_comment":{"type":"object","required":["id","post_id","author_id","text","created_at"],"properties":{"id":{"type":"integer","description":"identifier of the comment","example":1},"post_id":{"type":"integer","description":"identifier of the post","example":1},"author_id":{"type":"integer","description":"author identifier refers to the employee access, you can get the employee from the employee endpoint","example":1},"text":{"type":"string","description":"text of the comment","example":"How is the week going Ana?"},"created_at":{"type":"string","description":"date of the comment","example":"2024-07-17T00:00:00Z"}}},"posts_group":{"type":"object","required":["id","title"],"properties":{"id":{"type":"integer","description":"identifier of the group.","example":1},"title":{"type":"string","description":"title of the group.","example":"Company announcements"},"description":{"type":"string","description":"description of the group.","example":"The place to find all company announcements."}}},"posts_post":{"type":"object","required":["id","allow_comments_and_reactions","created_at","updated_at","visits_count","comments_count"],"properties":{"id":{"type":"integer","description":"identifiers of the post","example":1},"title":{"type":"string","description":"title of the post","example":"Are you ready for the perfomance review?"},"description":{"type":"string","description":"description of the post","example":"As you know today we start the performance review process."},"allow_comments_and_reactions":{"type":"boolean","description":"allow comments and reactions on the post","example":true},"published_at":{"type":"string","description":"date when the post has been published","example":"2024-07-17T00:00:00Z"},"created_at":{"type":"string","description":"date when the post has been created","example":"2024-07-17T00:00:00Z"},"updated_at":{"type":"string","description":"date when the post has been updated","example":"2024-07-17T00:00:00Z"},"visits_count":{"type":"integer","description":"number of visits of the post","example":10},"cover_image_url":{"type":"string","description":"url of the cover image","example":"https://example.com/image.jpg"},"posts_group_id":{"type":"integer","description":"group identifier of the post, references to posts/groups endpoint","example":1},"comments_count":{"type":"integer"}}},"procurement_purchase_order":{"type":"object","required":["id","po_number","description","status","cost","date","purchase_request_id","legal_entity_id","company_id","formatted_po_number"],"properties":{"id":{"type":"integer","description":"Unique identifier of the purchase order","example":678432},"po_number":{"type":"integer","description":"Purchase order number assigned to this order","example":2131},"description":{"type":"string","description":"Description or notes about the purchase order","example":"Office supplies for Q1 2025"},"status":{"type":"string","description":"Current status of the purchase order","enum":["draft","pending","ordered","partial","received","closed"],"example":"pending"},"cost":{"type":"object","description":"Total cost of the purchase order","example":{"cents":10000,"currency":"EUR"}},"date":{"type":"string","description":"Date when the purchase order was created","example":"2025-01-15"},"vendor_id":{"type":"integer","description":"Identifier of the vendor (contact) associated with this purchase order","example":9012},"purchase_request_id":{"type":"integer","description":"Identifier of the purchase request that generated this purchase order","example":5678},"legal_entity_id":{"type":"integer","description":"Identifier of the legal entity that owns this purchase order","example":3456},"company_id":{"type":"integer","description":"Identifier of the company that owns this purchase order","example":1},"formatted_po_number":{"type":"string","description":"Formatted purchase order number with prefix (e.g., PO-00001)","example":"PO-02131"}}},"procurement_purchase_request":{"type":"object","required":["id","description","type_id","cost","date","requester_employee_id","status"],"properties":{"id":{"type":"integer","description":"Unique identifier of the purchase request","example":678432},"description":{"type":"string","description":"Description or notes about the purchase request","example":"Office supplies request"},"type_id":{"type":"integer","description":"The id of the referred type","example":12353},"company_id":{"type":"integer","description":"Identifier of the company that owns this purchase request","example":1},"cost":{"type":"object","description":"Total cost of the purchase request","example":{"cents":10000,"currency":"EUR"}},"date":{"type":"string","description":"Date when the purchase request was created","example":"2025-01-15"},"requester_employee_id":{"type":"integer","description":"Identifier of the employee who requested this purchase","example":20},"vendor_id":{"type":"integer","description":"Identifier of the vendor (contact) associated with this purchase request","example":9012},"status":{"type":"string","description":"Current status of the purchase request","enum":["approved","draft","pending","rejected","changes_requested"],"example":"pending"},"url":{"type":"string","description":"URL related to the purchase request (e.g., product link)","example":"https://example.com/product"},"additional_information":{"type":"string","description":"Additional information or notes about the purchase request","example":"Urgent delivery required"},"deadline":{"type":"string","description":"Deadline date for the purchase request","example":"2025-02-15"}}},"procurement_type":{"type":"object","required":["company_id","created_at","id","name","updated_at"],"properties":{"author_id":{"type":"integer","description":"Employee ID who created this type (null for system types)","example":20},"company_id":{"type":"integer","description":"Identifier of the company that owns this type","example":1},"created_at":{"type":"string","description":"Time the procurement type was created","example":"2025-01-01T00:00:00.000Z"},"description":{"type":"string","description":"Description of the procurement type","example":"For purchasing software licenses"},"enabled":{"type":"boolean","description":"Defines if a type is enabled","example":true},"id":{"type":"integer","description":"The id of the type","example":1},"identifier":{"type":"string","description":"System identifier for default types","example":"software_license"},"name":{"type":"string","description":"Name of the procurement type","example":"Software Purchase"},"updated_at":{"type":"string","description":"Time the procurement type was last updated","example":"2025-01-01T00:00:00.000Z"}}},"project_management_budget_strategy":{"type":"object","required":["id","budget_type","project_id","delegated"],"properties":{"id":{"type":"integer","description":"Factorial id of the budget strategy","example":1234},"budget_type":{"type":"string","description":"Type of budget strategy. One of project_fixed_cost =\u003e ProjectFixedCost, total_budget =\u003e TimeAndMaterials, without_budget =\u003e WithoutBudget","enum":["project_fixed_cost","total_budget","without_budget"],"example":"total_budget"},"planned_cents":{"type":"integer","description":"Planned amount in cents (for project_fixed_cost / total_budget)","example":100000},"planned_minutes":{"type":"integer","description":"Planned time in minutes (for total_budget)","example":6000},"fee_amount_cents":{"type":"integer","description":"Fee amount in cents (for project_fixed_cost / total_budget when is billable)","example":5000},"project_id":{"type":"integer","description":"Id of the project this budget strategy belongs to","example":1234},"subproject_id":{"type":"integer","description":"Id of the subproject this budget strategy belongs to, if any","example":5678},"delegated":{"type":"boolean","description":"Whether the budget strategy is delegated","example":false}}},"project_management_expense_record":{"type":"object","required":["id","project_worker_id","expense_id"],"properties":{"id":{"type":"integer"},"project_worker_id":{"type":"integer"},"expense_id":{"type":"integer"},"subproject_id":{"type":"integer"},"original_amount_currency":{"type":"string"},"original_amount_cents":{"type":"integer"},"legal_entity_amount_currency":{"type":"string"},"legal_entity_amount_cents":{"type":"string"},"effective_on":{"type":"string"},"exchange_rate":{"type":"number"},"status":{"type":"string"}}},"project_management_exportable_expense":{"type":"object","required":["employee_name"],"properties":{"date":{"type":"string"},"project_name":{"type":"string"},"subproject_name":{"type":"string"},"employee_name":{"type":"string"},"preferred_name":{"type":"string"},"amount":{"type":"string"},"currency":{"type":"string"},"expense_category":{"type":"string"},"expense_subcategory":{"type":"string"},"expense_status":{"type":"string"},"expense_link":{"type":"string"}}},"project_management_exportable_project":{"type":"object","required":["id","project_name","project_status","inputed_time"],"properties":{"id":{"type":"string","description":"The id of the project","example":"id"},"date":{"type":"string","description":"The date of imputed time","example":"2021-01-01"},"project_name":{"type":"string","description":"The name of the project","example":"Project name"},"project_code":{"type":"string","description":"The code of the project","example":"123"},"project_start_date":{"type":"string","description":"The start date of the project","example":"2021-01-01"},"project_due_date":{"type":"string","description":"The due date of the project","example":"2022-01-01"},"project_status":{"type":"string","description":"The status of the project","example":"active"},"subproject_name":{"type":"string","description":"The name of the subproject","example":"Subproject name"},"employee_name":{"type":"string","description":"The name of the employee","example":"Bob The Boss"},"employee_id":{"type":"integer","description":"The id of the employee","example":123},"inputed_time":{"type":"string","description":"The time imputed by the employee","example":"60.00"},"client_id":{"type":"integer","description":"The client id of the project","example":123}}},"project_management_flexible_time_record":{"type":"object","required":["id","date","imputed_minutes","project_worker_id"],"properties":{"id":{"type":"integer"},"date":{"type":"string"},"imputed_minutes":{"type":"integer"},"project_worker_id":{"type":"integer"},"subproject_id":{"type":"integer"}}},"project_management_flexible_time_record_comment":{"type":"object","required":["id","content","flexible_time_record_id"],"properties":{"id":{"type":"integer"},"content":{"type":"string"},"flexible_time_record_id":{"type":"integer"}}},"project_management_planned_record":{"type":"object","required":["id","daily_minutes","start_date","end_date","project_worker_id","week_days"],"properties":{"id":{"type":"integer","description":"The id of the planned record","example":314159},"daily_minutes":{"type":"integer","description":"The daily minutes of the planned record","example":100},"start_date":{"type":"string","description":"The start date of the planned record","example":"2025-01-01"},"end_date":{"type":"string","description":"The end date of the planned record","example":"2025-01-03"},"project_worker_id":{"type":"integer","description":"The project worker id of the planned record","example":314159},"subproject_id":{"type":"integer","description":"The subproject id of the planned record","example":314159},"week_days":{"type":"array","description":"The week days of the planned record, start in Sunday 0 and end in Saturday 6","example":[1,2,3,4,5],"items":{"type":"integer"}}}},"project_management_project":{"type":"object","required":["id","name","status","employees_assignment","is_billable","legal_entity_id"],"properties":{"id":{"type":"integer","description":"The id of the project","example":314159},"name":{"type":"string","description":"The name of the project","example":"Project name"},"code":{"type":"string","description":"The code of the project","example":"PRO"},"description":{"type":"string","description":"The description of the project","example":"A comprehensive project to develop and implement a new customer relationship management system"},"start_date":{"type":"string","description":"The start date of the project","example":"2025-01-01"},"due_date":{"type":"string","description":"The end date of the project","example":"2026-01-01"},"status":{"type":"string","description":"The status of the project","enum":["active","closed","draft","processing"],"example":"active"},"employees_assignment":{"type":"string","description":"The employees assigment of the project","enum":["manual","company"],"example":"manual"},"inputed_minutes":{"type":"integer","description":"The total minutes tracked in the project (if requested)","example":123},"is_billable":{"type":"boolean","description":"Check if the projects is billable","example":true},"fixed_cost_cents":{"type":"integer","description":"Total fixed costs in cents","example":123},"labor_cost_cents":{"type":"integer","description":"Total labor costs in cents","example":123},"legal_entity_id":{"type":"integer","description":"The legal entity id of the project","example":123},"spending_cost_cents":{"type":"integer","description":"Total spending costs in cents","example":123},"client_id":{"type":"integer","description":"The client of the project, refers to finance/contacts.","example":123},"total_cost_cents":{"type":"integer","description":"Total Cost in cents","example":123}}},"project_management_project_task":{"type":"object","required":["id","project_id","task_id","follow_up"],"properties":{"id":{"type":"integer","example":789},"project_id":{"type":"integer","description":"The ID of the project linked to the project task","example":123},"subproject_id":{"type":"integer","description":"The ID of the subproject linked to the project task","example":456},"task_id":{"type":"integer","description":"The ID of the task linked to the project task","example":780},"follow_up":{"type":"boolean","description":"If true, status changes related to the project will notify the author","example":true}}},"project_management_project_worker":{"type":"object","required":["id","project_id","employee_id","assigned"],"properties":{"id":{"type":"integer","description":"id of the project worker.","example":92732},"project_id":{"type":"integer","description":"id of the project.","example":314159},"employee_id":{"type":"integer","description":"id of the employee.","example":21},"assigned":{"type":"boolean","description":"true if the employee is assigned to the project, false otherwise.","example":true},"inputed_minutes":{"type":"integer","description":"total inmputed minutes of the employee in the project.","example":100},"labor_cost_cents":{"type":"integer","description":"total project currency labor cost of the employee in the project.","example":100},"company_labor_cost_cents":{"type":"integer","description":"total company currency labor cost of the employee in the project.","example":100},"spending_cost_cents":{"type":"integer","description":"total spending cost of the employee in the project.","example":100}}},"project_management_subproject":{"type":"object","required":["name","project_id"],"properties":{"id":{"type":"integer","description":"The id of the subproject","example":314},"name":{"type":"string","description":"The name of the subproject","example":"Subproject name"},"project_id":{"type":"integer","description":"The id of the project","example":11},"inputed_minutes":{"type":"integer","description":"The total minutes tracked in the subproject (if requested)","example":0},"labor_cost_cents":{"type":"integer","description":"The total labor cost of the subproject in cents (if requested)","example":540000},"description":{"type":"string","description":"The description of the subproject","example":"Subproject description"},"status":{"type":"string","description":"The status of the subproject","enum":["active","closed","draft","processing"],"example":"active"},"code":{"type":"string","description":"The code of the subproject","example":"SUB123"},"start_date":{"type":"string","description":"The start date of the subproject","example":"2025-01-01"},"due_date":{"type":"string","description":"The due date of the subproject","example":"2025-12-31"},"is_billable":{"type":"boolean","description":"Whether the subproject is billable","example":true}}},"project_management_time_record":{"type":"object","required":["id","project_worker_id"],"properties":{"id":{"type":"integer","description":"Id of the time record","example":1},"project_worker_id":{"type":"integer","description":"Id of the project worker","example":1},"attendance_shift_id":{"type":"integer","description":"Id of the attendance shift","example":1},"subproject_id":{"type":"integer","description":"Id of the subproject","example":1},"date":{"type":"string","description":"Reference date of the shift","example":"2021-01-01"},"imputed_minutes":{"type":"integer","description":"Minutes difference between the clock in and clock out","example":480},"clock_in":{"type":"string","description":"Clock in time","example":"2021-01-01T08:00:00Z"},"clock_out":{"type":"string","description":"Clock out time","example":"2021-01-01T17:00:00Z"}}},"shift_management_shift":{"type":"object","required":["id","company_id","state","employee_id","start_at","end_at","extra_hours","timezone","local_start_at","local_end_at"],"properties":{"id":{"type":"integer","description":"Unique identifier for the shift","example":1},"company_id":{"type":"integer","description":"Identifier of the company that owns this shift","example":1},"name":{"type":"string","description":"Display name of the shift. If not explicitly set, falls back to the default shift title or template week name","example":"Morning shift"},"state":{"type":"string","description":"Current state of the shift. 'draft' means the shift is not yet visible to employees, 'published' means it's visible and confirmed, 'backup' indicates a backup shift that can be replaced","enum":["draft","published","backup"],"example":"draft"},"location_id":{"type":"integer","description":"Identifier of the location where the shift takes place. Can be null if the shift uses the employee's default location","example":3},"locations_work_area_id":{"type":"integer","description":"Identifier of the specific work area within the location where the shift occurs. Work areas allow further subdivision of locations","example":5},"employee_id":{"type":"integer","description":"Identifier of the employee assigned to this shift","example":1},"start_at":{"type":"string","description":"Timestamp indicating when the shift starts","example":"2020-09-07T06:00:00.000+00:00"},"end_at":{"type":"string","description":"Timestamp indicating when the shift ends","example":"2020-09-07T15:00:00.000+00:00"},"notes":{"type":"string","description":"Optional notes or comments about the shift, visible to managers and schedulers","example":"This is a shift note"},"extra_hours":{"type":"boolean","description":"Indicates whether this shift counts as extra hours beyond the employee's regular schedule. Used for overtime calculations","example":false},"default_shift_title":{"type":"string","description":"Title from the default shift template that was used to create this shift, if applicable","example":"Morning shift"},"timezone":{"type":"string","description":"IANA timezone identifier (e.g., 'Europe/Madrid', 'America/New_York') used to display the shift times in the local timezone","example":"Europe/Madrid"},"local_start_at":{"type":"string","description":"Start time of the shift converted to the local timezone. This is what employees see in their schedule","example":"2020-09-07T08:00:00.000+00:00"},"local_end_at":{"type":"string","description":"End time of the shift converted to the local timezone. This is what employees see in their schedule","example":"2020-09-07T17:00:00.000+00:00"}}},"tasks_task":{"type":"object","required":["id","name","company_id","assignee_ids","created_at","updated_at"],"properties":{"id":{"type":"integer","description":"Identifier of the task","example":1},"name":{"type":"string","description":"Name of the task","example":"My task"},"company_id":{"type":"integer","description":"Company identifier of the author of the task","example":1},"content":{"type":"string","description":"Content of the task","example":"Complete your performance review before Friday"},"due_on":{"type":"string","description":"Due on date of the task","example":"2024-06-06"},"assignee_ids":{"type":"array","description":"Employees assigned to the task, assignee_id references to access_id","example":[1],"items":{"type":"integer"}},"author_employee_id":{"type":"integer","description":"Employee id of the author of the task","example":1},"completed_at":{"type":"string","description":"Completed at date of the task","example":"2024-01-01T00:00:00Z"},"completed_by_id":{"type":"integer","description":"Completed by identifier","example":1},"created_at":{"type":"string","example":"2024-01-20T18:05:45.000Z"},"updated_at":{"type":"string","description":"Updated at date of the task","example":"2024-01-20T18:05:45.000Z"},"status":{"type":"string","description":"Status of the task","enum":["todo","in_progress","done","discarded"],"example":"todo"}}},"tasks_task_file":{"type":"object","required":["id","task_id","filename","path","created_at"],"properties":{"id":{"type":"integer","description":"identifier of the file.","example":1},"task_id":{"type":"integer","description":"identifier of the task.","example":1},"filename":{"type":"string","description":"name of the file.","example":"expenses.png"},"content_type":{"type":"string","description":"content type of the file.","example":"image/png"},"path":{"type":"string","description":"path of the file, for downloading the file you need to concat api_url/path.","example":"/tasks/tasks_files/405"},"created_at":{"type":"string","description":"creation date of the file.","example":"2024-10-06"}}},"teams_membership":{"type":"object","required":["id","employee_id","team_id","lead"],"properties":{"id":{"type":"integer","description":"Membership ID","example":1},"company_id":{"type":"integer","description":"Company ID of the membership","example":5},"employee_id":{"type":"integer","description":"Employee ID of the membership","example":12},"team_id":{"type":"integer","description":"Team ID of the membership","example":4},"lead":{"type":"boolean","description":"Whether the employee is a lead of the team or not","example":true}}},"teams_team":{"type":"object","required":["id","name","company_id"],"properties":{"id":{"type":"integer"},"name":{"type":"string"},"description":{"type":"string"},"avatar":{"type":"string"},"employee_ids":{"type":"array","items":{"type":"integer"}},"lead_ids":{"type":"array","items":{"type":"integer"}},"company_id":{"type":"integer"}}},"timeoff_allowance":{"type":"object","required":["id","allowance_type","available_days","count_holiday_as_workable","leave_type_ids","name","proration_type","rounding","tenure_periods","timeoff_cycle","timeoff_policy_id"],"properties":{"id":{"type":"integer","description":"Unique identifier of the allowance","example":1},"accrued_denominator_in_cents":{"type":"integer","description":"Only for Allowances based on worked time. It represents how many units you need to work to be granted allowance units","example":1000},"accrued_factor_in_cents":{"type":"integer","description":"Only for Allowances based on worked time. It represents how many units you are given per unit of time worked","example":10},"accrued_units_availability":{"type":"string","description":"When can the acrrued units be spent.","enum":["current_cycle","next_cycle"],"example":"current_cycle"},"allowance_type":{"type":"string","description":"Sets the allowance units. Can be \"days\" or \"hours\"","enum":["days","hours"],"example":"days"},"available_days":{"type":"string","description":"Indicates how the allowance units are accrued. For example all_days means all allowance days are given on the first day of the cycle.","enum":["all_days","generated_days","generated_days_monthly","generated_days_monthly_first_day","monthly_fifteenth","mensiversary","bimonthly_first_and_fifteenth","bimonthly_fifteenth_and_last"],"example":"all_days"},"carry_over_days":{"type":"integer","description":"How many units can carry over between cycles","example":15},"carry_over_units_in_cents":{"type":"integer","description":"How many units can carry over between cycles multiplied by 100","example":1500},"count_holiday_as_workable":{"type":"boolean","description":"This setting flags if units taken during a bank holiday should be deducted or not from allowance.","example":false},"cycle_length":{"type":"integer","description":"How many months does each allowance cycle last","example":12},"cycle_start":{"type":"string","description":"When does the cycle start.","example":"jan"},"days_type":{"type":"string","description":"Indicates if the allowance is based on working on calendar days.","enum":["working_days","natural_days","natural_days_only_range","french_calendar_days","french_ouvres"],"example":"working_days"},"employee_carry_over_starting_year":{"type":"integer","description":"When does the carryover start","example":1},"expire_in_months":{"type":"integer","description":"When does the carryover expire in months.","example":6},"frequency":{"type":"string","description":"Defines duration of the allowance cycles. Can be \"yearly\", \"monthly_flexible\" or \"lifetime\"","enum":["monthly_flexible","yearly","lifetime"],"example":"yearly"},"holiday_allowance_in_cents":{"type":"integer","description":"Base amount of holiday allowance units multiplied by 100","example":2300},"leave_type_ids":{"type":"array","description":"An array of leave type ids associated with that allowance","example":[1,2,3,4],"items":{"type":"integer"}},"maximum_amount_in_cents":{"type":"integer","description":"Maximum the allowance can reach on accrued","example":2800},"name":{"type":"string","description":"Allowance name set by the user","example":"Holiday Allowance"},"negative_counter_type":{"type":"string","description":"Whether the allowance allows to request more days than available","enum":["negative_counter_disabled","negative_counter_enabled"],"example":"negative_counter_disabled"},"position":{"type":"integer","description":"Indicates the position in the allowance when rendering them in UI","example":0},"proration_type":{"type":"string","description":"Whether the allowance has proration enabled or not.","enum":["proration_enabled","proration_disabled"],"example":"proration_enabled"},"pto_proratio_enabled":{"type":"boolean","description":"Whether the allowance days are prorrated or not","example":false},"range_type":{"type":"string","description":"Configures how leaves duration is handled.","enum":["exact_range","extra_non_working_days_at_end"],"example":"working_days"},"rounding":{"type":"string","description":"How the accrued units of the allowance are rounded. It depends if the allowance is set in hours or days.","enum":["half_day","decimals","quarters","round_up"],"example":"half_day"},"send_notification":{"type":"boolean"},"source_units":{"type":"string","description":"This field configures the type of allowance (fixed balance, based on worked time)","enum":["base_units","overtime_units","by_worked_time"],"example":"base_units"},"tenure_period_transition":{"type":"string","description":"In case the allowance has tenure periods, when is this tenure applied.","enum":["beginning_of_cycle","end_of_cycle","after_milestone"],"example":"beginning_of_cycle"},"tenure_periods":{"type":"array","description":"The tenure periods associated with the allowance.","example":[{"id":1,"period_type":"years","period_length":1,"adjustment_in_cents":100,"max_cap_in_cents":100,"time_worked_based_hours_accrued_in_cents":100,"time_worked_based_per_hours_worked_in_cents":100,"balance_type":"fixed_balance"}],"items":{}},"tenure_periods_enabled":{"type":"boolean","description":"Whether the allowance has tenure periods enabled or not.","example":false},"timeoff_cycle":{"type":"string","description":"Value to indicate how the allowance cycle is configured. Its an abbreviation of the first and last month.","example":"jan_dec"},"timeoff_policy_id":{"type":"integer","description":"The Id of the policy to which the allowance belongs to","example":1},"unlimited_accrued_hours":{"type":"boolean","description":"Flag to indicate if there is unlimited accrual.","example":false},"unlimited_carry_over":{"type":"boolean","description":"Flag to indicate if there is unlimited carry over.","example":false},"unlimited_carry_over_expiration":{"type":"boolean","description":"Boolean to flag if carryover does not expire","example":false},"unlimited_holidays":{"type":"boolean","description":"Flag to indicate that the allowance has unlimited available days","example":false}}},"timeoff_allowance_incidence":{"type":"object","required":["id","employee_id","days_in_cents","timeoff_allowance_id","effective_on","created_at","updated_at"],"properties":{"id":{"type":"integer","description":"Unique identifier of the allowance incidence","example":1},"employee_id":{"type":"integer","description":"Employee id of the affected employee","example":1},"description":{"type":"string","description":"Optional comment regarding the incidence","example":"Added because working on a holiday"},"days_in_cents":{"type":"integer","description":"How many units * 100 does the incidence add/substract. Can be positive or negative. Example is one unit","example":100},"timeoff_allowance_id":{"type":"integer","description":"To what allowance does the incidence affect. It will dictate if its days or hours","example":2},"effective_on":{"type":"string","description":"When does the incidence take effect; this is for time off cycles calculations.","example":"2024-01-02"},"target_balance":{"type":"string","description":"Whether the incidence affects the Accrued or the Available counter.","example":"accrued"},"created_at":{"type":"integer","description":"Unix timestamp when the DB record was created","example":1723623354},"updated_at":{"type":"integer","description":"Unix timestamp when the DB record was last updated","example":1723623354}}},"timeoff_allowance_stats_new":{"type":"object","required":["id","allowance_id","employee_id","year","cycles","carry_overs","accumulated_carry_over","available_days","total_accrued_units","total","incidences","accrued_incidences","available_incidences","policy_allowance","prorated_allowance_days","used_carry_over","used_days","used_units_until_reference_date","outstanding_units"],"properties":{"id":{"type":"string","description":"A virtual ID for the allowance stat, composed of employee_id/allowance_id/reference_date. Cannot be used to fetch this resource.","example":"1/2/2023-10-01"},"allowance_id":{"type":"integer","description":"ID of the allowance these stats belong to.","example":10},"employee_id":{"type":"integer","description":"ID of the employee these stats belong to.","example":42},"year":{"type":"integer","description":"Calendar year used to scope cycle calculations.","example":2025},"cycles":{"type":"string","description":"Array with cycle details (legacy hash structure, may change to a typed entity in the future).","example":[{"start_date":"2025-01-01","end_date":"2025-12-31","accrued_units":"15.0"}]},"carry_overs":{"type":"array","description":"Carry over entries between cycles (serialized array of CycleCarryOver objects). Returned as string in GraphQL.","example":[{"from_year":2024,"to_year":2025,"days":"2.5"}],"items":{"type":"string"}},"accumulated_carry_over":{"type":"string","description":"Total carried over units accumulated from previous cycles.","example":"3.5"},"available_days":{"type":"string","description":"Remaining days available (after usage and considering carry overs).","example":"8.0"},"total_accrued_units":{"type":"string","description":"Total units accrued up to the reference date.","example":"15.0"},"total":{"type":"string","description":"Total entitlement for the cycle used by the Total row in counters (accrued + carry over + incidences, with backend cap/rounding rules applied before incidences).","example":"19.0"},"incidences":{"type":"string","description":"Sum of incidence units (adjustments) applied to this allowance.","example":"1.0"},"accrued_incidences":{"type":"string","description":"Sum of incidence units scoped to 'accrued' target balance for the current cycle, filtered by cycle coverage rules.","example":"0.5"},"available_incidences":{"type":"string","description":"Sum of incidence units scoped to non-accrued target balances for the current cycle, filtered by cycle coverage rules.","example":"0.5"},"max_balance_cap":{"type":"string","description":"Maximum balance cap enforced by policy (null if unlimited or no cap).","example":"25.0"},"policy_allowance":{"type":"string","description":"Base allowance units defined by the policy (before proration and adjustments).","example":"20.0"},"prorated_allowance_days":{"type":"string","description":"Allowance days after proration based on employee tenure or configuration.","example":"18.5"},"total_in_decimal":{"type":"string","description":"Total allowance units in decimal form (null if not computed for the reference date yet).","example":"20.0"},"used_carry_over":{"type":"string","description":"Units from carry over already consumed.","example":"1.5"},"used_days":{"type":"string","description":"Total used days (converted from units) up to the reference date.","example":"7.0"},"used_units_until_reference_date":{"type":"string","description":"Units consumed strictly until the given reference date (excludes future approved leaves).","example":"6.5"},"outstanding_units":{"type":"string","description":"Pending units scheduled (approved in the future) not yet counted as used until the reference date.","example":"2.0"}}},"timeoff_blocked_periods_policy":{"type":"object","required":["id","company_id","name","leave_type_ids","time_periods","strategy","members"],"properties":{"id":{"type":"integer","description":"Unique identifier of the blocked period","example":1},"company_id":{"type":"integer","description":"Company id of the blocked period","example":1},"name":{"type":"string","description":"Name of the blocked period.","example":"Onboarding period"},"leave_type_ids":{"type":"array","description":"Leave types for which absence request has been blocked","example":[1,2],"items":{"type":"integer"}},"time_periods":{"type":"array","description":"The tenure periods associated with the allowance.","example":[{"name":"Product offsite","period_type":"by_contract_start_date","duration":2,"duration_unit":"months","start_on":"2024-01-01","finish_on":"2024-02-28"}],"items":{}},"strategy":{"type":"string","description":"Type of access group","example":"everyone"},"members":{"type":"array","description":"Employees whose timeoff will be affected","example":[1,2],"items":{"type":"integer"}},"location_ids":{"type":"array","description":"List of locations workplace identifiers where the employees are located","example":[1,2],"items":{"type":"integer"}},"team_ids":{"type":"array","description":"List of team identifiers which the selected employees belong to","example":[1,2],"items":{"type":"integer"}},"legal_entity_ids":{"type":"array","description":"List of legal entity identifiers which the selected employees belong to","example":[1,2],"items":{"type":"integer"}}}},"timeoff_leave":{"type":"object","required":["id","company_id","employee_id","start_on","updated_at","days_taken"],"properties":{"id":{"type":"integer","description":"Identifier of the Leave","example":1},"company_id":{"type":"integer","description":"Company identifier of the employee of the leave","example":1},"employee_id":{"type":"integer","description":"Employee identifier of the leave","example":1},"start_on":{"type":"string","description":"The start date of the leave","example":"2028-09-05"},"finish_on":{"type":"string","description":"The end date of the leave","example":"2028-09-05"},"half_day":{"type":"string","description":"Indicates if the leave is taken as a half-day"},"description":{"type":"string","description":"A description of the leave","example":"Annual family vacation"},"reason":{"type":"string","description":"The reason provided by the employee for taking the leave","example":"Medical appointment"},"leave_type_id":{"type":"integer","description":"The identifier for the type of leave","example":36},"leave_type_name":{"type":"string","description":"The name of the leave type"},"approved":{"type":"boolean","description":"Indicates whether the leave has been approved","example":true},"employee_full_name":{"type":"string","description":"The full name of the employee taking the leave","example":"Bob The Boss"},"start_time":{"type":"string","description":"The start time of the leave","example":"09:00"},"hours_amount_in_cents":{"type":"integer","description":"The total number of hours taken for the leave, represented in cents","example":800},"updated_at":{"type":"string","description":"The updated at date of the leave","example":"2028-03-11T17:03:12.000Z"},"created_at":{"type":"string","description":"The created at date of the leave","example":"2028-03-11T17:03:12.000Z"},"deleted_at":{"type":"string","description":"The date when the leave was deleted","example":"2028-03-11T17:03:12.000Z"},"duration_attributes":{"type":"string","description":"The duration attributes of the leave","example":{"accrues_list":{"2028":1.0},"workable_units":{"days":{"2028":1.0},"hours":{"2028":8.0}},"used_units":{"days":{"2028":1.0},"hours":{"2028":8.0}},"french_calendar_flag_enabled":false,"finish_on_natural":"2028-09-05"}},"days_taken":{"type":"number","description":"Number of days taken for paid leave","example":1.0}}},"timeoff_leave_type":{"type":"object","required":["id","name","identifier","color","attachment","visibility","workable","company_id","allowance_ids","details_required"],"properties":{"id":{"type":"integer","description":"Identifier of the leave type","example":1},"name":{"type":"string","description":"Name of the leave type","example":"Annual Leave"},"translated_name":{"type":"string","description":"Translated name of the leave type, if available","example":"Congé Annuel"},"identifier":{"type":"string","description":"Unique identifier of the leave type","example":"annual_leave"},"color":{"type":"string","description":"The color associated with this leave type","example":"red"},"active":{"type":"boolean","description":"Whether the leave type is active","example":true},"editable":{"type":"boolean","description":"Whether the leave type is editable","example":false},"approval_required":{"type":"boolean","description":"Whether approval is required for this leave type","example":true},"accrues":{"type":"boolean","description":"Whether the leave type accrues over time","example":true},"attachment":{"type":"boolean","description":"Whether an attachment is required for this leave type","example":true},"allow_endless":{"type":"boolean","description":"Whether endless leave is allowed","example":false},"restricted":{"type":"boolean","description":"Whether the leave type is restricted","example":false},"visibility":{"type":"boolean","description":"Whether the leave type is visible to employees","example":true},"workable":{"type":"boolean","description":"Whether the leave type is workable","example":false},"payable":{"type":"boolean","description":"Whether the leave type is payable","example":true},"company_id":{"type":"integer","description":"Identifier of the company associated with this leave type","example":1},"is_attachment_mandatory":{"type":"boolean","description":"Whether the attachment is mandatory","example":false},"allowance_ids":{"type":"array","description":"List of allowance identifiers associated with this leave type","example":[1,2],"items":{"type":"integer"}},"half_days_units_enabled":{"type":"boolean","description":"Whether half-day units are enabled for this leave type","example":true},"max_days_in_cents":{"type":"integer","description":"Maximum days in cents that can be taken","example":5000},"min_days_in_cents":{"type":"integer","description":"Minimum days in cents that must be taken","example":1000},"description":{"type":"string","description":"Description of the leave type","example":"This leave type is for annual holidays."},"details_required":{"type":"boolean","description":"Whether additional details are required for the leave type","example":false}}},"timeoff_policy":{"type":"object","required":["id","name","company_id"],"properties":{"id":{"type":"integer","description":"The policy id.","example":1},"name":{"type":"string","description":"Policy name.","example":"Policy for remotes"},"main":{"type":"boolean","description":"Is the main policy? It will return true if it's the main policy if not it will return false.","example":true},"company_id":{"type":"integer","description":"The company id.","example":1},"description":{"type":"string","description":"The policy description.","example":"This policy will apply only for remote employees"}}},"timeoff_policy_assignment":{"type":"object","required":["timeoff_policy_id","employee_id","effective_at"],"properties":{"id":{"type":"integer","description":"Unique identifier of the policy assignment","example":1},"timeoff_policy_id":{"type":"integer","description":"The time off policy id","example":1},"employee_id":{"type":"integer","description":"The employee id","example":1},"effective_at":{"type":"string","description":"The effective date of the policy assignment","example":"2024-01-01"}}},"timeoff_policy_timeline":{"type":"object","required":["employee_id","start_limit_date","end_limit_date","items","id"],"properties":{"employee_id":{"type":"integer"},"start_limit_date":{"type":"string"},"end_limit_date":{"type":"string"},"items":{"type":"array","items":{}},"id":{"type":"integer","description":"This is the employee id since it's a virtual entity"}}},"time_planning_planned_break":{"type":"object","required":["id","break_type","break_configuration_id","break_configuration_name","break_configuration_paid"],"properties":{"id":{"type":"integer","description":"Planned break identifier","example":1},"start_at":{"type":"string","description":"Break start time","example":"2020-09-07T06:00:00.000+00:00"},"end_at":{"type":"string","description":"Break end time","example":"2020-09-07T15:00:00.000+00:00"},"duration":{"type":"integer","description":"Duration of the break in minutes","example":30},"break_type":{"type":"string","description":"Type of the break","enum":["flexible","fixed","semi_flexible"],"example":"flexible"},"break_configuration_id":{"type":"integer","description":"Break configuration identifier","example":1},"break_configuration_name":{"type":"string","description":"Name of the break configuration","example":"Rest"},"break_configuration_paid":{"type":"boolean","description":"Whether the break is paid","example":true},"default_shift_id":{"type":"integer","description":"Default shift identifier"},"shift_configuration_id":{"type":"integer","description":"Shift configuration identifier"},"shift_id":{"type":"integer","description":"Shift identifier","example":1},"day_configuration_id":{"type":"integer","description":"Day configuration identifier"}}},"time_planning_planning_version":{"type":"object","required":["effective_at","planning_tool","employee_id"],"properties":{"id":{"type":"integer","description":"Planning version identifier","example":1},"effective_at":{"type":"string","description":"Planning version start date","example":"2020-09-07"},"planning_tool":{"type":"string","description":"Type of planning tool (shift_management, work_schedules, contract_hours)","example":"shift_management"},"number_of_rest_days_in_cents":{"type":"integer","description":"Amount of rest days per week if applicable (in cents)","example":200},"employee_id":{"type":"integer","description":"Employee identifier","example":1},"work_schedule_schedule_id":{"type":"integer","description":"Work schedule identifier to include if applicable","example":1}}},"time_settings_break_configuration":{"type":"object","required":["id","name","paid","archived"],"properties":{"id":{"type":"integer"},"name":{"type":"string"},"paid":{"type":"boolean"},"archived":{"type":"boolean"}}},"trainings_category":{"type":"object","required":["id","name","company_id"],"properties":{"id":{"type":"integer"},"name":{"type":"string"},"company_id":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"trainings_session":{"type":"object","required":["id","name","training_id","subsidized"],"properties":{"id":{"type":"integer","description":"id of the session","example":1},"name":{"type":"string","example":"Session 1"},"training_id":{"type":"integer","description":"Identifier of the course","example":1},"description":{"type":"string","description":"Session description","example":"First session of group January 2025"},"training_class_id":{"type":"string","description":"Identifier of the group","example":1},"starts_at":{"type":"string","description":"Date when the session should start","example":"2025-02-04T10:31:48.000Z"},"ends_at":{"type":"string","description":"Date when the session should end","example":"2025-02-04T10:31:48.000Z"},"due_date":{"type":"string","description":"Date when the session should end","example":"2025-02-04"},"duration":{"type":"string","description":"The duration in hours and minutes of the session","example":"2.5"},"modality":{"type":"string","description":"The mode the session will be handled, online, in person or hybrid.","enum":["online","inperson","mixed"],"example":"inperson"},"schedule":{"type":"string","description":"Session schedule information (scheduled, self-paced)","enum":["scheduled","selfpaced"],"example":"schedule"},"link":{"type":"string","description":"The link to see material from the session","example":"https://www.google.com"},"location":{"type":"string","description":"The place where the session takes place","example":"Address Street 1223"},"session_attendance_ids":{"type":"array","example":[1],"items":{"type":"integer"}},"session_feedback_id":{"type":"integer","example":1},"subsidized":{"type":"boolean","description":"if the session is subsidized","example":false},"status":{"type":"string","description":"Status of the session","example":"pending"},"parent_id":{"type":"integer","description":"Id of the recurrent session that is parent of the current one","example":1}}},"trainings_session_access_membership":{"type":"object","required":["id","access_id","session_id"],"properties":{"id":{"type":"integer","description":"ID of this membership","example":1},"access_id":{"type":"integer","description":"ID of the access associated with this membership","example":1},"employee_id":{"type":"integer","description":"ID of the employee associated with this membership","example":1},"session_id":{"type":"integer","description":"ID of the session associated with this membership","example":1},"first_name":{"type":"string","description":"First name of the user associated with this membership","example":"John"},"last_name":{"type":"string","description":"Last name of the user associated with this membership","example":"Doe"},"job_title":{"type":"string","description":"Job title of the user associated with this membership","example":"Manager"}}},"trainings_session_attendance":{"type":"object","required":["id","status","session_access_membership_id","access_id"],"properties":{"id":{"type":"integer","description":"Unique identifier of the session attendance","example":1},"status":{"type":"string","description":"Status of the session attendance","enum":["pending","missing","inprogress","completed"],"example":"completed"},"session_access_membership_id":{"type":"integer","description":"Identifier of the session access membership","example":1},"access_id":{"type":"integer","description":"Identifier of the access associated with the employee","example":20},"employee_id":{"type":"integer","description":"Identifier of the employee","example":20},"completed_duration":{"type":"string","description":"Completed duration in hours (decimal format, e.g. 1.5 means 1h 30m). Null when session attendance status is not completed.","example":"1.5"}}},"trainings_training":{"type":"object","required":["id","company_id","author_id","name","description","external","fundae_subsidized","subsidized","cost","subsidized_cost","cost_decimal","subsidized_cost_decimal","year","catalog","competency_ids","total_training_cost","total_training_indirect_cost","total_training_salary_cost","total_training_subsidized_cost","total_participants","training_attendance_status","total_duration","is_mandatory"],"properties":{"id":{"type":"integer","description":"Identifier of the course","example":1},"company_id":{"type":"integer","description":"Company identifier","example":1},"author_id":{"type":"integer","description":"The person that creates the training","example":20},"name":{"type":"string","description":"Name of the training","example":"Communication Course"},"code":{"type":"string","description":"Code of the training","example":"COM-101"},"description":{"type":"string","description":"Description of the training","example":"Intermediate-level communication course that focuses on building and enhancing language skills."},"created_at":{"type":"string","description":"Creation date of the course","example":"2025-02-04T10:31:48.000Z"},"updated_at":{"type":"string","description":"Last modification date of the course","example":"2025-02-04T10:31:48.000Z"},"external_provider":{"type":"string","description":"The name of the provider if any"},"external":{"type":"boolean","description":"External training","example":false},"total_cost":{"type":"integer","example":0},"fundae_subsidized":{"type":"boolean","description":"Subsidized by Fundae","example":false},"subsidized":{"type":"boolean","description":"Marked as subsidized","example":false},"cost":{"type":"integer","example":0},"subsidized_cost":{"type":"integer","example":0},"total_cost_decimal":{"type":"string","example":"0.0"},"cost_decimal":{"type":"string","example":"0.0"},"subsidized_cost_decimal":{"type":"string","example":"0.0"},"category_ids":{"type":"array","description":"List of ids of training categories","example":[1,20],"items":{"type":"integer"}},"status":{"type":"string","description":"Training status. Can be one of the following values","enum":["draft","active","deleted"],"example":"active"},"year":{"type":"integer","description":"Year of the training","example":2025},"catalog":{"type":"boolean","description":"Visible in catalog","example":true},"competency_ids":{"type":"array","description":"List of ids of training competencies","example":[1,3],"items":{"type":"integer"}},"total_training_cost":{"type":"string","description":"The total direct cost of all course's groups","example":"0.0"},"total_training_indirect_cost":{"type":"string","description":"The total indirect cost of all course's groups","example":"0.0"},"total_training_salary_cost":{"type":"string","description":"The total salary cost of all course's groups","example":"0.0"},"total_training_subsidized_cost":{"type":"string","description":"The total subsidized cost of all course's groups","example":"0.0"},"total_participants":{"type":"integer","description":"Number of participants of all course's groups","example":0},"training_attendance_status":{"type":"string","enum":["notassigned","notstarted","missing","started","partiallycompleted","completed"],"example":"completed"},"valid_for":{"type":"integer","description":"Number of years this course is valid for"},"objectives":{"type":"string","description":"Objectives of the course","example":"Build and enhance language skills."},"number_of_expired_participants":{"type":"integer","description":"Number of participants that have the course expired or about to expire in the next 3 months. Only applicable to trainings with validity period.","example":2},"total_duration":{"type":"number","description":"The total duration in hours and minutes of the course","example":2.5},"is_mandatory":{"type":"boolean","description":"This field is used to define if the training is mandatory or not","example":false}}},"trainings_training_class":{"type":"object","required":["id","training_id","name","cost","indirect_cost","salary_cost","subsidized_cost","gross_cost","net_cost","completed_attendances_count","total_attendances_count","currency","created_at"],"properties":{"id":{"type":"string","description":"Identifier of the training to which the class belongs to","example":"1"},"training_id":{"type":"integer","description":"Identifier of the course","example":1},"name":{"type":"string","description":"Class name","example":"Edition 25"},"description":{"type":"string","description":"Class description","example":"This is the group for the year 2025 edition"},"start_date":{"type":"string","description":"Traning class start date","example":"2025-03-24"},"end_date":{"type":"string","description":"Traning class end date","example":"2025-03-28"},"cost":{"type":"string","description":"Training-related expenses, such as instructor fees, materials, venue, and logistics.","example":"100.0"},"indirect_cost":{"type":"string","description":"General business expenses related to training, such as utilities and administrative fees.","example":"30.0"},"salary_cost":{"type":"string","description":"Cost of all employees' time spent on the course.","example":"60.0"},"subsidized_cost":{"type":"string","description":"Amount of training expenses covered by financial aid or grants for this group.","example":"50.0"},"gross_cost":{"type":"string","description":"Total cost before subsidies, calculated as the sum of cost, indirect_cost, and salary_cost.","example":"190.0"},"net_cost":{"type":"string","description":"Final cost after subsidies, calculated as gross_cost minus subsidized_cost.","example":"140.0"},"completed_attendances_count":{"type":"integer","description":"Number of completed session attendances in this group.","example":10},"total_attendances_count":{"type":"integer","description":"Total number of session attendances expected in this group.","example":15},"payment_status":{"type":"string","description":"Payment status of the cost of training class.","enum":["paid","pending"],"example":"pending"},"currency":{"type":"string","description":"Currency of the training class","example":"EUR"},"created_at":{"type":"string","description":"Date and time when the training class was created","example":"2025-03-24T10:00:00.000Z"}}},"trainings_training_membership":{"type":"object","required":["id","access_id","employee_id","training_id","status"],"properties":{"id":{"type":"integer","description":"Unique identifier for the training membership.","example":1},"access_id":{"type":"integer","description":"Access_id associated to the employee, refers to employees/employees endpoint.","example":20},"employee_id":{"type":"integer","description":"Employee_id associated to the employee, refers to employees/employees endpoint.","example":20},"training_id":{"type":"integer","description":"This field is used to filter those trainings memberships that belongs to this training.","example":1},"status":{"type":"string","description":"This field is used to filter those trainings memberships whose attendance status is the given.","enum":["notassigned","notstarted","missing","started","partiallycompleted","completed"],"example":"notstarted"},"training_due_date":{"type":"string","description":"This field is used for those trainings with an expiry date.","example":"2022-01-01"},"training_completed_at":{"type":"string","description":"This field is used to record the date a training was completed for trainings that have an expiry date.","example":"2022-01-01"}}},"work_schedule_day_configuration":{"type":"object","required":["id","overlap_period_id","weekday","duration_in_seconds"],"properties":{"id":{"type":"integer"},"overlap_period_id":{"type":"integer"},"weekday":{"type":"string"},"start_at":{"type":"string"},"duration_in_seconds":{"type":"integer"}}},"work_schedule_overlap_period":{"type":"object","required":["id","default","schedule_id","start_month","start_day","end_month","end_day","schedule_type"],"properties":{"id":{"type":"integer"},"default":{"type":"boolean"},"schedule_id":{"type":"integer"},"start_month":{"type":"integer"},"start_day":{"type":"integer"},"end_month":{"type":"integer"},"end_day":{"type":"integer"},"schedule_type":{"type":"string"}}},"work_schedule_schedule":{"type":"object","required":["id","name","company_id","created_at","updated_at","employee_ids","periods"],"properties":{"id":{"type":"integer"},"name":{"type":"string"},"archived_at":{"type":"string"},"company_id":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"employee_ids":{"type":"array","items":{"type":"integer"}},"periods":{"type":"array","items":{}}}},"banking_bank_account_number":{"type":"object","required":["id","company_id","account_number","format"],"properties":{"id":{"type":"string","description":"Employee id.","example":135},"company_id":{"type":"integer","description":"Company identifier","example":1},"account_number":{"type":"string","description":"Account number","example":"ES7520807723367311468673"},"complementary_data":{"type":"string","description":"Additional banking information, depending on the selected format."},"format":{"type":"string","description":"The format of the account number.","enum":["iban","sort_code_and_account_number","routing_number_and_account_number","clabe","other","bank_name_and_account_number"]}}},"contracts_contract_version_request":{"type":"object","required":["employee_id","effective_on","has_payroll","created_at","updated_at","status","fr_forfait_jours"],"properties":{"id":{"type":"integer"},"company_id":{"type":"integer"},"employee_id":{"type":"integer"},"effective_on":{"type":"string"},"country":{"type":"string"},"job_title":{"type":"string"},"job_catalog_level_id":{"type":"integer"},"job_catalog_level_name":{"type":"string"},"job_catalog_level":{"type":"string"},"job_catalog_role":{"type":"string"},"job_catalog_role_id":{"type":"integer"},"job_catalog_tree_node_uuid":{"type":"string"},"starts_on":{"type":"string"},"ends_on":{"type":"string"},"has_payroll":{"type":"boolean"},"has_payroll_policies":{"type":"boolean"},"has_trial_period":{"type":"boolean"},"trial_period_ends_on":{"type":"string"},"salary_amount":{"type":"integer"},"salary_frequency":{"type":"string"},"working_week_days":{"type":"string"},"working_hours":{"type":"integer"},"working_hours_frequency":{"type":"string"},"max_legal_yearly_hours":{"type":"integer"},"maximum_weekly_hours":{"type":"integer"},"adjusted_daily_minutes":{"type":"integer"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"created_by_name":{"type":"string"},"created_by_avatar":{"type":"string"},"action_type":{"type":"string"},"request_details":{"type":"string"},"approvers_ids":{"type":"array","items":{"type":"integer"}},"status":{"type":"string","enum":["","pending","approved","rejected"]},"approval_author_id":{"type":"integer"},"approval_request_created_at":{"type":"string"},"approval_action_type":{"type":"string"},"es_has_teleworking_contract":{"type":"boolean"},"es_cotization_group":{"type":"integer"},"es_contract_observations":{"type":"string"},"es_job_description":{"type":"string"},"es_contract_type_id":{"type":"integer"},"es_contract_type_name":{"type":"string"},"es_working_day_type_id":{"type":"integer"},"es_working_day_type_name":{"type":"string"},"es_education_level_id":{"type":"integer"},"es_education_level_name":{"type":"string"},"es_professional_category_id":{"type":"integer"},"es_professional_category_name":{"type":"string"},"es_contribution_type_id":{"type":"integer"},"es_contribution_type_name":{"type":"string"},"es_agreement_code_id":{"type":"integer"},"es_agreement_code_name":{"type":"string"},"es_cno_occupation_id":{"type":"integer"},"es_cno_occupation_name":{"type":"string"},"es_regime_id":{"type":"integer"},"es_regime_name":{"type":"string"},"es_tariff_group_id":{"type":"integer"},"es_tariff_group_name":{"type":"string"},"es_occupation_code_id":{"type":"integer"},"es_occupation_code_name":{"type":"string"},"es_classification_id":{"type":"integer"},"es_classification_name":{"type":"string"},"es_a3innuva_job_position_id":{"type":"integer"},"es_a3innuva_job_position_name":{"type":"string"},"fr_employee_type":{"type":"string"},"fr_forfait_jours":{"type":"boolean"},"fr_jours_par_an":{"type":"integer"},"fr_jours_par_an_cents":{"type":"integer"},"fr_coefficient":{"type":"string"},"fr_contract_type_id":{"type":"integer"},"fr_level_id":{"type":"integer"},"fr_step_id":{"type":"integer"},"fr_mutual_id":{"type":"integer"},"fr_professional_category_id":{"type":"integer"},"fr_work_type_id":{"type":"integer"},"fr_contract_type_name":{"type":"string"},"fr_mutual_name":{"type":"string"},"fr_professional_category_name":{"type":"string"},"fr_work_type_name":{"type":"string"},"fr_level_name":{"type":"string"},"fr_step_name":{"type":"string"},"de_contract_type_id":{"type":"integer"},"de_contract_type_name":{"type":"string"},"de_employment_type":{"type":"integer"},"de_flat_rate_tax":{"type":"integer"},"de_activity_type":{"type":"integer"},"de_personal_key_group_id":{"type":"integer"},"de_personal_key_group_name":{"type":"string"},"de_base_salary_type_id":{"type":"integer"},"de_base_salary_type_name":{"type":"string"},"pt_contract_type_id":{"type":"integer"},"pt_contract_type_name":{"type":"string"}}},"_paged_index_meta":{"type":"object","required":["has_previous_page","has_next_page","limit","total"],"properties":{"start_cursor":{"type":"string"},"end_cursor":{"type":"string"},"has_previous_page":{"type":"boolean"},"has_next_page":{"type":"boolean"},"limit":{"type":"integer"},"total":{"type":"integer"}}}}}}