Summary Share Service
API Contract
REST
/api/v1/summary-shares
8 endpoints
GET
/api/v1/summary-shares/api/v1/summary-shares
List share history for a mentor
Public
Response Example
{
"data": [
{
"id": "share_abc123",
"mentor_id": "mentor_001",
"channel": "instagram",
"slide_index": 3,
"shared_at": "2026-01-05T12:30:00Z",
"status": "success",
"image_url": "https://storage.example.com/shares/share_abc123.png"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 7
}
}
GET
/api/v1/summary-shares/api/v1/summary-shares/:id
Get details of a specific share event
Public
Response Example
{
"id": "share_abc123",
"mentor_id": "mentor_001",
"channel": "instagram",
"slide_index": 3,
"shared_at": "2026-01-05T12:30:00Z",
"status": "success",
"image_url": "https://storage.example.com/shares/share_abc123.png",
"file_size_bytes": 245678,
"dimensions": {
"width": 1080,
"height": 1920
}
}
POST
/api/v1/summary-shares/api/v1/summary-shares
Initiate sharing of a summary slide to a channel
Public
Request Example
{
"mentor_id": "mentor_001",
"slide_index": 3,
"channel": "instagram",
"image_data_base64": "iVBORw0KGgoAAAANSUhEUgAA...",
"caption": "My 2025 mentoring year in review! 312 hours, 47 lives touched. #MentoringWrapped"
}
Response Example
{
"id": "share_def456",
"mentor_id": "mentor_001",
"channel": "instagram",
"slide_index": 3,
"shared_at": "2026-01-06T09:00:00Z",
"status": "success",
"image_url": "https://storage.example.com/shares/share_def456.png"
}
PUT
/api/v1/summary-shares/api/v1/summary-shares/:id
Update share metadata (e.g. caption, status)
Public
Request Example
{
"caption": "Updated caption for my 2025 mentoring recap #MentoringWrapped",
"status": "success"
}
Response Example
{
"id": "share_abc123",
"mentor_id": "mentor_001",
"channel": "instagram",
"slide_index": 3,
"shared_at": "2026-01-05T12:30:00Z",
"status": "success",
"caption": "Updated caption for my 2025 mentoring recap #MentoringWrapped",
"image_url": "https://storage.example.com/shares/share_abc123.png"
}
DELETE
/api/v1/summary-shares/api/v1/summary-shares/:id
Delete a share record
Public
Response Example
{
"deleted": true,
"id": "share_abc123"
}
POST
/api/v1/summary-shares/api/v1/summary-shares/capture
Capture a summary slide as a PNG image and return binary data
Public
Request Example
{
"mentor_id": "mentor_001",
"slide_index": 2,
"pixel_ratio": 3
}
Response Example
{
"image_data_base64": "iVBORw0KGgoAAAANSUhEUgAA...",
"file_size_bytes": 245678,
"dimensions": {
"width": 1080,
"height": 1920
},
"mime_type": "image/png"
}
GET
/api/v1/summary-shares/api/v1/summary-shares/permissions
Check device gallery/media permissions status
Public
Response Example
{
"gallery_permission": "granted",
"can_save_to_gallery": true,
"can_read_from_gallery": true
}
POST
/api/v1/summary-shares/api/v1/summary-shares/clipboard
Copy a captured slide image to clipboard
Public
Request Example
{
"image_data_base64": "iVBORw0KGgoAAAANSUhEUgAA..."
}
Response Example
{
"copied": true,
"timestamp": "2026-01-06T09:05:00Z"
}