Product
Jentic OSThe workplace. An in-house AI platform for every employeeJentic OneSafe access. Agents reach your systems without holding keysJentic AIRThe foundation. Gets your existing platforms ready for AI
Pricing
Developers

GET STARTED

API DirectoryBrowse 10,000+ APIs Ready For AI Agent IntegrationDocumentationGuides and API reference

TOOLS

API ScoringCheck your AI Readiness using our scorecardArazzo UIVisualize Arazzo Workflows As Interactive DocumentationArazzo EditorBuild And Edit Multi-Step API Workflows Visually

COMMUNITY

GitHubOpen source projects and examplesOpen StandardsBuilt on open specs. Never locked in.
Resources
Company
About UsOur mission and teamCareersJoin our teamContactGet in touch
Try it now
Jentic OSJentic OneJentic AIR
Pricing
API DirectoryDocumentationAPI ScoringArazzo UIArazzo EditorGitHubOpen Standards
Resources
About UsCareersContact
Try it now
JenticJentic
Products
  • Jentic OS
  • Jentic One
  • Jentic AIR
For Developers
  • API Directory
  • Documentation
  • GitHub
Company
  • About Jentic
  • Careers
  • Contact Us
  • Trust Centre
ISO/IEC 27001:2022 certification badge issued by Prescient SecurityISO/IEC 27001:2022 certification badge issued by Prescient Security

Information Security Management System

Certified to ISO/IEC 27001:2022 by Prescient Security

Terms & Conditions•Privacy Policy•
© 2026 Jentic Technology Ltd. All rights reserved.
Switch to light modeSwitch to dark mode
APIs / HR recruiting / Hurma Public API
Hurma Public API logo

Hurma Work Hurma Public API

Agent-ready OpenAPI document · curated by JenticHR recruitingEmployee Managementbearer, oauth220 EndpointsREST

Know of an official OpenAPI document? Contribute it →

For Agents

Read and write Hurma candidates, employees, departments, and job openings, and resolve HR dictionary values from an AI agent or backend pipeline.

Use for: Find an employee record by id in Hurma, I want to create a new candidate from an inbound application, List all open job openings in Hurma, Get the engineering department record

Not supported: Does not handle payroll runs, time-tracking, or benefits administration - use for candidate, employee, department, and job-opening management only.

Jentic publishes the only available OpenAPI specification for Hurma Public API, keeping it validated and agent-ready. Hurma is an HR management platform whose public API exposes 20 endpoints for managing candidates, employees, departments, and job openings, plus reference dictionaries for cooperation types, languages, and termination reasons. Authentication is performed with OAuth 2.0 authorisation flow or HTTP bearer tokens issued through /api/v3/oauth/token, and the API is rate limited to 240 requests per minute. The endpoints support pagination and dictionary lookups so external systems can keep employee records in sync.

Jentic One on GithubView OpenAPI Document

Install Jentic One Beta

Connect the Hurma Public API to your agent

Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Hurma Public API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.

Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.

1

Step 1: Jentic One Host machine

# On the machine that will host your Jentic One instance:
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fhurma.work%2Fhurma" | sh
2

Step 2: Agent machine

# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fhurma.work%2Fhurma" | sh
jentic register       # connects your agent to your Jentic One instance

Jentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.

Capabilities

What an agent can do with Hurma Public API.

List, create, and update candidates inside the Hurma recruitment pipeline

Read and update employee records including department and cooperation type

Manage departments and resolve their employee membership

Publish, edit, and close job openings with title, description, and status fields

Resolve dictionary values for cooperation types, languages, and termination reasons

Exchange OAuth credentials for an access token via /api/v3/oauth/token

Use Cases

Patterns agents use Hurma Public API for, with concrete tasks.

★ ATS to Hurma Sync

Mirror candidates from an external applicant tracking system into Hurma so that recruiters work in a single tool. POST new applications to /api/v3/candidates, PATCH on status changes, and reuse dictionary lookups for languages and cooperation types so the data conforms to Hurma's reference data. Useful for teams running a separate sourcing tool but standardising hiring data in Hurma.

POST /api/v3/candidates with the candidate first name, last name, email, and cooperation_type id.

Employee Directory Sync

Keep an internal directory or SSO group structure aligned with Hurma's employee and department data. The /api/v3/employees and /api/v3/departments endpoints support listing and updating, and dictionary endpoints provide stable ids for cooperation types and termination reasons. Run the sync nightly or on webhook triggers to keep downstream systems consistent.

GET /api/v3/employees with page=1 and reconcile against the local SSO directory.

Job Board Distribution

Pull active job openings from Hurma and republish them to a careers site, LinkedIn, or third-party job board. The /api/v3/job-openings endpoints expose title, description, and status fields, and OAuth bearer tokens scope access to the integration. Combined with a publishing API like Greenhouse or Workable's job board, the workflow is fully automated.

GET /api/v3/job-openings filtered to status=open and republish each to the careers site.

AI Agent HR Assistant

