{"record":{"id":"334ca1a40824ab54","repo":"mastra-ai/mastra","slug":"processor-provider-with-id-providerid-not-found","errorCode":null,"errorMessage":"Processor provider with id ${providerId} not found","messagePattern":"Processor provider with id (.+?) not found","errorType":"http","errorClass":"HTTPException","httpStatus":404,"severity":"warning","filePath":"packages/server/src/server/handlers/processor-providers.ts","lineNumber":75,"sourceCode":"  responseType: 'json',\n  pathParamSchema: processorProviderIdPathParams,\n  responseSchema: getProcessorProviderResponseSchema,\n  summary: 'Get processor provider details',\n  description: 'Returns details about a specific processor provider, including its configuration schema',\n  tags: ['Processor Providers'],\n  requiresAuth: true,\n  handler: async ({ mastra, providerId }) => {\n    try {\n      const editor = mastra.getEditor();\n\n      if (!editor) {\n        throw new HTTPException(500, { message: 'Editor is not configured' });\n      }\n\n      const provider = editor.getProcessorProvider(providerId);\n\n      if (!provider) {\n        throw new HTTPException(404, { message: `Processor provider with id ${providerId} not found` });\n      }\n\n      return {\n        ...provider.info,\n        availablePhases: provider.availablePhases,\n        configSchema: zodToJsonSchema(provider.configSchema) as Record<string, unknown>,\n      };\n    } catch (error) {\n      return handleError(error, 'Error getting processor provider');\n    }\n  },\n});\n","sourceCodeStart":57,"sourceCodeEnd":88,"githubUrl":"https://github.com/mastra-ai/mastra/blob/75dd419e613fe9c39f846ffc500716141b74fda6/packages/server/src/server/handlers/processor-providers.ts#L57-L88","documentation":"This HTTP 404 is thrown by GET /processor-providers/:providerId when the configured editor exists but has no processor provider registered under the requested `providerId`. It means the request itself was fine but the provider id is unknown to the editor's provider registry.","triggerScenarios":"GET /processor-providers/:providerId where `editor.getProcessorProvider(providerId)` returns undefined — e.g. a mistyped provider id in the URL, or a provider registered under a different id than the one requested.","commonSituations":"The playground UI cached a provider list from before the provider was renamed/removed; the provider is registered only in another environment; client code constructs the id from processor names instead of listing providers first via GET /processor-providers.","solutions":["Call GET /processor-providers first and use an id from that response.","Check the id registered in your editor configuration matches the requested providerId exactly (case-sensitive).","Ensure the provider is actually added to the editor's providers array in your Mastra setup.","Refresh the Studio/playground state if it cached a stale provider list."],"exampleFix":"// before\nconst provider = await fetch('/api/processor-providers/my-provider').then(r => r.json());\n// after\nconst { providers } = await fetch('/api/processor-providers').then(r => r.json());\nconst id = providers.find(p => p.name === 'My Provider')?.id;\nconst provider = id ? await fetch(`/api/processor-providers/${id}`).then(r => r.json()) : null;","handlingStrategy":"validation","validationCode":"const { providers } = await fetch('/api/processor-providers').then(r => r.json());\nif (!providers.some(p => p.id === providerId)) {\n  throw new Error(`Unknown processor provider: ${providerId}. Available: ${providers.map(p => p.id).join(', ')}`);\n}","typeGuard":"function isKnownProvider(providerId: string, providers: { id: string }[]): providerId is string {\n  return providers.some(p => p.id === providerId);\n}","tryCatchPattern":"try {\n  const res = await fetch(`/api/processor-providers/${providerId}`);\n  if (res.status === 404) {\n    console.warn(`Provider ${providerId} not registered; refreshing list`);\n    return null;\n  }\n  return await res.json();\n} catch (e) {\n  console.error(e);\n  return null;\n}","preventionTips":["Discover provider ids via GET /processor-providers instead of hardcoding them.","Keep provider ids stable across renames; use constants shared between server config and client.","Re-fetch the provider list after server restarts or config changes."],"tags":["mastra-server","not-found","processor-provider","http-404"],"backgroundTag":"resource-not-found","analyzedSha":"75dd419e613fe9c39f846ffc500716141b74fda6","analyzedAt":"2026-08-30T00:15:31.844Z","schemaVersion":2},"datasetVersion":"2026-08-30T03:17:51.788Z"}