Scout SelectDeveloper Documentation
Schema Reference

Schema Reference

Full type reference for the documented Certifications and Assessments operations.

This page is generated directly from the live API schema, so it always matches what's documented in Certifications and Assessments.

Table of Contents

Query

FieldArgumentTypeDescription
developerCandidatesDeveloperCandidateSearchResult!

Search candidates for developer integrations

searchString
fieldDeveloperCandidateSearchField
pageInt
limitInt
developerAssessmentsDeveloperAssessmentSearchResult!

Search assessments for developer integrations

searchString
fieldDeveloperAssessmentSearchField
pageInt
limitInt
developerReportStatus[DeveloperReportStatus!]!

Get report/session status and URLs for a candidate or session

assessmentSessionIdString
candidateEmailString
assessmentIdString
developerLiveInterviewStatusDeveloperLiveInterviewSessionResult!

Poll status for a scheduled live (non-AI) interview - bot join progress and, once available, the generated report.

liveInterviewSessionIdString!
developerCertificationCatalog[DeveloperCertificationCatalogItem!]!
searchString
developerCertificationResultDeveloperCertificationResult
inviteIdString!
developerCertificationBadgesDeveloperCertificationBadgeLookupResult!
emailString!

Mutation

FieldArgumentTypeDescription
developerCreateCertificationInviteDeveloperCertificationInvite!
inputDeveloperCreateCertificationInviteInput!
developerCreateCandidateDeveloperCandidate!

Create candidate for integrations

inputDeveloperCreateCandidateInput!
developerAssignCandidateToAssessmentDeveloperAssignmentResult!

Assign candidate to assessment and optionally send email

inputDeveloperAssignCandidateInput!
developerCreateManualAssessmentDeveloperManualAssessmentResult!

Create a skills-only assessment for a live (non-AI) interview - no fixed question bank, since a human interviewer asks free-form questions.

inputDeveloperCreateManualAssessmentInput!
developerScheduleLiveInterviewDeveloperLiveInterviewSessionResult!

Schedule an Online Interview Recorder bot to join a meeting and produce a standardized report from the transcript.

inputDeveloperScheduleLiveInterviewInput!
retryLiveInterviewBotJoinDeveloperLiveInterviewSessionResult!

Retry bot registration/join for an online interview recording whose bot failed to register or join.

liveInterviewSessionIdString!

Objects

DeveloperAssessment

FieldArgumentTypeDescription
idString!
jobTitleString!
companyNameString
statusString!
totalDurationMinutesInt!

DeveloperAssessmentResult

Assessment result fields, populated once reportStatus is READY. Shared shape between DeveloperReportStatus.result and the assessment.completed webhook payload's result field.

FieldArgumentTypeDescription
assessmentSessionIdString!
overallScoreFloat!
skillWiseScores[DeveloperSkillScore!]!
communicationScores[DeveloperScoreItem!]!

DeveloperAssessmentSearchResult

FieldArgumentTypeDescription
data[DeveloperAssessment!]!
totalInt!
pageInt!
limitInt!

DeveloperAssignmentResult

FieldArgumentTypeDescription
assessmentSessionIdString!
interviewUrlString!
tokenString!
tokenExpiresAtString!
emailSentBoolean!

DeveloperCandidate

FieldArgumentTypeDescription
handleString!
idString!
nameString!
emailString!
phoneString
resumeUrlString
createdAtString!

DeveloperCandidateSearchResult

FieldArgumentTypeDescription
data[DeveloperCandidate!]!
totalInt!
pageInt!
limitInt!

DeveloperCertificationBadge

FieldArgumentTypeDescription
skillNameString!
levelProficiencyLevel!
conceptsTested[String!]!

DeveloperCertificationBadgeLookupResult

FieldArgumentTypeDescription
validCandidateBoolean!
messageString
badges[DeveloperCertificationBadge!]!

DeveloperCertificationCatalogItem

FieldArgumentTypeDescription
skillNameString!
levels[DeveloperCertificationCatalogLevel!]!

DeveloperCertificationCatalogLevel

FieldArgumentTypeDescription
quizIdString!
levelProficiencyLevel!
durationMinutesInt!
enabledLanguages[String!]!
conceptsTested[String!]!

DeveloperCertificationInvite

FieldArgumentTypeDescription
inviteIdString!
statusString!
challengeUrlString!
expiresAtString!
emailSentBoolean!

DeveloperCertificationResult

FieldArgumentTypeDescription
inviteIdString!
isFollowUpBoolean!

True when this invite was created by a candidate claiming a one-time follow-up offer.

originalInviteIdString

The original invite that produced this follow-up attempt, or null for an initial invite.

statusString!
skillNameString!
levelProficiencyLevel!
completedAtString
resultBandString
scoreInt
proctoringStatusString!
resultReleaseStatusString!
certificateUrlString
verificationStatusString
feedbackAreas[String!]
reportUrlString
skillWiseScores[DeveloperSkillScore!]
communicationScores[DeveloperScoreItem!]
badgeImageUrlString

URL of the badge image for the achieved level. Null unless the candidate achieved a certification (EXCELLENT/GOOD band).

