A Data Source tells a Document Solution where its data comes from at generation time. Every Data Source has a load method that determines how that data is retrieved. The same Data Source can be reused across multiple Document Solutions — useful when several pipelines need to draw from the same underlying data.
| Load method | Description |
|---|---|
| Storage | The default and simplest method. You upload a JSON file directly to Doctavian storage, already structured exactly as your template expects. No transformation happens — the data is used as-is. |
| GraphQL | An advanced method for connecting to a live external API. The Data Source's urn points to an API endpoint that supports GraphQL, and a query is sent to that endpoint at generation time — the external API is responsible for returning data already in the structure your template needs. |
| OneDrive | Similar to Storage, but the urn points to a JSON file hosted on OneDrive instead of an uploaded file. Requires an auth token with access to that drive. |
| GoogleDrive | The same concept as OneDrive, for a file hosted on Google Drive. |
For most integrations, Storage is the right choice. You prepare your data as a JSON file — structured to match the fields and collections your template uses — and upload it via the Documents API. At generation time, Doctavian reads that file and feeds it directly to the template.
Because there's no transformation step, the shape of your uploaded data needs to match what the template expects. If your data comes from a system with different field names or structure, prepare it into the right shape before uploading — either in your own integration code, or by using the GraphQL load method to have an external API do that reshaping for you.
Uploaded data files are disposable — they're automatically deleted immeditelly after generation request is completed (successfully or not), or after 24 hours if not used. See the FAQ for how this compares to Digital Signatures retention.
See the full set of Data Source endpoints in the API Reference.
GraphQL is for cases where your data lives in a live external system rather than a static file. Instead of uploading data ahead of time, the Data Source's urn points at an API endpoint, and a query is sent to that endpoint whenever generation runs. The external API handles retrieving and shaping the data — Doctavian just sends the query and uses whatever comes back.
This is an advanced configuration and depends on having a GraphQL-compatible API available to query.
These load methods work like Storage, but instead of uploading a file to Doctavian, you reference a JSON file already hosted on OneDrive or Google Drive. The auth token used for the request needs access to that drive.