Go SDK
The OpenApp Go SDK (github.com/tomers/openapp-sdk/go)
is the official client generated from OpenAPI. Outbound HTTP goes through
openapp-sdk-core (CGO and the C bridge) so auth, retries, and error mapping stay
aligned with the other SDKs.
Package & source
Section titled “Package & source”| Module path | github.com/tomers/openapp-sdk/go |
| Source code | GitHub (go/) |
| README | README.md on GitHub |
| Generated API reference | pkg.go.dev (available after the first release publishes go/v* tags to the module proxy) |
| Issues | GitHub issues |
Install
Section titled “Install”go get github.com/tomers/openapp-sdk/goRequires Go 1.22+ and an OpenApp API key.
Minimal example
Section titled “Minimal example”package main
import ( "context" "fmt" "log" "os"
openapp "github.com/tomers/openapp-sdk/go")
func main() { client, err := openapp.NewAPIClient(os.Getenv("OPENAPP_API_KEY")) if err != nil { log.Fatalf("NewAPIClient: %v", err) } defer client.Close()
status, _, err := client.StatusAPI.GetBackendStatus(context.Background()).Execute() if err != nil { log.Fatalf("GetBackendStatus: %v", err) } fmt.Printf("status: %#v\n", status)}Call Close when finished
so native runtime handles from the core bridge are released.
Calling authenticated APIs
Section titled “Calling authenticated APIs”resp, httpResp, err := client.OrgsAPI.ListOrgs(context.Background()).Execute()if err != nil { _ = httpResp log.Fatal(err)}fmt.Printf("orgs: %#v\n", resp)Shared guides
Section titled “Shared guides”Cross-language topics (with Go examples on each page):
- Authentication — API keys,
NewAPIClient, andClose. - Errors & retries — generated client errors and HTTP details.
- Organization context & pagination —
X-Org,OutputOptions, andPagination. - Devices, Zones, Entities, Organizations, Users, Billing, Integrations, Scripting, and the rest of the SDK overview index.
HTTP contract: API reference · OpenAPI JSON