diff --git a/functions/api/events-team/events/[id]/decision.ts b/functions/api/events-team/events/[id]/decision.ts
new file mode 100644
index 0000000..e7eb16c
--- /dev/null
+++ b/functions/api/events-team/events/[id]/decision.ts
@@ -0,0 +1,16 @@
+import { jsonError } from "../../../../common.js";
+
+export async function onRequestPost(context: RequestContext) {
+  if (typeof context.data.body.approved !== "boolean")
+    return jsonError("Decision type must be a boolean", 400);
+
+  await context.env.D1.prepare(
+    "UPDATE events SET approved = ?, pending = 0 WHERE id = ?;",
+  )
+    .bind(Number(context.data.body.approved), context.data.event.id)
+    .run();
+
+  return new Response(null, {
+    status: 204,
+  });
+}