Choose the appropriate input path
POST /api/v1/batches accepts a name and either subjects, an array of up to 100 screening requests, or one uploadId. Use Idempotency-Key for batch acceptance. Each subjects item follows the same schema as a single screening, including its explicit coverage selector.
Larger batches use the authorized private upload flow. Obtain an upload intent, transfer JSONL directly to private Blob storage through the client upload handshake, wait for completion, then reference the ready uploadId. The file limit is 25 MB with at most 10,000 rows. Do not send a large file through an ordinary JSON function request.
{
"name": "Synthetic review sample",
"subjects": [
{
"subject": {
"name": "Alex Morgan",
"entityType": "person",
"birthDate": "1984"
},
"package": "sandbox@1"
}
]
}Track acceptance separately from completion
A 202 response means a batch was accepted. It does not mean every row screened successfully. GET /api/v1/batches/{id} returns progress and bounded row details; use limit and offset for those rows. List batches with the normal cursor pagination.
Each completed row points to a screening ID. Failed rows carry errors and are not billed as completed screens. DELETE /api/v1/batches/{id} requests cancellation of pending work. Completed rows remain retained and counted, while unused reservations are released. Correct and resubmit failed subjects with new request identities instead of duplicating the entire completed batch.
KEEP BUILDING