API Overview
Streaklet provides a REST API for programmatic access to all features.
Base URL
Authentication
Streaklet does not require authentication. It's designed for use on trusted networks.
Security Note: Do not expose Streaklet directly to the internet without additional authentication layers.
Profile Context
Most endpoints require a profile context via the X-Profile-Id header:
If omitted, defaults to profile ID 1.
Response Format
All responses are JSON.
Success Response:
Error Response:
Endpoint Categories
- Profile Management - Create, list, update profiles
- Tasks - Manage tasks for profiles
- Daily Checklist - Get today's tasks and toggle completion
- Streaks - Get streak information
- History - Access calendar and completion history
- Backup & Import - Export and import profile data
- Fitbit - Fitbit OAuth and sync
Complete API Reference
See Endpoints Documentation for full API reference with examples.
Client Libraries
Currently no official client libraries exist. The API is simple REST - use any HTTP client.
Example with Python:
import requests
response = requests.get(
"http://localhost:8080/api/tasks",
headers={"X-Profile-Id": "1"}
)
tasks = response.json()
Example with JavaScript:
const response = await fetch('http://localhost:8080/api/tasks', {
headers: { 'X-Profile-Id': '1' }
});
const tasks = await response.json();
Rate Limiting
No rate limiting is currently implemented.
Versioning
The API is not versioned. Changes will be backwards compatible where possible, with breaking changes noted in release notes.