> For the complete documentation index, see [llms.txt](https://tri.gitbook.io/tri-doc/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://tri.gitbook.io/tri-doc/methodology-or-protocol/view-methodology.md).

# View Methodology

### Methodology | Protocol

<mark style="color:blue;">`GET`</mark> <https://sandbox.triangle.digital/api/v2/d\\_mrv\\_form/{form\\_id}>

Returns one methodology in full — every field the form stores, including the version, the registry answers, the narrative sections and the document lists. Use it to read back what you created with [Add Methodology](/tri-doc/methodology-or-protocol/add-methodology.md) or changed with [Update Methodology](/tri-doc/methodology-or-protocol/update-methodology.md).

**Read shape.** The contact blocks (`part_carbon_credit_registry_name`, `auditor_verifier_poc`, `insurance_provider_poc`) are returned as a JSON string in the form `{"data":[[{"name":"first_name","value":"Ann"}, …], …]}` — one inner array per row — while the write endpoints take an array of objects instead. `un_sustainable_development_goals` comes back as a JSON array string of the stored goals. `data_room` is returned the same shape it is sent in, with `file` as a link; it is read-only here. Send updates in the shapes documented on [Add Methodology](/tri-doc/methodology-or-protocol/add-methodology.md) / [Update Methodology](/tri-doc/methodology-or-protocol/update-methodology.md).

**Path parameters**

<table data-full-width="true" data-search="false"><thead><tr><th width="200">Name</th><th width="110">Type</th><th>Description</th><th width="260">Where to take it from</th></tr></thead><tbody><tr><td><code>form_id</code></td><td>integer</td><td><strong>Required.</strong> The methodology identifier is one value under three names: <code>form_id</code> in the <a href="/tri-doc/methodology-or-protocol.md">Methodology | Protocol</a> section, <code>id</code> in <a href="/tri-doc/carbon-credit/d-mrv-methodologies.md">D-MRV Methodologies</a>, and <code>methodology_id</code> when a project links it. Also in <a href="/tri-doc/methodology-or-protocol/get-methodologies-list.md">Get Methodologies List</a>, and returned as <code>data.form_id</code> by <a href="/tri-doc/methodology-or-protocol/add-methodology.md">Add Methodology</a> when it creates the record.</td><td><a href="/tri-doc/carbon-credit/d-mrv-methodologies.md">D-MRV Methodologies</a> — <code>id</code>, or <a href="/tri-doc/methodology-or-protocol/get-methodologies-list.md">Get Methodologies List</a> — <code>form_id</code></td></tr></tbody></table>

**Headers**

<table data-full-width="true"><thead><tr><th>Name</th><th>Value</th></tr></thead><tbody><tr><td>Content-Type</td><td><code>application/json</code></td></tr></tbody></table>

**Query parameters**

<table data-full-width="true" data-search="false"><thead><tr><th width="200">Name</th><th width="110">Type</th><th>Description</th><th width="260">Example</th></tr></thead><tbody><tr><td><code>hash</code></td><td>string</td><td><strong>Required.</strong> API key.</td><td>fk5f0iuy-rr06-j4x3-i75b-fy2s67s4ilo1</td></tr></tbody></table>

**Response fields**

<table data-full-width="true" data-search="false"><thead><tr><th width="300">Field</th><th width="110">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>message</code></td><td>string</td><td>Human-readable result of the call.</td></tr><tr><td><code>success</code></td><td>boolean</td><td>Whether the methodology was returned; a refused call answers HTTP 400.</td></tr><tr><td><code>data.forms[].form_id</code></td><td>integer</td><td>The methodology identifier is one value under three names: <code>form_id</code> in the <a href="/tri-doc/methodology-or-protocol.md">Methodology | Protocol</a> section, <code>id</code> in <a href="/tri-doc/carbon-credit/d-mrv-methodologies.md">D-MRV Methodologies</a>, and <code>methodology_id</code> when a project links it. Use it in <a href="/tri-doc/methodology-or-protocol/update-methodology.md">Update Methodology</a>.</td></tr><tr><td><code>data.forms[].id</code></td><td>integer</td><td>Row identifier of the methodology record. Address the methodology by <code>form_id</code>.</td></tr><tr><td><code>data.forms[].dmrv_id</code></td><td>string</td><td>An opaque code of the methodology record. No endpoint accepts it — address a methodology by <code>form_id</code>.</td></tr><tr><td><code>data.forms[].d_mrv_name</code></td><td>string</td><td>Company of the methodology owner.</td></tr><tr><td><code>data.forms[].methodology_name</code></td><td>string</td><td>Name of the methodology or protocol. Together with <code>methodology_version_number</code> it identifies the record — a methodology is unique per this pair, not per name alone.</td></tr><tr><td><code>data.forms[].methodology_version_number</code></td><td>string</td><td>Version of the methodology. <code>null</code> when the methodology has no version.</td></tr><tr><td><code>data.forms[].methodology_display_name</code></td><td>string</td><td>Name and version joined for display, in the form <code>Name - version</code>; the name alone when there is no version.</td></tr><tr><td><code>data.forms[].cc_protocol_methodology_number</code></td><td>string</td><td>Methodology or protocol number.</td></tr><tr><td><code>data.forms[].d_mrv_types</code></td><td>array</td><td>Methodology type. One of: <code>Carbon Credit Bermuda</code>, <code>Carbon Inset</code>, <code>Carbon Offset</code>, <code>Carbon Removal</code>, <code>Carbon Sequestration</code>, <code>Carbon Avoidance</code>, <code>Solar REC</code>, <code>Solar Carbon Credit</code>, <code>Wind REC</code>, <code>Wind Carbon Credit</code>.</td></tr><tr><td><code>data.forms[].dmrv_methodology_category</code></td><td>string</td><td>Category of the methodology.</td></tr><tr><td><code>data.forms[].dmrv_instrument_category</code></td><td>string</td><td>Instrument category of the methodology.</td></tr><tr><td><code>data.forms[].dmrv_methodology_type</code></td><td>string</td><td>Type of the methodology within its category.</td></tr><tr><td><code>data.forms[].dmrv_methodology_subtype</code></td><td>string</td><td>Subtype of the methodology within its type.</td></tr><tr><td><code>data.forms[].issue_assets</code></td><td>string</td><td>Whether the methodology issues assets as produced, as a forward, or both. One of: <code>As Produced</code>, <code>Forward</code>, <code>Both</code>.</td></tr><tr><td><code>data.forms[].registry_questionnaire_id</code></td><td>integer</td><td>Registry the methodology belongs to, an <code>id</code> from <a href="/tri-doc/methodology-or-protocol/get-registries-list.md">Get Registries List</a>. <code>null</code> if not set.</td></tr><tr><td><code>data.forms[].is_part_carbon_credit_registry</code></td><td>string</td><td>Whether the methodology is part of a carbon credit registry. One of: <code>Yes</code>, <code>No</code>.</td></tr><tr><td><code>data.forms[].registry_name</code></td><td>string</td><td>Name of the registry the methodology belongs to. When <code>registry_questionnaire_id</code> is <code>null</code>, the name sent as <code>part_carbon_credit_registry_company_name</code> on <a href="/tri-doc/methodology-or-protocol/add-methodology.md">Add Methodology</a> or <a href="/tri-doc/methodology-or-protocol/update-methodology.md">Update Methodology</a>. <code>null</code> when there is none.</td></tr><tr><td><code>data.forms[].registry_type</code></td><td>string</td><td>Type of the registry. One of: <code>Traditional Ledger Registry</code>, <code>Digital Asset Registry</code>.</td></tr><tr><td><code>data.forms[].part_carbon_credit_registry_name</code></td><td>string</td><td>The stored registry contact rows, returned as a JSON string of the platform's row-array shape. Send updates as <code>part_carbon_credit_registry_name</code> on <a href="/tri-doc/methodology-or-protocol/add-methodology.md">Add Methodology</a> or <a href="/tri-doc/methodology-or-protocol/update-methodology.md">Update Methodology</a>.</td></tr><tr><td><code>data.forms[].is_triangle_cold_wallet</code></td><td>string</td><td>Whether the registry wallet is required — an answer of the company the methodology belongs to, not of the methodology, so every methodology of a company reports the same value. One of: <code>Yes</code>, <code>No</code>; empty when it has not been answered. Not accepted by <a href="/tri-doc/methodology-or-protocol/add-methodology.md">Add Methodology</a> or <a href="/tri-doc/methodology-or-protocol/update-methodology.md">Update Methodology</a> — read-only.</td></tr><tr><td><code>data.forms[].triangle_cold_wallet</code></td><td>string</td><td>The Triangle cold wallet address of the company the methodology belongs to — the same for every methodology of the company. Read it together with <code>is_triangle_cold_wallet</code>: an address stays stored when the answer is changed to <code>No</code>. <code>null</code> when no address is stored. Not accepted by <a href="/tri-doc/methodology-or-protocol/add-methodology.md">Add Methodology</a> or <a href="/tri-doc/methodology-or-protocol/update-methodology.md">Update Methodology</a> — read-only.</td></tr><tr><td><code>data.forms[].d_mrv_description</code></td><td>string</td><td>Description of the methodology.</td></tr><tr><td><code>data.forms[].references</code></td><td>string</td><td>References for the methodology.</td></tr><tr><td><code>data.forms[].co_benefits_description</code></td><td>string</td><td>Description of the methodology's co-benefits.</td></tr><tr><td><code>data.forms[].un_sustainable_development_goals</code></td><td>string</td><td>The stored Sustainable Development Goals, returned as a JSON array string. Send updates as <code>un_sustainable_development_goals</code> (array of goal names) on <a href="/tri-doc/methodology-or-protocol/add-methodology.md">Add Methodology</a> or <a href="/tri-doc/methodology-or-protocol/update-methodology.md">Update Methodology</a>.</td></tr><tr><td><code>data.forms[].associated_parameter</code></td><td>string</td><td>Parameter associated with the methodology.</td></tr><tr><td><code>data.forms[].parameter_value</code></td><td>string</td><td>Value of the associated parameter.</td></tr><tr><td><code>data.forms[].method_implemented_ie</code></td><td>string</td><td>Method implemented for ongoing monitoring.</td></tr><tr><td><code>data.forms[].terms_of_ongoing</code></td><td>string</td><td>Description of the ongoing monitoring.</td></tr><tr><td><code>data.forms[].is_there_auditor_validator</code></td><td>string</td><td>Whether there is an auditor / validator for the methodology. One of: <code>Yes</code>, <code>No</code>.</td></tr><tr><td><code>data.forms[].auditor_name</code></td><td>string</td><td>Auditor / validator company name. <code>null</code> when <code>is_there_auditor_validator</code> is <code>No</code>.</td></tr><tr><td><code>data.forms[].auditor_validator_type</code></td><td>string</td><td>Type of the auditor / validator. One of: <code>established</code>, <code>academic</code>, <code>public</code>, <code>private</code>, <code>other</code>.</td></tr><tr><td><code>data.forms[].auditor_attestations</code></td><td>string</td><td>Auditor / validator attestations.</td></tr><tr><td><code>data.forms[].auditor_verifier_poc</code></td><td>string</td><td>The stored Auditor / Validator contact rows, returned as a JSON string of the row-array shape. Send updates as <code>auditor_verifier_poc</code> on <a href="/tri-doc/methodology-or-protocol/add-methodology.md">Add Methodology</a> or <a href="/tri-doc/methodology-or-protocol/update-methodology.md">Update Methodology</a>.</td></tr><tr><td><code>data.forms[].is_there_insurance_provider</code></td><td>string</td><td>Whether there is an insurance provider for the methodology. One of: <code>Yes</code>, <code>No</code>.</td></tr><tr><td><code>data.forms[].insurance_provider</code></td><td>string</td><td>Insurance provider company name. <code>null</code> when <code>is_there_insurance_provider</code> is <code>No</code>.</td></tr><tr><td><code>data.forms[].insurance_provider_poc</code></td><td>string</td><td>The stored Insurance Provider contact rows, returned as a JSON string of the row-array shape. Send updates as <code>insurance_provider_poc</code> on <a href="/tri-doc/methodology-or-protocol/add-methodology.md">Add Methodology</a> or <a href="/tri-doc/methodology-or-protocol/update-methodology.md">Update Methodology</a>.</td></tr><tr><td><code>data.forms[].data_room</code></td><td>array</td><td>Data Room documents of the methodology, objects with <code>type</code>, <code>title</code>, <code>description</code>, <code>file</code>. <code>file</code> is returned as a link; the block is read-only here — change it by sending <code>data_room</code> on <a href="/tri-doc/methodology-or-protocol/add-methodology.md">Add Methodology</a> or <a href="/tri-doc/methodology-or-protocol/update-methodology.md">Update Methodology</a>. Up to 100 rows.</td></tr><tr><td><code>data.forms[].purpose_protocol</code></td><td>string</td><td>The protocol, described in the Purpose section.</td></tr><tr><td><code>data.forms[].purpose_supporting_standards</code></td><td>string</td><td>Supporting standards, described in the Purpose section.</td></tr><tr><td><code>data.forms[].purpose_blockchain_implementation</code></td><td>string</td><td>Blockchain implementation, described in the Purpose section.</td></tr><tr><td><code>data.forms[].purpose_definition</code></td><td>string</td><td>Definition given in the Purpose section.</td></tr><tr><td><code>data.forms[].eligibility_types_of_activities</code></td><td>string</td><td>Types of activities eligible under the methodology.</td></tr><tr><td><code>data.forms[].eligibility_minimum_requirements</code></td><td>string</td><td>Minimum requirements for eligibility.</td></tr><tr><td><code>data.forms[].eligibility_project_area</code></td><td>string</td><td>Eligible project area.</td></tr><tr><td><code>data.forms[].eligibility_stakeholder_obligations</code></td><td>string</td><td>Stakeholder obligations for eligibility.</td></tr><tr><td><code>data.forms[].eligibility_regulatory_compliance</code></td><td>string</td><td>Regulatory compliance required for eligibility.</td></tr><tr><td><code>data.forms[].eligibility_additionality</code></td><td>string</td><td>Additionality requirement of the methodology.</td></tr><tr><td><code>data.forms[].eligibility_permanence</code></td><td>string</td><td>Permanence requirement of the methodology.</td></tr><tr><td><code>data.forms[].eligibility_abatement_period</code></td><td>string</td><td>Abatement period required for eligibility.</td></tr><tr><td><code>data.forms[].eligibility_buffer_account</code></td><td>string</td><td>Buffer account requirement for eligibility.</td></tr><tr><td><code>data.forms[].eligibility_leakage</code></td><td>string</td><td>Leakage requirement for eligibility.</td></tr><tr><td><code>data.forms[].quantification_reserve_qualification</code></td><td>string</td><td>Reserve qualification used in quantification.</td></tr><tr><td><code>data.forms[].quantification_carbon_stock_of_reserves</code></td><td>string</td><td>Carbon stock of reserves used in quantification.</td></tr><tr><td><code>data.forms[].quantification_downstream_emissions_avoidance</code></td><td>string</td><td>Downstream Scope 3 emissions avoidance used in quantification.</td></tr><tr><td><code>data.forms[].quantification_fugitive_methane_emissions</code></td><td>string</td><td>Scope 1 fugitive methane emissions used in quantification.</td></tr><tr><td><code>data.forms[].validation_project_eligibility</code></td><td>string</td><td>Project eligibility criteria used in validation.</td></tr><tr><td><code>data.forms[].validation_sec_proved_reserves</code></td><td>string</td><td>SEC proved reserves used in validation.</td></tr><tr><td><code>data.forms[].validation_carbon_content</code></td><td>string</td><td>Carbon content used in validation.</td></tr><tr><td><code>data.forms[].validation_data_quality</code></td><td>string</td><td>Data quality standard used in validation.</td></tr><tr><td><code>data.forms[].execution_p_a_regulatory_process</code></td><td>string</td><td>Plugging and abandonment (P&#x26;A) regulatory process.</td></tr><tr><td><code>data.forms[].execution_land_reclamation_regulatory_process</code></td><td>string</td><td>Land reclamation regulatory process.</td></tr><tr><td><code>data.forms[].monitoring_project_area</code></td><td>string</td><td>Activity monitoring of the project area.</td></tr><tr><td><code>data.forms[].monitoring_land_reclamation</code></td><td>string</td><td>Land reclamation monitoring.</td></tr><tr><td><code>data.forms[].monitoring_reversal_compensating</code></td><td>string</td><td>How a reversal is compensated for.</td></tr><tr><td><code>data.forms[].verification_third_party</code></td><td>string</td><td>Third-party verification of the project.</td></tr><tr><td><code>data.forms[].verification_regulatory_compliance</code></td><td>string</td><td>Regulatory compliance checked during verification.</td></tr><tr><td><code>data.forms[].verification_monitoring</code></td><td>string</td><td>Monitoring checked during verification.</td></tr><tr><td><code>data.forms[].verification_execution</code></td><td>string</td><td>Execution checked during verification.</td></tr><tr><td><code>data.forms[].verification_data_quality</code></td><td>string</td><td>Data quality checked during verification.</td></tr><tr><td><code>data.forms[].verification_processes_and_entities</code></td><td>string</td><td>Verification processes and entities involved.</td></tr><tr><td><code>data.forms[].reporting_initial_project_execution</code></td><td>string</td><td>Initial project execution report.</td></tr><tr><td><code>data.forms[].reporting_annual_monitoring</code></td><td>string</td><td>Annual monitoring report.</td></tr><tr><td><code>data.forms[].reporting_final</code></td><td>string</td><td>Final report.</td></tr><tr><td><code>data.forms[].zerosix_credit_ownership_allocation</code></td><td>string</td><td>Project credit ownership and allocation.</td></tr><tr><td><code>data.forms[].zerosix_buffer_account_allocation</code></td><td>string</td><td>Buffer account allocation.</td></tr><tr><td><code>data.forms[].zerosix_project_credit_distribution</code></td><td>string</td><td>Project credit distribution.</td></tr><tr><td><code>data.forms[].zerosix_project_credit_retirement</code></td><td>string</td><td>Project credit retirement.</td></tr><tr><td><code>data.forms[].status_id</code></td><td>integer</td><td>Status of the methodology form.</td></tr><tr><td><code>data.forms[].company_name</code></td><td>string</td><td>Company the methodology belongs to.</td></tr><tr><td><code>data.forms[].created_at</code></td><td>string</td><td>Creation timestamp, ISO 8601 in UTC.</td></tr><tr><td><code>data.forms[].updated_at</code></td><td>string</td><td>Last update timestamp, ISO 8601 in UTC.</td></tr><tr><td><code>operations_count</code></td><td>integer</td><td>Operations counted for this call in the API usage accounting.</td></tr></tbody></table>

**Response**

{% tabs %}
{% tab title="200" %}
{% code fullWidth="false" %}

```json
{
    "message": "Data received successfully.",
    "success": true,
    "data": {
        "forms": [
            {
                "form_id": 74,
                "dmrv_id": "9f2c1b7a4e5d8c3b6a9f0e1d2c3b4a5f",
                "d_mrv_name": "BCarbon",
                "methodology_name": "Blue Carbon Protocol",
                "methodology_version_number": "2.2",
                "methodology_display_name": "Blue Carbon Protocol - 2.2",
                "cc_protocol_methodology_number": "BC-014",
                "d_mrv_types": ["Carbon Sequestration"],
                "dmrv_methodology_category": "Nature-based",
                "dmrv_instrument_category": "Carbon Credit",
                "issue_assets": "As Produced",
                "is_part_carbon_credit_registry": "Yes",
                "registry_questionnaire_id": 13,
                "registry_name": "BCarbon",
                "registry_type": "Digital Asset Registry",
                "part_carbon_credit_registry_name": "{\"data\":[[{\"name\":\"first_name\",\"value\":\"Ann\"},{\"name\":\"last_name\",\"value\":\"Lee\"},{\"name\":\"email\",\"value\":\"ann@registry.com\"},{\"name\":\"phone\",\"value\":\"+1 555 0100\"}]]}",
                "is_there_auditor_validator": "Yes",
                "auditor_name": "Verra Audit Services",
                "auditor_validator_type": "established",
                "auditor_verifier_poc": "{\"data\":[[{\"name\":\"first_name\",\"value\":\"Bob\"},{\"name\":\"last_name\",\"value\":\"Li\"},{\"name\":\"email\",\"value\":\"bob@audit.com\"}]]}",
                "is_there_insurance_provider": "No",
                "insurance_provider": null,
                "insurance_provider_poc": null,
                "d_mrv_description": "Blue carbon sequestration in coastal wetlands.",
                "purpose_protocol": "The protocol quantifies carbon stored in restored mangroves.",
                "eligibility_project_area": "Coastal wetlands within the project boundary.",
                "un_sustainable_development_goals": "[\"No Poverty - End poverty in all forms everywhere.\"]",
                "data_room": [
                    {
                        "type": "Methodology Paper",
                        "title": "Protocol",
                        "description": "v2.2",
                        "file": "https://sandbox.triangle.digital/uploads/doc_form_dmrv/data_room/74/protocol.pdf"
                    }
                ],
                "is_triangle_cold_wallet": "No",
                "triangle_cold_wallet": null,
                "status_id": 2,
                "company_name": "Nexora Labs",
                "created_at": "2026-07-14T10:22:05.000Z",
                "updated_at": "2026-08-02T08:41:19.000Z"
            }
        ]
    },
    "operations_count": 1
}
```

{% endcode %}
{% endtab %}

{% tab title="400" %}
Happens when no methodology matches the given `form_id`, or it belongs to another account; nothing is returned.

```json
{
    "message": "No data found.",
    "success": false,
    "data": {}
}
```

{% endtab %}
{% endtabs %}
