How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Factorial Resources API

The Resources API from Factorial — 16 operation(s) for resources.

Factorial Resources API is one of 2 APIs that Factorial publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Resources. The published artifact set on APIs.io includes an OpenAPI specification.

This API exposes 30 operations across 16 paths, and defines 4 schemas. It is described by OpenAPI 3.1.0, at version 2026-04-01.

Requests are made against 2 base URLs: https://api.factorialhr.com/api/2026-04-01, https://api.demo.factorial.dev/api/2026-04-01.

30 operations 16 paths 4 schemas 3 DELETE12 GET11 POST4 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.1.0
API Version
2026-04-01
Base URL
https://api.factorialhr.com
Authentication
HTTP Bearer, OAuth 2.0
Resource Areas
1

Authentication & Security 2

Factorial Resources API declares 2 security schemes for authenticating requests. It accepts HTTP bearer tokens (ApiKey). It supports OAuth 2.0 (OAuth2) using the authorizationCode flow, exposing 2 scopes. By default, every request must be authenticated.

  • ApiKey — API key issued from the Factorial settings panel.

Paths & Operations 30

Across 16 paths, the API surfaces 30 operations — 3 DELETE, 12 GET, 11 POST, 4 PUT. Each is listed below with its method, path, parameters, and response codes.

Resources 30
GET
/resources/employees/employees
List employees
listEmployees 2 params → 200
POST
/resources/employees/employees
Create an employee
createEmployee body → 201
GET
/resources/employees/employees/{id}
Get an employee
getEmployee 1 param → 200
PUT
/resources/employees/employees/{id}
Update an employee
updateEmployee 1 param body → 200
POST
/resources/employees/employees/{id}/invite
Invite an employee to Factorial
inviteEmployee 1 param → 200
POST
/resources/employees/employees/{id}/terminate
Terminate an employee
terminateEmployee 1 param body → 200
GET
/resources/contracts/contract_versions
List contract versions
listContractVersions → 200
POST
/resources/contracts/contract_versions
Create a contract version
createContractVersion body → 201
GET
/resources/contracts/contract_versions/{id}
Get a contract version
getContractVersion 1 param → 200
PUT
/resources/contracts/contract_versions/{id}
Update a contract version
updateContractVersion 1 param body → 200
DELETE
/resources/contracts/contract_versions/{id}
Delete a contract version
deleteContractVersion 1 param → 204
GET
/resources/attendance/shifts
List attendance shifts
listShifts 3 params → 200
POST
/resources/attendance/shifts
Create an attendance shift (clock in)
createShift body → 201
GET
/resources/attendance/shifts/{id}
Get an attendance shift
getShift 1 param → 200
PUT
/resources/attendance/shifts/{id}
Update an attendance shift
updateShift 1 param body → 200
DELETE
/resources/attendance/shifts/{id}
Delete an attendance shift
deleteShift 1 param → 204
POST
/resources/attendance/shifts/clock_in
Clock in
clockIn body → 200
POST
/resources/attendance/shifts/clock_out
Clock out
clockOut body → 200
GET
/resources/time_off/leaves
List leaves / time off requests
listLeaves 3 params → 200
POST
/resources/time_off/leaves
Create a leave / time off request
createLeave body → 201
GET
/resources/time_off/leaves/{id}
Get a leave
getLeave 1 param → 200
PUT
/resources/time_off/leaves/{id}
Update a leave
updateLeave 1 param body → 200
DELETE
/resources/time_off/leaves/{id}
Delete a leave
deleteLeave 1 param → 204
GET
/resources/payroll/supplements
List payroll supplements
listSupplements → 200
POST
/resources/payroll/supplements
Create a payroll supplement
createSupplement body → 201
GET
/resources/companies/locations
List company locations
listLocations → 200
POST
/resources/companies/locations
Create a company location
createLocation body → 201
GET
/resources/employees/employee_updates
List employee updates (new hires, terminations, contract changes, absences)
listEmployeeUpdates 2 params → 200
GET
/resources/documents/documents
List documents
listDocuments → 200
POST
/resources/documents/documents
Upload a document
uploadDocument body → 201

Schemas 4

The contract defines 4 schemas that model the data the API accepts and returns. The most detailed are Employee (9 properties), Leave (7 properties), Shift (6 properties), Meta (3 properties). Each schema is shown below with its type and property counts.

Shift
object
6 properties
Meta
object
3 properties
Leave
object
7 properties
Employee
object
9 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

factorial-resources-api-openapi.yml Raw ↑

Other APIs Factorial publishes across the network.

Factorial Developer API
Where this information came from

This is an independent, third-party profile of Factorial Resources API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.