Batched Jobs (Beta)
Batched jobs split a portfolio view or query request into parallel sub-requests and merge the results into a single response. This provides faster computation for large portfolios where a standard synchronous request would time out.
Batched jobs use the same Jobs API endpoint with an additional header.
Beta
Batched jobs are in the Addepar Beta Program. Features may be modified or removed at any time.
Overview
| Endpoint | POST /v1/jobs (with Addepar-Compute-Type: BATCH header) |
| Results | GET /v1/jobs/:id/download |
| Result TTL | 24 hours after job creation |
| Supported job types | portfolio_view_results, portfolio_query_results |
| OAuth scopes | Same as Jobs |
Access requirements
Same permissions as the standard Jobs API. The user must have access to the portfolio and view being requested.
How it works
- Configure a view or query following the guidelines below.
- Submit the job with the
Addepar-Compute-Type: BATCHheader. - Poll job status via
GET /v1/jobs/:iduntil complete. - Download results via
GET /v1/jobs/:id/download.
Submit a batched job
POST /v1/jobs
Add the header Addepar-Compute-Type: BATCH to signal batch processing. The request body is identical to a standard job submission.
curl -X POST "https://{firm}.addepar.com/api/v1/jobs" \
-H "Authorization: Basic {credentials}" \
-H "Addepar-Firm: 1" \
-H "Accept: application/vnd.api+json" \
-H "Content-Type: application/vnd.api+json" \
-H "Addepar-Compute-Type: BATCH" \
-d '{
"data": {
"type": "jobs",
"attributes": {
"job_type": "portfolio_view_results",
"parameters": {
"view_id": "74894",
"portfolio_type": "entity",
"portfolio_id": "22",
"output_type": "json",
"start_date": "2011-12-31",
"end_date": "2013-01-15"
}
}
}
}'
{
"data": {
"id": "7",
"type": "jobs",
"attributes": {
"job_type": "portfolio_view_results",
"parameters": {
"view_id": 74894,
"portfolio_type": "entity",
"portfolio_id": "22",
"output_type": "json",
"start_date": "2011-12-31",
"end_date": "2013-01-15"
},
"status": "Queued"
},
"relationships": {
"creator": {
"data": {"type": "users", "id": "44"}
}
},
"links": { "self": "/v1/jobs/7" }
}
}
Response codes:
202 Accepted-- Job created and queued400 Bad Request-- Invalid parameters or unsupported batch configuration403 Forbidden-- Insufficient permissions
Download results
GET /v1/jobs/:id/download
Returns results in the format specified by output_type (JSON, CSV, TSV, or XLSX).
Response codes:
200 OK-- Results returned303 See Other-- Follow theLocationheader to retrieve results404 Not Found-- Job has not completed or produced no results410 Gone-- Results expired (older than 24 hours)
If the view contains unsupported attributes, the job status becomes Error with a description of the incompatibility. Check status via GET /v1/jobs/:id.
Guidelines
Optimize batch performance by minimizing positions per row. Group by position, holding account, or top-level owner rather than broad categories like asset class or country.
Restrictions:
- Summary data applied to a table row is not supported.
- Advanced tables and pivot tables are not supported.
To disable the total row (if unsupported attributes prevent aggregation): uncheck "Show total row" in View Settings, or set disable_total_row = true in the job payload.
Attribute support tiers
| Tier | Behavior |
|---|---|
| Fully supported | Works in all contexts (grouping, column, filter, total row). |
| Partially supported | Works as grouping/filter. As a column, values are not computed for total rows or rows exceeding the position threshold (returns Coordinator Disabled). |
| Not supported | Cannot be used in any batched request. Job will error. |
Not supported (will cause job failure):
- Benchmark
- Calendar Period Grouping
- Group / Group Type Key (only when >500k groups are enabled)
- Performance Contribution
- Target Allocation / Target Allocation % / Target Allocation Range
- Time Period Grouping
- Transaction-based attributes
Fully supported (non-exhaustive):
Accrued Income, Change In Accrued Income, Creation Date, Display Name, Entity ID, External ID, Group ID, Income/Expenses, Model Type, Net Cash Flow, Net Gain/Loss, Percent of Portfolio, Reference Currency, Total Return, Value.
Partially supported (non-exhaustive):
IRR, TWR.
Related
- Jobs -- Core async job API (status polling, lifecycle)
- Portfolio Views -- View configuration and synchronous results
- Portfolio Query -- Alternative query-based data extraction
Updated 4 days ago