1:"$Sreact.fragment" 3:I[39756,["/aie-studio/_next/static/chunks/0x.~j7vy9ohz0.js","/aie-studio/_next/static/chunks/0e_.adub9xgmz.js","/aie-studio/_next/static/chunks/0zro7kirewiu0.js","/aie-studio/_next/static/chunks/0d3shmwh5_nmn.js","/aie-studio/_next/static/chunks/020_l0tuo4z6d.js"],"default"] 4:I[37457,["/aie-studio/_next/static/chunks/0x.~j7vy9ohz0.js","/aie-studio/_next/static/chunks/0e_.adub9xgmz.js","/aie-studio/_next/static/chunks/0zro7kirewiu0.js","/aie-studio/_next/static/chunks/0d3shmwh5_nmn.js","/aie-studio/_next/static/chunks/020_l0tuo4z6d.js"],"default"] 5:I[55169,["/aie-studio/_next/static/chunks/0x.~j7vy9ohz0.js","/aie-studio/_next/static/chunks/0e_.adub9xgmz.js","/aie-studio/_next/static/chunks/0zro7kirewiu0.js","/aie-studio/_next/static/chunks/0d3shmwh5_nmn.js","/aie-studio/_next/static/chunks/020_l0tuo4z6d.js"],"TOCProvider"] 6:I[769,["/aie-studio/_next/static/chunks/0x.~j7vy9ohz0.js","/aie-studio/_next/static/chunks/0e_.adub9xgmz.js","/aie-studio/_next/static/chunks/0zro7kirewiu0.js","/aie-studio/_next/static/chunks/0d3shmwh5_nmn.js","/aie-studio/_next/static/chunks/020_l0tuo4z6d.js"],"Sidebar"] 7:I[47486,["/aie-studio/_next/static/chunks/0x.~j7vy9ohz0.js","/aie-studio/_next/static/chunks/0e_.adub9xgmz.js","/aie-studio/_next/static/chunks/0zro7kirewiu0.js","/aie-studio/_next/static/chunks/0d3shmwh5_nmn.js","/aie-studio/_next/static/chunks/020_l0tuo4z6d.js"],"ClientWrapper"] 9:I[63894,["/aie-studio/_next/static/chunks/0x.~j7vy9ohz0.js","/aie-studio/_next/static/chunks/0e_.adub9xgmz.js","/aie-studio/_next/static/chunks/0zro7kirewiu0.js","/aie-studio/_next/static/chunks/0d3shmwh5_nmn.js","/aie-studio/_next/static/chunks/020_l0tuo4z6d.js"],"HeadingAnchor"] 16:I[68027,["/aie-studio/_next/static/chunks/0x.~j7vy9ohz0.js","/aie-studio/_next/static/chunks/0e_.adub9xgmz.js","/aie-studio/_next/static/chunks/0zro7kirewiu0.js","/aie-studio/_next/static/chunks/0d3shmwh5_nmn.js","/aie-studio/_next/static/chunks/020_l0tuo4z6d.js"],"default",1] :HL["/aie-studio/_next/static/chunks/04r~hr~scxq.3.css","style"] 8:T4e2,# Webhook Endpoints ## Stripe Webhook **Endpoint:** `POST /stripe/webhook` **Description:** Receives events from Stripe when a credit purchase is completed. **Security:** - Stripe signature verification using `STRIPE_WEBHOOK_SECRET` - Returns `400 Invalid signature` if verification fails - Returns `400 Invalid payload` if the payload is malformed **Events Handled:** | Event | Description | |-------|-------------| | `checkout.session.completed` | A credit purchase was successful. Credits are atomically added to the institute's balance. | **Metadata Expected:** | Field | Type | Description | |-------|------|-------------| | `institute_id` | integer | The institute to credit | | `credits` | integer | Number of credits to add | **Idempotency:** The endpoint checks `Transaction::where('stripe_session_id', $session->id)` before processing. Duplicate webhooks return `200 Already processed` without double-crediting. **Response Codes:** | Code | Meaning | |------|---------| | `200 OK` | Event processed or already processed | | `400 Invalid signature` | Webhook signature verification failed | | `400 Invalid payload` | Payload could not be parsed | | `200 Missing metadata` | Required metadata fields were absent (logged as error) |0:{"P":null,"c":["","api-reference","webhooks"],"q":"","i":false,"f":[[["",{"children":["api-reference",{"children":["webhooks",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",16],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/aie-studio/_next/static/chunks/04r~hr~scxq.3.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/aie-studio/_next/static/chunks/0x.~j7vy9ohz0.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/aie-studio/_next/static/chunks/0e_.adub9xgmz.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/aie-studio/_next/static/chunks/0zro7kirewiu0.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/aie-studio/_next/static/chunks/0d3shmwh5_nmn.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/aie-studio/_next/static/chunks/020_l0tuo4z6d.js","async":true,"nonce":"$undefined"}]],"$L2"]}],{"children":[["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","div",null,{"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width)","children":["$","$L5",null,{"value":[{"value":"Stripe Webhook","id":"stripe-webhook","depth":2}],"children":[["$","$L6",null,{}],["$","$L7",null,{"metadata":{"title":"Webhook Endpoints","filePath":"app/api-reference/webhooks/page.mdx","timestamp":1780176763000},"bottomContent":"$undefined","sourceCode":"$8","children":[["$","div",null,{"id":"nextra-skip-nav"}],["$","main",null,{"data-pagefind-body":true,"children":[["$","h1",null,{"id":"$undefined","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-bold x:mt-2 x:text-4xl","children":["Webhook Endpoints","$undefined"]}],"\n",["$","h2",null,{"id":"stripe-webhook","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["Stripe Webhook",["$","$L9",null,{"id":"stripe-webhook"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-[1.25em] x:leading-7","children":[["$","strong",null,{"children":"Endpoint:"}]," ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"POST /stripe/webhook"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-[1.25em] x:leading-7","children":[["$","strong",null,{"children":"Description:"}]," Receives events from Stripe when a credit purchase is completed."]}],"\n",["$","p",null,{"className":"x:not-first:mt-[1.25em] x:leading-7","children":"$La"}],"\n","$Lb","\n","$Lc","\n","$Ld","\n","$Le","\n","$Lf","\n","$L10","\n","$L11","\n","$L12"]}]]}]]}]}],null,"$L13"]}],{},null,false,null]},null,false,"$@14"]},null,false,"$@14"]},null,false,null],"$L15",false]],"m":"$undefined","G":["$16",["$L17"]],"S":true,"h":null,"s":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"irBhPjOk2TMxfFT2bXCOe"} 18:I[97367,["/aie-studio/_next/static/chunks/0x.~j7vy9ohz0.js","/aie-studio/_next/static/chunks/0e_.adub9xgmz.js","/aie-studio/_next/static/chunks/0zro7kirewiu0.js","/aie-studio/_next/static/chunks/0d3shmwh5_nmn.js","/aie-studio/_next/static/chunks/020_l0tuo4z6d.js"],"OutletBoundary"] 19:"$Sreact.suspense" 1c:I[97367,["/aie-studio/_next/static/chunks/0x.~j7vy9ohz0.js","/aie-studio/_next/static/chunks/0e_.adub9xgmz.js","/aie-studio/_next/static/chunks/0zro7kirewiu0.js","/aie-studio/_next/static/chunks/0d3shmwh5_nmn.js","/aie-studio/_next/static/chunks/020_l0tuo4z6d.js"],"ViewportBoundary"] 1e:I[97367,["/aie-studio/_next/static/chunks/0x.~j7vy9ohz0.js","/aie-studio/_next/static/chunks/0e_.adub9xgmz.js","/aie-studio/_next/static/chunks/0zro7kirewiu0.js","/aie-studio/_next/static/chunks/0d3shmwh5_nmn.js","/aie-studio/_next/static/chunks/020_l0tuo4z6d.js"],"MetadataBoundary"] a:["$","strong",null,{"children":"Security:"}] b:["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-[.75em] x:not-first:mt-[1.25em] x:list-disc x:ms-[1.5em]","children":["\n",["$","li",null,{"className":"x:my-[.5em]","children":["Stripe signature verification using ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"STRIPE_WEBHOOK_SECRET"}]]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":["Returns ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"400 Invalid signature"}]," if verification fails"]}],"\n",["$","li",null,{"className":"x:my-[.5em]","children":["Returns ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"400 Invalid payload"}]," if the payload is malformed"]}],"\n"]}] c:["$","p",null,{"className":"x:not-first:mt-[1.25em] x:leading-7","children":["$","strong",null,{"children":"Events Handled:"}]}] d:["$","table",null,{"className":"x:block x:overflow-x-auto nextra-scrollbar x:not-first:mt-[1.25em] x:p-0","children":[["$","thead",null,{"children":["$","tr",null,{"children":[["$","th",null,{"children":"Event","className":"x:m-0 x:border x:border-gray-300 x:px-4 x:py-2 x:font-semibold x:dark:border-gray-600"}],["$","th",null,{"children":"Description","className":"x:m-0 x:border x:border-gray-300 x:px-4 x:py-2 x:font-semibold x:dark:border-gray-600"}]],"className":"x:m-0 x:border-t x:border-gray-300 x:p-0 x:dark:border-gray-600 x:even:bg-gray-100 x:even:dark:bg-gray-600/20"}]}],["$","tbody",null,{"children":["$","tr",null,{"children":[["$","td",null,{"children":["$","code",null,{"className":"nextra-code","dir":"ltr","children":"checkout.session.completed"}],"className":"x:m-0 x:border x:border-gray-300 x:px-4 x:py-2 x:dark:border-gray-600"}],["$","td",null,{"children":"A credit purchase was successful. Credits are atomically added to the institute’s balance.","className":"x:m-0 x:border x:border-gray-300 x:px-4 x:py-2 x:dark:border-gray-600"}]],"className":"x:m-0 x:border-t x:border-gray-300 x:p-0 x:dark:border-gray-600 x:even:bg-gray-100 x:even:dark:bg-gray-600/20"}]}]]}] e:["$","p",null,{"className":"x:not-first:mt-[1.25em] x:leading-7","children":["$","strong",null,{"children":"Metadata Expected:"}]}] f:["$","table",null,{"className":"x:block x:overflow-x-auto nextra-scrollbar x:not-first:mt-[1.25em] x:p-0","children":[["$","thead",null,{"children":["$","tr",null,{"children":[["$","th",null,{"children":"Field","className":"x:m-0 x:border x:border-gray-300 x:px-4 x:py-2 x:font-semibold x:dark:border-gray-600"}],["$","th",null,{"children":"Type","className":"x:m-0 x:border x:border-gray-300 x:px-4 x:py-2 x:font-semibold x:dark:border-gray-600"}],["$","th",null,{"children":"Description","className":"x:m-0 x:border x:border-gray-300 x:px-4 x:py-2 x:font-semibold x:dark:border-gray-600"}]],"className":"x:m-0 x:border-t x:border-gray-300 x:p-0 x:dark:border-gray-600 x:even:bg-gray-100 x:even:dark:bg-gray-600/20"}]}],["$","tbody",null,{"children":[["$","tr",null,{"children":[["$","td",null,{"children":["$","code",null,{"className":"nextra-code","dir":"ltr","children":"institute_id"}],"className":"x:m-0 x:border x:border-gray-300 x:px-4 x:py-2 x:dark:border-gray-600"}],["$","td",null,{"children":"integer","className":"x:m-0 x:border x:border-gray-300 x:px-4 x:py-2 x:dark:border-gray-600"}],["$","td",null,{"children":"The institute to credit","className":"x:m-0 x:border x:border-gray-300 x:px-4 x:py-2 x:dark:border-gray-600"}]],"className":"x:m-0 x:border-t x:border-gray-300 x:p-0 x:dark:border-gray-600 x:even:bg-gray-100 x:even:dark:bg-gray-600/20"}],["$","tr",null,{"children":[["$","td",null,{"children":["$","code",null,{"className":"nextra-code","dir":"ltr","children":"credits"}],"className":"x:m-0 x:border x:border-gray-300 x:px-4 x:py-2 x:dark:border-gray-600"}],["$","td",null,{"children":"integer","className":"x:m-0 x:border x:border-gray-300 x:px-4 x:py-2 x:dark:border-gray-600"}],["$","td",null,{"children":"Number of credits to add","className":"x:m-0 x:border x:border-gray-300 x:px-4 x:py-2 x:dark:border-gray-600"}]],"className":"x:m-0 x:border-t x:border-gray-300 x:p-0 x:dark:border-gray-600 x:even:bg-gray-100 x:even:dark:bg-gray-600/20"}]]}]]}] 10:["$","p",null,{"className":"x:not-first:mt-[1.25em] x:leading-7","children":[["$","strong",null,{"children":"Idempotency:"}],"\nThe endpoint checks ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"Transaction::where('stripe_session_id', $session->id)"}]," before processing. Duplicate webhooks return ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"200 Already processed"}]," without double-crediting."]}] 11:["$","p",null,{"className":"x:not-first:mt-[1.25em] x:leading-7","children":["$","strong",null,{"children":"Response Codes:"}]}] 12:["$","table",null,{"className":"x:block x:overflow-x-auto nextra-scrollbar x:not-first:mt-[1.25em] x:p-0","children":[["$","thead",null,{"children":["$","tr",null,{"children":[["$","th",null,{"children":"Code","className":"x:m-0 x:border x:border-gray-300 x:px-4 x:py-2 x:font-semibold x:dark:border-gray-600"}],["$","th",null,{"children":"Meaning","className":"x:m-0 x:border x:border-gray-300 x:px-4 x:py-2 x:font-semibold x:dark:border-gray-600"}]],"className":"x:m-0 x:border-t x:border-gray-300 x:p-0 x:dark:border-gray-600 x:even:bg-gray-100 x:even:dark:bg-gray-600/20"}]}],["$","tbody",null,{"children":[["$","tr",null,{"children":[["$","td",null,{"children":["$","code",null,{"className":"nextra-code","dir":"ltr","children":"200 OK"}],"className":"x:m-0 x:border x:border-gray-300 x:px-4 x:py-2 x:dark:border-gray-600"}],["$","td",null,{"children":"Event processed or already processed","className":"x:m-0 x:border x:border-gray-300 x:px-4 x:py-2 x:dark:border-gray-600"}]],"className":"x:m-0 x:border-t x:border-gray-300 x:p-0 x:dark:border-gray-600 x:even:bg-gray-100 x:even:dark:bg-gray-600/20"}],["$","tr",null,{"children":[["$","td",null,{"children":["$","code",null,{"className":"nextra-code","dir":"ltr","children":"400 Invalid signature"}],"className":"x:m-0 x:border x:border-gray-300 x:px-4 x:py-2 x:dark:border-gray-600"}],["$","td",null,{"children":"Webhook signature verification failed","className":"x:m-0 x:border x:border-gray-300 x:px-4 x:py-2 x:dark:border-gray-600"}]],"className":"x:m-0 x:border-t x:border-gray-300 x:p-0 x:dark:border-gray-600 x:even:bg-gray-100 x:even:dark:bg-gray-600/20"}],["$","tr",null,{"children":[["$","td",null,{"children":["$","code",null,{"className":"nextra-code","dir":"ltr","children":"400 Invalid payload"}],"className":"x:m-0 x:border x:border-gray-300 x:px-4 x:py-2 x:dark:border-gray-600"}],["$","td",null,{"children":"Payload could not be parsed","className":"x:m-0 x:border x:border-gray-300 x:px-4 x:py-2 x:dark:border-gray-600"}]],"className":"x:m-0 x:border-t x:border-gray-300 x:p-0 x:dark:border-gray-600 x:even:bg-gray-100 x:even:dark:bg-gray-600/20"}],["$","tr",null,{"children":[["$","td",null,{"children":["$","code",null,{"className":"nextra-code","dir":"ltr","children":"200 Missing metadata"}],"className":"x:m-0 x:border x:border-gray-300 x:px-4 x:py-2 x:dark:border-gray-600"}],["$","td",null,{"children":"Required metadata fields were absent (logged as error)","className":"x:m-0 x:border x:border-gray-300 x:px-4 x:py-2 x:dark:border-gray-600"}]],"className":"x:m-0 x:border-t x:border-gray-300 x:p-0 x:dark:border-gray-600 x:even:bg-gray-100 x:even:dark:bg-gray-600/20"}]]}]]}] 13:["$","$L18",null,{"children":["$","$19",null,{"name":"Next.MetadataOutlet","children":"$@1a"}]}] 1b:[] 14:"$W1b" 15:["$","$1","h",{"children":[null,["$","$L1c",null,{"children":"$L1d"}],["$","div",null,{"hidden":true,"children":["$","$L1e",null,{"children":["$","$19",null,{"name":"Next.Metadata","children":"$L1f"}]}]}],null]}] 17:["$","link","0",{"rel":"stylesheet","href":"/aie-studio/_next/static/chunks/04r~hr~scxq.3.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}] 20:I[68386,["/aie-studio/_next/static/chunks/0x.~j7vy9ohz0.js","/aie-studio/_next/static/chunks/0e_.adub9xgmz.js","/aie-studio/_next/static/chunks/0zro7kirewiu0.js","/aie-studio/_next/static/chunks/0d3shmwh5_nmn.js","/aie-studio/_next/static/chunks/020_l0tuo4z6d.js"],"ThemeConfigProvider"] 21:I[6344,["/aie-studio/_next/static/chunks/0x.~j7vy9ohz0.js","/aie-studio/_next/static/chunks/0e_.adub9xgmz.js","/aie-studio/_next/static/chunks/0zro7kirewiu0.js","/aie-studio/_next/static/chunks/0d3shmwh5_nmn.js","/aie-studio/_next/static/chunks/020_l0tuo4z6d.js"],"LastUpdated"] 22:I[98091,["/aie-studio/_next/static/chunks/0x.~j7vy9ohz0.js","/aie-studio/_next/static/chunks/0e_.adub9xgmz.js","/aie-studio/_next/static/chunks/0zro7kirewiu0.js","/aie-studio/_next/static/chunks/0d3shmwh5_nmn.js","/aie-studio/_next/static/chunks/020_l0tuo4z6d.js"],"Search"] 23:I[63178,["/aie-studio/_next/static/chunks/0x.~j7vy9ohz0.js","/aie-studio/_next/static/chunks/0e_.adub9xgmz.js","/aie-studio/_next/static/chunks/0zro7kirewiu0.js","/aie-studio/_next/static/chunks/0d3shmwh5_nmn.js","/aie-studio/_next/static/chunks/020_l0tuo4z6d.js"],"ThemeProvider"] 24:I[91675,["/aie-studio/_next/static/chunks/0x.~j7vy9ohz0.js","/aie-studio/_next/static/chunks/0e_.adub9xgmz.js","/aie-studio/_next/static/chunks/0zro7kirewiu0.js","/aie-studio/_next/static/chunks/0d3shmwh5_nmn.js","/aie-studio/_next/static/chunks/020_l0tuo4z6d.js"],"SkipNavLink"] 25:I[37985,["/aie-studio/_next/static/chunks/0x.~j7vy9ohz0.js","/aie-studio/_next/static/chunks/0e_.adub9xgmz.js","/aie-studio/_next/static/chunks/0zro7kirewiu0.js","/aie-studio/_next/static/chunks/0d3shmwh5_nmn.js","/aie-studio/_next/static/chunks/020_l0tuo4z6d.js"],"ConfigProvider"] 2:["$","html",null,{"lang":"en","dir":"ltr","suppressHydrationWarning":true,"children":[["$","head",null,{"children":["$undefined",["$","style",null,{"children":":root {\n --nextra-primary-hue: 0deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 45%;\n --nextra-bg: 254,252,232;\n --nextra-content-width: 90rem;\n}\n.dark {\n --nextra-primary-hue: 120deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 55%;\n --nextra-bg: 15,23,42;\n}\n::selection {\n background: hsla(var(--nextra-primary-hue),var(--nextra-primary-saturation),var(--nextra-primary-lightness),.3);\n}\nhtml {\n background: rgb(var(--nextra-bg));\n}"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: light)","content":"rgb(254,252,232)"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: dark)","content":"rgb(15,23,42)"}],"$undefined"]}],["$","body",null,{"children":["$","$L20",null,{"value":{"children":["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","div",null,{"style":{"textAlign":"center","padding":"4rem 2rem"},"children":[["$","h1",null,{"children":"404 - Page Not Found"}],["$","p",null,{"children":"The page you are looking for does not exist."}]]}],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],"copyPageButton":true,"darkMode":true,"docsRepositoryBase":"https://github.com/shuding/nextra","editLink":false,"feedback":{"content":null,"labels":"feedback"},"i18n":[],"lastUpdated":["$","$L21",null,{}],"navigation":{"next":true,"prev":true},"search":["$","$L22",null,{}],"sidebar":{"defaultMenuCollapseLevel":1,"defaultOpen":true,"toggleButton":true},"themeSwitch":{"dark":"Dark","light":"Light","system":"System"},"toc":{"backToTop":"Scroll to top","float":true,"title":"On This Page"}},"children":["$","$L23",null,{"attribute":"class","defaultTheme":"system","disableTransitionOnChange":true,"storageKey":"theme","children":[["$","$L24",null,{}],"$undefined",["$","$L25",null,{"pageMap":[{"data":{"index":{"title":"Introduction"},"installation":{"title":"Installation Guide"},"super-admin":{"title":"Super Admin Guide"},"institute-admin":{"title":"Institute Admin Guide"},"student":{"title":"Student Guide"},"api-reference":{"title":"API Reference"}}},{"name":"index","route":"/","frontMatter":{"title":"AI Education Studio","filePath":"app/page.mdx","timestamp":1780176763000},"title":"Introduction"},{"name":"installation","route":"/installation","children":[{"data":{"index":{"title":"Overview"},"system-dependencies":{"title":"Step 1: System Dependencies"},"mysql-config":{"title":"Step 2: Configure MySQL"},"application-setup":{"title":"Step 3: Application Setup"},"dependencies":{"title":"Step 4: Dependencies"},"install-wizard":{"title":"Step 5: Install Wizard"},"queue-workers":{"title":"Step 6: Queue Workers"},"scheduler":{"title":"Step 7: Scheduler"},"nginx-config":{"title":"Step 8: Nginx"},"ssl-setup":{"title":"Step 9: SSL"},"first-login":{"title":"Step 10: First Login"},"troubleshooting":{"title":"Troubleshooting"}}},{"name":"index","route":"/installation","frontMatter":{"title":"Installation Guide","filePath":"app/installation/page.mdx","timestamp":1780176763000},"title":"Overview"},{"name":"system-dependencies","route":"/installation/system-dependencies","frontMatter":{"title":"Step 1: Install System Dependencies","filePath":"app/installation/system-dependencies/page.mdx","timestamp":1780176763000},"title":"Step 1: System Dependencies"},{"name":"mysql-config","route":"/installation/mysql-config","frontMatter":{"title":"Step 2: Configure MySQL","filePath":"app/installation/mysql-config/page.mdx","timestamp":1780176763000},"title":"Step 2: Configure MySQL"},{"name":"application-setup","route":"/installation/application-setup","frontMatter":{"title":"Step 3: Configure the Application","filePath":"app/installation/application-setup/page.mdx","timestamp":1780176763000},"title":"Step 3: Application Setup"},{"name":"dependencies","route":"/installation/dependencies","frontMatter":{"title":"Step 4: Install PHP and Node Dependencies","filePath":"app/installation/dependencies/page.mdx","timestamp":1780176763000},"title":"Step 4: Dependencies"},{"name":"install-wizard","route":"/installation/install-wizard","frontMatter":{"title":"Step 5: Run the Install Wizard","filePath":"app/installation/install-wizard/page.mdx","timestamp":1780176763000},"title":"Step 5: Install Wizard"},{"name":"queue-workers","route":"/installation/queue-workers","frontMatter":{"title":"Step 6: Configure Queue Workers","filePath":"app/installation/queue-workers/page.mdx","timestamp":1780176763000},"title":"Step 6: Queue Workers"},{"name":"scheduler","route":"/installation/scheduler","frontMatter":{"title":"Step 7: Configure the Scheduler","filePath":"app/installation/scheduler/page.mdx","timestamp":1780176763000},"title":"Step 7: Scheduler"},{"name":"nginx-config","route":"/installation/nginx-config","frontMatter":{"title":"Step 8: Configure Nginx","filePath":"app/installation/nginx-config/page.mdx","timestamp":1780176763000},"title":"Step 8: Nginx"},{"name":"ssl-setup","route":"/installation/ssl-setup","frontMatter":{"title":"Step 9: Set Up SSL with Let's Encrypt","filePath":"app/installation/ssl-setup/page.mdx","timestamp":1780176763000},"title":"Step 9: SSL"},{"name":"first-login","route":"/installation/first-login","frontMatter":{"title":"Step 10: First Login","filePath":"app/installation/first-login/page.mdx","timestamp":1780176763000},"title":"Step 10: First Login"},{"name":"troubleshooting","route":"/installation/troubleshooting","frontMatter":{"title":"Troubleshooting","filePath":"app/installation/troubleshooting/page.mdx","timestamp":1780176763000},"title":"Troubleshooting"}],"title":"Installation Guide"},{"name":"super-admin","route":"/super-admin","children":[{"data":{"index":{"title":"Overview"},"first-login":{"title":"First Login"},"llm-config":{"title":"LLM Configuration"},"stripe-billing":{"title":"Stripe Billing"},"credit-packages":{"title":"Credit Packages"},"institute-management":{"title":"Institute Management"},"website-settings":{"title":"Website Settings"},"license":{"title":"License Activation"}}},{"name":"index","route":"/super-admin","frontMatter":{"title":"Super Admin Guide","filePath":"app/super-admin/page.mdx","timestamp":1780176763000},"title":"Overview"},{"name":"first-login","route":"/super-admin/first-login","frontMatter":{"title":"First Login","filePath":"app/super-admin/first-login/page.mdx","timestamp":1780176763000},"title":"First Login"},{"name":"llm-config","route":"/super-admin/llm-config","frontMatter":{"title":"LLM Configuration","filePath":"app/super-admin/llm-config/page.mdx","timestamp":1780176763000},"title":"LLM Configuration"},{"name":"stripe-billing","route":"/super-admin/stripe-billing","frontMatter":{"title":"Stripe Billing Setup","filePath":"app/super-admin/stripe-billing/page.mdx","timestamp":1780176763000},"title":"Stripe Billing"},{"name":"credit-packages","route":"/super-admin/credit-packages","frontMatter":{"title":"Credit Package Management","filePath":"app/super-admin/credit-packages/page.mdx","timestamp":1780176763000},"title":"Credit Packages"},{"name":"institute-management","route":"/super-admin/institute-management","frontMatter":{"title":"Institute Management","filePath":"app/super-admin/institute-management/page.mdx","timestamp":1780176763000},"title":"Institute Management"},{"name":"website-settings","route":"/super-admin/website-settings","frontMatter":{"title":"Website Settings","filePath":"app/super-admin/website-settings/page.mdx","timestamp":1780176763000},"title":"Website Settings"},{"name":"license","route":"/super-admin/license","frontMatter":{"title":"License Activation","filePath":"app/super-admin/license/page.mdx","timestamp":1780176763000},"title":"License Activation"}],"title":"Super Admin Guide"},{"name":"institute-admin","route":"/institute-admin","children":[{"data":{"index":{"title":"Overview"},"dashboard":{"title":"Dashboard"},"creating-exams":{"title":"Creating Exams"},"managing-students":{"title":"Managing Students"},"attempts-results":{"title":"Attempts & Results"},"exporting-results":{"title":"Exporting Results"},"buying-credits":{"title":"Buying Credits"},"transaction-history":{"title":"Transaction History"}}},{"name":"index","route":"/institute-admin","frontMatter":{"title":"Institute Admin Guide","filePath":"app/institute-admin/page.mdx","timestamp":1780176763000},"title":"Overview"},{"name":"dashboard","route":"/institute-admin/dashboard","frontMatter":{"title":"Dashboard","filePath":"app/institute-admin/dashboard/page.mdx","timestamp":1780176763000},"title":"Dashboard"},{"name":"creating-exams","route":"/institute-admin/creating-exams","frontMatter":{"title":"Creating an Exam","filePath":"app/institute-admin/creating-exams/page.mdx","timestamp":1780176763000},"title":"Creating Exams"},{"name":"managing-students","route":"/institute-admin/managing-students","frontMatter":{"title":"Managing Students","filePath":"app/institute-admin/managing-students/page.mdx","timestamp":1780176763000},"title":"Managing Students"},{"name":"attempts-results","route":"/institute-admin/attempts-results","frontMatter":{"title":"Viewing Attempts and Results","filePath":"app/institute-admin/attempts-results/page.mdx","timestamp":1780176763000},"title":"Attempts & Results"},{"name":"exporting-results","route":"/institute-admin/exporting-results","frontMatter":{"title":"Exporting Results","filePath":"app/institute-admin/exporting-results/page.mdx","timestamp":1780176763000},"title":"Exporting Results"},{"name":"buying-credits","route":"/institute-admin/buying-credits","frontMatter":{"title":"Buying Credits","filePath":"app/institute-admin/buying-credits/page.mdx","timestamp":1780176763000},"title":"Buying Credits"},{"name":"transaction-history","route":"/institute-admin/transaction-history","frontMatter":{"title":"Viewing Transaction History","filePath":"app/institute-admin/transaction-history/page.mdx","timestamp":1780176763000},"title":"Transaction History"}],"title":"Institute Admin Guide"},{"name":"student","route":"/student","children":[{"data":{"index":{"title":"Overview"},"dashboard":{"title":"Dashboard"},"taking-exams":{"title":"Taking Exams"},"viewing-results":{"title":"Viewing Results"}}},{"name":"index","route":"/student","frontMatter":{"title":"Student Guide","filePath":"app/student/page.mdx","timestamp":1780176763000},"title":"Overview"},{"name":"dashboard","route":"/student/dashboard","frontMatter":{"title":"Dashboard","filePath":"app/student/dashboard/page.mdx","timestamp":1780176763000},"title":"Dashboard"},{"name":"taking-exams","route":"/student/taking-exams","frontMatter":{"title":"Taking an Exam","filePath":"app/student/taking-exams/page.mdx","timestamp":1780176763000},"title":"Taking Exams"},{"name":"viewing-results","route":"/student/viewing-results","frontMatter":{"title":"Viewing Results","filePath":"app/student/viewing-results/page.mdx","timestamp":1780176763000},"title":"Viewing Results"}],"title":"Student Guide"},{"name":"api-reference","route":"/api-reference","children":[{"data":{"index":{"title":"Overview"},"webhooks":{"title":"Webhook Endpoints"},"llm-schema":{"title":"LLM Provider Schema"},"env-variables":{"title":"Environment Variables"}}},{"name":"index","route":"/api-reference","frontMatter":{"title":"API Reference Appendix","filePath":"app/api-reference/page.mdx","timestamp":1780176763000},"title":"Overview"},{"name":"webhooks","route":"/api-reference/webhooks","frontMatter":{"title":"Webhook Endpoints","filePath":"app/api-reference/webhooks/page.mdx","timestamp":1780176763000},"title":"Webhook Endpoints"},{"name":"llm-schema","route":"/api-reference/llm-schema","frontMatter":{"title":"LLM Provider Configuration Schema","filePath":"app/api-reference/llm-schema/page.mdx","timestamp":1780176763000},"title":"LLM Provider Schema"},{"name":"env-variables","route":"/api-reference/env-variables","frontMatter":{"title":"Critical Environment Variables","filePath":"app/api-reference/env-variables/page.mdx","timestamp":1780176763000},"title":"Environment Variables"}],"title":"API Reference"}],"navbar":"$L26","footer":"$L27","children":["$L28","$2:props:children:1:props:children:props:value:children"]}]]}]}]}]]}] 29:I[22016,["/aie-studio/_next/static/chunks/0x.~j7vy9ohz0.js","/aie-studio/_next/static/chunks/0e_.adub9xgmz.js","/aie-studio/_next/static/chunks/0zro7kirewiu0.js","/aie-studio/_next/static/chunks/0d3shmwh5_nmn.js","/aie-studio/_next/static/chunks/020_l0tuo4z6d.js"],""] 2a:I[43634,["/aie-studio/_next/static/chunks/0x.~j7vy9ohz0.js","/aie-studio/_next/static/chunks/0e_.adub9xgmz.js","/aie-studio/_next/static/chunks/0zro7kirewiu0.js","/aie-studio/_next/static/chunks/0d3shmwh5_nmn.js","/aie-studio/_next/static/chunks/020_l0tuo4z6d.js"],"ClientNavbar"] 2b:I[31277,["/aie-studio/_next/static/chunks/0x.~j7vy9ohz0.js","/aie-studio/_next/static/chunks/0e_.adub9xgmz.js","/aie-studio/_next/static/chunks/0zro7kirewiu0.js","/aie-studio/_next/static/chunks/0d3shmwh5_nmn.js","/aie-studio/_next/static/chunks/020_l0tuo4z6d.js"],"Switchers"] 2c:I[34924,["/aie-studio/_next/static/chunks/0x.~j7vy9ohz0.js","/aie-studio/_next/static/chunks/0e_.adub9xgmz.js","/aie-studio/_next/static/chunks/0zro7kirewiu0.js","/aie-studio/_next/static/chunks/0d3shmwh5_nmn.js","/aie-studio/_next/static/chunks/020_l0tuo4z6d.js"],"LocaleSwitch"] 2d:I[75684,["/aie-studio/_next/static/chunks/0x.~j7vy9ohz0.js","/aie-studio/_next/static/chunks/0e_.adub9xgmz.js","/aie-studio/_next/static/chunks/0zro7kirewiu0.js","/aie-studio/_next/static/chunks/0d3shmwh5_nmn.js","/aie-studio/_next/static/chunks/020_l0tuo4z6d.js"],"ThemeSwitch"] 2e:I[769,["/aie-studio/_next/static/chunks/0x.~j7vy9ohz0.js","/aie-studio/_next/static/chunks/0e_.adub9xgmz.js","/aie-studio/_next/static/chunks/0zro7kirewiu0.js","/aie-studio/_next/static/chunks/0d3shmwh5_nmn.js","/aie-studio/_next/static/chunks/020_l0tuo4z6d.js"],"MobileNav"] 26:["$","header",null,{"className":"nextra-navbar x:sticky x:top-0 x:z-30 x:w-full x:bg-transparent x:print:hidden x:max-md:[.nextra-banner:not([class$=hidden])~&]:top-(--nextra-banner-height)","children":[["$","div",null,{"className":"nextra-navbar-blur x:absolute x:-z-1 x:size-full nextra-border x:border-b x:backdrop-blur-md x:bg-nextra-bg/70"}],["$","nav",null,{"style":{"height":"var(--nextra-navbar-height)"},"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width) x:items-center x:gap-4 x:pl-[max(env(safe-area-inset-left),1.5rem)] x:pr-[max(env(safe-area-inset-right),1.5rem)] x:justify-end","children":[["$","$L29",null,{"href":"/","className":"x:flex x:items-center x:me-auto x:transition-opacity x:focus-visible:nextra-focus x:hover:opacity-75","aria-label":"Home page","children":["$","b",null,{"children":"Docs"}]}],["$","$L2a",null,{"className":"","children":["$undefined","$undefined","$undefined"]}]]}]]}] 27:["$","div",null,{"className":"x:bg-gray-100 x:pb-[env(safe-area-inset-bottom)] x:dark:bg-neutral-900 x:print:bg-transparent","children":[["$","$L2b",null,{"children":["$","div",null,{"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width) x:gap-2 x:py-2 x:px-4","children":[["$","$L2c",null,{}],["$","$L2d",null,{}]]}]}],["$","hr",null,{"className":"nextra-border"}],["$","footer",null,{"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width) x:justify-center x:py-12 x:text-gray-600 x:dark:text-gray-400 x:md:justify-start x:pl-[max(env(safe-area-inset-left),1.5rem)] x:pr-[max(env(safe-area-inset-right),1.5rem)]","children":["MIT ",2026," © Your Project."]}]]}] 28:["$","$L2e",null,{}] 1d:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] 1a:null 1f:[["$","title","0",{"children":"Webhook Endpoints | Documentation"}],["$","meta","1",{"name":"description","content":"Your documentation site"}]]