Developer REST API Integrations

Developer API Documentation

Specs for programmatic student credential verification and detailed academic result query.

Overview

AKTU DOB Finder provides RESTful endpoints for external systems. Developers can programmatically lookup academic results (without DOBs), query class roll numbers, or retrieve validated student DOBs via secure, whitelisted calls.

1. Result API (Public Search)

Use this endpoint to fetch student profiles and academic semesters. If the student is not in the database, it utilizes a fast DOB bypass mechanism to scrap the portal. Note: **The student DOB is omitted from this payload for compliance.**

POST/api/search

Request Headers

Content-Type: application/json

JSON Body Parameters

ParameterTypeRequirement
rollNumberstringRequired

Example Payload

{
  "rollNumber": "2200650100100"
}

Implementation Code Examples

request.sh
123
curl -X POST http://localhost:4321/api/search \
  -H "Content-Type: application/json" \
  -d '{"rollNumber": "2200650100100"}'

Response Schema (200 OK)

{
  "success": true,
  "name": "SHIVAM DIXIT",
  "rollNumber": "2200650100100",
  "course": "B.Tech (CS)",
  "cgpa": "8.06",
  "status": "PASS",
  "semesters": [
    {
      "sem": "Semester 1",
      "sgpa": "8.23",
      "status": "PASS",
      "subjects": [
        { "code": "BAS102", "name": "Chemistry", "grade": "B" }
      ]
    }
  ]
}

Response Schema (404 Not Found)

{
  "success": false,
  "error": "Could not able to fetch now try later",
  "code": 404
}

2. Roll Number Finder API (Public Search)

Query student lists and matching results by admission filters (year, college code, branch code) and optionally search by student name.

POST/api/find-roll

Request Headers

Content-Type: application/json

JSON Body Parameters

ParameterTypeRequirement
admissionYearstringRequired (e.g. "22")
collegeCodestringRequired (e.g. "065")
branchCodestringRequired (e.g. "010")
namestringOptional

Example Payload

{
  "admissionYear": "22",
  "collegeCode": "065",
  "branchCode": "010",
  "name": "SHIVAM"
}

Implementation Code Examples

request.sh
123
curl -X POST http://localhost:4321/api/find-roll \
  -H "Content-Type: application/json" \
  -d '{"admissionYear": "22", "collegeCode": "065", "branchCode": "010", "name": "SHIVAM"}'

Response Schema (200 OK)

{
  "success": true,
  "matchCount": 1,
  "students": [
    {
      "name": "SHIVAM DIXIT",
      "rollNumber": "2200650100100",
      "fatherName": "RAM DIXIT",
      "gender": "MALE"
    }
  ]
}

Response Schema (400 Bad Request)

{
  "success": false,
  "error": "Missing required search parameters in payload.",
  "code": 400
}

3. DOB Finder API (Private/Whitelisted)

This endpoint validates client IPs/domains and runs a calendar brute-forcing loop to discover a student's date of birth. Whitelisted hosts are defined via server environment variables (`ALLOWED_HOSTS` and `ALLOWED_DOMAINS`).

⚠️Authentication Key Required

Unlike the public Search API, the DOB Finder API requires a whitelisted X-API-Key header to prevent abuse. Requests sent without a valid key will receive a 403 Forbidden response.

🔑 Request API Key Access
POST/api/dob

Request Headers

Content-Type: application/json
X-API-Key: YOUR_API_KEY_HERE
Referer: https://yourdomain.com

JSON Body Parameters

ParameterTypeDefault / Bounds
rollNumberstringRequired
startYearnumberDefault: 2000 (Min: 1999)
endYearnumberDefault: 2006 (Max: 2010)

Example Payload

{
  "rollNumber": "2200650100100",
  "startYear": 2001,
  "endYear": 2005
}

Implementation Code Examples

request.sh
1234
curl -X POST http://localhost:4321/api/dob \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_API_KEY_HERE" \
  -d '{"rollNumber": "2200650100100", "startYear": 2001, "endYear": 2005}'

Response Schema (200 OK)

{
  "success": true,
  "name": "SHIVAM DIXIT",
  "rollNumber": "2200650100100",
  "dob": "14/04/2003"
}

Forbidden Schema (403 Error)

{
  "success": false,
  "error": "Forbidden. Client IP or domain not whitelisted.",
  "code": 403
}