This content is still in draft.
- Richer SEEK Profile information available for pre-fill
- A familiar, localised experience across our SEEK, Jobstreet, and Jobsdb brands
- Forward compatibility with a streamlined pre-authorization flow
- Common technology that enables your software to consolidate its auth and access patterns
- Richer SEEK Profile information via the same GraphQL
candidateProfile
query as Optimised Apply - Support and localisation across our Asia-Pacific markets
Step | Previous version | New version |
---|---|---|
Legacy client credentials | SEEK API partner access tokens | |
No support | seek-token parameter included in link-out redirect | |
Link generated by partner | GraphQL applyWithSeekButton query returns localised button image, label, and link | |
OAuth 2.0 with authorization code exchanged for access token | Revised authorization flow returns seek-prefill-id to retrieve SEEK Profile and seek-token to track application state | |
POST endpoint | GraphQL candidateProfile query returns richer information | |
GET based on returned url | GET based on returned url | |
Partner pre-fills fields based on returned data | Partner pre-fills fields based on returned data | |
POST endpoint | GraphQL sendApplicationSignal mutation |
applicationUri
:seek-prefill-id
is optionally provided by the pre-authorization flow and should be used to pre-fill the apply form immediatelyseek-token
should be persisted for application tracking and subsequent signals
applicationUri
links to an intermediary job details page.We recommend applicationUri
to link directly to your apply form.
This provides candidates with a more seamless experience,
and keeps your job details page isolated from Apply with SEEK business logic.applicationUri
Copy
- https://example.com/position/123
+ https://example.com/position/123/apply
seek-prefill-id
and seek-token
parameters through to the apply form.This option increases overall complexity as parameter handling will need to be maintained across multiple pages in your software.With the previous version of Apply with SEEK,
each redirect_uri
had to be individually allowlisted via support request.
Some integrations adopted a centralised auth landing page to avoid repeating this manual process:For example,
your software may have implemented a landing page https://example.com/seek-auth
for use as the Apply with SEEK redirect_uri
.
Additional state like the apply form path /position/123/apply
could be packed into the state
parameter in the query string.
The landing page could then read the state
and use it to internally redirect to the final URL of the apply form.SEEK authorization pageAuth landing pageApply form
Copy
https://www.seek.com.au/api/iam/oauth2/authorize?redirect_uri=https%3A%2F%2Fexample.com%2Fseek-auth&state=%2Fposition%2F123%2Fapply&advertiser_id={advertiser_id}&client_id={client_id}&response_type=code&scope=r_profile_apply
redirectUri
directly to the apply form.
It does away with the maintenance burden of strict URL allowlists,
though your software must follow best practices around URL redirection to protect candidates from phishing attempts.If your software has an existing auth landing page,
you have two migration options when you upgrade to the new version.When a candidate authorizes access to their SEEK Profile,
your apply form will receive seek-prefill-id
and seek-token
parameters on the query string:apply form
Copy
https://example.com/position/123/apply?seek-prefill-id=def456&seek-token=ghi789
state
parameter,
your software can include a query string in the redirectUri
:{
"input": {
// The HTTPS URL to redirect the candidate to after authorization.
// Your software may embed dynamic state in the query string for CSRF protection.
"redirectUri": "https://example.com/seek-auth?state=%2Fposition%2F123%2Fapply",
// The identifier for the SEEK hirer that is filling the position.
// "<Partner Name> on behalf of <Hirer Name>" will be displayed on the authorization page.
"hirerId": "seekAnzPublicTest:organization:seek:93WyyF1h",
// The HTTPS URL of your apply form for the specific position.
"applicationUri": "https://example.com/position/123/apply",
// An optional hirer-provided free-text job reference.
"seekHirerJobReference": "REQ-65558",
// The seek-token received as part of the query string when the candidate arrived from SEEK.
"token": "eyJqb2JJZCI6MCwiY2FuZGlkYXRlSWQiOjAsInNlc3Npb25JZCI6IiJ9"
}
}
seek-prefill-id
and seek-token
parameters on the query string,
and must propagate them to your apply form for pre-fill and application tracking:Auth landing pageApply form
Copy
https://example.com/seek-auth?state=%2Fposition%2F123%2Fapply&seek-prefill-id=def456&seek-token=ghi789