diff --git a/controllers/scholarship.controller.ts b/controllers/scholarship.controller.ts
index 1fd40203164e3d25530fbe83d9354d57946ab7ba..c6cd26574c8a7aca604ddbd079fed36259e6c57f 100644
--- a/controllers/scholarship.controller.ts
+++ b/controllers/scholarship.controller.ts
@@ -2,8 +2,7 @@ import { Prisma, PrismaClient } from "@prisma/client"
 import { Request, Response } from "express"
 import { viewScholarshipCount } from "../templates/scholarship"
 import jwt from "jsonwebtoken"
-import { it } from "node:test"
-
+import { setAcceptance } from "../templates/scholarshipAcceptance"
 const prisma = new PrismaClient()
 const xml2js = require("xml2js")
 const soapRequest = require("easy-soap-request")
@@ -387,4 +386,69 @@ export const scholarshipCount = async (id: Number) => {
       ][0]["return"]
 
   return scholarships
-}
\ No newline at end of file
+}
+export const scholarshipAcceptance = async (req: Request, res: Response) => {
+  try {
+    const { sid } = req.params
+    const { status, user_id } = req.body
+
+    const accessToken = req.cookies.accToken
+
+    if (!accessToken) {
+      res.status(401).json({ message: "Access token missing" })
+      return
+    }
+
+    const scholarship = await prisma.scholarship.findUnique({
+      where: {
+        scholarship_id: Number(sid)
+      },
+      include: {
+        scholarshiptype: true,
+        organization: true
+      }
+    })
+
+    if (!scholarship) {
+      throw new Error("Scholarship not found")
+    }
+
+    const { response } = await soapRequest({
+      url: setAcceptance.url,
+      headers: setAcceptance.headers,
+      xml: util.format(
+        setAcceptance.body,
+        user_id,
+        scholarship.scholarship_id,
+        scholarship.title,
+        status
+      )
+    })
+
+    const { body } = response
+
+    const parser = new xml2js.Parser()
+    const parsedBody = await parser.parseStringPromise(body)
+    const scholarships =
+      parsedBody["S:Envelope"]["S:Body"][0]["ns2:setAcceptanceResponse"][0][
+        "return"
+      ]
+
+    res.status(200).json({
+      status: "success",
+      message: "Scholarship acceptance updated successfully",
+      data: {
+        user_id: scholarships.user_id_student[0],
+        scholarship_id: scholarships.scholarship_id_rest[0],
+        scholarship_name: scholarships.scholarship_name[0],
+        status: scholarships.status[0]
+      }
+    })
+  } catch (error: any) {
+    res.status(500).json({
+      status: "error",
+      message: error.message,
+      data: error
+    })
+  }
+}
diff --git a/polling/scholarships.ts b/polling/scholarships.ts
index de86793bb099d5b275d73c06bf908e9172f2d879..168a52806f6ab64b5ddbaf11a191320cc3923c52 100644
--- a/polling/scholarships.ts
+++ b/polling/scholarships.ts
@@ -170,7 +170,7 @@ const soapSync = async (scholarship: any, newScholarship: any) => {
 
   /* If scholarship already has acceptance, update the scholarship_id_rest in SOAP */
   const { res } = await soapRequest({
-    url: setAcceptanceScholarshipIDREST.scholarshipAccUrl,
+    url: setAcceptanceScholarshipIDREST.url,
     headers: setAcceptanceScholarshipIDREST.headers,
     xml: util.format(
       setAcceptanceScholarshipIDREST.body,
diff --git a/routes/scholarship.routes.ts b/routes/scholarship.routes.ts
index 63b130fcab61f5ca075c1fbd33327600ee6c0a2a..f019e9b6960d021753f55b095e72df969cf72b60 100644
--- a/routes/scholarship.routes.ts
+++ b/routes/scholarship.routes.ts
@@ -6,13 +6,10 @@ import {
     updateScholarship,
     deleteScholarship,
     getAllScholarshipTypes,
-    scholarshipCount
+    scholarshipCount,
+    scholarshipAcceptance
 } from "../controllers/scholarship.controller"
 
-// import {
-//     getAssignment,
-// } from "../controllers/assignment.controller";
-
 const router = express.Router()
 router.post("/scholarship", createScholarship)
 router.get("/scholarship", getScholarships)
@@ -21,7 +18,6 @@ router.patch("/scholarship/:id", updateScholarship)
 router.delete("/scholarship/:id", deleteScholarship)
 router.get("/scholarshiptype", getAllScholarshipTypes)
 router.get("/scholarship/:id/count", scholarshipCount)
-// router.get("/scholarsip/:sid/assignment/:aid", getAssignment);
-// router.post("/scholarsip/:sid/assignment", getAssignment);
+router.post("/scholarship/:sid/accept", scholarshipAcceptance)
 
 module.exports = router
diff --git a/server.ts b/server.ts
index dd72027c80efa76027ca949802433bb4c2dbbbcf..f0f560f0f3a3cf7686a155c99d1d92dc512a6296 100644
--- a/server.ts
+++ b/server.ts
@@ -48,11 +48,6 @@ app.use("/api", OrganizationRoute)
 app.use("/api", AssignmentRoute)
 app.use("/api", fileRoute)
 
-app.listen(PORT, () => {
-  console.log(`⚡️[server]: Server is running at http://localhost:${PORT}`)
-  sync()
-})
-
 const start = async () => {
   try {
     await client.connect()