# Factorial API API

> Factorial API API on Apizie: 159 endpoints (Get employees from a company, Create employee, Get employee, Update employee, …) returned as clean JSON through one API key. Send your own provider key in the x-upstream-key header. Call it over REST at https://www.apizie.tech/v1/security:factorial/{endpoint} or from Claude, ChatGPT and Cursor through the Apizie MCP server. Free plan: 1,000 requests a month.

- Project key: `security:factorial`
- Category: Security
- Status: byok
- Source: https://factorialhr.com
- Page: https://www.apizie.tech/api/security/factorial
- OpenAPI: https://www.apizie.tech/api/security/factorial/openapi.json

Open Api Specifications available at [https://github.com/factorialco/oas](https://github.com/factorialco/oasLooking) Guides and support available at…

## Endpoints

### Get employees from a company
`GET https://www.apizie.tech/v1/security:factorial/employee-get-employees` (byok)

### Create employee
`POST https://www.apizie.tech/v1/security:factorial/employee-create-employee` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Get employee
`GET https://www.apizie.tech/v1/security:factorial/employee-get-employee-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | (Required) |

### Update employee
`POST https://www.apizie.tech/v1/security:factorial/employee-update-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | (Required) |
| body | object | no | JSON request body |

### Terminate employee
`POST https://www.apizie.tech/v1/security:factorial/employee-terminate-employee` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | (Required) |
| body | object | no | JSON request body |

### Unterminate employee
`POST https://www.apizie.tech/v1/security:factorial/employee-unterminate-employee` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | (Required) |

### Get employees from a company
`GET https://www.apizie.tech/v1/security:factorial/employee-get-all-employees` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| full_text_name | string | no | Retrieves the list of employees by full names |

### Create employee
`POST https://www.apizie.tech/v1/security:factorial/employee-create-new` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Get employee
`GET https://www.apizie.tech/v1/security:factorial/employee-get-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | (Required) |

### Update employee
`POST https://www.apizie.tech/v1/security:factorial/employee-update-employee-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | (Required) |
| body | object | no | JSON request body |

### Invite employee
`POST https://www.apizie.tech/v1/security:factorial/employee-send-invitation-email` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | (Required) |

### Change employee email
`POST https://www.apizie.tech/v1/security:factorial/employee-change-email` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | (Required) |
| body | object | no | JSON request body |

### Terminate employee
`POST https://www.apizie.tech/v1/security:factorial/employee-set-termination-details` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | (Required) |
| body | object | no | JSON request body |

### Unterminate employee
`POST https://www.apizie.tech/v1/security:factorial/employee-unterminate-post` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | (Required) |

### Get a list of all subscribed webhooks for current user
`GET https://www.apizie.tech/v1/security:factorial/user-subscribed-webhooks-list` (byok)

### Create a webhook
`POST https://www.apizie.tech/v1/security:factorial/webhook-subscription-create` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Update a Webhook
`POST https://www.apizie.tech/v1/security:factorial/webhook-update-webhook-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | (Required) |
| body | object | no | JSON request body |

### Delete a Webhook
`POST https://www.apizie.tech/v1/security:factorial/webhook-delete-webhook` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | (Required) |

### Get information about current user
`GET https://www.apizie.tech/v1/security:factorial/user-info-get` (byok)

### Get all locations
`GET https://www.apizie.tech/v1/security:factorial/location-get-all-locations` (byok)

### Get a Location by ID
`GET https://www.apizie.tech/v1/security:factorial/location-get-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | (Required) |

### Get all company holidays
`GET https://www.apizie.tech/v1/security:factorial/holiday-get-all-company-holidays` (byok)

### Get a company holiday by ID
`GET https://www.apizie.tech/v1/security:factorial/holiday-get-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | (Required) |

### Get teams
`GET https://www.apizie.tech/v1/security:factorial/team-get-all-teams` (byok)

### Create a team
`POST https://www.apizie.tech/v1/security:factorial/team-create-new-team` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Get a team by ID
`GET https://www.apizie.tech/v1/security:factorial/team-get-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | (Required) |

### Update a team
`POST https://www.apizie.tech/v1/security:factorial/team-update-team-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | (Required) |
| body | object | no | JSON request body |

### Delete a team
`POST https://www.apizie.tech/v1/security:factorial/team-remove-team` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | (Required) |

### Assign an employee to a team
`POST https://www.apizie.tech/v1/security:factorial/employee-assign-to-team` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | (Required) |
| employee_id | string | yes | (Required) |

### Update an employee in a team
`POST https://www.apizie.tech/v1/security:factorial/employee-update-in-team` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | (Required) |
| employee_id | string | yes | (Required) |
| body | object | no | JSON request body |

### Unassign employee to team
`POST https://www.apizie.tech/v1/security:factorial/employee-unassign-to-team` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | (Required) |
| employee_id | string | yes | (Required) |

### Get Folders
`GET https://www.apizie.tech/v1/security:factorial/folder-get-by-name-and-status` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | no | Retrieves the list of folder by name |
| active | boolean | no | Retrieves the list of employees by active status |

### Create a Folder
`POST https://www.apizie.tech/v1/security:factorial/folder-create-new-folder` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Get a Folder by ID
`GET https://www.apizie.tech/v1/security:factorial/folder-get-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | (Required) |

### Update a folder
`POST https://www.apizie.tech/v1/security:factorial/folder-update-folder-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | (Required) |
| body | object | no | JSON request body |

### Get a collection of Documents
`GET https://www.apizie.tech/v1/security:factorial/document-list-given-employee-or-folder` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| employee_id | integer | no | Retrieves the list of documents by employee id |
| folder_id | integer | no | Retrieves the list of documents by folder id |

### Create a Document
`POST https://www.apizie.tech/v1/security:factorial/document-create-new-document` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | Form fields as a JSON object |

### Get a Document by ID
`GET https://www.apizie.tech/v1/security:factorial/document-get-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | (Required) |

### Update a Document by ID
`POST https://www.apizie.tech/v1/security:factorial/document-update-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | (Required) |
| body | object | no | JSON request body |

### Delete a Document by ID
`POST https://www.apizie.tech/v1/security:factorial/document-delete-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | (Required) |

### Get a collection of Legal Entities
`GET https://www.apizie.tech/v1/security:factorial/legal-entity-list-legal-entities` (byok)

### Get a Legal Entity by ID
`GET https://www.apizie.tech/v1/security:factorial/legal-entity-get-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | (Required) |

### Get a collection of Keys
`GET https://www.apizie.tech/v1/security:factorial/key-get-collection` (byok)

### Create a Key
`POST https://www.apizie.tech/v1/security:factorial/key-create-new` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Delete an API Key by ID
`POST https://www.apizie.tech/v1/security:factorial/key-delete-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | (Required) |

### Get Tasks
`GET https://www.apizie.tech/v1/security:factorial/task-get-all-tasks` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| assignee_id | integer | no | Retrieves the list of tasks by assignee |

### Create a Task
`POST https://www.apizie.tech/v1/security:factorial/task-create-new-task` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Get a Task by ID
`GET https://www.apizie.tech/v1/security:factorial/task-get-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | (Required) |

### Update a Task by ID
`POST https://www.apizie.tech/v1/security:factorial/task-update-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | (Required) |
| body | object | no | JSON request body |

### Delete a Task by ID
`POST https://www.apizie.tech/v1/security:factorial/task-delete-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | (Required) |

### Resolve Task by ID
`POST https://www.apizie.tech/v1/security:factorial/task-resolve-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | (Required) |
| body | object | no | JSON request body |

### Copy Task by ID
`POST https://www.apizie.tech/v1/security:factorial/task-copy-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | (Required) |
| body | object | no | JSON request body |

### Get files from a Task
`GET https://www.apizie.tech/v1/security:factorial/task-get-files` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | (Required) |

### Create a File in a Task
`POST https://www.apizie.tech/v1/security:factorial/task-add-file-to-task` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | (Required) |
| body | object | no | JSON request body |

### Get a file from one Task
`GET https://www.apizie.tech/v1/security:factorial/task-get-file` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| task_id | string | yes | (Required) |
| id | string | yes | (Required) |

### Delete a File in a Task
`POST https://www.apizie.tech/v1/security:factorial/task-delete-file-in-task` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| task_id | string | yes | (Required) |
| id | string | yes | (Required) |

### Get shifts (time registries) from a company
`GET https://www.apizie.tech/v1/security:factorial/shift-get-from-company` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| year | string | no | It should be valid year in the format `YYYY` |
| month | string | no | It should be valid month in the calendar ranging rom `01 to 12`. The month format is `MM` |

### Clock in
`POST https://www.apizie.tech/v1/security:factorial/shift-create-clock-in-shift` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Clock out
`POST https://www.apizie.tech/v1/security:factorial/shift-update-clock-out-shift` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Toggle
`POST https://www.apizie.tech/v1/security:factorial/shift-toggle-shift-status` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Update Shift (time registry)
`POST https://www.apizie.tech/v1/security:factorial/shift-update-shift` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | (Required) |
| body | object | no | JSON request body |

### Delete Shift (time registry)
`POST https://www.apizie.tech/v1/security:factorial/shift-delete-shift-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | (Required) |

### Get attendance from a company
`GET https://www.apizie.tech/v1/security:factorial/attendance-get-company-attendance` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| employee_ids[] | array | no | Employees id array |
| date_from | string | no | It should be a valid date following the format YYYY-MM-DD |
| date_to | string | no | It should be a valid date following the format YYYY-MM-DD |

### Create Attendance
`POST https://www.apizie.tech/v1/security:factorial/attendance-create-new` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Get Leave types
`GET https://www.apizie.tech/v1/security:factorial/leave-get-types` (byok)

### Create a Leave Type
`POST https://www.apizie.tech/v1/security:factorial/leave-type-create` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Update a Leave Type
`POST https://www.apizie.tech/v1/security:factorial/leave-update-type` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | (Required) |
| body | object | no | JSON request body |

### Get Leaves
`GET https://www.apizie.tech/v1/security:factorial/leave-get-company-leaves` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| employee_ids[] | array | no | Employees id array |
| leave_type_ids[] | array | no | Leave type id array |
| from | string | no | It should be a valid date following the format YYYY-MM-DD |
| to | string | no | It should be a valid date following the format YYYY-MM-DD |
| include_leave_type | boolean | no | Include leave type name |

### Create a Leave
`POST https://www.apizie.tech/v1/security:factorial/leave-create-new-leave` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Get a Leave by ID
`GET https://www.apizie.tech/v1/security:factorial/leave-get-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | (Required) |

### Update a Leave
`POST https://www.apizie.tech/v1/security:factorial/leave-update-leave-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | (Required) |
| body | object | no | JSON request body |

### Delete a Leave by ID
`POST https://www.apizie.tech/v1/security:factorial/leave-delete-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | (Required) |

### Get Leaves
`GET https://www.apizie.tech/v1/security:factorial/leave-get-company-leaves-2` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| employee_ids[] | array | no | Employees id array |
| leave_type_ids[] | array | no | Leave type id array |
| from | string | no | It should be a valid date following the format YYYY-MM-DD |
| to | string | no | It should be a valid date following the format YYYY-MM-DD |
| include_leave_type | boolean | no | Include leave type name |

### Create a Leave
`POST https://www.apizie.tech/v1/security:factorial/leave-create-new-leave-2` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Get a Leave by ID
`GET https://www.apizie.tech/v1/security:factorial/leave-get-by-id-2` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | (Required) |

### Update a Leave
`POST https://www.apizie.tech/v1/security:factorial/leave-update-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | (Required) |
| body | object | no | JSON request body |

### Delete a Leave by ID
`POST https://www.apizie.tech/v1/security:factorial/leave-delete-by-id-2` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | (Required) |

### Get all family situations - only FR employees
`GET https://www.apizie.tech/v1/security:factorial/employee-list-family-situations` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| employee_id | string | no | Get all family situations given an employee |

### Create a Family Situation
`POST https://www.apizie.tech/v1/security:factorial/family-situation-create-new` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Update a Family Situation
`POST https://www.apizie.tech/v1/security:factorial/family-situation-update-family-situation` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | (Required) |
| body | object | no | JSON request body |

### Get Custom Fields
`GET https://www.apizie.tech/v1/security:factorial/custom-field-get-fields-by-group` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| field_group | string | yes | Available options: employees-questions (Employee's fields) time-tracking-projects (Shift's project)' contract-versions (Contract versions)' |

### Given a custom field, get the value for a specific instance
`GET https://www.apizie.tech/v1/security:factorial/custom-field-value-get-instance-value` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| field_id | integer | yes | Field Id |
| instance_id | integer | yes | Id of the model instance associated to the field |

### Create a value for a custom field
`POST https://www.apizie.tech/v1/security:factorial/custom-field-value-create-custom-value` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| field_id | integer | yes | The id of the field this value belongs to |
| instance_id | integer | yes | The id of the entity that 'created' this value e.g. an employee who fills out the answer to a question |
| body | object | no | JSON request body |

### Get Posts
`GET https://www.apizie.tech/v1/security:factorial/post-list-posts` (byok)

### Create a Post
`POST https://www.apizie.tech/v1/security:factorial/post-create-new-post` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Get Post
`GET https://www.apizie.tech/v1/security:factorial/post-get-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | (Required) |

### Create a Post
`POST https://www.apizie.tech/v1/security:factorial/post-update-existing-post` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | (Required) |
| body | object | no | JSON request body |

### Delete Post
`POST https://www.apizie.tech/v1/security:factorial/post-remove-post` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | (Required) |

### Get all job postings
`GET https://www.apizie.tech/v1/security:factorial/post-get-all-postings` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| status | string | no | Job posting status |
| team_id | integer | no | An id of any teams that the ats company has in Factorial |
| location_id | string | no | An id of any location associated with the ats company in Factorial |
| legal_entity_id | integer | no | An id of any legal entity associated with the company in Factorial |

### Create a Job Posting
`POST https://www.apizie.tech/v1/security:factorial/post-ats-job-posting` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Update a Job Posting
`POST https://www.apizie.tech/v1/security:factorial/post-job-posting-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | (Required) |
| body | object | no | JSON request body |

### Delete a Job Posting
`POST https://www.apizie.tech/v1/security:factorial/post-remove-job-posting` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | (Required) |

### Duplicate a Job Posting
`POST https://www.apizie.tech/v1/security:factorial/post-duplicate-job-posting` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | (Required) |

### Get all candidates
`GET https://www.apizie.tech/v1/security:factorial/candidate-list-all-candidates` (byok)

### Create a candidate
`POST https://www.apizie.tech/v1/security:factorial/candidate-create-new-candidate` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Update candidate
`POST https://www.apizie.tech/v1/security:factorial/candidate-update-candidate-data` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | (Required) |
| body | object | no | JSON request body |

### Delete a Candidate
`POST https://www.apizie.tech/v1/security:factorial/candidate-delete-existing-candidate` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | (Required) |

### Get all contract versions
`GET https://www.apizie.tech/v1/security:factorial/contract-version-get-all-versions` (byok)

### Create contract versions
`POST https://www.apizie.tech/v1/security:factorial/contract-version-create-new-version` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Update contract version
`POST https://www.apizie.tech/v1/security:factorial/contract-update-version` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | (Required) |
| body | object | no | JSON request body |

### Delete contract version
`POST https://www.apizie.tech/v1/security:factorial/contract-delete-version` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | (Required) |

### Get all reference contracts
`GET https://www.apizie.tech/v1/security:factorial/contract-get-all-reference-contracts` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| employee_ids[] | array | no | Employees id array |

### Get all supplements
`GET https://www.apizie.tech/v1/security:factorial/supplement-get-all` (byok)

### Create supplements
`POST https://www.apizie.tech/v1/security:factorial/supplement-create-new-supplement` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Update supplements
`POST https://www.apizie.tech/v1/security:factorial/supplement-update-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | (Required) |
| body | object | no | JSON request body |

### Delete supplements
`POST https://www.apizie.tech/v1/security:factorial/supplement-delete-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | (Required) |

### Get all codes for a specific Integration
`GET https://www.apizie.tech/v1/security:factorial/integration-get-all-codes` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| integration | string | no | Payroll Integration name |
| code | string | no | Unique identifier to relate Factorial with different payroll softwares |

### Create a Payroll Integration Code
`POST https://www.apizie.tech/v1/security:factorial/integration-code-create-payroll-integration-code` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Update a Payroll Integration Code
`POST https://www.apizie.tech/v1/security:factorial/integration-update-payroll-code` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | (Required) |
| body | object | no | JSON request body |

### Delete a Payroll Integration Code
`POST https://www.apizie.tech/v1/security:factorial/integration-delete-payroll-code` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | (Required) |

### Find Employee assigned to a Payroll Integration Code
`GET https://www.apizie.tech/v1/security:factorial/employee-get-by-payroll-integration-code` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| integration | string | no | Payroll Integration name |
| id | string | yes | (Required) |

### Get all shifts from a company
`GET https://www.apizie.tech/v1/security:factorial/shift-get-all-shifts` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| employee_id | integer | no | Employee ID to find shifts from |
| employee_ids%5B%5D | array | no | Employee IDs to find shifts from |
| start_at | string | no | Start date to find shifts from |
| end_at | string | no | End date to find shifts to |
| only_published | boolean | no | To return only published shifts |

### Create a shift
`POST https://www.apizie.tech/v1/security:factorial/shift-create-new-shift` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Publish shifts inside time range
`POST https://www.apizie.tech/v1/security:factorial/shift-publish-shifts-inside-time-range` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Update shift location
`POST https://www.apizie.tech/v1/security:factorial/location-update-shift-location` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | (Required) |
| body | object | no | JSON request body |

### Update shift notes
`POST https://www.apizie.tech/v1/security:factorial/shift-update-notes` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | (Required) |
| body | object | no | JSON request body |

### Get Shift
`GET https://www.apizie.tech/v1/security:factorial/shift-get-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | (Required) |

### Delete Shift
`POST https://www.apizie.tech/v1/security:factorial/shift-delete-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | (Required) |

### Start a break
`POST https://www.apizie.tech/v1/security:factorial/break-start-break` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### End a break
`POST https://www.apizie.tech/v1/security:factorial/break-end-break` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

…and 39 more. See the OpenAPI spec.

## Example
```
curl "https://www.apizie.tech/v1/security:factorial/employee-get-employees" \
  -H "x-api-key: $APIZIE_KEY" \
  -H "x-upstream-key: $PROVIDER_KEY"
```

## FAQ

### How do I call the Factorial API API?
Create a free Apizie key, then send GET https://www.apizie.tech/v1/security:factorial/employee-get-employees with the header x-api-key. Every endpoint returns { project, data, timestamp }.

### Is the Factorial API API free on Apizie?
Yes. The Free plan includes 1,000 requests a month at 100 requests a minute, no credit card. Factorial API itself also needs your own key from api.factorialhr.com.

### Can AI agents use the Factorial API API?
Yes. Add the Apizie MCP server (https://www.apizie.tech/mcp) to Claude, ChatGPT, Cursor or VS Code, then ask in plain language. The agent calls run_scraper with project key security:factorial.

### What is the status of the Factorial API API?
Needs your own provider key (bring your own key)
