# Go SDK

> Part of the OVHcloud developer hub. Index of every page and section: https://developers.eu.ovhcloud.com/llms.txt
> Everything in one file: https://developers.eu.ovhcloud.com/llms-full.txt

Idiomatic Go client with signed requests.

Latest release v1.9.0 Jun 25, 2025 [pkg.go.dev](https://pkg.go.dev/github.com/ovh/go-ovh)

[github.com/ovh/go-ovh](https://github.com/ovh/go-ovh)

## Install

```bash
go get github.com/ovh/go-ovh/ovh
```

## First call

Instantiate an OVH client and get the firstname of the currently logged-in user.

```go
package main

import (
	"fmt"
	"github.com/ovh/go-ovh/ovh"
)

// PartialMe holds the first name of the currently logged-in user.
// Visit https://api.ovh.com/console/#/me#GET for the full definition
type PartialMe struct {
	Firstname string `json:"firstname"`
}

// Instantiate an OVH client and get the firstname of the currently logged-in user.
// Visit https://api.ovh.com/createToken/?GET=/me to get your credentials.
func main() {
	var me PartialMe

	client, err := ovh.NewClient(
		"ovh-eu",
		YOUR_APPLICATION_KEY,
		YOUR_APPLICATION_SECRET,
		YOUR_CONSUMER_KEY,
	)
	if err != nil {
		fmt.Printf("Error: %q\n", err)
		return
	}

	err = client.Get("/me", &me)
	if err != nil {
		fmt.Printf("Error: %q\n", err)
		return
	}
	fmt.Printf("Welcome %s!\n", me.Firstname)
}
```

Quoted from [go-ovh's README](https://github.com/ovh/go-ovh#readme).

[Next Node.js SDK →](https://developers.eu.ovhcloud.com/sdks/node.md)