badgeEarnedBoolean!

True once a badge has been issued for this attempt (EXCELLENT/GOOD band and result released). False beforehand, and stays true even if the badge is later revoked or expires - check verificationStatus for its current validity.

badgeExpiresAtString

ISO 8601 expiry date of the issued badge/certification. Null until a badge is issued. Still populated after expiry or revocation; check verificationStatus for current validity.

followUpOfferDeveloperFollowUpOffer

The one-time free follow-up attempt offered after this result was released, if eligible. Null if none was offered.

DeveloperFollowUpOffer

FieldArgumentTypeDescription
statusString!

PENDING, CONSUMED, or EXPIRED.

expiresAtString!
options[String!]!

Which options were offered: some subset of LEVEL_UP, RETAKE_SAME, LEVEL_DOWN.

claimedOptionString

Which option the candidate claimed, if any.

claimedInviteIdString

The new CertificationInvite id created when the offer was claimed, if any.

DeveloperLiveInterviewSessionResult

FieldArgumentTypeDescription
liveInterviewSessionIdString!
statusLiveInterviewSessionStatus!
botJoinStatusLiveInterviewBotStatus!
reportIdString

Populated once the transcript has been processed into a report.

dashboardReportUrlString

DeveloperManualAssessmentResult

FieldArgumentTypeDescription
assessmentIdString!

DeveloperReportStatus

FieldArgumentTypeDescription
assessmentSessionIdString!
statusString!
candidateIdString!
candidateNameString!
candidateEmailString!
assessmentIdString
assessmentTitleString
reportIdString
reportStatusString!

READY, PROCESSING, NOT_READY, or FAILED (report generation failed).

dashboardReportUrlString
interviewUrlString!
resultDeveloperAssessmentResult

Populated when reportStatus is READY.

DeveloperScoreItem

A single score/label pair used across skill, concept, and communication breakdowns. Only the score value and label are exposed - not the underlying analysis text.

FieldArgumentTypeDescription
labelString!
scoreFloat!

DeveloperSkillScore

A per-skill score with its nested concept-level breakdown.

FieldArgumentTypeDescription
labelString!
scoreFloat!
concepts[DeveloperScoreItem!]!

Inputs

DeveloperAssignCandidateInput

FieldTypeDescription
candidateIdString!
assessmentIdString!
sendEmailBoolean
expiryDaysInt
callbackUrlString

Optional webhook URL called when the assessment report is ready (or fails). Requires API-key authentication - rejected for org-admin session callers, since the webhook signing secret is tied to the API key.

externalReferenceString

Opaque value echoed back in the assessment.completed/assessment.failed webhook payload for correlating with your own records.

DeveloperCertificationCandidateInput

FieldTypeDescription
nameString!
emailString!

DeveloperCreateCandidateInput

FieldTypeDescription
nameString!
emailString!
phoneString
resumeUrlString
resumeTextString

DeveloperCreateCertificationInviteInput

FieldTypeDescription
quizIdString!
candidateDeveloperCertificationCandidateInput!
sendInviteEmailBoolean
externalReferenceString
callbackUrlString

DeveloperCreateManualAssessmentInput

FieldTypeDescription
jobTitleString!
companyNameString
rawJobDescriptionString!
skills[LiveInterviewSkillInput!]!

DeveloperScheduleLiveInterviewInput

FieldTypeDescription
assessmentIdString!
candidateNameString!
candidateEmailString!
candidateDisplayNameString

The candidate's expected meeting display name, used to attribute transcript speakers to the candidate.

meetingProviderLiveMeetingProvider
meetingUrlString!
scheduledAtString!

ISO 8601 - the bot joins the meeting at this time.

callbackUrlString

Requires API-key authentication. Called when the report is ready or bot registration fails.

externalReferenceString

LiveInterviewSkillInput

A skill + concepts entry for a LIVE_MANUAL assessment. No question bank - the interviewer asks free-form questions; concepts are used to classify the transcript after the fact.

FieldTypeDescription
nameString!
concepts[String!]!

Enums

DeveloperAssessmentSearchField

Field selector for developer assessment search

ValueDescription
ANY
JOB_TITLE
COMPANY_NAME

DeveloperCandidateSearchField

Field selector for developer candidate search

ValueDescription
ANY
NAME
EMAIL

LiveInterviewBotStatus

ValueDescription
PENDING
REGISTERING
JOINING
ADMITTED
DENIED
FAILED
IN_MEETING
LEFT

LiveInterviewSessionStatus

ValueDescription
SCHEDULED
BOT_JOINING
IN_PROGRESS
COMPLETED
FAILED
CANCELED

LiveMeetingProvider

Which video-call provider the Scout Select bot joins. All four are supported - the bot detects the platform from the meeting link itself.

ValueDescription
TEAMS
ZOOM
MEET
WHATSAPP

ProficiencyLevel

Proficiency level for an assessment skill

ValueDescription
Beginner
Intermediate
Advanced
Expert

Scalars

Boolean

The Boolean scalar type represents true or false.

Float

The Float scalar type represents signed double-precision fractional values as specified by IEEE 754.

Int

The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.

String

The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.

On this page