Skip to content

Dashboard API

The Dashboard API provides aggregated statistics and activity feeds for the current tenant. All data is automatically scoped to the authenticated user's tenant and can optionally be filtered by company.

All endpoints require authentication.


Endpoints

GET /dashboard/stats

Get dashboard statistics including match counts, application status breakdowns, funding potential, and upcoming deadlines.

Authentication: Required

{
  "total_matches": 42,
  "high_score_matches": 15,
  "saved_matches": 8,
  "active_applications": 3,
  "submitted_applications": 2,
  "approved_applications": 1,
  "total_funding_potential": 1250000.0,
  "upcoming_deadlines": [
    {
      "grant_id": "b1c2d3e4-f5a6-7890-bcde-f12345678901",
      "grant_title": "Green Innovation Fund - Round 3",
      "deadline": "2025-02-15T23:59:59Z",
      "application_id": "f1a2b3c4-d5e6-7890-abcd-123456789012",
      "application_status": "draft",
      "days_remaining": 7
    },
    {
      "grant_id": "c2d3e4f5-a6b7-8901-cdef-234567890123",
      "grant_title": "Horizon Europe Clean Energy",
      "deadline": "2025-03-01T23:59:59Z",
      "application_id": null,
      "application_status": null,
      "days_remaining": 21
    }
  ]
}
curl -X GET "https://api.carbonconnect.io/api/v1/dashboard/stats?company_id=a1b2c3d4-e5f6-7890-abcd-ef1234567890" \
  -H "Authorization: Bearer <token>"

Query Parameters:

Parameter Type Default Description
company_id UUID -- Filter statistics by company ID

Response Body (DashboardStatsResponse):

Field Type Description
total_matches integer Total non-dismissed matches
high_score_matches integer Matches with score >= 0.7
saved_matches integer User-saved matches
active_applications integer Applications in draft status
submitted_applications integer Applications in submitted status
approved_applications integer Applications in approved status
total_funding_potential float Sum of funding_amount_max from saved match grants (EUR)
upcoming_deadlines array Up to 10 upcoming deadlines within 30 days

Upcoming Deadline Object:

Field Type Description
grant_id string Grant ID
grant_title string Grant title
deadline string Application deadline (ISO 8601)
application_id string Associated application ID (null if none)
application_status string Application status (null if no application)
days_remaining integer Days until deadline

Deadline Scope

Upcoming deadlines are sourced from saved matches that have grants with deadlines within the next 30 days. If an application exists for the grant, its status is included.

Status Codes:

Code Description
200 Statistics returned
401 Not authenticated

GET /dashboard/activity

Get a feed of recent activity for the current tenant, including match views and application status changes.

Authentication: Required

[
  {
    "type": "application",
    "message": "Submitted application: Horizon Europe Clean Energy",
    "timestamp": "2025-01-15T14:30:00Z",
    "entity_id": "f1a2b3c4-d5e6-7890-abcd-123456789012"
  },
  {
    "type": "match",
    "message": "Viewed match: Green Innovation Fund for GreenTech Solutions GmbH",
    "timestamp": "2025-01-15T10:15:00Z",
    "entity_id": "d4e5f6a7-b8c9-0123-def0-456789012345"
  },
  {
    "type": "application",
    "message": "Started application: BAFA Energy Efficiency Program",
    "timestamp": "2025-01-14T16:45:00Z",
    "entity_id": "e2f3a4b5-c6d7-8901-efab-345678901234"
  }
]
curl -X GET "https://api.carbonconnect.io/api/v1/dashboard/activity?limit=20" \
  -H "Authorization: Bearer <token>"

Query Parameters:

Parameter Type Default Description
limit integer 10 Number of activity items (1-50)

Response Body (array of ActivityItem):

Field Type Description
type string Activity type: match or application
message string Human-readable activity description
timestamp string When the activity occurred (ISO 8601)
entity_id string ID of the related match or application

Activity Types:

Type Source Example Message
match Viewed matches "Viewed match: Green Innovation Fund for Company X"
application Application status changes "Submitted application: Horizon Europe Clean Energy"

Activity Ordering

Activities are returned in reverse chronological order (newest first). The feed combines match views and application updates, then sorts by timestamp.

Status Codes:

Code Description
200 Activity feed returned
401 Not authenticated