REST API · v1

Job Listing API

Embed your published Hexus Recruit job listings anywhere — your website, mobile app, or internal portal.
Getting Started

Three steps to go live

Follow these steps to start pulling your published job listings into any external application.

Step 1

Create your API key

Go to Company Settings and generate a new API key. Each key is scoped to your company — no tenant parameter is required.

Open Company Settings
Step 2

Copy and store it safely

Your key is only shown once. Copy it immediately and store it in an environment variable or a secrets manager — never in version control or client-side code.

Step 3

Call the API

Make a GET request to the jobs endpoint with your key in the Authorization header. The response contains all jobs you have published in Hexus Recruit.


Authentication

API key authentication

Pass your API key in the Authorization header of every request. Keys follow the format hrm_live_...

Authorization header
Authorization: Bearer hrm_live_<your-key>

Keys are tied to your company. Anyone holding a valid key can read your published jobs — treat it like a password.


Endpoint

List published jobs

GET/v1/jobs

Returns all jobs you have marked as published in Hexus Recruit. The key is already scoped to your company — no extra parameter is needed.

Request
GET https://api.hexus-solutions.com/v1/jobs
Authorization: Bearer hrm_live_<your-key>

Query Parameters

Filters & pagination

All parameters are optional and combinable. Omitting a parameter means no filter is applied for that field.

ParameterTypeDescription
locationstringExact match on the job's location field. E.g. Belgium
employment_typestringExact match. One of: full_time · part_time · contract · internship
departmentstringExact match on the related department's name. E.g. Engineering
searchstringCase-insensitive partial match on job title OR description
pageintegerPage number for pagination. Defaults to 1
limitintegerNumber of results per page. Defaults to 20

Examples

Example requests

Filters can be freely combined. Only jobs matching all supplied filters are returned.

Filter by location and employment type
GET https://api.hexus-solutions.com/v1/jobs?location=Belgium&employment_type=full_time&search=engineer
Authorization: Bearer hrm_live_<your-key>
Filter by department with keyword search
GET https://api.hexus-solutions.com/v1/jobs?department=Engineering&search=senior
Authorization: Bearer hrm_live_<your-key>
Paginated request
GET https://api.hexus-solutions.com/v1/jobs?page=2&limit=10
Authorization: Bearer hrm_live_<your-key>

Response

200 OK — Response schema

A successful response returns a JSON object with success: true, a count of results, and a data array of job objects.

200 OK
{
  "success": true,
  "count": 2,
  "data": [
    {
      "title": "Senior Frontend Engineer",
      "description": "We are looking for...",
      "requirements": "3+ years experience...",
      "responsibilities": "Build and maintain...",
      "location": "France",
      "salary_range_min": 2000,
      "salary_range_max": 3500,
      "employment_type": "full_time",
      "currency": "USD",
      "mobility": "remote",
      "package": "Health insurance, annual bonus",
      "department": "Engineering",
      "created_at": "2026-07-01T10:00:00.000Z",
      "updated_at": "2026-07-01T10:00:00.000Z",
      "link": "https://apply.hexus-solutions.com/apply/your-company/jobs/xyz"
    }
  ],
  "pagination": {
      "total": 1,
      "page": 1,
      "limit": 20,
      "total_pages": 1
  }
}

Errors

Error responses

The API uses standard HTTP status codes to indicate the result of a request.

StatusReason
401Missing Authorization header, invalid key, or revoked key
429Rate limit exceeded — maximum 120 requests per minute per key

Architecture

Security best practices

Avoid exposing your API key directly in frontend JavaScript. Anyone who can view your page source or network requests can extract it and use it without restriction.

Recommended architecture

Your WebsiteBrowser / frontend
→
Your BackendServer / API route
→
Hexus Recruit APIapi.hexus-solutions.com

Your backend holds the API key. Your frontend calls your backend. Your backend proxies the request to Hexus Recruit.

Never expose your API key in client-side code

If your key appears in a <script> tag, a JavaScript bundle, or a browser network request that your users can inspect, it is compromised. Rotate it immediately in Company Settings.

A simple proxy pattern in Node.js, Next.js API routes, or any server-side framework keeps your key private while still letting your frontend render jobs dynamically.

Node.js / Express proxy example
// server.js — your backend
app.get('/api/jobs', async (req, res) => {
  const { location, employment_type, search } = req.query;
  const params = new URLSearchParams({ location, employment_type, search });

  const response = await fetch(
    `https://api.hexus-solutions.com/v1/jobs?${params}`,
    {
      headers: {
        Authorization: `Bearer ${process.env.HEXUS_API_KEY}`
      }
    }
  );

  const data = await response.json();
  res.json(data);
});

Limits

Rate limits

The API allows up to 120 requests per minute per API key. Exceeding this limit returns a 429 response. Cache responses on your backend to avoid hitting this limit under normal usage — job listings typically don't change by the second.

Try it liveGET /v1/jobs
Bearer

Sends a real request to the Hexus Recruit API. Use a valid key from your Company Settings.