Scout SelectDeveloper Documentation
Certifications

Badges

Check whether a candidate already holds a valid certification.

Requires the CERTIFICATION_RESULT_READ scope. Useful before creating an invite - a candidate can't be re-invited to a certification they already hold a currently-valid badge for (see Invites), so checking here first lets you skip straight to showing the existing credential instead of hitting a BAD_USER_INPUT error.

query CertificationBadges($email: String!) {
  developerCertificationBadges(email: $email) {
    validCandidate
    message
    badges {
      skillName
      level
      conceptsTested
    }
  }
}
  • validCandidate is false (with an explanatory message) if the email isn't a syntactically valid address, or no certification candidate exists for it yet - that's not an error, just an empty result.
  • badges only includes currently active, unexpired certifications - expired or revoked ones are omitted.

Example response

{
  "data": {
    "developerCertificationBadges": {
      "validCandidate": true,
      "message": null,
      "badges": [
        {
          "skillName": "React",
          "level": "Intermediate",
          "conceptsTested": ["Component state and effects", "Data fetching", "Debugging"]
        }
      ]
    }
  }
}

Badge images

If you want to render the badge visually yourself (rather than, or in addition to, linking to the certificateUrl verification page returned by Results / Webhooks), each level has a fixed, standalone badge image URL - safe to hardcode or cache, these don't change per-candidate:

LevelImage URL
Beginnerhttps://scout-interview.sgp1.cdn.digitaloceanspaces.com/certifications/public/beginner-badge.png
Intermediatehttps://scout-interview.sgp1.cdn.digitaloceanspaces.com/certifications/public/intermediate-badge.png
Advancedhttps://scout-interview.sgp1.cdn.digitaloceanspaces.com/certifications/public/advanced-badge.png
Experthttps://scout-interview.sgp1.cdn.digitaloceanspaces.com/certifications/public/expert-badge.png

developerCertificationResult.badgeImageUrl and the certification webhook's result.badgeImageUrl return the URL matching the candidate's achieved level automatically (only when a certificate was actually issued - null otherwise), so in most cases you don't need to hardcode this table yourself. Use the table directly only if you want to show level badges independent of any specific candidate result (e.g. a static "certifications we support" marketing page).

On this page