Supabase Activity Client
API Contract
REST
/api/v1/activity-types
5 endpoints
GET
/api/v1/activity-types/api/v1/activity-types
List all available activity types (select with optional filters)
Public
Response Example
{
"data": [
{
"id": "type_running",
"name": "Running",
"category": "cardio",
"description": "Outdoor or treadmill running session",
"is_active": true,
"icon_key": "directions_run",
"created_at": "2025-09-01T00:00:00Z"
},
{
"id": "type_cycling",
"name": "Cycling",
"category": "cardio",
"description": "Indoor or outdoor cycling",
"is_active": true,
"icon_key": "directions_bike",
"created_at": "2025-09-01T00:00:00Z"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 14
}
}
GET
/api/v1/activity-types/api/v1/activity-types/:id
Get a single activity type by ID
Public
Response Example
{
"id": "type_running",
"name": "Running",
"category": "cardio",
"description": "Outdoor or treadmill running session",
"is_active": true,
"icon_key": "directions_run",
"created_at": "2025-09-01T00:00:00Z"
}
POST
/api/v1/activity-types/api/v1/activity-types
Create a new activity type
Public
Request Example
{
"name": "Yoga",
"category": "flexibility",
"description": "Yoga and stretching session",
"is_active": true,
"icon_key": "self_improvement"
}
Response Example
{
"id": "type_yoga",
"name": "Yoga",
"category": "flexibility",
"description": "Yoga and stretching session",
"is_active": true,
"icon_key": "self_improvement",
"created_at": "2026-03-26T07:00:00Z"
}
PUT
/api/v1/activity-types/api/v1/activity-types/:id
Update an activity type (e.g. deactivate or rename)
Public
Request Example
{
"name": "Yoga & Stretching",
"is_active": false
}
Response Example
{
"id": "type_yoga",
"name": "Yoga & Stretching",
"category": "flexibility",
"description": "Yoga and stretching session",
"is_active": false,
"icon_key": "self_improvement",
"created_at": "2026-03-26T07:00:00Z"
}
DELETE
/api/v1/activity-types/api/v1/activity-types/:id
Delete an activity type
Public
Response Example
{
"deleted": true,
"id": "type_yoga"
}