Skip to main content
GET
/
api
/
verify
Verify a Submit session
curl --request GET \
  --url https://submit.hackclub.com/api/verify
{
"verified": true,
"identity_response": {
"id": "id_123",
"verification_status": "verified",
"ysws_eligible": true,
"email": "[email protected]"
}
}
  • The idv_rec may be provided as a combined token in the form IDENTITY:SUBMIT. In that case, the portion after the colon is treated as the one-time submit_id.
  • Alternatively, you can pass idv_rec and submit_id as separate query parameters.
  • Reusing a submit_id results in a 410 Gone response.

Query Parameters

idv_rec
string
required

Identity Vault record identifier. May include a trailing :SUBMIT_TOKEN (e.g., id_abc123:sub_456) in which case the token will be extracted and used as the submit_id.

submit_id
string
required

One-time submit token, issued via the OAuth callback. Provide this if it is not embedded in idv_rec. Missing, mismatched, or unauthorized tokens return 403; reuse returns 410 Gone.

first_name
string
required
last_name
string
required
email
string<email>
required

Response

Verification result. verified will be true only if first name, last name, and email all match the verified record. When an identity wasn't found upstream, the endpoint still returns 200 with verified=false and identity_response=null.

verified
boolean
required
identity_response
object
required

Identity fields returned. When a program is specified, fields are filtered by that program's allowed scopes; otherwise a minimal set is returned.

error
string

Present when an error or ineligibility occurred.