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
- Mutation
- Objects
- DeveloperAssessment
- DeveloperAssessmentResult
- DeveloperAssessmentSearchResult
- DeveloperAssignmentResult
- DeveloperCandidate
- DeveloperCandidateSearchResult
- DeveloperCertificationBadge
- DeveloperCertificationBadgeLookupResult
- DeveloperCertificationCatalogItem
- DeveloperCertificationCatalogLevel
- DeveloperCertificationInvite
- DeveloperCertificationResult
- DeveloperFollowUpOffer
- DeveloperLiveInterviewSessionResult
- DeveloperManualAssessmentResult
- DeveloperReportStatus
- DeveloperScoreItem
- DeveloperSkillScore
- Inputs
- Enums
- Scalars
Query
| Field | Argument | Type | Description |
|---|---|---|---|
| developerCandidates | DeveloperCandidateSearchResult! | Search candidates for developer integrations | |
| search | String | ||
| field | DeveloperCandidateSearchField | ||
| page | Int | ||
| limit | Int | ||
| developerAssessments | DeveloperAssessmentSearchResult! | Search assessments for developer integrations | |
| search | String | ||
| field | DeveloperAssessmentSearchField | ||
| page | Int | ||
| limit | Int | ||
| developerReportStatus | [DeveloperReportStatus!]! | Get report/session status and URLs for a candidate or session | |
| assessmentSessionId | String | ||
| candidateEmail | String | ||
| assessmentId | String | ||
| developerLiveInterviewStatus | DeveloperLiveInterviewSessionResult! | Poll status for a scheduled live (non-AI) interview - bot join progress and, once available, the generated report. | |
| liveInterviewSessionId | String! | ||
| developerCertificationCatalog | [DeveloperCertificationCatalogItem!]! | ||
| search | String | ||
| developerCertificationResult | DeveloperCertificationResult | ||
| inviteId | String! | ||
| developerCertificationBadges | DeveloperCertificationBadgeLookupResult! | ||
| String! | |||
Mutation
| Field | Argument | Type | Description |
|---|---|---|---|
| developerCreateCertificationInvite | DeveloperCertificationInvite! | ||
| input | DeveloperCreateCertificationInviteInput! | ||
| developerCreateCandidate | DeveloperCandidate! | Create candidate for integrations | |
| input | DeveloperCreateCandidateInput! | ||
| developerAssignCandidateToAssessment | DeveloperAssignmentResult! | Assign candidate to assessment and optionally send email | |
| input | DeveloperAssignCandidateInput! | ||
| developerCreateManualAssessment | DeveloperManualAssessmentResult! | Create a skills-only assessment for a live (non-AI) interview - no fixed question bank, since a human interviewer asks free-form questions. | |
| input | DeveloperCreateManualAssessmentInput! | ||
| developerScheduleLiveInterview | DeveloperLiveInterviewSessionResult! | Schedule an Online Interview Recorder bot to join a meeting and produce a standardized report from the transcript. | |
| input | DeveloperScheduleLiveInterviewInput! | ||
| retryLiveInterviewBotJoin | DeveloperLiveInterviewSessionResult! | Retry bot registration/join for an online interview recording whose bot failed to register or join. | |
| liveInterviewSessionId | String! | ||
Objects
DeveloperAssessment
| Field | Argument | Type | Description |
|---|---|---|---|
| id | String! | ||
| jobTitle | String! | ||
| companyName | String | ||
| status | String! | ||
| totalDurationMinutes | Int! | ||
DeveloperAssessmentResult
Assessment result fields, populated once reportStatus is READY. Shared shape between DeveloperReportStatus.result and the assessment.completed webhook payload's result field.
| Field | Argument | Type | Description |
|---|---|---|---|
| assessmentSessionId | String! | ||
| overallScore | Float! | ||
| skillWiseScores | [DeveloperSkillScore!]! | ||
| communicationScores | [DeveloperScoreItem!]! | ||
DeveloperAssessmentSearchResult
| Field | Argument | Type | Description |
|---|---|---|---|
| data | [DeveloperAssessment!]! | ||
| total | Int! | ||
| page | Int! | ||
| limit | Int! | ||
DeveloperAssignmentResult
| Field | Argument | Type | Description |
|---|---|---|---|
| assessmentSessionId | String! | ||
| interviewUrl | String! | ||
| token | String! | ||
| tokenExpiresAt | String! | ||
| emailSent | Boolean! | ||
DeveloperCandidate
| Field | Argument | Type | Description |
|---|---|---|---|
| handle | String! | ||
| id | String! | ||
| name | String! | ||
| String! | |||
| phone | String | ||
| resumeUrl | String | ||
| createdAt | String! | ||
DeveloperCandidateSearchResult
| Field | Argument | Type | Description |
|---|---|---|---|
| data | [DeveloperCandidate!]! | ||
| total | Int! | ||
| page | Int! | ||
| limit | Int! | ||
DeveloperCertificationBadge
| Field | Argument | Type | Description |
|---|---|---|---|
| skillName | String! | ||
| level | ProficiencyLevel! | ||
| conceptsTested | [String!]! | ||
DeveloperCertificationBadgeLookupResult
| Field | Argument | Type | Description |
|---|---|---|---|
| validCandidate | Boolean! | ||
| message | String | ||
| badges | [DeveloperCertificationBadge!]! | ||
DeveloperCertificationCatalogItem
| Field | Argument | Type | Description |
|---|---|---|---|
| skillName | String! | ||
| levels | [DeveloperCertificationCatalogLevel!]! | ||
DeveloperCertificationCatalogLevel
| Field | Argument | Type | Description |
|---|---|---|---|
| quizId | String! | ||
| level | ProficiencyLevel! | ||
| durationMinutes | Int! | ||
| enabledLanguages | [String!]! | ||
| conceptsTested | [String!]! | ||
DeveloperCertificationInvite
| Field | Argument | Type | Description |
|---|---|---|---|
| inviteId | String! | ||
| status | String! | ||
| challengeUrl | String! | ||
| expiresAt | String! | ||
| emailSent | Boolean! | ||
DeveloperCertificationResult
| Field | Argument | Type | Description |
|---|---|---|---|
| inviteId | String! | ||
| isFollowUp | Boolean! | True when this invite was created by a candidate claiming a one-time follow-up offer. | |
| originalInviteId | String | The original invite that produced this follow-up attempt, or null for an initial invite. | |
| status | String! | ||
| skillName | String! | ||
| level | ProficiencyLevel! | ||
| completedAt | String | ||
| resultBand | String | ||
| score | Int | ||
| proctoringStatus | String! | ||
| resultReleaseStatus | String! | ||
| certificateUrl | String | ||
| verificationStatus | String | ||
| feedbackAreas | [String!] | ||
| reportUrl | String | ||
| skillWiseScores | [DeveloperSkillScore!] | ||
| communicationScores | [DeveloperScoreItem!] | ||
| badgeImageUrl | String | URL of the badge image for the achieved level. Null unless the candidate achieved a certification (EXCELLENT/GOOD band). | |
| badgeEarned | Boolean! | 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. | |
| badgeExpiresAt | String | 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. | |
| followUpOffer | DeveloperFollowUpOffer | The one-time free follow-up attempt offered after this result was released, if eligible. Null if none was offered. | |
DeveloperFollowUpOffer
| Field | Argument | Type | Description |
|---|---|---|---|
| status | String! | PENDING, CONSUMED, or EXPIRED. | |
| expiresAt | String! | ||
| options | [String!]! | Which options were offered: some subset of LEVEL_UP, RETAKE_SAME, LEVEL_DOWN. | |
| claimedOption | String | Which option the candidate claimed, if any. | |
| claimedInviteId | String | The new CertificationInvite id created when the offer was claimed, if any. | |
DeveloperLiveInterviewSessionResult
| Field | Argument | Type | Description |
|---|---|---|---|
| liveInterviewSessionId | String! | ||
| status | LiveInterviewSessionStatus! | ||
| botJoinStatus | LiveInterviewBotStatus! | ||
| reportId | String | Populated once the transcript has been processed into a report. | |
| dashboardReportUrl | String | ||
DeveloperManualAssessmentResult
| Field | Argument | Type | Description |
|---|---|---|---|
| assessmentId | String! | ||
DeveloperReportStatus
| Field | Argument | Type | Description |
|---|---|---|---|
| assessmentSessionId | String! | ||
| status | String! | ||
| candidateId | String! | ||
| candidateName | String! | ||
| candidateEmail | String! | ||
| assessmentId | String | ||
| assessmentTitle | String | ||
| reportId | String | ||
| reportStatus | String! | READY, PROCESSING, NOT_READY, or FAILED (report generation failed). | |
| dashboardReportUrl | String | ||
| interviewUrl | String! | ||
| result | DeveloperAssessmentResult | 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.
| Field | Argument | Type | Description |
|---|---|---|---|
| label | String! | ||
| score | Float! | ||
DeveloperSkillScore
A per-skill score with its nested concept-level breakdown.
| Field | Argument | Type | Description |
|---|---|---|---|
| label | String! | ||
| score | Float! | ||
| concepts | [DeveloperScoreItem!]! | ||
Inputs
DeveloperAssignCandidateInput
| Field | Type | Description | |
|---|---|---|---|
| candidateId | String! | ||
| assessmentId | String! | ||
| sendEmail | Boolean | ||
| expiryDays | Int | ||
| callbackUrl | String | 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. | |
| externalReference | String | Opaque value echoed back in the assessment.completed/assessment.failed webhook payload for correlating with your own records. | |
DeveloperCertificationCandidateInput
| Field | Type | Description | |
|---|---|---|---|
| name | String! | ||
| String! | |||
DeveloperCreateCandidateInput
| Field | Type | Description | |
|---|---|---|---|
| name | String! | ||
| String! | |||
| phone | String | ||
| resumeUrl | String | ||
| resumeText | String | ||
DeveloperCreateCertificationInviteInput
| Field | Type | Description | |
|---|---|---|---|
| quizId | String! | ||
| candidate | DeveloperCertificationCandidateInput! | ||
| sendInviteEmail | Boolean | ||
| externalReference | String | ||
| callbackUrl | String | ||
DeveloperCreateManualAssessmentInput
| Field | Type | Description | |
|---|---|---|---|
| jobTitle | String! | ||
| companyName | String | ||
| rawJobDescription | String! | ||
| skills | [LiveInterviewSkillInput!]! | ||
DeveloperScheduleLiveInterviewInput
| Field | Type | Description | |
|---|---|---|---|
| assessmentId | String! | ||
| candidateName | String! | ||
| candidateEmail | String! | ||
| candidateDisplayName | String | The candidate's expected meeting display name, used to attribute transcript speakers to the candidate. | |
| meetingProvider | LiveMeetingProvider | ||
| meetingUrl | String! | ||
| scheduledAt | String! | ISO 8601 - the bot joins the meeting at this time. | |
| callbackUrl | String | Requires API-key authentication. Called when the report is ready or bot registration fails. | |
| externalReference | String | ||
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.
| Field | Type | Description | |
|---|---|---|---|
| name | String! | ||
| concepts | [String!]! | ||
Enums
DeveloperAssessmentSearchField
Field selector for developer assessment search
| Value | Description |
|---|---|
| ANY | |
| JOB_TITLE | |
| COMPANY_NAME |
DeveloperCandidateSearchField
Field selector for developer candidate search
| Value | Description |
|---|---|
| ANY | |
| NAME | |
LiveInterviewBotStatus
| Value | Description |
|---|---|
| PENDING | |
| REGISTERING | |
| JOINING | |
| ADMITTED | |
| DENIED | |
| FAILED | |
| IN_MEETING | |
| LEFT |
LiveInterviewSessionStatus
| Value | Description |
|---|---|
| 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.
| Value | Description |
|---|---|
| TEAMS | |
| ZOOM | |
| MEET | |
ProficiencyLevel
Proficiency level for an assessment skill
| Value | Description |
|---|---|
| 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.