juicebox-common-errors
Provides diagnostic procedures to identify and fix common Juicebox API errors like quota exhaustion or invalid queries.
Install
mkdir -p .claude/skills/juicebox-common-errors && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/5961" && unzip -o skill.zip -d .claude/skills/juicebox-common-errors && rm skill.zipInstalls to .claude/skills/juicebox-common-errors
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Diagnose and fix Juicebox API errors.Key capabilities
- →Classify Juicebox API errors by category
- →Validate API connectivity and key status
- →Implement exponential backoff for rate-limited requests
- →Format datasets for CSV upload
- →Debug authentication and quota issues
How it works
It maps HTTP status codes to specific error categories like auth, rate_limit, or timeout, and provides recovery strategies for common API failures.
Inputs & outputs
When to use juicebox-common-errors
- →Resolve 403 quota exceeded errors
- →Debug dataset upload failures
- →Troubleshoot 401 unauthorized API key issues
- →Validate search query format
About this skill
Juicebox Common Errors
Overview
Juicebox provides AI-powered people search and analysis for recruiting and research workflows. API integrations cover search queries, profile enrichment, dataset operations, and quota management. Common errors include dataset format mismatches when uploading CSVs, analysis timeouts on large candidate pools, and quota exhaustion on free or starter plans. The quota system counts individual profile enrichments separately from search queries, which often surprises new integrators. This reference covers HTTP errors, business logic failures, and recovery strategies for reliable Juicebox integrations.
Error Reference
| Code | Message | Cause | Fix |
|---|---|---|---|
400 | Invalid query format | Malformed search query or empty filters | Ensure query is non-empty; validate filter field names |
401 | invalid_api_key | API key missing or revoked | Verify key at app.juicebox.ai > Settings > API |
403 | quota_exceeded | Plan search limit reached | Check quota in dashboard; upgrade plan or wait for reset |
404 | Profile not found | Candidate removed or profile unavailable | Re-run search to find updated profile data |
408 | Analysis timeout | Complex query exceeded 60s limit | Reduce dataset size or narrow search filters |
413 | Dataset too large | Upload exceeds 50MB or 100K row limit | Split dataset into smaller chunks before upload |
422 | Invalid dataset format | CSV headers don't match expected schema | Use template from Juicebox docs; required: name, title, company |
429 | Rate limited | Exceeded 30 requests/minute | Check Retry-After header; implement exponential backoff |
Error Handler
interface JuiceboxError {
code: number;
message: string;
category: "auth" | "rate_limit" | "validation" | "timeout";
}
function classifyJuiceboxError(status: number, body: string): JuiceboxError {
if (status === 401 || status === 403) {
return { code: status, message: body, category: "auth" };
}
if (status === 429) {
return { code: 429, message: "Rate limited", category: "rate_limit" };
}
if (status === 408) {
return { code: 408, message: body, category: "timeout" };
}
return { code: status, message: body, category: "validation" };
}
Debugging Guide
Authentication Errors
Juicebox API keys are passed via Authorization: Bearer header. Keys are scoped per workspace. If you receive 401, verify the key has not been rotated at app.juicebox.ai > Settings. A 403 indicates quota exhaustion, not a permissions issue -- check your plan's remaining searches.
Rate Limit Errors
The API enforces 30 requests/minute per key. Batch profile enrichment calls where possible. Use the Retry-After response header to determine wait time. For bulk operations, use the dataset upload endpoint instead of individual search queries.
Validation Errors
Dataset uploads require CSV format with headers matching the Juicebox schema: name, title, company are required columns. Optional enrichment columns include email, linkedin_url, and location. Files over 50MB or 100K rows are rejected -- split into chunks. Analysis queries that exceed 60 seconds timeout with 408; narrow filters by adding location, title, or company constraints to reduce result set size.
Error Handling
| Scenario | Pattern | Recovery |
|---|---|---|
| Quota exceeded mid-batch | 403 after N successful calls | Track remaining quota via response headers; pause and resume |
| Dataset upload rejected | Invalid CSV format | Download template, reformat, and retry |
| Analysis timeout | Large candidate pool | Add location/title/company filters to narrow scope |
| Profile data stale | 404 on enrichment | Re-run search query to get current profile URLs |
| Rate limit during bulk search | 429 on sequential calls | Switch to dataset upload for bulk operations |
Quick Diagnostic
# Verify API connectivity and key validity
curl -s -o /dev/null -w "%{http_code}" \
-H "Authorization: Bearer $JUICEBOX_API_KEY" \
https://api.juicebox.ai/v1/health
Resources
Next Steps
See juicebox-debug-bundle.
When not to use it
- →When uploading datasets exceeding 50MB or 100K rows
- →When performing analysis queries that exceed 60 seconds
Limitations
- →API enforces 30 requests per minute per key
- →Analysis queries timeout after 60 seconds
- →Dataset uploads limited to 50MB or 100K rows
How it compares
This provides a centralized error classification logic rather than handling raw HTTP codes individually throughout the codebase.
Compared to similar skills
juicebox-common-errors side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| juicebox-common-errors (this skill) | 1 | 27d | Review | Beginner |
| appfolio-common-errors | 0 | 27d | Review | Intermediate |
| fastapi-templates | 520 | 2mo | No flags | Intermediate |
| fastapi-pro | 79 | 4mo | No flags | Advanced |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by jeremylongshore
View all by jeremylongshore →You might also like
appfolio-common-errors
jeremylongshore
Diagnose and fix common AppFolio API integration errors.
fastapi-templates
wshobson
Create production-ready FastAPI projects with async patterns, dependency injection, and comprehensive error handling. Use when building new FastAPI applications or setting up backend API projects.
fastapi-pro
sickn33
Build high-performance async APIs with FastAPI, SQLAlchemy 2.0, and Pydantic V2. Master microservices, WebSockets, and modern Python async patterns. Use PROACTIVELY for FastAPI development, async optimization, or API architecture.
sqlite-inspector
mikopbx
Проверка консистентности данных в SQLite баз данных MikoPBX после операций REST API. Использовать при валидации результатов API, отладке проблем с данными, проверке связей внешних ключей или инспектировании CDR записей для тестирования.
springboot-patterns
affaan-m
Spring Boot 架构模式、REST API 设计、分层服务、数据访问、缓存、异步处理和日志记录。适用于 Java Spring Boot 后端工作。
redis-inspect
civitai
Inspect Redis cache keys, values, and TTLs for debugging. Supports both main cache and system cache. Use for debugging cache issues, checking cached values, and monitoring cache state. Read-only by default.