Migrating Job Posting API

Migrating Job Posting API

The existing Job Posting API allows authorised third parties (such as clients, recruitment software providers and job distributors) to post jobs to SEEK on behalf of SEEK advertisers. The Job Ad Posting API allows jobs to be managed throughout their lifecycles.
This documentation compares the Job Posting API with the SEEK API for managing job ads on SEEK. For more general information, see the job posting use case documentation.

Migration guide summary

The SEEK API implements a new way to interface with and consume our job posting-related products.
At a high level, the differences include:

Data structure

The SEEK API replaces Job Posting API JSON responses with a GraphQL schema based on HR Open Standards . For most fields, there’s a direct mapping from the previous JSON structure to GraphQL.
The following examples compare the use case of retrieving a job from the Job Posting API with that of the SEEK API.

Querying Job Posting API

This request retrieves an advertisement from Job Posting API, adposting-integration.cloud.seek.com.au.
RequestResponse
Copy
GET /advertisement/8e2fde50-bc5f-4a12-9cfb-812e50500184
Host: adposting-integration.cloud.seek.com.au

Querying SEEK API

This is an example query to illustrate how Job Posting API fields are represented in the SEEK API. You can remove unneeded fields or select new SEEK API fields based on your requirements.
QueryVariablesResult
query($id: String!) {
  positionProfile(id: $id) {
    positionOpening {
      statusCode
      documentId {
        value
      }
      postingRequester {
        id {
          value
        }
        name
        seekAnzAdvertiserId
        roleCode
        personContacts {
          name {
            formattedName
            given
            family
          }
          communication {
            phone {
              formattedNumber
            }
            email {
              address
            }
            address {
              formattedAddress
            }
          }
          roleCode
        }
      }
    }
    profileId {
      value
    }
    positionTitle
    positionOrganizations {
      id {
        value
      }
      name
      seekAnzAdvertiserId
    }
    seekHirerJobReference
    positionUri
    positionFormattedDescriptions {
      descriptionId {
        value
      }
      content
    }
    positionScheduleTypeCodes
    offeredRemunerationPackage {
      basisCode
      ranges {
        minimumAmount {
          value
          currency
        }
        maximumAmount {
          value
          currency
        }
        intervalCode
      }
      descriptions
    }
    seekAnzWorkTypeCode
    jobCategories {
      id {
        value
      }
      name
    }
    seekApplicationQuestionnaire {
      id {
        value
      }
      components {
        id {
          value
        }
        componentTypeCode
        value
      }
    }
    seekVideo {
      url
      seekAnzPositionCode
    }
    postingInstructions {
      seekAnzAdvertisementType
      start
      end
      applicationMethods {
        applicationUri {
          url
        }
      }
      brandingId
    }
  }
}
For examples of all equivalent queries and mutations for Job Posting API, see migrating existing endpoints.

Event delivery

The SEEK API replaces advertisement polling with a new event mechanism. The PositionProfilePostedEvent event is emitted when the positionProfile has been posted.
The SEEK API’s event streams and webhook subscriptions replace the existing mechanisms to retrieve job ads for a particular hirer or entire partner.
Migration guides