Factorial website screenshot

Factorial

Factorial is an all-in-one HR, payroll, time, talent, finance, and IT management platform headquartered in Barcelona, Spain, used by 16,000+ companies worldwide. The Factorial public API is a date-versioned REST API (current major 2026-04-01 "Legendre") covering employees, contracts, attendance, time off, payroll, ATS, performance, trainings, projects, finance, banking, procurement, IT assets, documents, webhooks, and an Approvals workflow surface. Authentication uses OAuth2 (on behalf of a user) or an x-api-key header (on behalf of the company), with 30+ scopes for granular partner access. Factorial publishes the OpenAPI schema and generated SDKs (Ruby, Python, Java, PHP, TypeScript, Node.js) at github.com/factorialco/oas and exposes an llms.txt index for AI agents.

22 APIs 15 Features
HRHuman ResourcesPayrollTime OffTime TrackingATSPerformanceFinanceExpensesSpainBarcelonaAll-in-One

APIs

Factorial Core Employees API

List, read, create, and update employees in the Factorial HR directory. The Core Employees v2 API exposes a clean, non-data-intensive employee record (replacing the legacy v1 sh...

Factorial Webhooks API

Subscribe to lifecycle events fired by Factorial (employee created, employee terminated, attendance clock-in/out, ATS application created/updated, time-off leave created/approve...

Factorial ATS API

Applicant Tracking surface — Candidates, Applications, Application Phases, Job Postings, Feedback, Evaluation Forms, Answers. Read, create, update, and delete candidates and app...

Factorial Attendance API

Manage attendance shifts, breaks, overtime requests, timesheet edits, and attendance reviews. v2026-04-01 introduces an api_source field on shift DTOs so integrations can identi...

Factorial Time Off API

Time-off leaves, leave types, and time-off allowances with enriched statistics. Trigger webhooks on leave creation, update, and approval. Combine with the Approvals API to progr...

Factorial Contracts and Compensations API

Manage contract versions and compensation records. v2026-04-01 is a breaking-change release that removes legacy job catalog fields (job_title, professional_category_id, professi...

Factorial Payroll API

Payroll supplements, payroll identifiers, family situations, and bookkeeper resources. Backs Factorial's integrations with country- specific payroll engines.

Factorial Finance and Banking API

Bank accounts, transactions, ledger accounts, journal entries, tax rates and tax types, cost centers, cost center memberships, and budgets. Cost center memberships are bulk-upda...

Factorial Expenses API

Submit, approve, and reconcile employee expenses, mileage claims, and per-diem requests.

Factorial Documents API

Manage company- and employee-scoped documents and folders. Create, update, retrieve, and delete documents, request legal e-signatures, and fire document_created webhook events. ...

Factorial Performance API

Performance reviews, review processes, evaluations, and performance agreements. Configurable review cycles backed by the Job Catalog Tree introduced in v2026-01-01.

Factorial Trainings API

Manage training programs and training classes, expanded in v2026-04-01 with new class-level capabilities.

Factorial Job Catalog API

Job levels, roles, functions, and the hierarchical Job Catalog Tree introduced in v2026-01-01. Replaces the legacy free-text job_title on contracts via job_catalog_tree_node_uuid.

Factorial Project Management API

Projects, subprojects, tasks, project workers, planned and flexible time records, and budget strategies (full CRUD added in v2026-04-01).

Factorial IT Management API

IT asset and IT model endpoints (added in v2026-01-01) backing the SaaS, Inventory, MDM, and Cybersecurity modules.

Factorial Procurement API

Purchase orders, purchase requests, and purchase types. Added in v2026-01-01.

Factorial Approvals API

Programmatically approve or reject pending steps of a materialized approval flow, either by id or by resource_id+resource_type. Added in v2026-04-01.

Factorial Locations and Holidays API

Company locations, work areas, and company holidays.

Factorial Custom Fields API

Define custom fields, options, values, and schemas to extend Factorial resources with company-specific metadata.

Factorial Posts and Communities API

Groups, posts, and comments backing the Communities V2 feature. Requires Communities V2 to be enabled on the company.

Factorial Marketplace and Integrations API

Integrations Framework and Marketplace endpoints used by partner integrations to register, surface, and operate within the Factorial app.

Factorial Keys and OAuth API

Two authentication methods. OAuth2 (authorization code flow at /oauth/authorize and /oauth/token) is used to act on behalf of a user; Credentials/API Keys (x-api-key header) are...

Collections

Pricing Plans

Factorial Plans Pricing

5 plans

PLANS

Rate Limits

Factorial Rate Limits

0 limits

RATE LIMITS

FinOps

Features

All-in-one HR, payroll, time, finance, talent, and IT modules
Public REST API with dated, major-versioned releases (current 2026-04-01 "Legendre")
Two auth schemes - OAuth2 authorization code on behalf of a user and x-api-key on behalf of the company
30+ OAuth scopes for fine-grained partner access
Production and Demo environments (api.factorialhr.com vs api.demo.factorialhr.com)
681+ documented endpoints across 30+ resource domains
Webhook subscriptions with documented event catalogue and retry policy
Approvals API for programmatic approve/reject of pending workflows
Job Catalog Tree replacing free-text job titles on contracts
Bulk endpoints (e.g. cost-center memberships) to reduce roundtrips
Integrations Framework, Payroll and Finance Integrations partner programs
Marketplace surface for distributing partner integrations inside the Factorial app
Officially generated SDKs for Ruby, Python, Java, PHP, TypeScript (axios), and Node.js server
llms.txt endpoint for AI agents at https://apidoc.factorialhr.com/llms.txt
16,000+ companies on platform; HQ in Barcelona, Spain

Semantic Vocabularies

Factorial Hr Context

26 classes · 0 properties

JSON-LD

API Governance Rules

Factorial API Rules

4 rules · 2 errors 2 warnings

SPECTRAL

Example Payloads

Resources

🌐
Portal
Portal
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🚀
GettingStarted
GettingStarted
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🔗
Documentation
Documentation
📄
ChangeLog
ChangeLog
🔗
Webhooks
Webhooks
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🔗
Documentation
Documentation
💰
Pricing
Pricing
📝
Signup
Signup
🔗
Login
Login
🟢
StatusPage
StatusPage
📰
Blog
Blog
🔗
Customers
Customers
💬
Support
Support
👥
GitHubOrganization
GitHubOrganization
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
🔧
Tools
Tools
📜
PrivacyPolicy
PrivacyPolicy
📜
TermsOfService
TermsOfService
🔗
LinkedIn
LinkedIn
🔗
Plans
Plans
🔗
RateLimits
RateLimits
🔗
FinOps
FinOps
🔗
SpectralRules
SpectralRules
🔗
Vocabulary
Vocabulary

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Factorial API
  version: 1.0.0
request:
  auth:
    type: oauth2
    flow: authorization_code
    authorizationUrl: /oauth/authorize
    accessTokenUrl: /oauth/token
    credentials:
      clientId: '{{clientId}}'
      clientSecret: '{{clientSecret}}'
items:
- info:
    name: Core::Employees::V2
    type: folder
  items:
  - info:
      name: Get Employees From a Company
      type: http
    http:
      method: GET
      url: https://api.factorialhr.com/api/v2/core/employees
      params:
      - name: full_text_name
        value: Bob Stone
        type: query
        description: Retrieves the list of employees by full names
    docs: 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
  - info:
      name: Create Employee
      type: http
    http:
      method: POST
      url: https://api.factorialhr.com/api/v2/core/employees
      body:
        type: json
        data: '{}'
    docs: Create employee
  - info:
      name: Get Employee
      type: http
    http:
      method: GET
      url: https://api.factorialhr.com/api/v2/core/employees/:id
      params:
      - name: id
        value: '5'
        type: path
        description: '(Required) '
    docs: 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
  - info:
      name: Update Employee
      type: http
    http:
      method: PUT
      url: https://api.factorialhr.com/api/v2/core/employees/:id
      params:
      - name: id
        value: <integer>
        type: path
        description: '(Required) '
      body:
        type: json
        data: '{}'
    docs: Update employee
- info:
    name: Core::Me
    type: folder
  items:
  - info:
      name: Get Information About Current User
      type: http
    http:
      method: GET
      url: https://api.factorialhr.com/api/v1/me
    docs: After token grant, get information of the token holder
bundled: true