Download OpenAPI specification:Download
The dMRV Connect enables you to programmatically interact with Puro's compliance system. Use it to upload evidence and centralize all data needed to meet CDR compliance requirements.
An Audit Package is a collection of Audits for a specific Facility. Audit Packages are shared with reviewers, such as Auditors or Issuing Authorities, to evaluate compliance of the Frameworks or Models against defined requirements.
Returns a paginated list of audit packages.
| pageCursor | string <uuid> |
| pageSize | number [ 1 .. 100 ] Default: 10 |
| facilityId | string <uuid> |
{- "data": [
- {
- "primaryAuditorOrganization": {
- "id": "string",
- "label": "string"
}, - "secondaryAuditorOrganizations": [
- {
- "id": "string",
- "label": "string"
}
], - "id": "string",
- "facilityId": "string",
- "startDate": "2019-08-24T14:15:22Z",
- "endDate": "2019-08-24T14:15:22Z",
- "audits": [
- {
- "type": "FRAMEWORK_INSTANCE",
- "subjectId": "string",
- "status": "APPROVED",
- "auditorOrganization": {
- "id": "string",
- "label": "string"
}, - "auditors": [
- {
- "id": "string",
- "email": "string"
}
], - "createdBy": "string",
- "id": "string",
- "label": "string",
- "monitoringPeriodId": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "completedAt": "2019-08-24T14:15:22Z"
}
], - "fields": [
- {
- "type": "NUMERIC",
- "id": "string",
- "label": "string",
- "value": "string"
}
], - "createdAt": "2019-08-24T14:15:22Z"
}
], - "pageInfo": {
- "startCursor": "string",
- "endCursor": "string",
- "hasPreviousPage": true,
- "hasNextPage": true
}
}Retrieves a specific audit package by ID.
| id required | string |
{- "primaryAuditorOrganization": {
- "id": "string",
- "label": "string"
}, - "secondaryAuditorOrganizations": [
- {
- "id": "string",
- "label": "string"
}
], - "id": "string",
- "facilityId": "string",
- "startDate": "2019-08-24T14:15:22Z",
- "endDate": "2019-08-24T14:15:22Z",
- "audits": [
- {
- "type": "FRAMEWORK_INSTANCE",
- "subjectId": "string",
- "status": "APPROVED",
- "auditorOrganization": {
- "id": "string",
- "label": "string"
}, - "auditors": [
- {
- "id": "string",
- "email": "string"
}
], - "createdBy": "string",
- "id": "string",
- "label": "string",
- "monitoringPeriodId": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "completedAt": "2019-08-24T14:15:22Z"
}
], - "fields": [
- {
- "type": "NUMERIC",
- "id": "string",
- "label": "string",
- "value": "string"
}
], - "createdAt": "2019-08-24T14:15:22Z"
}Creates a new audit package. Note: 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.
| id required | string |
| idempotency-key required | string A unique identifier for the request |
required | Array of objects (AuditPackageSubjectInput) non-empty | ||||
Array (non-empty)
| |||||
{- "subjects": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "FRAMEWORK_INSTANCE"
}
]
}{- "primaryAuditorOrganization": {
- "id": "string",
- "label": "string"
}, - "secondaryAuditorOrganizations": [
- {
- "id": "string",
- "label": "string"
}
], - "id": "string",
- "facilityId": "string",
- "startDate": "2019-08-24T14:15:22Z",
- "endDate": "2019-08-24T14:15:22Z",
- "audits": [
- {
- "type": "FRAMEWORK_INSTANCE",
- "subjectId": "string",
- "status": "APPROVED",
- "auditorOrganization": {
- "id": "string",
- "label": "string"
}, - "auditors": [
- {
- "id": "string",
- "email": "string"
}
], - "createdBy": "string",
- "id": "string",
- "label": "string",
- "monitoringPeriodId": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "completedAt": "2019-08-24T14:15:22Z"
}
], - "fields": [
- {
- "type": "NUMERIC",
- "id": "string",
- "label": "string",
- "value": "string"
}
], - "createdAt": "2019-08-24T14:15:22Z"
}An Audit Report records the outcome of a review for an Audit Package. Reviewers publish Audit Reports based on their permissions. Publishing an Audit Report indicates that the associated Audit Package and by extension the Audit—has been formally reviewed.
Returns a paginated list of audit reports.
| pageCursor | string <uuid> |
| pageSize | number [ 1 .. 100 ] Default: 10 |
{- "data": [
- {
- "id": "string",
- "packageId": "string",
- "publishedAt": "2019-08-24T14:15:22Z",
- "publishedBy": {
- "id": "string",
- "email": "string"
}, - "confirmations": [
- {
- "id": "string",
- "confirmedBy": {
- "id": "string",
- "email": "string"
}, - "createdAt": "2019-08-24T14:15:22Z"
}
], - "files": [
- {
- "id": "string",
- "label": "string",
- "downloadUrl": "string"
}
], - "fields": [
- {
- "type": "NUMERIC",
- "id": "string",
- "label": "string",
- "value": "string"
}
]
}
], - "pageInfo": {
- "startCursor": "string",
- "endCursor": "string",
- "hasPreviousPage": true,
- "hasNextPage": true
}
}Retrieves a specific audit report by ID.
| id required | string |
{- "id": "string",
- "packageId": "string",
- "publishedAt": "2019-08-24T14:15:22Z",
- "publishedBy": {
- "id": "string",
- "email": "string"
}, - "confirmations": [
- {
- "id": "string",
- "confirmedBy": {
- "id": "string",
- "email": "string"
}, - "createdAt": "2019-08-24T14:15:22Z"
}
], - "files": [
- {
- "id": "string",
- "label": "string",
- "downloadUrl": "string"
}
], - "fields": [
- {
- "type": "NUMERIC",
- "id": "string",
- "label": "string",
- "value": "string"
}
]
}An Audit represents the review of a single compliance Framework Instance or Model by an Auditor Organization. It describes what is being audited, who is auditing, and where it is in its process.
Starts an asynchronous export of an Audit's data whose results can be fetched using the returned job ID. Currently, only Framework Audits are supported. Returns a job ID and a status URL to check when the export is complete.
| id required | string |
| idempotency-key required | string A unique identifier for the request |
{- "id": "string",
- "statusUrl": "string"
}Retrieves the status of a previously created Audit export job. When complete, the response includes a signed URL for downloading the exported data.
| id required | string |
{- "status": "PENDING",
- "id": "string",
- "signedUrl": "string"
}Batches represent units of carbon stored within a Monitoring Period. When an Evidence Request is configured as type BATCH, submissions can be organized by batchItemId, allowing the grouping of related Evidence files and Expected Field Values together. This enables efficient data entry where common field values are specified once per Batch rather than repeated for each individual submission.
A Document Instance represents a Document applied to a specific Monitoring Period. Document Instances can contain Evidence Requests, Templates, Expected Fields to structure the collection of compliance data.
Creates a new document instance.
| idempotency-key required | string A unique identifier for the request |
| documentId required | string <uuid> |
| monitoringPeriodId required | string <uuid> |
{- "documentId": "4704590c-004e-410d-adf7-acb7ca0a7052",
- "monitoringPeriodId": "2ccf460d-7a18-4269-8f33-2415ee0813f9"
}{- "id": "string",
- "documentId": "string",
- "monitoringPeriodId": "string"
}Returns a paginated list of document instances.
| pageCursor | string <uuid> |
| pageSize | number [ 1 .. 100 ] Default: 10 |
| documentId | string <uuid> |
| monitoringPeriodId | string <uuid> |
{- "data": [
- {
- "id": "string",
- "documentId": "string",
- "monitoringPeriodId": "string"
}
], - "pageInfo": {
- "startCursor": "string",
- "endCursor": "string",
- "hasPreviousPage": true,
- "hasNextPage": true
}
}A Document represents a specific compliance requirement. It contains one or more Evidence Requests for a given collection period. Documents can be mapped across Frameworks, allowing the same data to satisfy different requirements.
Returns a paginated list of documents.
| pageCursor | string <uuid> |
| pageSize | number [ 1 .. 100 ] Default: 10 |
| monitoringPeriodId | string <uuid> |
{- "data": [
- {
- "id": "string",
- "label": "string",
- "description": "string"
}
], - "pageInfo": {
- "startCursor": "string",
- "endCursor": "string",
- "hasPreviousPage": true,
- "hasNextPage": true
}
}Evidence represents the files submitted to an Evidence Request. Each Evidence is tied to an Evidence Request and Evidence Template.
Creates a job to export Evidence files. Returns a job ID, current status, and a signed URL if the export is ready.
| idempotency-key required | string A unique identifier for the request |
| merge | boolean Default: false If true, the export job will merge all evidence files with the same template into a single file |
| evidenceTemplateIds | Array of strings <uuid> [ items <uuid > ] |
| monitoringPeriodIds | Array of strings <uuid> [ items <uuid > ] |
| facilityIds | Array of strings <uuid> [ items <uuid > ] |
| evidenceRequestStatuses | Array of objects |
{- "merge": false,
- "evidenceTemplateIds": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "monitoringPeriodIds": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "facilityIds": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "evidenceRequestStatuses": [
- { }
]
}{- "id": "string",
- "statusUrl": "string"
}Uploads Evidence to an Evidence Request.
| id required | string |
| idempotency-key required | string A unique identifier for the request |
| file required | string <binary> |
| evidenceTemplateId | string or null <uuid> |
{- "id": "string",
- "evidenceRequestId": "string",
- "evidenceTemplateId": "string",
- "validationErrors": [
- { }
]
}An Evidence Request prompts the submission of files (Evidence) and/or structured data (Expected Field Values) for a Document Instance. Requests can be STANDARD (single submission) or BATCH (requiring one submission per batch in the Monitoring Period). Evidence Requests can be assigned to users, include a due date, and track status.
Creates a new evidence request.
| idempotency-key required | string A unique identifier for the request |
| type | string Default: "STANDARD" Enum: "STANDARD" "BATCH" |
| documentInstanceId required | string <uuid> |
| dueDate | string or null <date-time> |
| collectionStartDate | string or null <date-time> |
| collectionEndDate | string or null <date-time> |
{- "type": "STANDARD",
- "documentInstanceId": "5f69dfc2-d3e5-44de-b8b9-f504ed41e323",
- "dueDate": "2019-08-24T14:15:22Z",
- "collectionStartDate": "2019-08-24T14:15:22Z",
- "collectionEndDate": "2019-08-24T14:15:22Z"
}{- "type": "STANDARD",
- "status": "PENDING",
- "id": "string",
- "dueDate": "2019-08-24T14:15:22Z",
- "collectionStartDate": "2019-08-24T14:15:22Z",
- "collectionEndDate": "2019-08-24T14:15:22Z",
- "reasonSkipped": "string"
}Returns a paginated list of evidence requests.
| pageCursor | string <uuid> |
| pageSize | number [ 1 .. 100 ] Default: 10 |
| monitoringPeriodId | string <uuid> |
| documentId | string <uuid> |
{- "data": [
- {
- "type": "STANDARD",
- "status": "PENDING",
- "id": "string",
- "dueDate": "2019-08-24T14:15:22Z",
- "collectionStartDate": "2019-08-24T14:15:22Z",
- "collectionEndDate": "2019-08-24T14:15:22Z",
- "reasonSkipped": "string"
}
], - "pageInfo": {
- "startCursor": "string",
- "endCursor": "string",
- "hasPreviousPage": true,
- "hasNextPage": true
}
}Retrieves a specific evidence request by ID.
| id required | string |
{- "type": "STANDARD",
- "status": "PENDING",
- "id": "string",
- "dueDate": "2019-08-24T14:15:22Z",
- "collectionStartDate": "2019-08-24T14:15:22Z",
- "collectionEndDate": "2019-08-24T14:15:22Z",
- "reasonSkipped": "string"
}Updates an existing evidence request by ID.
| id required | string |
| status | string or null Enum: "PENDING" "READY_FOR_REVIEW" "APPROVED" "SKIPPED" The status of the evidence request. |
| reasonSkipped | string or null |
| dueDate | string or null <date-time> |
| collectionStartDate | string or null <date-time> |
| collectionEndDate | string or null <date-time> |
{- "status": "PENDING",
- "reasonSkipped": "string",
- "dueDate": "2019-08-24T14:15:22Z",
- "collectionStartDate": "2019-08-24T14:15:22Z",
- "collectionEndDate": "2019-08-24T14:15:22Z"
}{- "type": "STANDARD",
- "status": "PENDING",
- "id": "string",
- "dueDate": "2019-08-24T14:15:22Z",
- "collectionStartDate": "2019-08-24T14:15:22Z",
- "collectionEndDate": "2019-08-24T14:15:22Z",
- "reasonSkipped": "string"
}Uploads Evidence to an Evidence Request.
| id required | string |
| idempotency-key required | string A unique identifier for the request |
| file required | string <binary> |
| evidenceTemplateId | string or null <uuid> |
{- "id": "string",
- "evidenceRequestId": "string",
- "evidenceTemplateId": "string",
- "validationErrors": [
- { }
]
}| id required | string |
| idempotency-key required | string A unique identifier for the request |
| type required | string Default: "NUMERIC" |
| value required | string |
| expectedFieldId required | string <uuid> |
| batchItemId | string or null <uuid> |
{- "type": "NUMERIC",
- "value": "string",
- "expectedFieldId": "c9445aee-6e7c-4508-99e6-1d565826fb8f",
- "batchItemId": "c031d794-557a-415d-b487-6d1395a3d5e3"
}Returns a paginated list of Batch Items for an Evidence Request.
| id required | string |
| pageCursor | string <uuid> |
| pageSize | number [ 1 .. 100 ] Default: 10 |
{- "data": [
- {
- "id": "string",
- "type": "BATCH",
- "label": "string"
}
], - "pageInfo": {
- "startCursor": "string",
- "endCursor": "string",
- "hasPreviousPage": true,
- "hasNextPage": true
}
}Evidence Templates define the expected format for CSV file submissions. Templates specify column headers, data types, and validation rules that uploaded files should conform to. Files that don't match the template structure are flagged in the platform for review rather than rejected by the API.
Returns a paginated list of evidence templates.
| pageCursor | string <uuid> |
| pageSize | number [ 1 .. 100 ] Default: 10 |
| monitoringPeriodId | string <uuid> Must be provided if documentId is specified. |
| documentId | string <uuid> Must be provided if monitoringPeriodId is specified. |
| facilityId | string <uuid> |
{- "data": [
- {
- "columns": [
- {
- "type": "string",
- "id": "string",
- "label": "string",
- "required": true
}
], - "id": "string",
- "label": "string"
}
], - "pageInfo": {
- "startCursor": "string",
- "endCursor": "string",
- "hasPreviousPage": true,
- "hasNextPage": true
}
}Expected Field Values are the actual value entries for Expected Fields, capturing the specific numbers, text, dates, or boolean value submitted in Evidence Requests. These values form the dataset used in reporting and analysis.
Retrieves a specific expected field value by ID.
| id required | string |
{- "type": "NUMERIC",
- "value": "string",
- "hasErrors": true,
- "id": "string",
- "expectedFieldId": "string",
- "evidenceRequestId": "string",
- "batchItemId": "string"
}Updates an existing expected field value by ID.
| id required | string |
| type required | string Default: "NUMERIC" |
| value required | string |
{- "type": "NUMERIC",
- "value": "string"
}Returns a paginated list of expected field values.
| pageCursor | string <uuid> |
| pageSize | number [ 1 .. 100 ] Default: 10 |
| evidenceRequestId | string <uuid> |
| expectedFieldId | string <uuid> |
| batchItemId | string <uuid> |
{- "data": [
- {
- "type": "NUMERIC",
- "value": "string",
- "hasErrors": true,
- "id": "string",
- "expectedFieldId": "string",
- "evidenceRequestId": "string",
- "batchItemId": "string"
}
], - "pageInfo": {
- "startCursor": "string",
- "endCursor": "string",
- "hasPreviousPage": true,
- "hasNextPage": true
}
}| id required | string |
| idempotency-key required | string A unique identifier for the request |
| type required | string Default: "NUMERIC" |
| value required | string |
| expectedFieldId required | string <uuid> |
| batchItemId | string or null <uuid> |
{- "type": "NUMERIC",
- "value": "string",
- "expectedFieldId": "c9445aee-6e7c-4508-99e6-1d565826fb8f",
- "batchItemId": "c031d794-557a-415d-b487-6d1395a3d5e3"
}Expected Fields are configurations for the data inputs for a Document Instance. Each field specifies its data type—text, numeric, date, or boolean—and can include validation constraints like min/max values or date ranges to ensure accurate data capture.
Creates a new Expected Field for a Document Instance. The type fields determines the other input fields.
| idempotency-key required | string A unique identifier for the request |
| type required | string Default: "NUMERIC" |
| unit | string or null |
| minValue | string or null |
| maxValue | string or null |
| documentInstanceId required | string <uuid> |
| label required | string |
{- "type": "NUMERIC",
- "unit": "string",
- "minValue": "string",
- "maxValue": "string",
- "documentInstanceId": "5f69dfc2-d3e5-44de-b8b9-f504ed41e323",
- "label": "string"
}Returns a paginated list of expected fields.
| pageCursor | string <uuid> |
| pageSize | number [ 1 .. 100 ] Default: 10 |
| documentInstanceId | string <uuid> |
| monitoringPeriodId | string <uuid> |
| evidenceRequestId | string <uuid> |
| modelId | string <uuid> |
| type | object (Object) |
{- "data": [
- {
- "type": "NUMERIC",
- "unit": "string",
- "minValue": "string",
- "maxValue": "string",
- "id": "string",
- "documentInstanceId": "string",
- "label": "string"
}
], - "pageInfo": {
- "startCursor": "string",
- "endCursor": "string",
- "hasPreviousPage": true,
- "hasNextPage": true
}
}Retrieves a specific expected field by ID.
| id required | string |
{- "type": "NUMERIC",
- "unit": "string",
- "minValue": "string",
- "maxValue": "string",
- "id": "string",
- "documentInstanceId": "string",
- "label": "string"
}Updates an existing Expected Field by ID. The type field determines the value field type.
| id required | string |
| type required | string Default: "NUMERIC" |
| label | string |
| unit | string or null |
| minValue | string or null |
| maxValue | string or null |
{- "type": "NUMERIC",
- "label": "string",
- "unit": "string",
- "minValue": "string",
- "maxValue": "string"
}A Facility represents a physical or operational location where environmental activities occur. Facilities serve as the primary unit for reporting, linking Monitoring Periods, Audit Packages, Documents, and Evidence Requests.
Creates a new facility.
| idempotency-key required | string A unique identifier for the request |
| label | string or null |
| description | string or null |
{- "label": "string",
- "description": "string"
}{- "id": "string",
- "label": "string",
- "description": "string",
- "organizationId": "string"
}Returns a paginated list of facilities.
| pageCursor | string <uuid> |
| pageSize | number [ 1 .. 100 ] Default: 10 |
{- "data": [
- {
- "id": "string",
- "label": "string",
- "description": "string",
- "organizationId": "string"
}
], - "pageInfo": {
- "startCursor": "string",
- "endCursor": "string",
- "hasPreviousPage": true,
- "hasNextPage": true
}
}Creates multiple facilities.
| idempotency-key required | string A unique identifier for the request |
Array of facilities to create
| label | string or null |
| description | string or null |
[- {
- "label": "string",
- "description": "string"
}
][- {
- "id": "string",
- "label": "string",
- "description": "string",
- "organizationId": "string"
}
]Updates an existing facility by ID.
| id required | string |
| label | string or null |
| description | string or null |
{- "label": "string",
- "description": "string"
}{- "id": "string",
- "label": "string",
- "description": "string",
- "organizationId": "string"
}Creates a new audit package. Note: 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.
| id required | string |
| idempotency-key required | string A unique identifier for the request |
required | Array of objects (AuditPackageSubjectInput) non-empty | ||||
Array (non-empty)
| |||||
{- "subjects": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "FRAMEWORK_INSTANCE"
}
]
}{- "primaryAuditorOrganization": {
- "id": "string",
- "label": "string"
}, - "secondaryAuditorOrganizations": [
- {
- "id": "string",
- "label": "string"
}
], - "id": "string",
- "facilityId": "string",
- "startDate": "2019-08-24T14:15:22Z",
- "endDate": "2019-08-24T14:15:22Z",
- "audits": [
- {
- "type": "FRAMEWORK_INSTANCE",
- "subjectId": "string",
- "status": "APPROVED",
- "auditorOrganization": {
- "id": "string",
- "label": "string"
}, - "auditors": [
- {
- "id": "string",
- "email": "string"
}
], - "createdBy": "string",
- "id": "string",
- "label": "string",
- "monitoringPeriodId": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "completedAt": "2019-08-24T14:15:22Z"
}
], - "fields": [
- {
- "type": "NUMERIC",
- "id": "string",
- "label": "string",
- "value": "string"
}
], - "createdAt": "2019-08-24T14:15:22Z"
}Returns a paginated list of framework instances.
| pageCursor | string <uuid> |
| pageSize | number [ 1 .. 100 ] Default: 10 |
| frameworkId | string or null <uuid> |
| monitoringPeriodId | string or null <uuid> |
{- "data": [
- {
- "id": "string",
- "frameworkId": "string",
- "monitoringPeriodId": "string"
}
], - "pageInfo": {
- "startCursor": "string",
- "endCursor": "string",
- "hasPreviousPage": true,
- "hasNextPage": true
}
}Creates a new framework instance.
| id required | string |
| idempotency-key required | string A unique identifier for the request |
| frameworkId required | string <uuid> |
{- "frameworkId": "39ce3374-0559-48fa-9aa6-962d6b4d6117"
}{- "id": "string",
- "frameworkId": "string",
- "monitoringPeriodId": "string"
}Fields reference Document Instances and derive calculations from their Expected Fields. For Document Instances with repeating Evidence Requests, Expected Field values can be averaged or summed in the calculations. For Document Instances with Batch Evidence Requests, calculations are vectorized so that each batch is matched to its relevant data point, producing a result for every batch.
Retrieves a specific field by ID.
| id required | string |
{- "emissionImpactType": "SEQUESTRATION",
- "variables": [
- {
- "type": "EXPECTED_FIELD",
- "aggregateFn": "sum",
- "refId": "string"
}
], - "id": "string",
- "label": "string",
- "description": "string",
- "expression": "string",
- "fieldLibraryId": "string"
}Updates an existing field by ID.
| id required | string |
| expression | string or null The mathematical expression. You can reference variable values using the escaped refId. To escape the refId, replace any dashes with underscores and add an underscore prefix. |
| emissionImpactType | string or null Enum: "SEQUESTRATION" "EMISSION" |
Array of any or null | |
| label | string or null |
| description | string or null |
{- "expression": "_abcd_123 / _efgh_456 * 100",
- "emissionImpactType": "SEQUESTRATION",
- "variables": [
- {
- "type": "EXPECTED_FIELD",
- "aggregateFn": "sum",
- "refId": "639293c5-5581-48d7-94b9-83aceaff93f8"
}
], - "label": "string",
- "description": "string"
}{- "emissionImpactType": "SEQUESTRATION",
- "variables": [
- {
- "type": "EXPECTED_FIELD",
- "aggregateFn": "sum",
- "refId": "string"
}
], - "id": "string",
- "label": "string",
- "description": "string",
- "expression": "string",
- "fieldLibraryId": "string"
}Creates a new field.
| id required | string |
| idempotency-key required | string A unique identifier for the request |
| expression | string or null The mathematical expression. You can reference variable values using the escaped refId. To escape the refId, replace any dashes with underscores and add an underscore prefix. |
| emissionImpactType | string or null Enum: "SEQUESTRATION" "EMISSION" |
Array of any or null | |
| label | string or null |
| description | string or null |
{- "expression": "_abcd_123 / _efgh_456 * 100",
- "emissionImpactType": "SEQUESTRATION",
- "variables": [
- {
- "type": "EXPECTED_FIELD",
- "aggregateFn": "sum",
- "refId": "639293c5-5581-48d7-94b9-83aceaff93f8"
}
], - "label": "string",
- "description": "string"
}{- "emissionImpactType": "SEQUESTRATION",
- "variables": [
- {
- "type": "EXPECTED_FIELD",
- "aggregateFn": "sum",
- "refId": "string"
}
], - "id": "string",
- "label": "string",
- "description": "string",
- "expression": "string",
- "fieldLibraryId": "string"
}Returns a paginated list of fields.
| id required | string |
| pageCursor | string <uuid> |
| pageSize | number [ 1 .. 100 ] Default: 10 |
{- "data": [
- {
- "emissionImpactType": "SEQUESTRATION",
- "variables": [
- {
- "type": "EXPECTED_FIELD",
- "aggregateFn": "sum",
- "refId": "string"
}
], - "id": "string",
- "label": "string",
- "description": "string",
- "expression": "string",
- "fieldLibraryId": "string"
}
], - "pageInfo": {
- "startCursor": "string",
- "endCursor": "string",
- "hasPreviousPage": true,
- "hasNextPage": true
}
}A Field Library is a collection of related Fields. Every Field inherently belongs to a Field Library.
Creates a new field.
| id required | string |
| idempotency-key required | string A unique identifier for the request |
| expression | string or null The mathematical expression. You can reference variable values using the escaped refId. To escape the refId, replace any dashes with underscores and add an underscore prefix. |
| emissionImpactType | string or null Enum: "SEQUESTRATION" "EMISSION" |
Array of any or null | |
| label | string or null |
| description | string or null |
{- "expression": "_abcd_123 / _efgh_456 * 100",
- "emissionImpactType": "SEQUESTRATION",
- "variables": [
- {
- "type": "EXPECTED_FIELD",
- "aggregateFn": "sum",
- "refId": "639293c5-5581-48d7-94b9-83aceaff93f8"
}
], - "label": "string",
- "description": "string"
}{- "emissionImpactType": "SEQUESTRATION",
- "variables": [
- {
- "type": "EXPECTED_FIELD",
- "aggregateFn": "sum",
- "refId": "string"
}
], - "id": "string",
- "label": "string",
- "description": "string",
- "expression": "string",
- "fieldLibraryId": "string"
}Returns a paginated list of fields.
| id required | string |
| pageCursor | string <uuid> |
| pageSize | number [ 1 .. 100 ] Default: 10 |
{- "data": [
- {
- "emissionImpactType": "SEQUESTRATION",
- "variables": [
- {
- "type": "EXPECTED_FIELD",
- "aggregateFn": "sum",
- "refId": "string"
}
], - "id": "string",
- "label": "string",
- "description": "string",
- "expression": "string",
- "fieldLibraryId": "string"
}
], - "pageInfo": {
- "startCursor": "string",
- "endCursor": "string",
- "hasPreviousPage": true,
- "hasNextPage": true
}
}Creates a new field library.
| id required | string |
| idempotency-key required | string A unique identifier for the request |
| label | string or null |
| description | string or null |
{- "label": "string",
- "description": "string"
}{- "id": "string",
- "label": "string",
- "description": "string",
- "sectionId": "string"
}Returns a paginated list of field libraries.
| id required | string |
| pageCursor | string <uuid> |
| pageSize | number [ 1 .. 100 ] Default: 10 |
{- "data": [
- {
- "id": "string",
- "label": "string",
- "description": "string",
- "sectionId": "string"
}
], - "pageInfo": {
- "startCursor": "string",
- "endCursor": "string",
- "hasPreviousPage": true,
- "hasNextPage": true
}
}Retrieves a specific formula by ID.
| id required | string |
{- "emissionImpactType": "SEQUESTRATION",
- "id": "string",
- "label": "string",
- "description": "string",
- "expression": "string",
- "variables": [
- {
- "type": "FIELD_OR_FORMULA",
- "refId": "string"
}
], - "sectionId": "string"
}Updates an existing formula by ID.
| id required | string |
| expression | string or null The mathematical expression. You can reference variable values using the escaped refId. To escape the refId, replace any dashes with underscores and add an underscore prefix. |
| emissionImpactType | string or null Enum: "SEQUESTRATION" "EMISSION" |
| label | string or null |
| description | string or null |
Array of objects or null (FormulaVariableInput) |
{- "expression": "_abcd_123 / _efgh_456 * 100",
- "emissionImpactType": "SEQUESTRATION",
- "label": "string",
- "description": "string",
- "variables": [
- {
- "refId": "639293c5-5581-48d7-94b9-83aceaff93f8",
- "type": "FIELD_OR_FORMULA"
}
]
}{- "emissionImpactType": "SEQUESTRATION",
- "id": "string",
- "label": "string",
- "description": "string",
- "expression": "string",
- "variables": [
- {
- "type": "FIELD_OR_FORMULA",
- "refId": "string"
}
], - "sectionId": "string"
}Creates a new formula.
| id required | string |
| idempotency-key required | string A unique identifier for the request |
| expression | string or null The mathematical expression. You can reference variable values using the escaped refId. To escape the refId, replace any dashes with underscores and add an underscore prefix. |
| emissionImpactType | string or null Enum: "SEQUESTRATION" "EMISSION" |
| label | string or null |
| description | string or null |
Array of objects or null (FormulaVariableInput) |
{- "expression": "_abcd_123 / _efgh_456 * 100",
- "emissionImpactType": "SEQUESTRATION",
- "label": "string",
- "description": "string",
- "variables": [
- {
- "refId": "639293c5-5581-48d7-94b9-83aceaff93f8",
- "type": "FIELD_OR_FORMULA"
}
]
}{- "emissionImpactType": "SEQUESTRATION",
- "id": "string",
- "label": "string",
- "description": "string",
- "expression": "string",
- "variables": [
- {
- "type": "FIELD_OR_FORMULA",
- "refId": "string"
}
], - "sectionId": "string"
}Returns a paginated list of formulas.
| id required | string |
| pageCursor | string <uuid> |
| pageSize | number [ 1 .. 100 ] Default: 10 |
{- "data": [
- {
- "emissionImpactType": "SEQUESTRATION",
- "id": "string",
- "label": "string",
- "description": "string",
- "expression": "string",
- "variables": [
- {
- "type": "FIELD_OR_FORMULA",
- "refId": "string"
}
], - "sectionId": "string"
}
], - "pageInfo": {
- "startCursor": "string",
- "endCursor": "string",
- "hasPreviousPage": true,
- "hasNextPage": true
}
}Returns a paginated list of frameworks.
| pageCursor | string <uuid> |
| pageSize | number [ 1 .. 100 ] Default: 10 |
{- "data": [
- {
- "id": "string",
- "label": "string",
- "description": "string"
}
], - "pageInfo": {
- "startCursor": "string",
- "endCursor": "string",
- "hasPreviousPage": true,
- "hasNextPage": true
}
}Models are formula-based computations that reference Expected Fields defined in Documents. Models enable consistent, repeatable calculations across Facilities and Monitoring Periods, ensuring that updates to source data automatically propagate to model outputs.
Updates an existing model by ID.
| id required | string |
| label | string or null |
| description | string or null |
{- "label": "string",
- "description": "string"
}{- "id": "string",
- "label": "string",
- "description": "string"
}Creates a new model section.
| id required | string |
| idempotency-key required | string A unique identifier for the request |
| label | string or null |
| description | string or null |
{- "label": "string",
- "description": "string"
}{- "id": "string",
- "label": "string",
- "description": "string"
}Returns a paginated list of model sections.
| id required | string |
| pageCursor | string <uuid> |
| pageSize | number [ 1 .. 100 ] Default: 10 |
{- "data": [
- {
- "id": "string",
- "label": "string",
- "description": "string"
}
], - "pageInfo": {
- "startCursor": "string",
- "endCursor": "string",
- "hasPreviousPage": true,
- "hasNextPage": true
}
}Creates a new model.
| id required | string |
| idempotency-key required | string A unique identifier for the request |
| label | string or null |
| description | string or null |
| templateId | string or null <uuid> |
{- "label": "string",
- "description": "string",
- "templateId": "196100ac-4eec-4fb6-a7f7-86c8b584771d"
}{- "id": "string",
- "label": "string",
- "description": "string"
}Returns a paginated list of models.
| id required | string |
| pageCursor | string <uuid> |
| pageSize | number [ 1 .. 100 ] Default: 10 |
{- "data": [
- {
- "id": "string",
- "label": "string",
- "description": "string"
}
], - "pageInfo": {
- "startCursor": "string",
- "endCursor": "string",
- "hasPreviousPage": true,
- "hasNextPage": true
}
}Model Sections provide the top-level structure within a Model. They group related Fields and Formulas, helping organize calculations into smaller components.
Creates a new model section.
| id required | string |
| idempotency-key required | string A unique identifier for the request |
| label | string or null |
| description | string or null |
{- "label": "string",
- "description": "string"
}{- "id": "string",
- "label": "string",
- "description": "string"
}Returns a paginated list of model sections.
| id required | string |
| pageCursor | string <uuid> |
| pageSize | number [ 1 .. 100 ] Default: 10 |
{- "data": [
- {
- "id": "string",
- "label": "string",
- "description": "string"
}
], - "pageInfo": {
- "startCursor": "string",
- "endCursor": "string",
- "hasPreviousPage": true,
- "hasNextPage": true
}
}Updates an existing model section by ID.
| id required | string |
| label | string or null |
| description | string or null |
{- "label": "string",
- "description": "string"
}{- "id": "string",
- "label": "string",
- "description": "string"
}Creates a new field library.
| id required | string |
| idempotency-key required | string A unique identifier for the request |
| label | string or null |
| description | string or null |
{- "label": "string",
- "description": "string"
}{- "id": "string",
- "label": "string",
- "description": "string",
- "sectionId": "string"
}Returns a paginated list of field libraries.
| id required | string |
| pageCursor | string <uuid> |
| pageSize | number [ 1 .. 100 ] Default: 10 |
{- "data": [
- {
- "id": "string",
- "label": "string",
- "description": "string",
- "sectionId": "string"
}
], - "pageInfo": {
- "startCursor": "string",
- "endCursor": "string",
- "hasPreviousPage": true,
- "hasNextPage": true
}
}Creates a new formula.
| id required | string |
| idempotency-key required | string A unique identifier for the request |
| expression | string or null The mathematical expression. You can reference variable values using the escaped refId. To escape the refId, replace any dashes with underscores and add an underscore prefix. |
| emissionImpactType | string or null Enum: "SEQUESTRATION" "EMISSION" |
| label | string or null |
| description | string or null |
Array of objects or null (FormulaVariableInput) |
{- "expression": "_abcd_123 / _efgh_456 * 100",
- "emissionImpactType": "SEQUESTRATION",
- "label": "string",
- "description": "string",
- "variables": [
- {
- "refId": "639293c5-5581-48d7-94b9-83aceaff93f8",
- "type": "FIELD_OR_FORMULA"
}
]
}{- "emissionImpactType": "SEQUESTRATION",
- "id": "string",
- "label": "string",
- "description": "string",
- "expression": "string",
- "variables": [
- {
- "type": "FIELD_OR_FORMULA",
- "refId": "string"
}
], - "sectionId": "string"
}Returns a paginated list of formulas.
| id required | string |
| pageCursor | string <uuid> |
| pageSize | number [ 1 .. 100 ] Default: 10 |
{- "data": [
- {
- "emissionImpactType": "SEQUESTRATION",
- "id": "string",
- "label": "string",
- "description": "string",
- "expression": "string",
- "variables": [
- {
- "type": "FIELD_OR_FORMULA",
- "refId": "string"
}
], - "sectionId": "string"
}
], - "pageInfo": {
- "startCursor": "string",
- "endCursor": "string",
- "hasPreviousPage": true,
- "hasNextPage": true
}
}Model Templates are partially defined Models that can be applied to a Monitoring Period. When applied to a Monitoring Period, a Model Template generates a Model with Formulas and Fields that can be further configured.
Returns a paginated list of model templates.
| pageCursor | string <uuid> |
| pageSize | number [ 1 .. 100 ] Default: 10 |
{- "data": [
- {
- "id": "string",
- "label": "string",
- "description": "string"
}
], - "pageInfo": {
- "startCursor": "string",
- "endCursor": "string",
- "hasPreviousPage": true,
- "hasNextPage": true
}
}A Monitoring Period defines a specific time frame within a Facility during which CDR activities are tracked and reported. Data collected during a Monitoring Period is associated with relevant Documents and Evidence Requests for auditing and compliance purposes.
Creates a new monitoring period.
| idempotency-key required | string A unique identifier for the request |
| facilityId required | string <uuid> |
| description | string or null |
| startDate required | string <date-time> |
| endDate required | string <date-time> |
{- "facilityId": "d7244f5b-52c1-4d27-b4f5-43b1113fc304",
- "description": "string",
- "startDate": "2019-08-24T14:15:22Z",
- "endDate": "2019-08-24T14:15:22Z"
}{- "id": "string",
- "description": "string",
- "startDate": "2019-08-24T14:15:22Z",
- "endDate": "2019-08-24T14:15:22Z",
- "facilityId": "string"
}Returns a paginated list of Monitoring Periods.
| pageCursor | string <uuid> |
| pageSize | number [ 1 .. 100 ] Default: 10 |
| facilityId | string <uuid> |
{- "data": [
- {
- "id": "string",
- "description": "string",
- "startDate": "2019-08-24T14:15:22Z",
- "endDate": "2019-08-24T14:15:22Z",
- "facilityId": "string"
}
], - "pageInfo": {
- "startCursor": "string",
- "endCursor": "string",
- "hasPreviousPage": true,
- "hasNextPage": true
}
}Creates a copy of an existing Monitoring Period to a target Facility with new start and end dates.
| id required | string |
| idempotency-key required | string A unique identifier for the request |
| targetFacilityId required | string <uuid> |
| startDate required | string <date-time> |
| endDate required | string <date-time> |
{- "targetFacilityId": "1bee9322-e776-48d0-a953-f18d3a200bed",
- "startDate": "2019-08-24T14:15:22Z",
- "endDate": "2019-08-24T14:15:22Z"
}{- "id": "string",
- "description": "string",
- "startDate": "2019-08-24T14:15:22Z",
- "endDate": "2019-08-24T14:15:22Z",
- "facilityId": "string"
}Retrieves a specific monitoring period by ID.
| id required | string |
{- "id": "string",
- "description": "string",
- "startDate": "2019-08-24T14:15:22Z",
- "endDate": "2019-08-24T14:15:22Z",
- "facilityId": "string"
}Updates an existing monitoring period by ID.
| id required | string |
| description | string or null |
| startDate | string <date-time> |
| endDate | string <date-time> |
{- "description": "string",
- "startDate": "2019-08-24T14:15:22Z",
- "endDate": "2019-08-24T14:15:22Z"
}{- "id": "string",
- "description": "string",
- "startDate": "2019-08-24T14:15:22Z",
- "endDate": "2019-08-24T14:15:22Z",
- "facilityId": "string"
}Deletes a specific monitoring period by ID.
| id required | string |
{- "id": "string",
- "description": "string",
- "startDate": "2019-08-24T14:15:22Z",
- "endDate": "2019-08-24T14:15:22Z",
- "facilityId": "string"
}Creates a new model.
| id required | string |
| idempotency-key required | string A unique identifier for the request |
| label | string or null |
| description | string or null |
| templateId | string or null <uuid> |
{- "label": "string",
- "description": "string",
- "templateId": "196100ac-4eec-4fb6-a7f7-86c8b584771d"
}{- "id": "string",
- "label": "string",
- "description": "string"
}Returns a paginated list of models.
| id required | string |
| pageCursor | string <uuid> |
| pageSize | number [ 1 .. 100 ] Default: 10 |
{- "data": [
- {
- "id": "string",
- "label": "string",
- "description": "string"
}
], - "pageInfo": {
- "startCursor": "string",
- "endCursor": "string",
- "hasPreviousPage": true,
- "hasNextPage": true
}
}Creates a new framework instance.
| id required | string |
| idempotency-key required | string A unique identifier for the request |
| frameworkId required | string <uuid> |
{- "frameworkId": "39ce3374-0559-48fa-9aa6-962d6b4d6117"
}{- "id": "string",
- "frameworkId": "string",
- "monitoringPeriodId": "string"
}Partners can authenticate in two ways, depending on what they're doing:
1) Partner Client Secret (pcs_…)
pcs_. Treat it like a password (store securely; never commit to source control).2) Partner Access Token (poa_…)
POST /v0/partners/auth/access-tokensRedeems an authorization code (provided by the supplier) to issue an access token (poa_…) scoped to the supplier's organization.
Requires Partner Client Secret (pcs_…) as Bearer.
For security purposes, this endpoint can only be called once for a given authorization code.
| authorizationCode required | string The authorization code used to create the access token |
{- "authorizationCode": "string"
}{- "accessToken": "poa_abc123"
}An Organization represents the top-level entity under which Users, Facilities, and Audits are managed. It defines ownership and permissions for all data and operations within the platform.
Creates a new organization.
| idempotency-key required | string A unique identifier for the request |
| label required | string |
{- "label": "string"
}{- "id": "string",
- "label": "string"
}Returns a paginated list of organizations.
| pageCursor | string <uuid> |
| pageSize | number [ 1 .. 100 ] Default: 10 |
| label | string |
{- "data": [
- {
- "id": "string",
- "label": "string"
}
], - "pageInfo": {
- "startCursor": "string",
- "endCursor": "string",
- "hasPreviousPage": true,
- "hasNextPage": true
}
}Users are individuals or service accounts that interact with the platform. They can be assigned roles and permissions to upload data, review audits, or manage other organizational data.
Invites a new User to the platform.
| idempotency-key required | string A unique identifier for the request |
| role required | string Enum: "ADMIN" "LIMITED_ACCESS_MEMBER" "ISSUING_AUTHORITY_ADMIN" "ISSUING_AUTHORITY_EDITOR" "ISSUING_AUTHORITY_VIEWER" "VERIFIER_ADMIN" "MANAGED_ADMIN" The role of the user to invite. |
| email required | string |
| firstName | string or null |
| lastName | string or null |
| sendInviteEmail | boolean or null |
{- "role": "ADMIN",
- "email": "string",
- "firstName": "string",
- "lastName": "string",
- "sendInviteEmail": true
}{- "id": "string",
- "email": "string"
}