Bulk Loads High-Level Summary
- Create queries per top-level graph
- Write separate, flat queries for each top-level graph (for example: project, contract, invoice, disbursable), selecting only required fields and relational keys (IDs) to rejoin in your warehouse.
- Avoid nested list-type subgraphs in bulk pulls; join externally on foreign keys (for example: invoice { contract { id }} or contract {project { id }} ).
- Optimize for bulk data loads
- Script pagination (offset/next) to iterate through all pages; consider multi-threading within DaaS rate limits to improve throughput.
- Keep queries "flat" and minimal; add complex fields or subgraphs only when necessary as they degrade performance, especially at larger page sizes.
- Implement delta loads
After the initial full load, use dateModifiedBegin (and optionally dateModifiedEnd) to pull only changed records per top-level graph.
Note: dateModified filters apply to the top-level graph only. For nested entities (for example: BudgetLines), run their own delta queries on their top-level graph.
Last Published Friday, January 16, 2026