This API uploads aggregator-provided JSON data (Plaid or Finicity) to an Ocrolus Book. This endpoint supports uploading:
- Plaid Asset Report JSON
- Plaid Transactions JSON
- Finicity JSON bundles, including accounts, transactions, customers, and institutions
For Plaid, this endpoint takes the JSON output from Plaid's /transactions/get or /asset_report/get endpoints. To learn more, see the Plaid integration guide.
For Finicity, this endpoint requires a complete and internally consistent JSON bundle. Ocrolus validates references across files (accounts, customers, institutions, transactions) before generating accounts and periods. Partial Finicity uploads are not supported. To learn more, see the Account aggregator guide.
Tips
- You can upload multiple JSON files at a time using this endpoint.
- For best results, create a separate Book for each Plaid Asset Report. Do not upload JSON files alongside PDF statements, as the data may not reconcile.
- When multiple Finicity JSON files are uploaded, they are combined into a single document within the Book.
- This is a shared endpoint for all both Plaid and Finicity JSON uploads. Aggregator-specific behavior is controlled using the
aggregate_sourceparameter.- Ensure that all the Finicity JSON files originate from the same Finicity data pull and belong to the same account set.
- Verify that all cross-file identifiers of Finicity (accountId, customerId, institutionId) resolve correctly.
Plaid and Finicity statement period construction
Plaid Asset Reports do not provide explicit statement periods. Ocrolus constructs periods based on transaction dates. For example, if transactions span Jan 15 to Apr 4, statement periods are created as:
- Jan 15 - Jan 31
- Feb 1 - Feb 28
- Mar 1 - Mar 31
- Apr 1 - Apr 4
Having unusual problems?
Do not use older versions of Plaid’s Python or Ruby client libraries to access these endpoints. Users have reported access issues with outdated versions. Upgrade to the latest available client libraries before proceeding. If you believe this behavior is a bug, open a support ticket with Plaid. As a temporary workaround, use a general-purpose HTTP request library.