Events API

The Events API is the way in which Gympass will receive details of usage events by our users within your application, this will form the basis for payment calculations.

Gympass Events API does not have rate limiting. We do limit the size of files sent to up to 5MB.

POST - Create events

https://api.wellness.gympass.com/events

Note: The POST payload is an array of events. Multiple events can be sent in one request. If one event of the array has an issue, the entire payload will be invalidated.

Request

Example
1curl --location --request POST 'https://api.wellness.gympass.com/events' \
2--header 'Content-Type: application/json' \
3--header 'Authorization: Bearer <gpw-api-key>' \
4--data-raw '[
5 {
6 "email": "livia.caceres@gympass.com",
7 "event_type": "signin",
8 "timestamp": "2020-05-04T09:44:40+00:00",
9 "gpw_id": "gpw-29caecdf-2d5e-40b8-82b4-d0a044fa4679",
10 "user_id": "1864376",
11 "event_subcategory": "workout",
12 "event_title": "video",
13 "event_subtitle": "HIIT Training",
14 "event_equipment": "no equipment",
15 "timezone": "UTC-5",
16 "event_duration": 30,
17 "viewing_duration": 15,
18 "geo_latitude": 38.722252,
19 "geo_longitude": -9.139337,
20 "device": "c9aa764f-b522-4785-a635-ah356a8",
21 "ip": "127.0.0.1"
22 }
23]'

Headers

FieldDescription
Content-Typeapplication/json
AuthorizationBearer gpw-api-key (this key is shared with you in the Welcome Email)
Params
FieldTypeRequiredDescription
emailstringfalseUser email
event_typestringtrueThe type of event the user participated in (refer to restricted list below)
timestampstringtrueOnly the following formats are accepted: RFC3399, RFC3399.nano, YYYY-MM-DD HH:MM:SS, YYYY-MM-DD HH:MM, YYYY-MM-DD
gpw_idstringtrueGympass Wellness user ID
user_idstringfalsePartner user ID
event_subcategorystringfalseCategory of activity the user participated in
event_titlestringfalseTitle of the event the user participated in
event_subtitlestringfalseSubtitle of the event the user participated in
event_equipmentarray of stringfalseEquipment required for the event
timezonestringfalseTimezone of the timestamp
event_durationdoublefalseTotal time, in minutes, of the event
viewing_durationdoublefalseNumber of minutes that the user actually participated in the event
geo_latitudefloatfalseUsers device geolocation
geo_longitudefloatfalseUsers device geolocation
devicestringfalseDevice associated with the user's participation in the event
ipstringfalseIP associated with the user's participation in the event
Event Types
Event TypeDescription
signupSign-up event
signinSign-in / Log-in
signoutSign-out / Log-out
audioListened to audio
videoWatched a video (recorded or live)
cancellationUser cancelled a session
chatUsed chat function
content_viewViewed content (valid for any type of content)
create_recordUser created a record inside the app (input information)
no_showUser did not take scheduled session
1_on_1_sessionUser performed individual one-on-one session (ex. therapy)
renewReturning user signing up for the partner app again
otherMiscellaneous category for anything else

Response

Status CodeBodyDescription
200emptyRequest was successfully received and validated
400description of payload errorRequest payload has an error
401emptyUnauthorized request, missing API key or wrong API key
500error messageGympass Wellness server error