Uploading Evidence & Field Values
Overview
Once you've configured your Evidence Requests, Expected Fields, and Model calculations, it's time to submit the actual data:
- Evidence - Files containing supporting documentation
- Expected Field Values - Data values that feed into your model calculations
File Naming Best Practices
Before uploading evidence files, follow these naming conventions:
Rename Final Documents
Rename final document versions to clearly reflect the facility name and document purpose.
Examples:
- ✅
Puro Project Description [Facility Name].docx - ✅
LCA_Report_FacilityA_2024.pdf - ✅
Batch_Production_Data_Q4_2024.xlsx - ❌
Puro Project Description.docx(too generic) - ❌
document1.pdf(unclear purpose)
Keep Names Concise and Specific
- Include facility name
- Include document type/purpose
- Include time period if relevant
- Avoid special characters
- Use consistent format across all files
Uploading Evidence
Evidence files are uploaded to Evidence Requests using multipart/form-data.
Uploading Evidence to a Standard Request
curl -X 'POST' "/v0/evidence-requests/{id}/evidence" \
-H "Accept: application/json" \
-H "Authorization: Bearer $BEARER" \
-d '{ \
"file": "LCA_Report_Facility_A_2024.pdf", \
"evidenceTemplateId": "template-uuid-if-applicable" \
}'
Parameters
file(required) - The file to uploadevidenceTemplateId(optional) - UUID of the evidence template if the file follows a specific template structure
Response
The response includes:
id- The evidence IDevidenceRequestId- The request it belongs toevidenceTemplateId- Template used (if applicable)validationErrors- Any validation errors found in the submission
If you're uploading a file that matches an evidence template, the system will validate the file structure against the template and return any errors in the validationErrors array.
Creating Expected Field Values
Expected Field Values are the actual data points that populate your Expected Fields.
Creating a Numeric Value
curl -X 'POST' "/v0/evidence-requests/{id}/values" \
-H "Accept: application/json" \
-H "Authorization: Bearer $BEARER" \
-d '{ \
"type": "NUMERIC", \
"expectedFieldId": "field-uuid", \
"value": "1250.5", \
"batchItemId": null \
}'
Creating a Text Value
curl -X 'POST' "/v0/evidence-requests/{id}/values" \
-H "Accept: application/json" \
-H "Authorization: Bearer $BEARER" \
-d '{ \
"type": "TEXT", \
"expectedFieldId": "field-uuid", \
"value": "Supplier XYZ Corp", \
"batchItemId": null \
}'
Creating a Date Value
curl -X 'POST' "/v0/evidence-requests/{id}/values" \
-H "Accept: application/json" \
-H "Authorization: Bearer $BEARER" \
-d '{ \
"type": "DATE", \
"expectedFieldId": "field-uuid", \
"value": "2024-06-15T10:30:00Z", \
"batchItemId": null \
}'
Creating a Boolean Value
curl -X 'POST' "/v0/evidence-requests/{id}/values" \
-H "Accept: application/json" \
-H "Authorization: Bearer $BEARER" \
-d '{ \
"type": "BOOLEAN", \
"expectedFieldId": "field-uuid", \
"value": true, \
"batchItemId": null \
}'
Creating Batch-Specific Values
For batch evidence requests, include the batchItemId:
curl -X 'POST' "/v0/evidence-requests/{id}/values" \
-H "Accept: application/json" \
-H "Authorization: Bearer $BEARER" \
-d '{ \
"type": "NUMERIC", \
"expectedFieldId": "field-uuid", \
"value": "500.75", \
"batchItemId": "batch-uuid" \
}'
Listing Expected Field Values
To view all field values:
curl -X 'GET' "/v0/expected-field-values" \
-H "Accept: application/json" \
-H "Authorization: Bearer $BEARER"
To get a specific field value:
curl -X 'GET' "/v0/expected-field-values/{id}" \
-H "Accept: application/json" \
-H "Authorization: Bearer $BEARER"
Updating Expected Field Values
To update an existing field value:
curl -X 'PATCH' "/v0/expected-field-values/{id}" \
-H "Accept: application/json" \
-H "Authorization: Bearer $BEARER" \
-d '{ \
"type": "NUMERIC", \
"value": "1500.25" \
}'
When updating a field value, you must include the type parameter matching the value's original type.
Deleting Expected Field Values
To delete a field value:
curl -X 'DELETE' "/v0/expected-field-values/{id}" \
-H "Accept: application/json" \
-H "Authorization: Bearer $BEARER"
Creating Evidence Export Jobs
To export all evidence you've submitted:
Creating an Export Job
curl -X 'POST' "/v0/evidence/export" \
-H "Accept: application/json" \
-H "Authorization: Bearer $BEARER" \
-d '{ \
"merge": false, \
"evidenceTemplateIds": [ \
"template-uuid-1" \
], \
"monitoringPeriodIds": [ \
"monitoring-period-uuid" \
], \
"facilityIds": [ \
"facility-uuid" \
], \
"evidenceRequestStatuses": [] \
}'
Parameters
merge(optional, default: false) - If true, merges all evidence files with the same template into a single fileevidenceTemplateIds(optional) - Filter by specific templatesmonitoringPeriodIds(optional) - Filter by monitoring periodsfacilityIds(optional) - Filter by facilitiesevidenceRequestStatuses(optional) - Filter by request status
Checking Export Status
curl -X 'GET' "/v0/evidence/export/{id}" \
-H "Accept: application/json" \
-H "Authorization: Bearer $BEARER"
The response includes:
id- Job IDstatus-PENDING,COMPLETED, orFAILEDsignedUrl- Download URL when status isCOMPLETED
Next Steps
Once all evidence and field values are submitted and validated, you're ready to perform a final consistency check and submit your Audit Package.