Lago Go Client
November 17, 2025 ยท View on GitHub
This is a Go wrapper for Lago API
Current Releases
| Project | Release Badge |
|---|---|
| Lago | |
| Lago Go Client |
Installation
To use the client in your Go application:
go get github.com/getlago/lago-go-client@v1
Usage
Once the package is installed, you can use it in your Go application as follows:
package main
import (
"context"
"fmt"
"log"
lago "github.com/getlago/lago-go-client"
)
func main() {
client := lago.New().SetApiKey("xyz")
ctx := context.TODO()
// Example: List customers
billableMetrics, err := client.BillableMetric().GetList(ctx, &lago.BillableMetricListInput{
Page: 1,
PerPage: 10,
})
if err != nil {
log.Fatalf("Error fetching Billable Metrics: %v", err)
}
fmt.Println("List of Billable Metrics:")
for _, billableMetric := range billableMetrics.BillableMetrics {
fmt.Printf("- %s\n", billableMetric.Name)
}
}
For detailed usage, refer to the lago API reference.
Development
Prerequisites
- Go 1.18 or higher
- Git
Setup
-
Clone the repository:
git clone https://github.com/getlago/lago-go-client.git cd lago-go-client -
Install dependencies:
go mod download
Testing
Run the test suite:
go test ./...
Code Quality
Format code:
go fmt ./...
Run linting (requires golangci-lint):
# Install golangci-lint
go install github.com/golangci/golangci-lint/v2/cmd/golangci-lint@v2.6.2
# Run linter
golangci-lint run
Documentation
The Lago documentation is available at doc.getlago.com.
Contributing
The contribution documentation is available here
License
Lago Go client is distributed under MIT license.