Give an HR assistant agent direct, scoped access to Hurma so it can answer questions like 'how many open roles do we have' or 'who is in the engineering department'. Through Jentic the agent searches for the operation, loads the input schema, and executes - the OAuth bearer token stays in your Jentic One instance so prompt injection cannot leak it.

Search Jentic for 'list open job openings', load the Hurma /api/v3/job-openings schema, and execute with status=open.

Key Endpoints

20 endpoints — jentic publishes the only available openapi specification for hurma public api, keeping it validated and agent-ready.

METHOD

PATH

DESCRIPTION

POST

/api/v3/oauth/token

Exchange credentials for an access token

GET

/api/v3/candidates

List candidates

GET

/api/v3/employees

List employees

GET

/api/v3/departments

List departments

GET

/api/v3/job-openings

List job openings

GET

/api/v3/dictionaries/cooperation-types

List cooperation types

GET

/api/v3/dictionaries/languages

List languages

POST

/api/v3/oauth/token

Exchange credentials for an access token

GET

/api/v3/candidates

List candidates

GET

/api/v3/employees

List employees

GET

/api/v3/departments

List departments

GET

/api/v3/job-openings

List job openings

GET

/api/v3/dictionaries/cooperation-types

List cooperation types

GET

/api/v3/dictionaries/languages

List languages

Why Jentic?

What agents get from Jentic-routed access to this vendor.

Setup

Setup

Wiring the Hurma Public API by hand means running its OAuth token exchange, targeting hurma.work, and paging candidate and employee reads yourself. Through Jentic you install once, import the Hurma Public API from the API Directory, store the credential once, and your agent calls it.

Permission scoping

Permission scoping

This API serves reads through fixed collection endpoints with filters in the request parameters (/api/v3/candidates, /api/v3/employees), so limit the agent to the operations it needs, such as listing candidates or departments. You choose the operations it may call, so requesting an OAuth token directly is not included unless you add it.

Credential management

Credential isolation

Your Hurma OAuth token is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.

Intent-based discovery

Intent-based discovery

Agents search Jentic by intent such as 'list Hurma candidates' or 'list job openings', and Jentic returns the matching Hurma operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

Related APIs

Alternatives and complements available in the Jentic catalogue.

Alternative

BambooHR API

→

BambooHR is a broader HR platform with similar employee, time-off, and recruiting endpoints

Choose BambooHR for US-centric HR workflows with payroll integrations; choose Hurma for European HR workflows or when the team already runs Hurma

Alternative

Personio API

→

Personio is a European HR platform with overlapping employee and recruiting APIs

Choose Personio when the team needs deeper European compliance and document features; choose Hurma when the team already operates on Hurma

Complementary

Workable API

→

Workable handles applicant sourcing while Hurma manages the broader employee record

Use Workable for applicant tracking and pipe successful hires into Hurma for ongoing employee management

FAQs

Specific to using Hurma Public API through Jentic.

Why is there no official OpenAPI spec for Hurma Public API?

Hurma does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Hurma API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

What authentication does the Hurma Public API use?

The Hurma API uses OAuth 2.0 with /api/v3/oauth/authorize and /api/v3/oauth/token, plus HTTP bearer tokens for already-authenticated calls. Through Jentic the credentials sit in the credential vault and Jentic injects the Authorization header at execution time.

What are the rate limits for the Hurma Public API?

Hurma rate limits the public API to 240 requests per minute. Watch for HTTP 429 responses, batch reads where possible, and stagger writes during nightly syncs to stay within the budget.

Can I create a candidate through the Hurma API?

Yes. POST to /api/v3/candidates with first name, last name, email, and a cooperation_type id resolved from /api/v3/dictionaries/cooperation-types. The endpoint returns the created candidate id which you can use for subsequent PATCH calls.

How do I list open job openings through Jentic?

Search Jentic for 'list open job openings', load the schema for the Hurma GET /api/v3/job-openings operation, and execute with status=open. Install with pip install jentic and use the async search, load, and execute pattern.

How do I resolve dictionary values like cooperation type or language?

Call GET /api/v3/dictionaries/cooperation-types or /api/v3/dictionaries/languages to retrieve the canonical id and label list, then send the id when creating or updating candidates and employees. This avoids 422 validation errors from sending free-text values.

Can I limit what my agent is allowed to do with the Hurma Public API?

Yes. Because you run your own self-hosted Jentic One instance, your own rules decide which Hurma operations and credentials the agent may use, so you can grant only the reads it needs, such as listing candidates via GET /api/v3/candidates or employees via GET /api/v3/employees. The Hurma API serves these as fixed collection endpoints with filters passed in the request parameters, so scoping happens at the operation level rather than through per-record access. Sensitive operations like exchanging credentials at /api/v3/oauth/token stay excluded unless you deliberately add them, keeping the agent confined to the exact HR lookups you approve.

GET STARTED

Start building with Hurma Public API

Explore with Jentic One
View OpenAPI Document