Hack Hour is a trash collection service project tracker & pomodoro timer for hacking on projects. It was used to track hours as a part of Hack Club's Arcade. She's on slack as @hakkuun
and hangs out in the #hack-hour
channel!
Note: There is no guarantee for the reliability of the API. If data is lost and/or is not registered for Arcade, there's not much we can do - use at your own risk.
All endpoints require an authorization header with the api key, as such: Authorization: Bearer <apikey>
Gets the latest session for the user.
Example Response:
{
"ok": true,
"data": {
"id": "slackId",
"createdAt": "2024-06-23T02:49:17.900Z",
"time": 60,
"elapsed": 12,
"remaining": 48,
"endTime": "2024-06-23T03:08:00.000Z",
"goal": "No Goal",
"paused": true,
"completed": false,
"messageTs": "messageTs",
}
}
Gets the stats for the user.
Example Response:
{
"ok": true,
"data": {
"sessions": 0,
"total": 0,
}
}
Gets the goals for the user.
Example Response:
{
"ok": true,
"data": [
{
"name": "No Goal",
"minutes": 0
}
]
}
Gets the history for the user.
Example Response:
{
"ok": true,
"data": [
{
"createdAt": "2024-06-23T05:09:04.105Z",
"time": 60,
"elapsed": 23,
"goal": "No Goal",
"ended": false,
"work": "123"
}
]
}
Starts a new session for the user.
Requires a JSON body with the following fields:
work
: what the user is working on (string)
Example Response:
{
"ok": true,
"data": {
"id": "sessionId",
"slackId": "slackId",
"createdAt": "createdAt",
}
}
Pauses or resumes the current session for the user, depending on the current state.
Requires an authorization header with the api key, as such: Authorization: Bearer <apikey>
Example Response:
{
"ok": true,
"data": {
"id": "sessionId",
"slackId": "slackId",
"createdAt": "createdAt",
"paused": true,
}
}
Cancels the current session for the user.
Requires an authorization header with the api key, as such: Authorization Bearer <apikey>
Example Response:
{
"ok": true,
"data": {
"id": "sessionId",
"slackId": "slackId",
"createdAt": "createdAt",
}
}
Returns with pong
. Check if the thing is alive
Get specific details on the status of hack hour (heidi)
Example Response:
{
"activeSessions": -1,
"airtableConnected": false,
"slackConnected": false,
}
Depreciated.
Responds with unix timestamp of the expected end time of the current session for the user.