Go library for the Checkvist API

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

2 Likes

Hello Oliver,

Thanks a lot for sharing! I’m not Go person, but maybe some of the customers will find this useful.

Cheers,
KIR

1 Like