curl -X POST "https://api.scanova.io/user-logs/user-activity/" \
-H "Authorization: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "event_type": "qr_dynamic_created" }'
{
"qr_static_created": true,
"qr_dynamic_created": true,
"feature_password_protection": false,
"lead_list_created": false,
"onboarding_1_continue_clicked": true,
"qr_first_created": "2026-06-01T10:00:00Z",
"total_qr_codes": 24,
"total_shared_users": 3
}
User Logs & Activity
Set an activity milestone flag
POST /user-logs/user-activity/
POST
/
user-logs
/
user-activity
/
curl -X POST "https://api.scanova.io/user-logs/user-activity/" \
-H "Authorization: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "event_type": "qr_dynamic_created" }'
{
"qr_static_created": true,
"qr_dynamic_created": true,
"feature_password_protection": false,
"lead_list_created": false,
"onboarding_1_continue_clicked": true,
"qr_first_created": "2026-06-01T10:00:00Z",
"total_qr_codes": 24,
"total_shared_users": 3
}
Flips one feature-usage milestone flag to
Flags are one-directional — setting one already
true, on api.scanova.io, authenticated with your raw API key.
POST https://api.scanova.io/user-logs/user-activity/
Authorization: YOUR_API_KEY
string
required
The name of the milestone flag to set, e.g.
qr_dynamic_created. Must match a real flag field.curl -X POST "https://api.scanova.io/user-logs/user-activity/" \
-H "Authorization: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "event_type": "qr_dynamic_created" }'
{
"qr_static_created": true,
"qr_dynamic_created": true,
"feature_password_protection": false,
"lead_list_created": false,
"onboarding_1_continue_clicked": true,
"qr_first_created": "2026-06-01T10:00:00Z",
"total_qr_codes": 24,
"total_shared_users": 3
}
true is a harmless no-op. 400 if event_type doesn’t match a recognized flag field:
400
{ "event_type": "\"not_a_real_flag\" is not a recognized activity event." }
Related
- Retrieve activity milestone flags — see the full current state.
- API overview — the auth scheme and quota rules that apply to this endpoint.
Authorizations
Send your Management API key as the raw value of the Authorization header — no "Bearer " or "Token " prefix, and no other characters. Example: Authorization: YOUR_API_KEY. A header containing more than one space-separated part is rejected outright. Requests also require the request's Host header to be the management API host (e.g. api.scanova.io) — the same key sent to the regular API host will not authenticate.
Response
200 - application/json
Flag updated.
Was this page helpful?