Introduction
This document serve as a reference for partners of Kodgem Straight+ to access to information of common users.
Authentication
The Straight+ Partner API uses API keys for authentication. API keys will be provided to you by Kodgem upon assessment of your API request form.
End Points Overview
API Base URL:
https://api.kodgemstraight.com/coreapi/partner/
All request to Straight+ API requires the api-key
header.
Available Endpoints
Check access
Checks the validity of given api-key
and returns the name of its owner.
Get my users
Returns a list of users this partner has access to.
Daily activities
Returns a list of activity records of given users within the day starting with given epoch
Weekly Activities
Returns a list of activity records of given users within the week starting with given epoch
Check access
Checks the validity of given api-key
and returns the name of its owner.
URL: GET /whoami
Headers:
api-key
Response:
{
"name": "Example Partner",
"keyValidFrom": "2024-12-25T09:00:00.000Z",
"keyExpireAt": "2025-12-25T09:00:00.000Z"
}
Get my users
Returns a list of users this partner has access to.
URL: GET /users
Headers:
api-key
Response:
[
{
"id": 5593,
"firstName": "John",
"lastName": "Doe",
"email": "john_doe@kodgem.com",
"gender": "Male",
"age": 39,
"weight": 62,
"height": 177,
"osType": "Android",
}
]
Daily activities
Returns a list of activity records of given users within the day starting with given epoch
URL: GET /activity/daily
Headers:
api-key
Body:
{
"start": 1703710800,
"users": [
44, ...
]
}
Errors:
- 400: Missing or invalid request body
- 401: Missing or invalid API key
- 500: Unexpected errors
Response:
[
{
"id": 44,
"activities": [
{
"unit": 1,
"casualStraight": 50,
"casualSlouch": 5,
"trainingStraight": 3,
"trainingSlouch": 2
},
{
"unit": 3,
"casualStraight": 5,
"casualSlouch": 15,
"trainingStraight": 7,
"trainingSlouch": 10
},
{
"unit": 6,
"casualStraight": 10,
"casualSlouch": 10,
"trainingStraight": 10,
"trainingSlouch": 10
},
{
"unit": 8,
"casualStraight": 0,
"casualSlouch": 0,
"trainingStraight": 30,
"trainingSlouch": 30
},
{
"unit": 12,
"casualStraight": 0,
"casualSlouch": 60,
"trainingStraight": 0,
"trainingSlouch": 0
},
{
"unit": 15,
"casualStraight": 10,
"casualSlouch": 12,
"trainingStraight": 8,
"trainingSlouch": 20
},
{
"unit": 19,
"casualStraight": 15,
"casualSlouch": 15,
"trainingStraight": 15,
"trainingSlouch": 15
},
{
"unit": 21,
"casualStraight": 20,
"casualSlouch": 5,
"trainingStraight": 10,
"trainingSlouch": 15
}
],
"summary": {
"totalUsageMinutes": 417,
"stoodStraightPercentage": 46,
"casualModeStraight": 110,
"casualModeSlouch": 122,
"straightModeStraight": 83,
"straightModeSlouch": 102
}
},
...
]
Weekly Activities
Returns a list of activity records of given users within the week starting with given epoch
URL: GET /activity/daily
Headers:
api-key
Body:
{
"start": 1703710800,
"users": [
44, ...
]
}
Errors:
- 400: Missing or invalid request body
- 401: Missing or invalid API key
- 500: Unexpected errors
Response:
[
{
"id": 44,
"activities": [
{
"unit": 0,
"casualStraight": 50,
"casualSlouch": 75,
"trainingStraight": 60,
"trainingSlouch": 115
},
{
"unit": 1,
"casualStraight": 80,
"casualSlouch": 100,
"trainingStraight": 70,
"trainingSlouch": 150
},
{
"unit": 2,
"casualStraight": 65,
"casualSlouch": 90,
"trainingStraight": 85,
"trainingSlouch": 130
},
{
"unit": 3,
"casualStraight": 95,
"casualSlouch": 110,
"trainingStraight": 75,
"trainingSlouch": 160
},
{
"unit": 6,
"casualStraight": 55,
"casualSlouch": 80,
"trainingStraight": 95,
"trainingSlouch": 120
}
],
"summary": {
"totalUsageMinutes": ,
"stoodStraightPercentage": 345,
"casualModeStraight": 455,
"casualModeSlouch": 122,
"straightModeStraight": 385,
"straightModeSlouch": 675
}
},
...
]