Skip to main content

Activities

Snippets assume the authenticated ctx and client from Authentication.

Create one IDE activity

activity := analogwakatime.NewMainApiV1CreateActivityPostRequest("Go", 120)
activity.SetProjectName("my-project")
activity.SetIdeName("GoLand")
activity.SetFilename("main.go")

created, _, err := client.ActivitiesAPI.
MainApiV1CreateActivityPost(ctx).
MainApiV1CreateActivityPostRequest(*activity).
Execute()
if err != nil {
return
}
fmt.Println(created)

The constructor requires language and duration (seconds). Optional fields use generated setters.

Synchronize multiple IDE activities

first := analogwakatime.NewMainApiV1SyncActivitiesPostRequestActivitiesInner("Go", 120)
first.SetProjectName("my-project")
first.SetFilename("main.go")

second := analogwakatime.NewMainApiV1SyncActivitiesPostRequestActivitiesInner("Go", 60)
second.SetProjectName("my-project")
second.SetFilename("client.go")

batch := analogwakatime.NewMainApiV1SyncActivitiesPostRequest(
[]analogwakatime.MainApiV1SyncActivitiesPostRequestActivitiesInner{
*first,
*second,
},
)

synced, _, err := client.ActivitiesAPI.
MainApiV1SyncActivitiesPost(ctx).
MainApiV1SyncActivitiesPostRequest(*batch).
Execute()
if err != nil {
return
}
fmt.Println(synced)

Desktop and Android create/sync flows are in Activities API.