Step 6: Send application complete signal

The application complete signal signifies that a job application has been submitted in your recruitment software. The signal must be sent for candidates who use Apply with SEEK, as well as any candidates arriving at your apply form from SEEK, whether they use Apply with SEEK or not. 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 or Apply with SEEK flow.

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.

Handling multiple seek-tokens

A seek-token is supplied on a query string to your software in two ways:
  1. When the candidate links out from SEEK to your apply form (see Step 1: Display button)
  2. After the candidate has authorized access to their profile (see Step 2: Handle authorization)
If your software has received both, it should retain only the second seek-token from the Apply with SEEK authorization flow.
Candidate source
Using Apply with SEEK
Send signals
Token handling
SEEK
Use new seek-token from the Authorization flow step to send signals
SEEK
Use original seek-token from linking out to send signals
Other source
Use new seek-token from the Authorization flow step to send signals
Other source
No seek-token will have been received by your software, do not send signals

Sending the application complete signal

To send the application complete signal, use the sendSignal mutation, passing the seek-token as the token argument.
MutationVariablesResult
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.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.

Troubleshooting

Below are common errors that may be returned when sending an application complete signal. Refer to our GraphQL error responses for full details of errors returned from the SEEK API.
extensions.code
message
Description
Resolution
/input/token: Is not valid
The request has an /input/token that is not recognised.
Ensure the token sent in sendSignal exactly matches a seek-token received with no additional encoding nor whitespace.
Authorization header missing
The request does not have an Authorization header.
Ensure a partner token is passed in the Authorization header.
Live tokens are not accepted when accessing public test data
The request has a production Authorization header but its /input/token was taken from our documentation for Playground use.
Send real seek-tokens received from the link out flow.