Skip to main content

Submitting Audit Packages

Overview

An Audit Package is the final submission that bundles all your evidence, models, and frameworks for review by Puro.earth and verification bodies. Once submitted:

  1. Puro.earth reviews for errors and inconsistencies
  2. If approved, it's forwarded to the appointed verification body
  3. The auditor reviews and may request revisions
  4. Upon approval, credits can be issued

Pre-Submission Consistency Check

Before submitting your audit package, perform a thorough consistency check to ensure all information is aligned and complete.

Critical Consistency Checks

1. Cross-Document Consistency

Verify information is consistent across all evidence:

  • ✅ Are financial additionality assumptions aligned with LCA assumptions?
  • ✅ Do facility design documents match feedstock details in the LCA model?
  • ✅ Is the monitoring plan consistent with the LCA model?
  • ✅ Is the project description aligned with all documentation?
  • ✅ Have you uploaded supporting files to explain any deviations or missing documents?

2. File Naming

  • ✅ Have all files, especially templates, been clearly and consistently renamed?
  • ✅ Do file names reflect the facility name and document purpose?

3. Confidential Information

  • ✅ Are all publicly published documents free of confidential information?
  • ✅ Have you verified that files for the Puro Registry exclude sensitive or proprietary content?

4. Completeness

  • ✅ Are all required documents fully populated?
  • ✅ Have all Expected Field Values been submitted?
  • ✅ Are all Evidence Requests either completed or properly skipped with reasons?
Incomplete Submissions

Inconsistencies or missing information may result in delays or revision requests. A thorough pre-submission check saves time and reduces back-and-forth.

Creating an Audit Package

To submit an audit package for a facility, use POST /v0/facilities/{id}/audit-packages:

Create audit package
curl -X 'POST' "/v0/facilities/{id}/audit-packages" \
-H "Accept: application/json" \
-H "Authorization: Bearer $BEARER" \
-d '{ \
"subjects": [ \
{ \
"id": "framework-instance-uuid", \
"type": "FRAMEWORK_INSTANCE" \
}, \
{ \
"id": "model-uuid", \
"type": "MODEL" \
} \
] \
}'

Subject Types

You can include multiple subjects in an audit package:

  • FRAMEWORK_INSTANCE - A framework instance you created for the monitoring period
  • MODEL - A model (like LCA & CORC Report) you configured
Auditor Assignment

The auditor for the submitted package is selected automatically based on its subjects. All acknowledgement fields for those subjects are also set to true automatically.

Listing Audit Packages

To view audit packages for a facility:

Get audit packages
curl -X 'GET' "/v0/audit-packages" \
-H "Accept: application/json" \
-H "Authorization: Bearer $BEARER"

Response Schema

required
object

The primary organization reviewing the Audit Package.

required
Array of objects or null (Organization)

The secondary organizations reviewing the Audit Package.

id
required
string
facilityId
required
string
startDate
required
string or null <date-time>
endDate
required
string or null <date-time>
required
Array of objects (Audit)
required
Array of objects (AuditPackageField)
createdAt
required
string <date-time>

Getting Audit Package Details

To retrieve details about a specific audit package:

Get audit package
curl -X 'GET' "/v0/audit-packages/{id}" \
-H "Accept: application/json" \
-H "Authorization: Bearer $BEARER"

Response Schema

required
object

The primary organization reviewing the Audit Package.

required
Array of objects or null (Organization)

The secondary organizations reviewing the Audit Package.

id
required
string
facilityId
required
string
startDate
required
string or null <date-time>
endDate
required
string or null <date-time>
required
Array of objects (Audit)
required
Array of objects (AuditPackageField)
createdAt
required
string <date-time>

Creating Audit Export Jobs

To export detailed audit data:

Create audit export job
curl -X 'POST' "/v0/audits/{id}/export" \
-H "Accept: application/json" \
-H "Authorization: Bearer $BEARER"

This creates an asynchronous export job. Currently, only Framework Audits are supported.

Checking Export Status

Get audit export job
curl -X 'GET' "/v0/audits/export/{id}" \
-H "Accept: application/json" \
-H "Authorization: Bearer $BEARER"

The response includes:

  • id - Job ID
  • status - PENDING, COMPLETED, or FAILED
  • signedUrl - Download URL when completed

Monitoring Audit Status

Once submitted, monitor your audit package in the MyPuro portal for:

  • Comments from Puro.earth reviewers
  • Revision requests
  • Status updates
  • Auditor feedback
In-Platform Notifications

Suppliers will receive in-platform notifications for comments or revision requests from Puro or the auditor. Check the portal regularly during the review period.

Understanding Audit Statuses

Each audit in your package has a status:

StatusDescription
IN_PROGRESSAudit is being reviewed
APPROVEDAudit has been approved
REJECTEDAudit was rejected; revisions needed

Responding to Review Feedback

When you receive feedback:

1. Review Comments

Carefully read all comments from reviewers and auditors.

2. Make Necessary Changes

Update your evidence, field values, or models as requested:

  • Upload corrected files
  • Update field values
  • Adjust model calculations

3. Document Changes

Keep track of what changes you made in response to feedback.

4. Resubmit if Required

Depending on the feedback, you may need to create a new audit package with the corrections.

Snapshot After Approval

Once the auditor approves or fails a framework/model, the full framework or model is snapshotted and no further edits are allowed. Make sure everything is correct before final approval.

Getting Audit Reports

After the audit is complete, retrieve the final audit report:

Listing All Audit Reports

Get audit reports
curl -X 'GET' "/v0/audit-reports" \
-H "Accept: application/json" \
-H "Authorization: Bearer $BEARER"

Getting a Specific Audit Report

Get audit report
curl -X 'GET' "/v0/audit-reports/{id}" \
-H "Accept: application/json" \
-H "Authorization: Bearer $BEARER"

Response Schema

id
required
string
packageId
required
string
publishedAt
required
string or null <date-time>
required
object or null
required
Array of objects (AuditReportConfirmation)
required
Array of objects (File)
required
Array of objects (AuditReportField)

Final Audit Outcome

As the final step, the auditor will submit a Verification Outcome Report, available from the Audits tab within your facility.

This report will include:

  • Final audit outcome (approved/rejected)
  • Number of credits issued (if any)
  • Auditor's findings and recommendations

Next Steps

For ongoing support, contact Puro tech support for any questions or refer to the dMRV Connect specification for detailed endpoint documentation.