Stafio API

An open interface through which your website, recruitment system or AI recruiter connects to Stafio. One address, one request format and always only your account’s data.

POST https://<instance>/api/rpc/call Content-Type: application/json Content-Profile: api Prefer: params=single-object Authorization: Bearer <token> { "version": 8, "func": "job.list", "params": { "limit": 20, "offset": 0 } }
One address for all calls
The account the integration runs under defines the data scope
A working sample application is public

What the API is for

What you can do through the interface

Job ads on your own website

Show job ads from Stafio on your website, and replies go straight into recruitment — no exports and no creating candidates by hand.

  • List and detail of a job ad including description, gallery and video
  • A reply to an ad creates the candidate and their response
  • The CV is attached to the reply and set as the CV
Active job ads in Stafio exposed by the API

Candidates from an external system

Another tool can collect candidates — a recruitment system, a career website or an AI recruiter that pre-screens applicants by phone. They are handed over to Stafio, and recruitment, onboarding, shifts and attendance then run in one place.

  • Candidate registration even without a specific job ad
  • The pre-screening note stays with the person
  • Matching by email; the API rejects duplicate registrations
Candidates handed over to Stafio for further processing

Your own SMS gateway

If you have your own SMS gateway or a discounted tariff with an operator, connect it to Stafio and messages go out through it.

  • Gateway configuration and handing out messages to send
  • Delivery results reported back to Stafio
  • Incoming messages and calls on the person record
Diagram of connecting your own SMS gateway to Stafio including delivery reports and incoming messages

Access under the integration’s own account

The token is not created by hand — the API issues it against an API key. The integration supplier never needs the password of the account it runs under.

  • Every integration has its own user with an API role
  • Assigned workplaces and cost centres define the data scope
  • An API key is revoked by disabling it, without touching the user’s password
Steps of setting up integration access from a user via an API key to a token

How the API works

One address, one response shape

You don’t call different paths per function — a request always goes to the same endpoint and the body says what to do. The body has three fields: version (contract version), func (logical function name) and params. The header Prefer: params=single-object is mandatory.

The response always has the same shape, whatever the outcome. Errors come back in the same envelope and are told apart by the ok field and the error structure — the client gets uniform handling and doesn’t deal with different status codes.

{ "ok": true, "version": 8, "func": "job.list", "data": [ { "job_id": 1042, "name": "Warehouse operative" } ], "meta": { "row_count": 1 }, "error": null }

Function overview

What the interface can do

FunctionWhat it is forMain parameters
ping Availability check no parameters
job.list List of job ads region_id, work_type_id, partner_id, label_ids, limit, offset
job.detail Job ad detail including description, gallery and video job_id
job.response Reply to a job ad — creates the candidate and their response job_id, first_name, last_name, email, mobile, response_text, cv_file_name, cv_base64
person.register Candidate registration without a link to a job ad first_name, last_name, email, mobile, cost_center, emergency_contact, note, cv_file_name, cv_base64
department.list Workplaces assigned to the calling account no parameters
cost_center.list Cost centres (“I want to work as”) department_id
sms.gateway.* Your own SMS gateway — configuration, handing out messages, delivery reports, incoming messages and calls depends on the function

The API sends no email on its own. A confirmation or welcome message is only created when the call passes the ID of an email template — you manage the template in your account.

Related modules

Goes well with

Custom HR solutions

A portal or app built on top of this interface.

Learn more →

Recruitment & CRM

Candidates from the API continue through the usual recruitment process.

Learn more →

Communication

Messages through your own SMS gateway next to chat and email.

Learn more →