Sustainability Dashboard

This page covers the company-wide sustainability dashboard — a rollup of GHG and crop-verification figures across every assessment your company has access to. See RegenScope3 API for the base URL, authentication, and response envelope, and GHG Impact Report for the per-assessment report this dashboard aggregates.

Endpoint

MethodPathPurpose
GETassessments/sustainability-dashboard/Company-wide rollup across assessments

Required permission: assessment.view.

Query filtering

ParameterNotes
assessment_yearOptional. Restricts the rollup to assessments from that year. Must be an integer — a non-integer value returns 400.

This endpoint filters by assessment_year only. It does not accept an assessment_id filter — for a single assessment's figures, use GHG Impact Report instead.

Response shape

The response is a {"status": "success", "data": {...}} envelope. The main sections of data:

SectionNotes
summaryAssessment counts (total_assessments, draft_count, submitted_count, ready_for_submission_count), total_area, average_completion, latest_assessment_year, and status_distribution.
carbonAggregated emissions/removals figures: emissions, removals, balance (net), emissions_per_ha, removals_per_ha, emissions_per_t, net_intensity_per_ha, all in unit: "tCO2e".
verificationCrop-type triangulation rollup — counts by verification status, verified_crop_rate, average_verification_confidence, and breakdowns by crop type and by assessment. See Triangulated Crop-Type Verification for what feeds this.
sectionsPer data-section completion rollup (fertiliser, irrigation, machinery, etc.) — status counts and average completion per section.
chartsChart-ready series for the figures above (emissions by model, verification status distribution, completion by section, yearly trend, ...).
top_issuesThe most common missing/incomplete fields across assessments in scope, most-frequent first.

This dashboard aggregates GHG figures across your company's assessments using each assessment's cached result from its last submission — not a live re-fetch from Cool Farm Tool the way GHG Impact Report's report endpoint does. If Cool Farm's underlying data changes after an assessment was submitted (without a re-submit), this dashboard and the impact-report endpoint can show different numbers for the same assessment until a fresh submit brings them back in sync. Keep this in mind if you're cross-checking dashboard totals against individual impact reports.

Status codes

StatusTrigger
200Success.
400Missing company context, or a non-integer assessment_year value.

Example

curl "https://backend.spacenus.de/api/v1.2/regen-scope-3/assessments/sustainability-dashboard/?assessment_year=2026" \
  -H "Authorization: Bearer YOUR_TOKEN"

Response (200):

{
  "status": "success",
  "data": {
    "summary": {
      "total_assessments": 24,
      "draft_count": 9,
      "submitted_count": 15,
      "ready_for_submission_count": 3,
      "total_area": 812.4,
      "average_completion": 76.5,
      "latest_assessment_year": 2026,
      "status_distribution": { "draft": 9, "submitted": 15 }
    },
    "carbon": {
      "emissions": 284.7,
      "removals": 96.2,
      "balance": 188.5,
      "emissions_per_ha": 0.3504,
      "removals_per_ha": 0.1184,
      "emissions_per_t": 1.2201,
      "net_intensity_per_ha": 0.2321,
      "unit": "tCO2e"
    },
    "verification": {
      "verified_crop_assessments_count": 11,
      "failed_crop_assessments_count": 2,
      "processing_crop_assessments_count": 1,
      "pending_crop_assessments_count": 10,
      "verified_crop_rate": 45.83,
      "average_verification_confidence": 0.887,
      "verified_crop_types": [
        { "crop_type": "wheat", "count": 7 },
        { "crop_type": "maize", "count": 4 }
      ],
      "verified_assessments": [
        {
          "assessment_id": 918,
          "assessment_year": 2026,
          "crop_type_key": "wheat",
          "confidence_score": 0.94,
          "status": "verified"
        }
      ],
      "status_distribution": { "verified": 11, "failed": 2, "processing": 1, "pending": 10 }
    },
    "sections": {
      "fertilizers": {
        "status": "in_progress",
        "completion": 68.2,
        "assessments": 24,
        "status_counts": { "complete": 10, "in_progress": 12, "not_started": 2 },
        "missing_fields_count": 14
      }
    },
    "charts": {
      "emissions_by_model": { "labels": ["Fertiliser", "Machinery"], "values": [182.3, 102.4] },
      "removals_by_source": { "labels": ["Soil Carbon"], "values": [96.2] },
      "status_distribution": { "labels": ["draft", "submitted"], "values": [9, 15] },
      "verification_status_distribution": {
        "labels": ["verified", "failed", "processing", "pending"],
        "values": [11, 2, 1, 10]
      },
      "verified_crop_types": { "labels": ["wheat", "maize"], "values": [7, 4] },
      "completion_by_section": { "labels": ["fertilizers"], "values": [68.2] },
      "yearly_trend": {
        "labels": [2026],
        "completion": [76.5],
        "emissions": [284.7],
        "removals": [96.2],
        "balance": [188.5]
      }
    },
    "top_issues": [
      { "field": "fertilizers.application_date", "label": "Application Date", "message": "Required field is missing.", "section": "fertilizers", "count": 6 }
    ]
  }
}