Migrating existing Job Posting API endpoints

Migrating existing Job Posting API endpoints

The endpoints for Job Posting API have been replaced with GraphQL queries and mutations in the SEEK API.
The following documentation goes over examples of each type of action (create, update, expire and get) for Job Posting API and their equivalent in SEEK API.

Create an advertisement

Job Posting API
POST to /advertisement with a body of the job ad contents
Request
Copy
POST /advertisement
Host: adposting-integration.cloud.seek.com.au
{
  "thirdParties": {
    "advertiserId": "10000",
  }
  <!-- ... Remainder of POST body -->
}
SEEK API
GraphQL mutation of postPosition with input of PostPositionInput.
MutationVariables
mutation($input: PostPositionInput!) {
  postPosition(input: $input) {
    positionProfile {
      profileId {
        value
      }
    }
  }
}

Update an advertisement

Job Posting API
PUT to /advertisement/{advertisementId} with a body of the job ad contents.
Request
Copy
PUT /advertisement/8e2fde50-bc5f-4a12-9cfb-812e50500184
Host: adposting-integration.cloud.seek.com.au
{
  "thirdParties": {
    "advertiserId": "10000",
  }
  <!-- ... Remainder of PUT body -->
}
SEEK API
MutationVariables
mutation($input: UpdatePostedPositionProfileInput!) {
  updatePostedPositionProfile(input: $input) {
    positionProfile {
      profileId {
        value
      }
    }
  }
}

Expire an advertisement

Job Posting API
PATCH to /advertisement/{advertisementId} with an expired object for body.
Request
Copy
PATCH /advertisement/8e2fde50-bc5f-4a12-9cfb-812e50500184
Host: adposting-integration.cloud.seek.com.au
[
  {
    "op": "replace",
    "path": "state",
    "value": "Expired"
  }
]
SEEK API
MutationVariables
mutation($input: ClosePostedPositionProfileInput!) {
  closePostedPositionProfile(input: $input) {
    positionProfile {
      profileId {
        value
      }
    }
  }
}

Get an advertisement

Job Posting API
GET to /advertisement/{advertisementId}.
Request
Copy
GET /advertisement/8e2fde50-bc5f-4a12-9cfb-812e50500184
Host: adposting-integration.cloud.seek.com.au
SEEK API
GraphQL query of positionProfile with a positionProfile id input.
QueryVariables
query($id: String!) {
  positionProfile(id: $id) {
    profileId {
      value
    }
  }
}

Get all advertisements

Job Posting API
GET to /advertisement.
Request
Copy
GET /advertisement
Host: adposting-integration.cloud.seek.com.au
SEEK API
The functionality of getting all advertisements for a given partner is deprecated within SEEK API.
You can only get all advertisements for a particular hirer using positionOpenings query. You can also be notified when a job ad is posting using PositionProfilePostedEvent using webhook subscriptions or polling.

Get all advertisements for an advertiser

Job Posting API
GET to /advertisement?advertiserId={advertiserID}.
Request
Copy
GET /advertisement?advertiserId=10000
Host: adposting-integration.cloud.seek.com.au
SEEK API
GraphQL query of positionOpenings with a required hirerId input. The positionOpenings query returns a paginated list of positionOpening with associated positionProfile.
QueryVariables
query($hirerId: String!) {
  positionOpenings(hirerId: $hirerId) {
    edges {
      node {
        statusCode
        positionProfiles {
          profileId {
            value
          }
        }
      }
    }
  }
}
Migration guides
Migration guides
Migration guides