Reference: Public Jobs API
This reference documents the public Jobs API endpoint that returns job openings published on a job board. This endpoint is public and does not require authentication.
Endpoint overview
| Method | URL | Description |
|---|---|---|
| GET | /{companyId}/api/JobBoards/{jobBoardId}/Jobs | Returns all published jobs for a job board |
| GET | /{companyId}/api/JobBoards/{jobBoardId}/Jobs/{id} | Returns a single job by ID |
URL parameters
| Parameter | Type | Description |
|---|---|---|
companyId | string | Your company identifier (found in your INNOMATE HR URL) |
jobBoardId | int | The ID of the job board |
id | int | The ID of a specific job opening (for single job endpoint) |
Example request
GET https://www.innomate.com/INNOMATE/COMPANY123/api/JobBoards/1/Jobs
Response format
The list endpoint returns an array of JobItemOutput objects. The single job endpoint returns one JobItemOutput object.
JobItemOutput
The main response object for a job opening.
| Property | Type | Description | Always returned |
|---|---|---|---|
id | int | Unique identifier for the job opening | Yes |
positionTitle | string | The position title | Yes |
header | string | The job posting headline (may differ from position title) | Yes (nullable) |
shortDescription | string | A brief description of the job | Yes (nullable) |
jobPostingText | string | The full job posting text (HTML formatted) | Yes (nullable) |
link | string | Direct URL to the job posting on the job portal | Yes |
applicationLink | string | Direct URL to the application form for this job | Yes |
workPlace | WorkPlace | Location information for the job | Conditional |
published | string | When the job was published (ISO 8601) | Conditional |
startingDate | string | Expected start date for the position (ISO 8601) | Conditional |
applicationDeadline | string | Deadline for applications (ISO 8601) | Conditional |
contactPerson | ContactPerson | Contact person for inquiries | Conditional |
fields | JobPortalFormTemplateField[] | Custom form fields for the application | Yes |
advertisements | JobPortalAdvertisement[] | Advertisement sources for "Where did you see this job?" | Yes |
Fields marked as "Conditional" are controlled by the job board's display settings. If a field is disabled in the job board configuration, it will be null in the response.
WorkPlace
Location information for the job opening.
| Property | Type | Description |
|---|---|---|
name | string | Name of the workplace/office |
street | string | Street address |
street2 | string | Additional address line |
postalCodeAndCity | string | Postal code and city combined |
country | string | Country name (localized) |
ContactPerson
Contact information for job inquiries.
| Property | Type | Description |
|---|---|---|
title | string | Job title of the contact person |
name | string | Full name of the contact person |
mainNumber | string | Main phone number (workplace) |
directNumber | string | Direct phone number |
email | string | Email address |
JobPortalFormTemplateField
Defines a custom field on the application form.
| Property | Type | Description |
|---|---|---|
dataDeclarationFieldId | string | Unique identifier for the field (UUID) |
label | string | Display label for the field |
description | string | Optional help text or description |
editorId | string | Type of input control (see Editor types) |
isRequired | boolean | Whether the field is required |
extraData | object | Additional data depending on editor type |
Editor types
| EditorId | Description | ExtraData format |
|---|---|---|
CheckBoxEditor | Single checkbox (yes/no) | null |
CheckBoxesEditor | Multiple checkboxes | string[] - list of options |
JobPortalAdvertisement
Represents an advertisement source for tracking where applicants found the job.
| Property | Type | Description |
|---|---|---|
id | int | Unique identifier |
mediaName | string | Name of the advertising medium |
Example response
[
{
"id": 123,
"positionTitle": "Software Developer",
"header": "Join our development team!",
"shortDescription": "We are looking for an experienced developer...",
"jobPostingText": "<p>Full job description in HTML...</p>",
"link": "https://www.innomate.com/INNOMATE/COMPANY123/JobBoards/1/Jobs/123",
"applicationLink": "https://www.innomate.com/INNOMATE/COMPANY123/JobBoards/1/Jobs/123/Application",
"workPlace": {
"name": "Head Office",
"street": "Main Street 1",
"street2": null,
"postalCodeAndCity": "1000 Copenhagen",
"country": "Denmark"
},
"published": "2026-01-15T00:00:00",
"startingDate": "2026-03-01T00:00:00",
"applicationDeadline": "2026-02-28T00:00:00",
"contactPerson": {
"title": "HR Manager",
"name": "Jane Smith",
"mainNumber": "+45 12345678",
"directNumber": "+45 87654321",
"email": "jane.smith@company.com"
},
"fields": [
{
"dataDeclarationFieldId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"label": "Do you have a valid driver's license?",
"description": "Required for this position",
"editorId": "CheckBoxEditor",
"isRequired": true,
"extraData": null
},
{
"dataDeclarationFieldId": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
"label": "Which programming languages do you know?",
"description": null,
"editorId": "CheckBoxesEditor",
"isRequired": false,
"extraData": ["C#", "JavaScript", "Python", "Java"]
}
],
"advertisements": [
{
"id": 1,
"mediaName": "LinkedIn"
},
{
"id": 2,
"mediaName": "Company Website"
}
]
}
]
Error responses
| Status code | Description |
|---|---|
| 200 | Success - returns jobs (may be empty array) |
| 404 | Job or job board not found (single job endpoint only) |
Note: The list endpoint returns 200 with an empty array if the job board does not exist or is archived.
Related documentation
- Dokumentation: Ny jobportal - Configure job board settings
- Vejledning: Integrer jobliste på jeres hjemmeside - Embed job listings on your website