apyhub
HR

Job Positions API

What it does

Job Positions Directory lets you list job position records and page through them with standard pagination metadata. Send an optional name query to filter by position name, set per_page to control the page size, and use include_related when you also want related roles with relevancy weights.

The response returns a data array of job positions. Each item includes id, name, and slug. When include_related is true, each position can also include related_job_positions, with each related item exposing its own id, name, slug, and weight.

You also get pagination context in meta and links, including total, per_page, current_page, last_page, from, to, and navigation URLs such as first, last, next, and prev. That makes it straightforward to build browse pages, internal role catalogs, or autocomplete flows that need both the current results and page navigation state.

Use Job Positions Directory when you need a structured list of job titles for filtering, UI selection, or enrichment of hiring and HR workflows.

GET
List Job Positions
https://api.eu.apyverse.com/sharpapi/list-job-positions

QUICKSTART

GUIDE

Quickstart

List job positions, optionally filtering by name.

curl -X GET "https://api.eu.apyverse.com/sharpapi/list-job-positions?name=engineer&per_page=1&include_related=false" \
  -H "apy-token: $APY_TOKEN"

What you'll get back

Returns a JSON object with data, meta, and links top-level fields. data is an array of job position objects; meta contains pagination details; links contains pagination URLs.

{
  "data": [
    {
      "id": "3f2d8a1c-7d5b-4c0a-9b2f-1d2c3e4f5a6b",
      "name": "Software Engineer",
      "slug": "software-engineer"
    }
  ],
  "meta": {
    "to": 1,
    "from": 1,
    "path": "https://example.com",
    "links": [],
    "total": 1,
    "per_page": 1,
    "last_page": 1,
    "current_page": 1
  },
  "links": {
    "last": "https://example.com",
    "next": null,
    "prev": null,
    "first": "https://example.com"
  }
}
TRY ITLIVE · 1000 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.

About this endpoint

What it does

Returns a paginated list of job positions as a JSON object. You can filter the list by name and control pagination with per_page; setting include_related to true includes related job positions in each result item.

Query Parameter(s)

AttributeTypeMandatoryDescription
nameStringNoFilters job positions by name.
per_pageIntegerNoNumber of items returned per page. Default: 1.
include_relatedBooleanNoWhether to include related job positions in each result item. Default: false.

Response

Returns a JSON object with data, meta, and links fields. data is an array of job position objects, meta is an object containing pagination details, and links is an object containing pagination URLs.

ParameterTypeMandatoryDescription
dataObject ArrayYesArray of job position objects. Each item includes id (UUID), name, and slug. When include_related is true, each item may also include related_job_positions, an array of related job position objects with id (UUID), name, slug, and weight.
data[].idStringYesUnique identifier of the job position. Format: UUID.
data[].nameStringYesName of the job position.
data[].slugStringYesURL-friendly slug for the job position.
data[].related_job_positionsObject ArrayNoRelated job positions with their relevancy weights. Only populated when include_related is set to true.
data[].related_job_positions[].idStringYesUnique identifier of the related job position. Format: UUID.
data[].related_job_positions[].nameStringYesName of the related job position.
data[].related_job_positions[].slugStringYesURL-friendly slug for the related job position.
data[].related_job_positions[].weightNumberYesRelevancy weight of the related job position.
metaObjectYesPagination metadata object.
meta.toIntegerNoThe index of the last item on the current page.
meta.fromIntegerNoThe index of the first item on the current page.
meta.pathStringYesThe base path used for pagination links. Format: URI.
meta.linksObject ArrayYesList of pagination links for navigation UI.
meta.links[].urlStringNoURL for this pagination link, or null if not applicable. Format: URI.
meta.links[].labelStringYesDisplay label for this pagination link.
meta.links[].activeBooleanYesWhether this pagination link corresponds to the current page.
meta.totalIntegerYesThe total number of items across all pages.
meta.per_pageIntegerYesThe number of items returned per page.
meta.last_pageIntegerYesThe total number of pages.
meta.current_pageIntegerYesThe current page number.
linksObjectYesPagination navigation URLs object.
links.lastStringNoURL to the last page of results. Format: URI.
links.nextStringNoURL to the next page of results, or null if on the last page. Format: URI.
links.prevStringNoURL to the previous page of results, or null if on the first page. Format: URI.
links.firstStringNoURL to the first page of results. Format: URI.

Query parameters

Name
Type
Description
nameOPTIONAL
string
per_pageOPTIONAL
integer
DEFAULT 1
include_relatedOPTIONAL
boolean
DEFAULT false
▣ COMMON ERRORS

Errors any endpoint can return

400bad_request

Required parameter missing or malformed body.

401unauthorized

API key missing, revoked, or not authorized for this service.

429rate_limited

Your plan's per-second rate exceeded. Retry with exponential backoff.

503upstream_busy

Backend temporarily unavailable. Try again in a few seconds.