{"record":{"id":"b4ba5c4ca9c32f3c","repo":"vercel/next.js","slug":"warning-a-dynamic-page-path-originalpath-was","errorCode":null,"errorMessage":"Warning: a dynamic page path \"${originalPath}\" was passed to \"revalidatePath\", but the \"type\" parameter is missing. This has no effect by default, see more info here https://nextjs.org/docs/app/api-reference/functions/revalidatePath","messagePattern":"Warning: a dynamic page path \"(.+?)\" was passed to \"revalidatePath\", but the \"type\" parameter is missing\\. This has no effect by default, see more info here https://nextjs\\.org/docs/app/api-reference/functions/revalidatePath","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/next/src/server/web/spec-extension/revalidate.ts","lineNumber":119,"sourceCode":"/**\n * This function allows you to purge [cached data](https://nextjs.org/docs/app/building-your-application/caching) on-demand for a specific path.\n *\n * Read more: [Next.js Docs: `revalidatePath`](https://nextjs.org/docs/app/api-reference/functions/revalidatePath)\n */\nexport function revalidatePath(originalPath: string, type?: 'layout' | 'page') {\n  if (originalPath.length > NEXT_CACHE_SOFT_TAG_MAX_LENGTH) {\n    console.warn(\n      `Warning: revalidatePath received \"${originalPath}\" which exceeded max length of ${NEXT_CACHE_SOFT_TAG_MAX_LENGTH}. See more info here https://nextjs.org/docs/app/api-reference/functions/revalidatePath`\n    )\n    return\n  }\n\n  let normalizedPath = `${NEXT_CACHE_IMPLICIT_TAG_ID}${encodeHeaderSafe(removeTrailingSlash(originalPath))}`\n\n  if (type) {\n    normalizedPath += `${normalizedPath.endsWith('/') ? '' : '/'}${type}`\n  } else if (isDynamicRoute(originalPath)) {\n    console.warn(\n      `Warning: a dynamic page path \"${originalPath}\" was passed to \"revalidatePath\", but the \"type\" parameter is missing. This has no effect by default, see more info here https://nextjs.org/docs/app/api-reference/functions/revalidatePath`\n    )\n  }\n\n  const tags = [normalizedPath]\n  if (normalizedPath === `${NEXT_CACHE_IMPLICIT_TAG_ID}/`) {\n    tags.push(`${NEXT_CACHE_IMPLICIT_TAG_ID}/index`)\n  } else if (normalizedPath === `${NEXT_CACHE_IMPLICIT_TAG_ID}/index`) {\n    tags.push(`${NEXT_CACHE_IMPLICIT_TAG_ID}/`)\n  }\n\n  return revalidate(tags, `revalidatePath(${JSON.stringify(originalPath)})`)\n}\n\nfunction revalidate(\n  tags: string[],\n  expression: string,\n  profile?: string | CacheLifeConfig","sourceCodeStart":101,"sourceCodeEnd":137,"githubUrl":"https://github.com/vercel/next.js/blob/258b1c1bc05f7099816b88f70b7b3422b24a4b8d/packages/next/src/server/web/spec-extension/revalidate.ts#L101-L137","documentation":"Error \"Warning: a dynamic page path \"${originalPath}\" was passed to \"revalidatePath\", but the \"type\" parameter is missing. This has no effect by default, see more info here https://nextjs.org/docs/app/api-reference/functions/revalidatePath\" thrown in vercel/next.js.","triggerScenarios":"Thrown at packages/next/src/server/web/spec-extension/revalidate.ts:110 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Pass the `type` parameter: `revalidatePath(path, \"page\")` or `revalidatePath(path, \"layout\")` for dynamic paths."],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"258b1c1bc05f7099816b88f70b7b3422b24a4b8d","analyzedAt":"2026-08-19T02:10:13.922Z","contentChangedAt":"2026-08-19T02:10:13.922Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}