Jobiflow LogoAPI Docs
ApiJob Listings

List job listings

Returns a paginated list of your company's job listings. Supports filtering by status, position type, workplace type, date ranges, and free-text search. Requires scope: `jobs:read`

GET
/public/v1/job-listings

Returns a paginated list of your company's job listings. Supports filtering by status, position type, workplace type, date ranges, and free-text search.

Requires scope: jobs:read

Authorization

ApiKeyAuth
X-API-Key<token>

API key issued by Jobiflow. Pass it in the X-API-Key request header.

Create keys via the company dashboard (Settings → API Keys) or via POST /settings/api-keys.

In: header

Query Parameters

status?string

Filter by listing status.

Value in"DRAFT" | "ACTIVE" | "UNDER_REVIEW" | "CLOSED" | "ARCHIVED"
positionType?array<>

Filter by one or more position types (repeatable query param).

workPlaceType?array<>

Filter by one or more workplace types (repeatable query param).

publishedFrom?string

Return only listings published on or after this timestamp (ISO 8601).

Formatdate-time
publishedTo?string

Return only listings published on or before this timestamp (ISO 8601).

Formatdate-time
createdFrom?string

Return only listings created on or after this timestamp (ISO 8601).

Formatdate-time
createdTo?string

Return only listings created on or before this timestamp (ISO 8601).

Formatdate-time
referenceNumber?string

Filter by your internal reference number (exact match).

query?string

Free-text search across position title and description.

page?integer

Zero-based page index.

Default0
Formatint32
Range0 <= value
size?integer

Number of items per page (max 100).

Default20
Formatint32
Range1 <= value <= 100

Response Body

application/json

application/json

application/json

curl -X GET "https://example.com/public/v1/job-listings"
{
  "data": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "companyId": "8bb73d03-06b4-47c7-80c7-59301f770eda",
      "status": "DRAFT",
      "sectorId": "3274bbb4-3f99-4800-8405-d01f8a71a05d",
      "position": {
        "value": "string",
        "original": "string",
        "sourceLanguage": "en",
        "translated": true,
        "translationType": "AI"
      },
      "positionType": "FULL_TIME",
      "workPlaceType": "REMOTE",
      "address": {
        "street": "Marienplatz 1",
        "city": "Munich",
        "state": "Bavaria",
        "country": "DE",
        "postalCode": "80331",
        "latitude": 48.1374,
        "longitude": 11.5755
      },
      "isStartDate": true,
      "startDate": "2019-08-24",
      "jobDescription": {
        "value": "string",
        "original": "string",
        "sourceLanguage": "en",
        "translated": true,
        "translationType": "AI"
      },
      "requirementsSummary": {
        "value": "string",
        "original": "string",
        "sourceLanguage": "en",
        "translated": true,
        "translationType": "AI"
      },
      "personalQualitiesSummary": {
        "value": "string",
        "original": "string",
        "sourceLanguage": "en",
        "translated": true,
        "translationType": "AI"
      },
      "skills": [
        {
          "value": {
            "value": "string",
            "original": "string",
            "sourceLanguage": "en",
            "translated": true,
            "translationType": "AI"
          },
          "type": "SKILL",
          "expertType": "BEGINNER",
          "languageProficiency": "A1",
          "drivingClass": "AM"
        }
      ],
      "currency": "string",
      "salaryBase": 0,
      "isSalaryMax": true,
      "salaryMax": 0,
      "salaryType": "GROSS",
      "paymentInterval": "HOURLY",
      "salaryDescription": {
        "value": "string",
        "original": "string",
        "sourceLanguage": "en",
        "translated": true,
        "translationType": "AI"
      },
      "benefits": [
        {
          "value": "string",
          "original": "string",
          "sourceLanguage": "en",
          "translated": true,
          "translationType": "AI"
        }
      ],
      "educationLevel": "NONE",
      "fieldOfStudy": {
        "value": "string",
        "original": "string",
        "sourceLanguage": "en",
        "translated": true,
        "translationType": "AI"
      },
      "yearsOfExperience": 0,
      "availableForEveryCountry": true,
      "numberOfPositionsOpened": 0,
      "jobListingEndDate": "2019-08-24",
      "referenceNumber": "string",
      "hiringProcessSteps": [
        {
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
          "jobListingId": "a7d01775-e611-4288-b8c1-442852b8ff39",
          "stepOrder": 1,
          "stepName": {
            "value": "string",
            "original": "string",
            "sourceLanguage": "en",
            "translated": true,
            "translationType": "AI"
          },
          "description": {
            "value": "string",
            "original": "string",
            "sourceLanguage": "en",
            "translated": true,
            "translationType": "AI"
          }
        }
      ],
      "jobListingTags": [
        {
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
          "jobListingId": "a7d01775-e611-4288-b8c1-442852b8ff39",
          "tagId": "f69eb9f1-ae9f-4086-b25c-c39758a43fb3"
        }
      ],
      "jobListingRequirements": [
        {
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
          "jobListingId": "a7d01775-e611-4288-b8c1-442852b8ff39",
          "requirementText": "string"
        }
      ],
      "createdAt": "2019-08-24T14:15:22Z",
      "updatedAt": "2019-08-24T14:15:22Z",
      "publishedAt": "2019-08-24T14:15:22Z",
      "expiresAt": "2019-08-24T14:15:22Z",
      "closedAt": "2019-08-24T14:15:22Z"
    }
  ],
  "pagination": {
    "page": 0,
    "size": 0,
    "totalElements": 0,
    "totalPages": 0
  }
}
{
  "status": 401,
  "error": "UNAUTHORIZED",
  "message": "Invalid or missing API key",
  "timestamp": "2026-05-17T12:00:00Z",
  "path": "/public/v1/job-listings"
}
{
  "status": 403,
  "error": "FORBIDDEN",
  "message": "Scope 'jobs:write' is required",
  "timestamp": "2026-05-17T12:00:00Z",
  "path": "/public/v1/job-listings"
}