From persona-pack
Fixes common Persona API errors: 401 unauthorized, 422 invalid templates, webhook HMAC mismatches, 429 rate limits, inquiry state issues. For identity verification (KYC) integrations.
npx claudepluginhub jeremylongshore/claude-code-plugins-plus-skills --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.
Provides typed TypeScript singleton client for Persona API to create, list with pagination, and retrieve identity verification inquiries, with retry error classification.
Diagnoses and resolves common Documenso API errors like 401, 403, 429 with causes, solutions, checklists, and TypeScript fetch/SDK examples.
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.
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.