{"record":{"id":"cc5e270fd8080de3","repo":"supabase/supabase","slug":"authorization-token-is-required-cc5e27","errorCode":null,"errorMessage":"Authorization token is required","messagePattern":"Authorization token is required","errorType":"http","errorClass":null,"httpStatus":401,"severity":"error","filePath":"apps/studio/pages/api/ai/sql/policy.ts","lineNumber":63,"sourceCode":"\nasync function handler(req: NextApiRequest, res: NextApiResponse, claims?: JwtPayload) {\n  const { method } = req\n\n  switch (method) {\n    case 'POST':\n      return handlePost(req, res, claims)\n    default:\n      res.setHeader('Allow', ['POST'])\n      res.status(405).json({ data: null, error: { message: `Method ${method} Not Allowed` } })\n  }\n}\n\nexport async function handlePost(req: NextApiRequest, res: NextApiResponse, claims?: JwtPayload) {\n  const authorization = req.headers.authorization\n  const accessToken = authorization?.replace('Bearer ', '')\n\n  if (IS_PLATFORM && !accessToken) {\n    return res.status(401).json({ error: 'Authorization token is required' })\n  }\n\n  const body = typeof req.body === 'string' ? JSON.parse(req.body) : req.body\n  const { data, error: parseError } = requestBodySchema.safeParse(body)\n\n  if (parseError) {\n    return res.status(400).json({ error: 'Invalid request body', issues: parseError.issues })\n  }\n\n  const { tableName, schema, columns = [], projectRef, connectionString, orgSlug, message } = data\n\n  let aiOptInLevel: AiOptInLevel = 'disabled'\n\n  if (!IS_PLATFORM) {\n    aiOptInLevel = 'schema'\n  }\n\n  if (IS_PLATFORM && orgSlug && authorization && projectRef) {","sourceCodeStart":45,"sourceCodeEnd":81,"githubUrl":"https://github.com/supabase/supabase/blob/beee91b9c2228dd57302dec75c733baaa84ab543/apps/studio/pages/api/ai/sql/policy.ts#L45-L81","documentation":"Error \"Authorization token is required\" thrown in supabase/supabase.","triggerScenarios":"Thrown at apps/studio/pages/api/ai/sql/policy.ts:63 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"beee91b9c2228dd57302dec75c733baaa84ab543","analyzedAt":"2026-08-12T06:51:48.935Z","schemaVersion":2},"datasetVersion":"2026-08-12T12:31:55.035Z"}