Jobs

Get where a linked job is advertised

GET/v1/integration/jobs/{jobId}/postings

The job board adverts Alfa runs for one linked job, with each advert’s status and public link, and how many applicants each channel has produced. A job that is not linked, or belongs to another company, is 404. Requires an API key with the `jobs:read` scope.

Requires an Alfa API key as a bearer token. How API keys work

Path parameters

  • jobIdstringrequired

    Alfa's id for the job.

Headers

  • Alfa-Company-Idstring

    The Company ID of the company to act for. Required with a platform key, and that company must have authorized your platform; a company key acts for its own company and can leave it out.

Response body

  • jobIdintegerrequired

    Alfa's id for the job.

  • externalJobIdstringrequired

    The ATS job the Alfa job is linked to.

  • postingsobject[]required

    One entry per job board advert. A job advertised in several countries, or advertised again in a later campaign, has an entry per board for each. Empty when Alfa has not advertised the job.

    Show fields
    • board"linkedin" | "indeed" | "totaljobs" | "cv_library"required

      A stable key for the job board.

    • boardNamestringrequired

      The job board’s display name.

    • status"live" | "closed" | "pending"required

      `live` while the advert is up, `closed` once it has been taken down and `pending` while Alfa prepares it.

    • urlstring | nullrequired

      The public advert on the board, when Alfa has it. Always null while pending.

    • countrystring | nullrequired

      The country this advert targets, when the job is advertised in more than one country.

    • liveAtstring | nullrequired
    • closedAtstring | nullrequired
  • applicationsobjectrequired

    Where the job’s applicants came from.

    Show fields
    • totalintegerrequired

      Applicants on the job: the candidates with `source` `application` that `GET /v1/integration/candidates/page?jobId=` lists. Candidates Alfa sourced but who have not applied are not counted.

    • channelsobject[]required

      Applicants grouped by the channel they came through, largest first.

      Show fields
      • channel"linkedin" | "indeed" | "totaljobs" | "cv_library" | "glassdoor" | "monster" | "ziprecruiter" | "other_job_board" | "google" | "social_media" | "company_website" | "referral" | "ats" | "alfa_network" | "direct" | "sourced" | "other"required

        A stable key for where a candidate came from. Job boards Alfa advertises on share their key with `postings[].board`. `ats` is an application your ATS sent, `alfa_network` is Alfa’s outreach to candidates it found, `direct` is an applicant with no tracked source and `other` is any source not listed.

      • channelNamestringrequired

        The channel’s display name.

      • countintegerrequired

        Applicants who came through this channel.

Responses

  • 200Success.
  • 400The request is malformed: invalid JSON, an unexpected body or an unknown query parameter. Problem details
  • 401The bearer token is missing, expired or invalid. Problem details
  • 403The caller may not perform this operation, or has no active organisation. Problem details
  • 404The resource does not exist or is not visible to the caller. Problem details
  • 422The request failed validation; `errors` lists each invalid field. Problem details
  • 429Too many requests, or the AI service is busy. Retry after a short wait. Problem details
  • 500An unexpected error. Quote the `correlationId` to support. Problem details