Application complete signal

The application complete signal signifies that a job application has been submitted in your recruitment software. It applies to positions that are either advertised on SEEK or have the Apply with SEEK button enabled. Note that it does not imply a candidate source or Apply with SEEK usage; Ad Performance analytics will only attribute completed applications where the candidate source is SEEK.Once a candidate has completed and submitted your apply form, your software must send an application complete signal to SEEK to signify form submission. The application complete signal requires a seek-token that your software received from the link out flow.The application complete signal is only required if your software supports posting job ads that link out to an external apply form.

Receiving the token

You will receive the token in a seek-token parameter appended to the query string of the posted applicationUri.
Text
Copy
https://example.com/position/123/apply?seek-token=eyJqb2JJZCI6MCwiY2FuZGlkYXRlSWQiOjAsInNlc3Npb25JZCI6IiJ9
The token is unique to that specific candidate, job ad and session, and should be stored for the duration of the application process.

Token lifecycle

Tokens remain valid for 180 days from the time of generation. If your software allows candidates to save a draft application, the token must be stored with the draft and used when the candidate submits the application.Should an expired token be provided to the sendSignal mutation, the SEEK API will internally handle the error and no error message will be returned.When a candidate completes an application, the token must be stored with their application for potential future use.If a candidate returns to an apply form via the same SEEK link-out URL, you will receive a new seek-token. This should override any previous token for the job application when sending subsequent signals to SEEK.

Sending the application complete signal

When an application is submitted, supply the corresponding token to the sendSignal mutation.
MutationVariables
mutation ($input: SendSignalInput!) {
  sendSignal(input: $input)
}

Error handling

sendSignal will return errors consistent with our documented GraphQL error responses. If your software receives authentication or transient server errors, it must retry sending of application complete signals as described in the documentation.A BAD_USER_INPUT error may occur if there is a structural issue with the token. Ensure the token being sent in sendSignal exactly matches a seek-token received with no additional encoding nor whitespace.We recommend that you log full requests and responses to the sendSignal mutation during development to facilitate debugging. Use a unique X-Request-Id for each request to assist in support investigations.