Exporting attachments

Exporting attachments

When a candidate applies using SEEK’s native apply form they’ll be prompted to attach a cover letter and a resume. They may choose an existing document, upload a new one, or decide to omit the attachment entirely.
A SEEK hirer can be configured to prompt for a third attachment referred to as “selection criteria”. This allows the hirer to request an additional document relevant to the job’s industry.
Partners can download attachment files associated with a particular candidate application.

Before you begin

Before you start with attachment queries, you will need to request a partner token.

Operations

Use the GraphQL candidateProfile query to list candidate application attachments. You should combine this with the query you use to retrieve candidate profiles and questionnaire submissions.

candidateProfile

QueryVariablesResult
query ($id: String!) {
  candidateProfile(id: $id) {
    attachments {
      descriptions
      seekRoleCode
      url
    }
  }
}

Downloading attachment files

Because GraphQL does not efficiently support binary data, the attachment itself is provided over HTTPS. Each attachment has a unique download URL provided in the url field of the GraphQL response.
Your software can download attachments on demand or at time of candidate application.

On demand

You can download each attachment on demand when requested by a hirer reviewing the candidate application. This avoids having to store large and potentially sensitive documents within your software.
The attachment can be downloaded directly from the hirer’s browser using a browser token with the download:candidate-profile-attachments scope. The SEEK API will automatically validate that the hirer is allowed to access the requested attachment.
Otherwise, you can proxy the download through your server using a partner token. Your software will need to validate that the user is allowed to access requested attachment.
An attachment will remain for 180 days after the close date of its associated job ad. If your software needs to access attachments for longer than 180 days you should download them at the time of candidate application.

At time of candidate application

If on-demand downloads aren’t feasible, you can download attachments when you receive a CandidateApplicationCreated event. This would be needed if your software performed resume parsing on incoming candidate applications, for example.
This can reuse the same partner token you used to query the candidate application from GraphQL.

Attachment file metadata

Attachment files have additional metadata returned in standard HTTP headers. These headers can be parsed by your software or passed to the hirer’s browser when they download the attachment.
You can use the HTTP HEAD method to retrieve an attachment’s metadata without downloading its contents. This is useful to display the attachment’s metadata before downloading it on demand.

Content-Disposition

The Content-Disposition header contains the attachment’s original filename encoded using RFC 6266 .
We recommend parsing the filename using a library or framework that supports RFC 6266 . This ensures your software is robust against filenames containing spaces, quotes or other special characters.

Content-Length

The Content-Length header indicates the size of the attachment in bytes. This can be retrieved using the HTTP HEAD method to display the attachment’s size before downloading it on demand.

Content-Type

The Content-Type header indicates the file format of the attachment. Alternatively, you can extract the attachment’s file extension from its Content-Disposition.
The currently supported file formats are:
Content-Type
File format
Extension
application/msword
Microsoft Word 97-2004
.doc
application/vnd.openxmlformats-officedocument.wordprocessingml.document
Microsoft Word (OpenXML)
.docx
application/rtf
Rich Text Format (RTF)
.rtf
application/pdf
Portable Document Format (PDF)
.pdf
text/plain
Plain text
.txt

Last-Modified

The Last-Modified header contains the date the attachment was uploaded or generated.

Security

SEEK processes attachments to reduce the risk to hirers reviewing candidate applications:
  • Attachments are scanned for viruses before the candidate application is made visible to partners. Any files containing viruses are removed from the candidate application.
  • Attachments may be modified to remove dangerous content such as macros or phishing links.
The precise details of SEEK’s attachment processing are proprietary and subject to change. SEEK continuously improves its processes in response to new threats.