Closing a job ad

Job ads automatically close on the date specified in their postingInstructions.end field . You can use closePostedPositionProfile to immediately close a job ad before its end date.
See the job ad lifecycle documentation for more details.



The job ad will be removed from the job board and no refund will be issued. The PositionProfile  and its associated candidate applications will be available for 180 days after its close date.
This operation is idempotent . It returns a success result even if the job ad has already been closed.
mutation ($input: ClosePostedPositionProfileInput!) {
  closePostedPositionProfile(input: $input) {
    positionProfile {
      profileId {



PositionProfileClosed events  are emitted when job ads have been closed. You will receive events for SEEK hirers you have a JobPosting relationship with at the time the job ad closes.
It’s recommended that you update your internal state based on PositionProfileClosed events instead of scheduled end dates. This ensures your software remains synchronised with SEEK, particularly when a hirer contacts our Customer Service team to close a job ad early.
A PositionProfileClosed event is typically sent within a minute of a successful closePostedPositionProfile operation. By contrast, scheduled closure of a job ad based on its end date is not instantaneous; it may take up to 24 hours to take effect and for an event to be sent.
This is an example of a webhook body containing a PositionProfileClosed event:
  "events": [
      "id": "seekAnzPublicTest:event:events:5dEQGJWnR6mSyUwnL14VGA",
      "type": "PositionProfileClosed",
      // The date the job ad was closed
      "createDateTime": "2019-09-20T21:02:27.101Z",
      // This can be passed to the `positionProfile` query to retrieve the job ad's final state
      "positionProfileId": "seekAnzPublicTest:positionProfile:jobAd:26d9DVAzs",
      // This is only available for signed webhook subscriptions
      "hirerId": "seekAnzPublicTest:organization:seek:93WyyF1h"
  "subscriptionId": "seekAnzPublicTest:webhookSubscription:events:9H6GD9v2o8hQw7aBBG2sAU",
  "url": ""
Once you receive an event, you can use its positionProfileId  to query the current state of the job ad from the positionProfile query.
You should treat a closure as final to handle incidental and intentional event duplication and redelivery. A PositionProfilePosted event that is delivered out of order must not re-open the job ad in your software.