BOLD Recycling — MassID Event Reference
Canonical per-event JSON payloads for BOLD Recycling integrations.
Methodology version 1.0.1
How to read this page
Each event below shows the canonical JSON payload integrators send to the Documents API.
The isPublic flags inside each example are Carrot's recommended visibility — see
Privacy & Masking for the model.
Per-event attribute dictionaries (definitions, types, sensitive flags, conditional rules) are the planned next addition to this page.
Create MassID document
The initial POST /documents call that creates a MassID. Not an event on the document's
timeline — included here as the starting point for integrator flows. The
Waste Generator is the creator; events are added to this
document afterward.
{ "address": { "city": "São Paulo", "countryCode": "BR", "countryState": "SP", "latitude": -23.5613, "longitude": -46.6563, "name": "Sede", "neighborhood": "Centro", "number": "1000", "street": "Avenida Exemplo", "zipCode": "01001000" }, "category": "MassID", "externalCreatedAt": "2024-12-05T11:02:47Z", "isPublic": true, "isPubliclySearchable": true, "participant": { "countryCode": "BR", "email": "wastegen@example.com", "mobileNumber": "+5511000000001", "name": "Acme Example Waste Generator", "taxId": "11222333000181", "taxIdType": "CNPJ", "type": "COMPANY" }, "subtype": "Food, Food Waste and Beverages", "title": "MassID", "type": "Organic"}ACTOR — Waste Generator
{ "externalCreatedAt": "2024-12-05T11:02:47Z", "isPublic": false, "address": { "city": "São Paulo", "countryCode": "BR", "countryState": "SP", "latitude": -23.5613, "longitude": -46.6563, "name": "Sede", "neighborhood": "Centro", "number": "1000", "street": "Avenida Exemplo", "zipCode": "01001000" }, "label": "Waste Generator", "name": "ACTOR", "participant": { "id": "00000000-0000-4000-8000-00000000000a", "countryCode": "BR", "email": "wastegen@example.com", "mobileNumber": "+5511000000001", "name": "Acme Example Waste Generator", "taxId": "11222333000181", "taxIdType": "CNPJ", "type": "COMPANY" }}ACTOR — Recycler
{ "externalCreatedAt": "2024-12-05T11:02:47Z", "isPublic": true, "address": { "city": "São Paulo", "countryCode": "BR", "countryState": "SP", "latitude": -23.5613, "longitude": -46.6563, "name": "Sede", "neighborhood": "Centro", "number": "1000", "street": "Avenida Exemplo", "zipCode": "01001000" }, "label": "Recycler", "name": "ACTOR", "participant": { "id": "00000000-0000-4000-8000-00000000000d", "countryCode": "BR", "email": "recycler@example.com", "mobileNumber": "+5511000000004", "name": "Acme Example Recycler", "taxId": "11222333000424", "taxIdType": "CNPJ", "type": "COMPANY" }}ACTOR — Processor
{ "externalCreatedAt": "2024-12-05T11:02:47Z", "isPublic": true, "address": { "city": "São Paulo", "countryCode": "BR", "countryState": "SP", "latitude": -23.5613, "longitude": -46.6563, "name": "Sede", "neighborhood": "Centro", "number": "1000", "street": "Avenida Exemplo", "zipCode": "01001000" }, "label": "Processor", "name": "ACTOR", "participant": { "id": "00000000-0000-4000-8000-00000000000c", "countryCode": "BR", "email": "processor@example.com", "mobileNumber": "+5511000000003", "name": "Acme Example Processor", "taxId": "11222333000343", "taxIdType": "CNPJ", "type": "COMPANY" }}ACTOR — Hauler
{ "externalCreatedAt": "2024-12-05T11:02:47Z", "isPublic": false, "address": { "city": "São Paulo", "countryCode": "BR", "countryState": "SP", "latitude": -23.5613, "longitude": -46.6563, "name": "Sede", "neighborhood": "Centro", "number": "1000", "street": "Avenida Exemplo", "zipCode": "01001000" }, "label": "Hauler", "name": "ACTOR", "participant": { "id": "00000000-0000-4000-8000-00000000000b", "countryCode": "BR", "email": "hauler@example.com", "mobileNumber": "+5511000000002", "name": "Acme Example Hauler", "taxId": "11222333000262", "taxIdType": "CNPJ", "type": "COMPANY" }}ACTOR — Integrator
{ "externalCreatedAt": "2024-12-05T11:02:47Z", "isPublic": true, "address": { "city": "São Paulo", "countryCode": "BR", "countryState": "SP", "latitude": -23.5613, "longitude": -46.6563, "name": "Sede", "neighborhood": "Centro", "number": "1000", "street": "Avenida Exemplo", "zipCode": "01001000" }, "label": "Integrator", "name": "ACTOR", "participant": { "id": "00000000-0000-4000-8000-00000000000e", "businessName": "Acme Example Integrator", "countryCode": "BR", "email": "integrator@example.com", "mobileNumber": "+5511000000005", "name": "Acme Example Integrator", "taxId": "11222333000505", "taxIdType": "CNPJ", "telephoneNumber": "+5511000000005", "type": "COMPANY" }}Pick-up
{ "externalCreatedAt": "2024-12-05T11:02:47Z", "isPublic": false, "address": { "city": "São Paulo", "countryCode": "BR", "countryState": "SP", "latitude": -23.5613, "longitude": -46.6563, "name": "Sede", "neighborhood": "Centro", "number": "1000", "street": "Avenida Exemplo", "zipCode": "01001000" }, "name": "Pick-up", "participant": { "id": "00000000-0000-4000-8000-00000000000a", "countryCode": "BR", "email": "wastegen@example.com", "mobileNumber": "+5511000000001", "name": "Acme Example Waste Generator", "taxId": "11222333000181", "taxIdType": "CNPJ", "type": "COMPANY" }, "metadata": { "attributes": [ { "isPublic": true, "name": "Description", "value": "Waste picked up by hauler Acme Example Hauler at Acme Example Waste Generator" }, { "isPublic": true, "name": "Local Waste Classification ID", "value": "04 02 20" }, { "isPublic": true, "name": "Local Waste Classification Description", "value": "Lodos do tratamento local de efluentes não abrangidas em 04 02 19" }, { "sensitive": true, "isPublic": false, "name": "Vehicle License Plate", "value": "ABC1D23" }, { "isPublic": true, "name": "Vehicle Type", "value": "Truck" }, { "isPublic": false, "name": "Driver Identifier", "value": "00000000-0000-4000-8000-00000000d21f" } ] }}Transport Manifest
{ "externalCreatedAt": "2024-12-05T11:02:47Z", "isPublic": true, "address": { "city": "São Paulo", "countryCode": "BR", "countryState": "SP", "latitude": -23.5613, "longitude": -46.6563, "name": "Sede", "neighborhood": "Centro", "number": "1000", "street": "Avenida Exemplo", "zipCode": "01001000" }, "name": "Transport Manifest", "participant": { "id": "00000000-0000-4000-8000-00000000000a", "countryCode": "BR", "email": "wastegen@example.com", "mobileNumber": "+5511000000001", "name": "Acme Example Waste Generator", "taxId": "11222333000181", "taxIdType": "CNPJ", "type": "COMPANY" }, "value": 1201.925, "metadata": { "attributes": [ { "isPublic": true, "name": "Document Type", "value": "MTR" }, { "isPublic": true, "name": "Document Number", "value": "DOC-EXAMPLE-0001" }, { "format": "DATE", "isPublic": true, "name": "Issue Date", "value": "2024-02-10" } ] }, "attachments": [ { "fileName": "transport-manifest.pdf", "isPublic": false, "label": "Transport Manifest" } ]}Weighing
{ "externalCreatedAt": "2024-12-05T11:02:47Z", "isPublic": true, "address": { "city": "São Paulo", "countryCode": "BR", "countryState": "SP", "latitude": -23.5613, "longitude": -46.6563, "name": "Sede", "neighborhood": "Centro", "number": "1000", "street": "Avenida Exemplo", "zipCode": "01001000" }, "name": "Weighing", "participant": { "id": "00000000-0000-4000-8000-00000000000a", "countryCode": "BR", "email": "wastegen@example.com", "mobileNumber": "+5511000000001", "name": "Acme Example Waste Generator", "taxId": "11222333000181", "taxIdType": "CNPJ", "type": "COMPANY" }, "value": 1201.925, "metadata": { "attributes": [ { "isPublic": true, "name": "Description", "value": "Weighing captured at waste generator site" }, { "isPublic": true, "name": "Weigh Capture Method", "value": "Average Weight by Volume" }, { "isPublic": true, "name": "Scale Type", "value": "Floor Scale" }, { "isPublic": true, "name": "Container Type", "value": "Drum" }, { "isPublic": true, "name": "Container Quantity", "value": 1 }, { "format": "KILOGRAM", "isPublic": true, "name": "Container Capacity", "value": 100 }, { "format": "KILOGRAM", "isPublic": true, "name": "Gross Weight", "value": 1211.925 }, { "format": "KILOGRAM", "isPublic": true, "name": "Tare", "value": 10 } ] }}Drop-off
{ "externalCreatedAt": "2024-12-05T11:02:47Z", "isPublic": true, "address": { "city": "São Paulo", "countryCode": "BR", "countryState": "SP", "latitude": -23.5613, "longitude": -46.6563, "name": "Sede", "neighborhood": "Centro", "number": "1000", "street": "Avenida Exemplo", "zipCode": "01001000" }, "name": "Drop-off", "participant": { "id": "00000000-0000-4000-8000-00000000000d", "countryCode": "BR", "email": "recycler@example.com", "mobileNumber": "+5511000000004", "name": "Acme Example Recycler", "taxId": "11222333000424", "taxIdType": "CNPJ", "type": "COMPANY" }, "metadata": { "attributes": [ { "isPublic": true, "name": "Description", "value": "Waste deposited in Windrow number 1" }, { "isPublic": true, "name": "Receiving Operator Identifier", "value": "00000000-0000-4000-8000-00000000000c" } ] }}Sorting
{ "externalCreatedAt": "2024-12-05T11:02:47Z", "isPublic": true, "address": { "city": "São Paulo", "countryCode": "BR", "countryState": "SP", "latitude": -23.5613, "longitude": -46.6563, "name": "Sede", "neighborhood": "Centro", "number": "1000", "street": "Avenida Exemplo", "zipCode": "01001000" }, "name": "Sorting", "participant": { "id": "00000000-0000-4000-8000-00000000000c", "countryCode": "BR", "email": "processor@example.com", "mobileNumber": "+5511000000003", "name": "Acme Example Processor", "taxId": "11222333000343", "taxIdType": "CNPJ", "type": "COMPANY" }, "value": 1189.906, "metadata": { "attributes": [ { "isPublic": true, "name": "Description", "value": "Sorting factor determined by a third-party audit" }, { "format": "KILOGRAM", "isPublic": true, "name": "Gross Weight", "value": 1201.925 }, { "format": "KILOGRAM", "isPublic": true, "name": "Deducted Weight", "value": 12.019 } ] }}Recycled
{ "externalCreatedAt": "2025-02-22T10:35:12.000Z", "isPublic": true, "address": { "city": "São Paulo", "countryCode": "BR", "countryState": "SP", "latitude": -23.5613, "longitude": -46.6563, "name": "Sede", "neighborhood": "Centro", "number": "1000", "street": "Avenida Exemplo", "zipCode": "01001000" }, "name": "Recycled", "participant": { "id": "00000000-0000-4000-8000-00000000000d", "countryCode": "BR", "email": "recycler@example.com", "mobileNumber": "+5511000000004", "name": "Acme Example Recycler", "taxId": "11222333000424", "taxIdType": "CNPJ", "type": "COMPANY" }, "metadata": { "attributes": [ { "isPublic": true, "name": "Description", "value": "Composting process completed. The recycling completion date is recorded by a conservative estimate determined and verified by a third-party audit for the recycler" } ] }}Recycling Manifest
{ "externalCreatedAt": "2024-12-05T11:02:47Z", "isPublic": true, "address": { "city": "São Paulo", "countryCode": "BR", "countryState": "SP", "latitude": -23.5613, "longitude": -46.6563, "name": "Sede", "neighborhood": "Centro", "number": "1000", "street": "Avenida Exemplo", "zipCode": "01001000" }, "name": "Recycling Manifest", "participant": { "id": "00000000-0000-4000-8000-00000000000d", "countryCode": "BR", "email": "recycler@example.com", "mobileNumber": "+5511000000004", "name": "Acme Example Recycler", "taxId": "11222333000424", "taxIdType": "CNPJ", "type": "COMPANY" }, "value": 1201.925, "metadata": { "attributes": [ { "isPublic": true, "name": "Document Type", "value": "CDF" }, { "isPublic": true, "name": "Document Number", "value": "DOC-EXAMPLE-0002" }, { "format": "DATE", "isPublic": true, "name": "Issue Date", "value": "2024-03-10" } ] }, "attachments": [ { "fileName": "recycling-manifest.pdf", "isPublic": false, "label": "Recycling Manifest" } ]}Integration
Integration guide for BOLD Recycling Credit Application v1.0.0 — expected events, required fields, and validation requirements.
Overview
AMS-III.F — avoidance of methane emissions through composting. UNFCCC CDM methodology implemented on the Carrot Network via the BOLD Carbon (CH₄) framework.