oclok.app API Docs
Endpoints
GET /api/v1/user/{id}/status
GET /api/v1/user/{id}/schedule
POST /api/auth/signup
POST /api/auth/login
GET /api/v1/user/{id}/status
Status is computed in the user's own timezone, not the server's.
{
"brand": "oclok.app",
"userId": "user_1",
"user": "D",
"timezone": "America/Los_Angeles",
"status": "offline",
"nextOnline": "2026-08-21T17:00:00+00:00",
"minutesUntilOnline": 1513
}
Returns 404 with {"error":"User not found"} for an unknown id.
GET /api/v1/user/{id}/schedule
{
"brand": "oclok.app",
"userId": "user_1",
"weeklySchedule": [
{ "day": "Monday", "dayIndex": 1, "start": "09:00", "end": "12:00" }
]
}
POST /api/auth/signup
{ "username": "D", "email": "d@example.com",
"password": "at-least-6-chars", "timezone": "America/Los_Angeles" }
201 on success, 409 if the email is taken.
POST /api/auth/login
{ "email": "d@example.com", "password": "secret" }
200 on success, 401 on bad credentials.