Bufdir Metrics Repository
API Contract
REST
/api/v1/bufdir-metrics
6 endpoints
GET
/api/v1/bufdir-metrics/api/v1/bufdir-metrics
List metrics snapshots for an organization
Public
Response Example
{
"data": [
{
"id": "snap-003",
"org_id": "org-bufdir-42",
"period_id": "rp-2024-q4",
"snapshot_type": "full",
"activity_count": 274,
"event_count": 810,
"contact_interaction_count": 1320,
"saved_at": "2025-01-05T08:12:00Z"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 6
}
}
GET
/api/v1/bufdir-metrics/api/v1/bufdir-metrics/:id
Get a specific metrics snapshot by ID
Public
Response Example
{
"id": "snap-003",
"org_id": "org-bufdir-42",
"period_id": "rp-2024-q4",
"snapshot_type": "full",
"activities": [
{
"activity_id": "act-091",
"activity_type": "peer_support_group",
"participant_count": 18,
"hours": 2,
"date": "2024-11-12"
}
],
"events": [
{
"event_id": "evt-201",
"event_type": "community_day",
"attendee_count": 95,
"date": "2024-10-20"
}
],
"contact_interactions": [
{
"interaction_id": "ci-441",
"channel": "phone",
"duration_minutes": 35,
"date": "2024-10-03"
}
],
"saved_at": "2025-01-05T08:12:00Z"
}
POST
/api/v1/bufdir-metrics/api/v1/bufdir-metrics
Save a new metrics snapshot for an org and period
Public
Request Example
{
"org_id": "org-bufdir-42",
"period_id": "rp-2025-q1",
"snapshot_type": "full",
"metrics": {
"activity_count": 88,
"event_count": 210,
"contact_interaction_count": 430,
"participant_count": 920,
"hours_delivered": 1840
}
}
Response Example
{
"id": "snap-014",
"org_id": "org-bufdir-42",
"period_id": "rp-2025-q1",
"snapshot_type": "full",
"activity_count": 88,
"event_count": 210,
"contact_interaction_count": 430,
"saved_at": "2025-03-26T09:00:00Z"
}
PUT
/api/v1/bufdir-metrics/api/v1/bufdir-metrics/:id
Update an existing metrics snapshot
Public
Request Example
{
"metrics": {
"activity_count": 91,
"hours_delivered": 1920.5
}
}
Response Example
{
"id": "snap-014",
"org_id": "org-bufdir-42",
"period_id": "rp-2025-q1",
"activity_count": 91,
"hours_delivered": 1920.5,
"saved_at": "2025-03-26T10:30:00Z"
}
DELETE
/api/v1/bufdir-metrics/api/v1/bufdir-metrics/:id
Delete a metrics snapshot
Public
Response Example
{
"deleted": true,
"id": "snap-003"
}
GET
/api/v1/bufdir-metrics/api/v1/bufdir-metrics/activities
Get all activities for an org and reporting period
Public
Response Example
{
"data": [
{
"activity_id": "act-091",
"activity_type": "peer_support_group",
"participant_count": 18,
"hours": 2,
"date": "2024-11-12"
},
{
"activity_id": "act-092",
"activity_type": "family_workshop",
"participant_count": 24,
"hours": 3,
"date": "2024-11-19"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 274
}
}