This content provides an early look at an upcoming extension to the SEEK API. You may use it to scope integration effort, but the features described are not fully implemented and may be adjusted ahead of a production release.Check with your SEEK contact before starting any build work described here.
- Only a live job with an
Activestatus can be edited or updated. - Job ads cannot be moved between position openings or SEEK hirers.
- Updates to
positionTitle,jobCategories,positionLocationandpostingInstructions.seekAdvertisementProductIdmay result in an additional charge for that job ad.Prices vary by role and market factors. - Questionnaires cannot be modified.See the questionnaire immutability documentation for more information.
- The application method of a job ad cannot be changed once live on the SEEK platform.If a change is required, the existing job must be closed and a new job ad posted to SEEK with a different application method.
render function with the existing job ad’s positionProfileId in addition to the job requisition.
The live job must have status Active.
This will pre-fill the form with the current values from the job ad.When save is triggered through dispatchEvent('seek:draft:save'), the panel will return a new draft ID that can be used to update the job ad.
Replace the stored draft ID with this new ID.Drafts created during an edit session are distinct from drafts created when posting a new job ad.
updatePositionProfileFromDraft accepts only an edit-scoped draft for its source live job, and rejects a create-scoped draft.
For example,
if a positionProfileId is not provided to the render function,
the resulting draft ID is scoped to posting a new job ad and cannot be used to update an existing job ad.
To resume an edit-scoped draft, pass both draftPositionProfileId and the same positionProfileId.For further information on required props and events, refer to Displaying the panel.The updatePositionProfileFromDraft mutation updates a live job ad.
Call this with a partner token that has mutate:enhanced-job-posting and a current Job Posting relationship for the hirer.
The PositionProfile’s existing fields will be replaced with the fields from the draft.
This mutation is not idempotent and does not accept an idempotencyId.
Retry policy after an ambiguous response is defined by your software.For example, you could run this mutation to update a job ad with a revised draft:MutationVariablesResult
CopyGraphQL Explorer
mutation ($input: UpdatePositionProfileFromDraftInput!) {
updatePositionProfileFromDraft(input: $input) {
positionProfile {
profileId {
value
}
}
}
}FORBIDDEN error if you try to update a job ad whose status is not Active.A PositionProfileUpdated event is emitted when an existing job ad has been updated in the SEEK employment marketplace.
You will receive events for SEEK hirers you have a JobPosting relationship with at the time of updating.The PositionProfileUpdated event is not emitted:- When a new job ad is posted, instead a
PositionProfilePostedevent is emitted. - When a job is closed, instead a
PositionProfileClosedevent is emitted.
PositionProfileUpdated event:JSON
Copy
{"events": [
{
"id": "seekAnzPublicTest:event:events:U3LAePBniDDJb2PYkJgdWa",
"type": "PositionProfileUpdated",
"createDateTime": "2025-01-27T05:52:16.909Z",
// This can be passed to the `positionProfile` query
"positionProfileId": "seekAnzPublicTest:positionProfile:jobAd:2Hsmapbu9",
// This is only available for signed webhook subscriptions
"hirerId": "seekAnzPublicTest:organization:seek:93WyyF1h"
}
],
"subscriptionId": "seekAnzPublicTest:webhookSubscription:events:D5Xa1QrddYJSSdnfVnXwHi",
"url": "https://example.com/1/2/3",
"expireDateTime": "2019-09-13T22:16:10.593Z"
}