Get the caller's own ring sync logs
curl --request GET \
--url https://web-api.dev.soxai.site/api/users/sync-logs \
--header 'Authorization: Bearer <token>'import requests
url = "https://web-api.dev.soxai.site/api/users/sync-logs"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://web-api.dev.soxai.site/api/users/sync-logs', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));[
{
"_time": "2026-09-07T22:10:00+00:00",
"uid": "user123",
"sync_data_count": 288,
"sync_time": 1757282400
}
]{
"error": "bad-request",
"error_msg": "Invalid start_time format. Use 'YYYY-MM-DD'."
}{
"error": "http-error",
"error_msg": "Invalid authentication credentials. <reason>"
}{
"error": "forbidden",
"error_msg": "Not enough permission"
}{
"error": "unprocessable-entity",
"error_msg": "body.<field>: <validation message>"
}{
"error": "rate-limited",
"error_msg": "Rate limit exceeded. Retry after <n> seconds."
}{
"error": "internal-server-error",
"error_msg": "Failed to fetch data: <error_message>"
}Users
Get the caller's own ring sync logs
Read the caller’s own ring synchronisation history: when their ring last uploaded data, and how much.
Parameters
start_time/stop_time(query, optional) -YYYY-MM-DD. Start at midnight UTC onstart_time; end just before midnight UTC on the day afterstop_time, including the entire stop date. Omittingstart_timereads from the beginning; omittingstop_timereads up to now.
Response
200returns a list of sync log records, or[]when the range holds none.
Errors
| Status | Condition |
|---|---|
| 400 | start_time or stop_time is not YYYY-MM-DD |
Authorization
- Scheme:
Authorization: Bearer <idToken>orsoxai-api-key: <api key>. - Any authenticated caller. The logs returned are the caller’s own - the uid comes from the token and cannot be given as a parameter - so no role is required, and there is no form of this request that reads somebody else’s.
GET
/
api
/
users
/
sync-logs
Get the caller's own ring sync logs
curl --request GET \
--url https://web-api.dev.soxai.site/api/users/sync-logs \
--header 'Authorization: Bearer <token>'import requests
url = "https://web-api.dev.soxai.site/api/users/sync-logs"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://web-api.dev.soxai.site/api/users/sync-logs', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));[
{
"_time": "2026-09-07T22:10:00+00:00",
"uid": "user123",
"sync_data_count": 288,
"sync_time": 1757282400
}
]{
"error": "bad-request",
"error_msg": "Invalid start_time format. Use 'YYYY-MM-DD'."
}{
"error": "http-error",
"error_msg": "Invalid authentication credentials. <reason>"
}{
"error": "forbidden",
"error_msg": "Not enough permission"
}{
"error": "unprocessable-entity",
"error_msg": "body.<field>: <validation message>"
}{
"error": "rate-limited",
"error_msg": "Rate limit exceeded. Retry after <n> seconds."
}{
"error": "internal-server-error",
"error_msg": "Failed to fetch data: <error_message>"
}Authorizations
HTTPBearerSoxaiApiKey
Query Parameters
Response
The caller's own sync log records, or an empty array when the range holds none.