From persona-pack
Fix top Persona API errors: 401, 422, webhook signature failures, inquiry state issues. Use when working with Persona identity verification. Trigger with phrases like "persona common-errors", "persona common-errors".
npx claudepluginhub flight505/skill-forge --plugin persona-packThis skill is limited to using the following tools:
401 invalid key, 422 invalid template, webhook HMAC mismatch, inquiry already completed, rate limit 429.
Guides Next.js Cache Components and Partial Prerendering (PPR): 'use cache' directives, cacheLife(), cacheTag(), revalidateTag() for caching, invalidation, static/dynamic optimization. Auto-activates on cacheComponents: true.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Share bugs, ideas, or general feedback.
401 invalid key, 422 invalid template, webhook HMAC mismatch, inquiry already completed, rate limit 429.
persona-install-auth setup{"errors":[{"status":"401","title":"Not Authorized"}]}
Fix: Verify API key starts with persona_sandbox_ or persona_production_. Check Authorization: Bearer <key> header format.
{"errors":[{"status":"422","title":"Invalid inquiry-template-id"}]}
Fix: Verify template ID format is itmpl_*. Templates are environment-specific (sandbox templates only work with sandbox keys).
HMAC verification failed — expected abc123, got def456
Fix: Ensure you're using the raw request body (not parsed JSON) for HMAC computation. Use express.raw() middleware.
{"errors":[{"status":"429","title":"Rate limit exceeded"}]}
Fix: Implement exponential backoff. Check Retry-After header. See persona-rate-limits.
{"errors":[{"status":"409","title":"Inquiry is already in a terminal state"}]}
Fix: Check inquiry status before attempting operations. Use the resume endpoint only for created or pending inquiries.
{"errors":[{"status":"404","title":"Not Found"}]}
Fix: Verify inquiry ID format is inq_*. Sandbox inquiries are not accessible with production keys.
| HTTP Code | Meaning | Retryable |
|---|---|---|
| 400 | Bad request | No |
| 401 | Invalid API key | No — fix key |
| 404 | Resource not found | No |
| 409 | Conflict (terminal state) | No |
| 422 | Validation error | No — fix request |
| 429 | Rate limited | Yes |
| 500+ | Server error | Yes |
For debugging, see persona-debug-bundle.