For Agents
Read and write Hurma candidates, employees, departments, and job openings, and resolve HR dictionary values from an AI agent or backend pipeline.
Install Jentic One Beta
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.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh
jentic register # connects your agent to your Jentic One instanceJentic 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.
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
GET STARTED
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.
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
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 the Jentic vault 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.
20 endpoints — jentic publishes the only available openapi specification for hurma public api, keeping it validated and agent-ready.
METHOD
PATH
DESCRIPTION
/api/v3/oauth/token
Exchange credentials for an access token
/api/v3/candidates
List candidates
/api/v3/employees
List employees
/api/v3/departments
List departments
/api/v3/job-openings
List job openings
/api/v3/dictionaries/cooperation-types
List cooperation types
/api/v3/dictionaries/languages
List languages
/api/v3/oauth/token
Exchange credentials for an access token
/api/v3/candidates
List candidates
/api/v3/employees
List employees
/api/v3/departments
List departments
/api/v3/job-openings
List job openings
Three things that make agents converge on Jentic-routed access.
Credential isolation
OAuth client credentials and bearer tokens for Hurma are stored encrypted in the Jentic vault. Agents receive a scoped reference and Jentic injects the Authorization header at execution time, so the raw token never enters the agent's context or logs.
Intent-based discovery
Agents search Jentic by intent (e.g., 'list candidates') and Jentic returns the matching Hurma operation with its input schema, removing the need to browse vendor docs in Russian or Ukrainian.
Time to first call
Direct Hurma integration: 2-3 days to wire up OAuth, dictionary resolution, and rate-limit handling. Through Jentic: under 2 hours.
Alternatives and complements available in the Jentic catalogue.
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 at https://app.jentic.com/sign-up.
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.
/api/v3/dictionaries/cooperation-types
List cooperation types
/api/v3/dictionaries/languages
List languages