Step 3: Retrieve SEEK Profile

Use the GraphQL candidateProfile query with the seek-prefill-id from the authorization flow.
QueryVariablesResult
{
  "candidateProfile": {
    "profileId": {
      "value": "globalPublicTest:candidateProfile:prefill:PoJo9PPLL9wEF6z5nvMP9d"
    },
    "candidate": {
      "person": {
        "name": {
          "formattedName": "Ella Greenholt",
          "given": "Ella",
          "family": "Greenholt"
        },
        "communication": {
          "email": [
            {
              "address": "EllaG@gmail.com"
            }
          ],
          "phone": [
            {
              "formattedNumber": "(02) 5550 5678"
            }
          ],
          "address": [
            {
              "formattedAddress": "Coober Pedy SA 5723 AU",
              "city": "Coober Pedy",
              "postalCode": "5723",
              "countryCode": "AU"
            }
          ]
        }
      }
    },
    "certifications": [
      {
        "name": "SA Drivers Licence",
        "effectiveTimePeriod": {
          "validTo": "2021-07"
        },
        "issued": null,
        "issuingAuthority": null,
        "descriptions": []
      },
      {
        "name": "Criminal History Check",
        "effectiveTimePeriod": {
          "validTo": "2023-01"
        },
        "issued": "2021-01",
        "issuingAuthority": null,
        "descriptions": ["Police check passed with no criminal history."]
      },
      {
        "name": "Working with Children Check",
        "effectiveTimePeriod": {
          "validTo": null
        },
        "issued": null,
        "issuingAuthority": {
          "name": "Government of South Australia"
        },
        "descriptions": []
      }
    ],
    "education": [
      {
        "educationDegrees": [
          {
            "name": "Bachelor of Business Administration",
            "date": "2016-10",
            "degreeGrantedStatus": "Granted"
          }
        ],
        "institution": {
          "name": "Adelaide Business School"
        },
        "descriptions": []
      },
      {
        "educationDegrees": [
          {
            "name": "Masters of Business Administration",
            "date": "2018-07",
            "degreeGrantedStatus": "Granted"
          }
        ],
        "institution": {
          "name": "University of New South Wales"
        },
        "descriptions": ["3.8 GPA"]
      }
    ],
    "employment": [
      {
        "positionHistories": [
          {
            "title": "Customer Service Representative",
            "current": false,
            "start": "2015-05",
            "end": "2018-03",
            "descriptions": [
              "Gained front-line experience with customers to better understand their needs"
            ]
          }
        ],
        "organization": {
          "name": "Swift Inc"
        }
      },
      {
        "positionHistories": [
          {
            "title": "Customer Service Manager",
            "current": true,
            "start": "2018-10",
            "end": null,
            "descriptions": [
              "Grew a team of 5 CS representatives to 20 to meet the growing needs of the business."
            ]
          }
        ],
        "organization": {
          "name": "Ledner Inc"
        }
      }
    ],
    "executiveSummary": "Dynamic customer service professional with an MBA, extensive management experience, and a strong focus on team building and stakeholder engagement.",
    "personAvailability": {
      "immediateStartIndicator": false,
      "noticePeriodMeasure": {
        "unitCode": "WEE",
        "value": 2
      }
    },
    "positionPreferences": [
      {
        "locations": [],
        "seekAnzWorkTypeCodes": ["ContractTemp", "FullTime"],
        "seekSalaryExpectations": [
          {
            "amount": {
              "currency": "AUD",
              "value": 125000
            },
            "countryCode": "AU",
            "intervalCode": "Year"
          }
        ]
      }
    ],
    "qualifications": [
      {
        "competencyName": "Team building"
      },
      {
        "competencyName": "Customer focus"
      },
      {
        "competencyName": "Stakeholder management"
      }
    ],
    "attachments": [
      {
        "descriptions": ["Candidate resume"],
        "seekRoleCode": "Resume",
        "url": "https://graphql.seek.com/globalPublicTest/prefillProfiles/PoJo9PPLL9wEF6z5nvMP9d/attachments/KEGE8Lgav8Kx9jYoxKHuVv"
      }
    ]
  }
}
All SEEK Profile fields except for email address are optional. Ensure that your software caters for an empty state:
QueryVariablesResult
{
  "candidateProfile": {
    "profileId": {
      "value": "globalPublicTest:candidateProfile:prefill:NviKaXd9grZUaWZx3NEy3m"
    },
    "candidate": {
      "person": {
        "name": {
          "formattedName": "",
          "given": null,
          "family": null
        },
        "communication": {
          "email": [
            {
              "address": "Hamish.Alexander@example.com"
            }
          ],
          "phone": [],
          "address": []
        }
      }
    },
    "certifications": [],
    "education": [],
    "employment": [],
    "executiveSummary": null,
    "personAvailability": null,
    "positionPreferences": [],
    "qualifications": [],
    "attachments": []
  }
}
Your software must tweak the supplied query to only select fields that it can currently pre-fill in production. This simplifies your integration and reduces future maintenance overhead; see selecting fields for more information.The candidateProfile query can only be called with the seek-prefill-id for a short period after authorization; subsequent calls will return a FORBIDDEN response. If the candidate subsequently navigates to a different apply form in your software, your software should start a new workflow and request a new Apply with SEEK button.