{"openapi":"3.1.0","info":{"title":"estudante.id API","version":"1.0.0","description":"Confirm that a person is a verified Brazilian higher-education student, from the code on their estudante.id. Server-to-server only (no CORS). NOT valid for legal meia-entrada (Lei 12.933/2013 requires the CIE). Docs: https://estudante.id/desenvolvedores","contact":{"url":"https://estudante.id/desenvolvedores#access"}},"servers":[{"url":"https://estudante.id/api/v1"}],"security":[{"apiKey":[]}],"paths":{"/verifications/{code}":{"get":{"operationId":"getVerification","summary":"Check a student ID code","description":"Returns the verification behind a code. Expired verifications return 200 with verified=false. Pending, refused and unknown codes all return the same 404. Test keys (eid_test_) answer only TESTVALID1 and TESTEXPIRD.","parameters":[{"name":"code","in":"path","required":true,"description":"10 letters and digits, case-insensitive — as printed on the ID or as the last path segment of the QR URL.","schema":{"type":"string","pattern":"^[0-9A-Za-z]{10}$"}}],"responses":{"200":{"description":"Verification found (active or expired). Grant the benefit only when verified is true.","headers":{"Cache-Control":{"schema":{"type":"string","const":"no-store"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Verification"}}}},"400":{"description":"invalid_code","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"missing_api_key or invalid_api_key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"revoked_api_key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait.","schema":{"type":"integer"}}}},"500":{"description":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}},"components":{"securitySchemes":{"apiKey":{"type":"http","scheme":"bearer","description":"eid_live_… (production) or eid_test_… (test mode)."}},"schemas":{"Verification":{"type":"object","required":["object","code","status","verified","name","institution","age_over_18","verified_at","valid_until","checked_at","livemode"],"properties":{"object":{"type":"string","const":"student_verification"},"code":{"type":"string","description":"The code, upper-case."},"status":{"type":"string","enum":["verified","expired"]},"verified":{"type":"boolean","description":"true only while the verification is active."},"name":{"type":["string","null"],"description":"First name + last initial, when the student added a name."},"institution":{"type":"object","required":["name","acronym","emec_code","city","uf"],"properties":{"name":{"type":"string"},"acronym":{"type":["string","null"]},"emec_code":{"type":"integer","description":"Institution code in the MEC e-MEC registry."},"city":{"type":["string","null"]},"uf":{"type":["string","null"]}}},"age_over_18":{"type":"boolean","description":"The student declared being 18 or older when verifying."},"verified_at":{"type":["string","null"],"format":"date-time"},"valid_until":{"type":["string","null"],"format":"date-time"},"checked_at":{"type":"string","format":"date-time"},"livemode":{"type":"boolean","description":"false for test keys."}}},"Error":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message","docs"],"properties":{"code":{"type":"string","enum":["missing_api_key","invalid_api_key","revoked_api_key","rate_limited","invalid_code","not_found","server_error"]},"message":{"type":"string"},"docs":{"type":"string","format":"uri"}}}}}}}}