Hi everyone,
I’ve been a Checkvist user for about 15 years now – almost since the beginning! – and have always wanted to integrate its API into my workflows. Over the years I’ve hacked together various scripts, but I finally took the time to build a proper, clean Go client library. Figured I’d share it in case it’s useful for others.
Repository: jakoubek/checkvist-api: checkvist-api is a type-safe, idiomatic Go client library for the Checkvist (https://checkvist.com/) API. - Forgejo: Beyond coding. We Forge.
Docs: checkvist package - code.beautifulmachines.dev/jakoubek/checkvist-api - Go Packages
It covers the main parts of the API – checklists, tasks, and notes. A few things I tried to get right:
• Straightforward authentication (just pass email + API key, token handling is automatic)
• Builder pattern for creating tasks with due dates, priorities, and tags
• Proper error handling (so you can distinguish “not found” from “rate limited” etc.)
Quick example:
client := checkvist.NewClient("you@example.com", "your-api-key")
ctx := context.Background()
task, _ := client.Tasks(checklistID).Create(ctx,
checkvist.NewTask("Buy milk").
WithPosition(1).
WithDueDate(checkvist.DueTomorrow).
WithPriority(2).
WithTags("errands"),
)
fmt.Printf("Task %d created", task.ID)
It’s MIT licensed. If you’re into Go and want to script against your Checkvist data, give it a spin. Feedback and contributions welcome!
Cheers,
Oli