For AI agents: a documentation index is available at https://docs.parallel.ai/llms.txt. The full text of all docs is at https://docs.parallel.ai/llms-full.txt. You may also fetch any page as Markdown by appending
.md to its URL or sending Accept: text/markdown.Timeline: V1 is now the default for the FindAll API. Requests no longer need the
parallel-beta: "findall-2025-09-15" header — requests without it use V1. The header is still accepted for backwards compatibility but no longer changes behavior. Existing V0 runs remain retrievable by their original run IDs.Why Migrate to V1?
V1 delivers significant improvements across pricing, performance, and capabilities:- Pay-per-Match Pricing: Charges based on matches found, not candidates evaluated
- Task-Powered Enrichments: Flexible enrichments via Task API with expanded processor options
-
Enhanced Capabilities:
- Extend, Cancel, and Preview endpoints
- Real-time streaming with incremental updates
- Exclude candidates from evaluation
- Match conditions return both
valueandis_matchedboolean - Increased
match_limitfrom 200 to 1,000
- Better Performance: Improved latency and match quality across all stages
Key Differences
Request Structure
V0 used a nestedfindall_spec object. V1 flattens this structure:
Response Structure
V0 included results in poll responses. V1 separates status and results:Enrichment Handling
V0 included enrichments in initial spec. V1 adds them via separate endpoint:End-to-End Migration Example
This example shows the complete workflow migration, including enrichments:Migration Checklist
Complete these steps to migrate from V0 to V1:Core Changes
- Change ingest parameter:
query→objective - Flatten run request: extract
objective,entity_type,match_conditionsfromfindall_spec - Rename:
result_limit→match_limit,processor→generator - Update status check:
status.status == "completed"instead of checking two flags - Fetch results from separate
/resultendpoint - Update result parsing:
results→candidates,score→relevance_score - Change field access: direct object access (
output[field]) vs array iteration
Enrichment Changes (if applicable)
- Move enrichments to separate
POST /enrichcall after run creation - Convert enrichment columns to
output_schemaformat (see Task API) - Update result access: enrichments now merged into
outputobject
Optional Enhancements
- Implement streaming via
/eventsendpoint for real-time updates - Add
exclude_listto filter out specific candidates - Use
preview: truefor testing queries before full runs - Implement
/extendendpoint to increase match limits dynamically - Implement
/cancelendpoint to stop runs early
Testing
- Validate queries in development environment
- Review pricing impact with generator-based model
- Update error handling for new response schemas
- Monitor performance metrics
Related Topics
Core Concepts
- Quickstart: Get started with V1 FindAll API
- Candidates: Understand candidate object structure and states
- Generators and Pricing: Understand generator options and pricing
- Run Lifecycle: Understand run statuses and termination
Features
- Preview: Test queries with ~10 candidates before running full searches
- Enrichments: Extract additional structured data for matched candidates
- Extend Runs: Increase match limits without paying new fixed costs
- Cancel Runs: Stop runs early to save costs
- Streaming Events: Receive real-time updates via Server-Sent Events
- Webhooks: Configure HTTP callbacks for run completion and matches