How document upload works
- You submit one or more file URLs to the bulk upload endpoint.
- Nectar queues each file for processing.
- A job ID is returned that you can poll for status.
- When processing completes, documents and usage data appear in the API like any other bill.
Upload documents
Use the bulk upload endpoint to submit files for a company. Provide adocuments array of publicly accessible HTTPS URLs. Optionally pin every document in the batch to a site and/or utility account, and pass free-text notes as background context for processing.
Limits: each document is at most 25MB; PDF page limit is 800.
Use v2.2 for new integrations (v2.1 remains available).
Request fields
Upload a single file
You can also upload a single file directly as a form submission. The same 25MB / 800-page limits apply. OptionalsiteId, accountId, and notes work the same as bulk upload.
Check job status
After uploading, poll the job detail endpoint to check processing status.Job status values
When a job completes, the response includes additional fields:
List jobs for a company
Retrieve all upload jobs for a company to monitor bulk processing progress.Supported file formats
Tips
- All URLs in the
documentsarray must start withhttps://. If your files are in a private S3 bucket, generate a pre-signed URL. - Include
siteIdand/oraccountIdwhen you need bills allocated to a known site or account — recommended for compliance-sensitive uploads. - Use
notesfor background context (billing period, source, special instructions). - Processing typically completes within a few minutes per document.
- Once processed, the documents appear in the standard
/document/endpoints and triggerdocument.created.v2webhooks if configured.
Next steps
Webhooks
Get notified when documents finish processing
Pagination
Iterate through document lists
Data model
Understand how documents relate to usage data