{
  "@context": "https://schema.org",
  "@type": "WebApplication",
  "name": "UIPrep",
  "alternateName": "UI Post-UTME Practice",
  "description": "Practice platform for University of Ibadan Post-UTME past questions with explanations, Roman Series support, timed mock exams, and study tools.",
  "url": "https://uipostutme.com",
  "applicationCategory": "EducationalApplication",
  "operatingSystem": "Web",
  "inLanguage": "en-NG",
  "documentation": "https://uipostutme.com/docs/api",
  "apiCatalog": "https://uipostutme.com/.well-known/api-catalog",
  "oauthProtectedResource": "https://uipostutme.com/.well-known/oauth-protected-resource",
  "oauthAuthorizationServer": "https://uipostutme.com/.well-known/oauth-authorization-server",
  "jwksUri": "https://uipostutme.com/.well-known/jwks.json",
  "markdownNegotiation": {
    "enabled": true,
    "acceptHeader": "text/markdown",
    "homepageMarkdown": "https://uipostutme.com/ (send Accept: text/markdown)"
  },
  "webBotAuth": {
    "directory": "https://uipostutme.com/.well-known/http-message-signatures-directory",
    "signatureAgent": "https://uipostutme.com/.well-known/http-message-signatures-directory"
  },
  "dnsAid": {
    "index": "_index._agents.uipostutme.com",
    "recordType": "HTTPS",
    "target": "uipostutme.com",
    "setup": "https://github.com/eluthmaaniy/uipostutme/blob/main/docs/dns-aid.md"
  },
  "apis": [
    {
      "name": "ai-explanation",
      "description": "Generates step-by-step explanations for practice questions (authenticated, premium).",
      "method": "POST",
      "endpoint": "https://ysjeftqkxhgxlvsywhks.supabase.co/functions/v1/ai-explanation",
      "authentication": "Bearer JWT (Supabase session) + apikey header"
    },
    {
      "name": "extract-questions",
      "description": "Admin-only AI extraction of questions from uploaded booklet images.",
      "method": "POST",
      "endpoint": "https://ysjeftqkxhgxlvsywhks.supabase.co/functions/v1/extract-questions",
      "authentication": "Bearer JWT (admin) + apikey header"
    },
    {
      "name": "verify-paystack",
      "description": "Verifies Paystack payment and upgrades user plan.",
      "method": "POST",
      "endpoint": "https://ysjeftqkxhgxlvsywhks.supabase.co/functions/v1/verify-paystack",
      "authentication": "Bearer JWT + apikey header"
    }
  ],
  "dataStore": {
    "type": "Supabase",
    "description": "Primary data via Supabase Postgres with Row Level Security; client SDK for authenticated reads/writes."
  }
}
