> ## Documentation Index
> Fetch the complete documentation index at: https://docs.api.vcm.fyi/llms.txt
> Use this file to discover all available pages before exploring further.

# List proponent risk analyses

> Get a paginated list of AI-generated risk analyses for carbon project developers
    (proponents/counterparties).

    Each record represents a proponent's risk profile built from scanning public sources,
    including overall risk rating, investment recommendation, and five risk pillar scores.

    **Filtering:**
    - `proponent_key`: Partial match on normalized proponent name
    - `risk_rating`: `LOW`, `MEDIUM`, `HIGH`, or `CRITICAL`
    - `recommendation`: Investment recommendation value
    - `country`: Country name (matches against proponent's countries array)
    - `registry`: Registry code (matches against proponent's registries array)
    - `min_issued`: Minimum total issued credits across their portfolio
    - `status`: Scan status (`success`, `partial`, `failed`)

    **Sorting:** Default: `-total_issued`. Supports any ProponentForensics field.



## OpenAPI

````yaml https://api.vcm.fyi/v1/openapi.json get /v1/proponent-forensics/
openapi: 3.1.0
info:
  title: VCM.fyi API
  version: 1.0.0
  description: >

    # VCM.fyi API


    Programmatic access to carbon market intelligence — covering

    11,000+ carbon credit projects across 6 major registries (Verra, Gold
    Standard,

    CAR, ACR, Isometric, Puro Earth).


    ## Resources


    | Resource | Description |

    |---|---|

    | **Projects** | Search, filter, and retrieve carbon credit project metadata
    |

    | **Credits** | Individual credit transactions (issuances, retirements,
    cancellations) |

    | **Buyers** | Aggregated buyer intelligence from retirement transaction
    data |

    | **Charts** | Pre-aggregated chart data for visualizations |

    | **Countries** | Country-level carbon market policy intelligence (Article
    6, CORSIA, carbon pricing) |

    | **Forensics** | AI-generated project risk analysis from weekly news
    scanning |

    | **Proponent Forensics** | Developer/proponent-level risk ratings and due
    diligence |

    | **Satellite** | Forest integrity and deforestation metrics |

    | **Supply & Demand** | Aggregated issuance vs. retirement volumes over time
    |

    | **API Keys** | Manage your API keys and view usage statistics |


    ## Authentication


    All endpoints require an API key passed in the `X-API-KEY` header:


    ```bash

    curl -H "X-API-KEY: vcm_live_your_key_here" https://api.vcm.fyi/v1/projects/

    ```


    Get your API key at
    [app.vcm.fyi/settings/api](https://app.vcm.fyi/settings/api).


    ## Rate Limits


    | Plan | Requests/min | Monthly Calls |

    |------|-------------|---------------|

    | Pro | 300 | 100,000 |

    | Enterprise | 1,000 | Unlimited |


    Rate limit headers are included in every response:

    - `X-RateLimit-Limit` — Your limit per minute

    - `X-RateLimit-Remaining` — Remaining requests in current window

    - `X-RateLimit-Reset` — Unix timestamp when the window resets


    ## Pagination


    List endpoints return paginated results:


    ```json

    {
      "pagination": {
        "total_entries": 11234,
        "current_page": 1,
        "total_pages": 113,
        "next_page": "/v1/projects/?current_page=2&per_page=100"
      },
      "data": [...]
    }

    ```
  contact:
    name: VCM.fyi Support
    email: support@vcm.fyi
    url: https://vcm.fyi
  termsOfService: https://vcm.fyi/terms
  x-logo:
    url: https://app.vcm.fyi/logo.svg
    altText: VCM.fyi
servers:
  - url: https://vcm-fyi-api.fly.dev
    description: Production
security: []
tags:
  - name: API Keys
    description: Create, list, revoke your API keys and view usage statistics.
  - name: Buyers
    description: >-
      Aggregated buyer intelligence derived from retirement transactions.
      Includes volume metrics, activity flags, category/country breakdowns, and
      analytics.
  - name: Charts
    description: >-
      Pre-aggregated chart data for visualizations: projects by listing date,
      credits by transaction date, category breakdowns, credit histograms, and
      top buyers.
  - name: Countries
    description: >-
      Country-level carbon market policy intelligence covering Article 6 status,
      CORSIA eligibility, carbon pricing, VCM regulation, and AI-generated
      policy summaries.
  - name: Credits
    description: >-
      Query individual credit transactions — issuances, retirements, and
      cancellations — with quantity, vintage, date, and beneficiary details.
  - name: Forensics
    description: >-
      AI-generated project risk analysis from weekly scanning of 100+ news
      sources. Includes entries, memos, weekly diffs, and legacy v1 endpoints.
  - name: Projects
    description: >-
      Search, filter, and retrieve metadata for 11,000+ carbon credit projects
      across Verra, Gold Standard, CAR, ACR, Isometric, and Puro Earth.
  - name: Proponent Forensics
    description: >-
      Developer/proponent-level risk ratings and due diligence analysis with
      governance, financial, legal, social, and institutional risk pillar
      scores.
  - name: Satellite
    description: >-
      Forest integrity and deforestation metrics from Global Forest Watch,
      including tree cover loss, GLAD alerts, fire alerts, and project boundary
      GeoJSON.
  - name: Supply & Demand
    description: >-
      Aggregated issuance (supply) vs. retirement (demand) volumes over time,
      with monthly, quarterly, or yearly aggregation.
paths:
  /v1/proponent-forensics/:
    get:
      tags:
        - Proponent Forensics
      summary: List proponent risk analyses
      description: >-
        Get a paginated list of AI-generated risk analyses for carbon project
        developers
            (proponents/counterparties).

            Each record represents a proponent's risk profile built from scanning public sources,
            including overall risk rating, investment recommendation, and five risk pillar scores.

            **Filtering:**
            - `proponent_key`: Partial match on normalized proponent name
            - `risk_rating`: `LOW`, `MEDIUM`, `HIGH`, or `CRITICAL`
            - `recommendation`: Investment recommendation value
            - `country`: Country name (matches against proponent's countries array)
            - `registry`: Registry code (matches against proponent's registries array)
            - `min_issued`: Minimum total issued credits across their portfolio
            - `status`: Scan status (`success`, `partial`, `failed`)

            **Sorting:** Default: `-total_issued`. Supports any ProponentForensics field.
      operationId: get_proponent_forensics_v1_proponent_forensics__get
      parameters:
        - name: proponent_key
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: Filter by proponent key
            title: Proponent Key
          description: Filter by proponent key
        - name: risk_rating
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: Filter by overall risk rating (LOW, MEDIUM, HIGH, CRITICAL)
            title: Risk Rating
          description: Filter by overall risk rating (LOW, MEDIUM, HIGH, CRITICAL)
        - name: recommendation
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: Filter by investment recommendation
            title: Recommendation
          description: Filter by investment recommendation
        - name: country
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: Filter by country (in countries array)
            title: Country
          description: Filter by country (in countries array)
        - name: registry
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: Filter by registry (in registries array)
            title: Registry
          description: Filter by registry (in registries array)
        - name: min_issued
          in: query
          required: false
          schema:
            anyOf:
              - type: integer
              - type: 'null'
            description: Minimum total issued credits
            title: Min Issued
          description: Minimum total issued credits
        - name: status
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: Filter by status (success, partial, failed)
            title: Status
          description: Filter by status (success, partial, failed)
        - name: current_page
          in: query
          required: false
          schema:
            type: integer
            minimum: 1
            description: Page number
            default: 1
            title: Current Page
          description: Page number
        - name: per_page
          in: query
          required: false
          schema:
            type: integer
            maximum: 200
            minimum: 1
            description: Items per page
            default: 100
            title: Per Page
          description: Items per page
        - name: sort
          in: query
          required: false
          schema:
            type: array
            items:
              type: string
            description: 'Sorting: field_name or +field_name (asc), -field_name (desc)'
            default:
              - '-total_issued'
            title: Sort
          description: 'Sorting: field_name or +field_name (asc), -field_name (desc)'
      responses:
        '200':
          description: Paginated list of proponent risk analyses with pillar scores
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedProponentForensics'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - APIKeyHeader: []
components:
  schemas:
    PaginatedProponentForensics:
      properties:
        pagination:
          $ref: '#/components/schemas/Pagination'
        data:
          anyOf:
            - items:
                $ref: '#/components/schemas/ProponentForensicsResponse'
              type: array
            - items:
                additionalProperties: true
                type: object
              type: array
          title: Data
      type: object
      required:
        - pagination
        - data
      title: PaginatedProponentForensics
      description: Paginated response for proponent forensics.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    Pagination:
      properties:
        total_entries:
          type: integer
          title: Total Entries
        current_page:
          type: integer
          title: Current Page
        total_pages:
          type: integer
          title: Total Pages
        next_page:
          anyOf:
            - type: string
            - type: 'null'
          title: Next Page
      type: object
      required:
        - total_entries
        - current_page
        - total_pages
      title: Pagination
    ProponentForensicsResponse:
      properties:
        id:
          type: integer
          title: Id
        proponent_key:
          type: string
          title: Proponent Key
        lookup_type:
          type: string
          title: Lookup Type
        proponent_names:
          anyOf:
            - type: string
            - type: 'null'
          title: Proponent Names
        project_ids:
          anyOf:
            - type: string
            - type: 'null'
          title: Project Ids
        project_count:
          type: integer
          title: Project Count
        total_issued:
          type: integer
          title: Total Issued
        countries:
          anyOf:
            - type: string
            - type: 'null'
          title: Countries
        registries:
          anyOf:
            - type: string
            - type: 'null'
          title: Registries
        run_date:
          type: string
          format: date-time
          title: Run Date
        status:
          type: string
          title: Status
        overall_risk_rating:
          anyOf:
            - type: string
            - type: 'null'
          title: Overall Risk Rating
        investment_recommendation:
          anyOf:
            - type: string
            - type: 'null'
          title: Investment Recommendation
        governance_risk:
          anyOf:
            - type: string
            - type: 'null'
          title: Governance Risk
        financial_risk:
          anyOf:
            - type: string
            - type: 'null'
          title: Financial Risk
        legal_risk:
          anyOf:
            - type: string
            - type: 'null'
          title: Legal Risk
        social_risk:
          anyOf:
            - type: string
            - type: 'null'
          title: Social Risk
        institutional_risk:
          anyOf:
            - type: string
            - type: 'null'
          title: Institutional Risk
        pillars_json:
          anyOf:
            - type: string
            - type: 'null'
          title: Pillars Json
        primary_concern:
          anyOf:
            - type: string
            - type: 'null'
          title: Primary Concern
        key_mitigation:
          anyOf:
            - type: string
            - type: 'null'
          title: Key Mitigation
        comparable_proponents:
          anyOf:
            - type: string
            - type: 'null'
          title: Comparable Proponents
        raw_json:
          type: string
          title: Raw Json
        error_type:
          anyOf:
            - type: string
            - type: 'null'
          title: Error Type
        error_message:
          anyOf:
            - type: string
            - type: 'null'
          title: Error Message
      type: object
      required:
        - id
        - proponent_key
        - lookup_type
        - proponent_names
        - project_ids
        - project_count
        - total_issued
        - countries
        - registries
        - run_date
        - status
        - overall_risk_rating
        - investment_recommendation
        - governance_risk
        - financial_risk
        - legal_risk
        - social_risk
        - institutional_risk
        - pillars_json
        - primary_concern
        - key_mitigation
        - comparable_proponents
        - raw_json
        - error_type
        - error_message
      title: ProponentForensicsResponse
      description: Response model for proponent forensics endpoint.
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      in: header
      name: X-API-KEY

````