Go SDK.
The official Go client. Idiomatic, context-aware, zero-allocation on the happy path. Requires Go 1.21+. Source at wrxstack/sdk-go.
Install
go get github.com/wrxstack/sdk-go
Quickstart
package main import ( "context" "fmt" "github.com/wrxstack/sdk-go" ) func main() { client := wrxstack.NewClient() ctx := context.Background() task, err := client.Tasks.Create(ctx, &wrxstack.TaskCreate{ Title: "Review MSA", Assignee: "priya@acme.com", }) if err != nil { panic(err) } fmt.Println(task.ID, task.URL) }
Context
Every method takes a context.Context. Use it for timeouts, cancellation, and tracing.
ctx, cancel := context.WithTimeout(ctx, 5*time.Second) defer cancel() task, err := client.Tasks.Get(ctx, "tsk_01HQ3K...")
Method index
Coverage is roughly 80% of the Python and TypeScript SDKs. The high-traffic endpoints (Tasks, Assistants, Documents, Search, Webhooks) are complete; the long tail is a work in progress.
Errors
task, err := client.Tasks.Get(ctx, "tsk_doesnt_exist") if wrxstack.IsNotFound(err) { handleMissing() } if wrxstack.IsRateLimited(err) { retryAfter := wrxstack.RetryAfter(err) time.Sleep(retryAfter) }