# Getting users api in okta-sdk-golang to work

**URL:** <https://devforum.okta.com/t/getting-users-api-in-okta-sdk-golang-to-work/3693>\
**Category:** Questions\
**Created:** [December 18, 2018, 3:10am UTC](https://devforum.okta.com/t/getting-users-api-in-okta-sdk-golang-to-work/3693 "2018-12-18T03:10:11Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![rimaram](https://avatars.discourse-cdn.com/v4/letter/r/f17d59/32.png) [@rimaram](https://devforum.okta.com/u/rimaram)\
**Post date:** [December 18, 2018, 3:10am UTC](https://devforum.okta.com/t/getting-users-api-in-okta-sdk-golang-to-work/3693/1 "2018-12-18T03:10:11Z")

</div>

From my backend, I want to list all users for my org( simple stuff).  
If I try the following code as seen from okta sdk example, I get an API error with no stack trace or even the API name(have tried setepping through code)

## myClient := &http.Client{} config := okta.NewConfig().WithOrgUrl("https://dev-

/oauth2/default").WithToken("-----")  
client := okta.NewClient(config, myClient, nil)

client := core.NewClient()  
if(client == nil) {  
 fmt.Println(“client is null”)  
}

fmt.Print(" users: ", \*(client.User))  
filter := query.NewQueryParams(query.WithFilter(“status eq “ACTIVE””))  
users, _, err := client.User.ListUsers(filter)  
if( err!= nil ) {  
 println(err.Error())  
}  
for_ , u := range users {  
 fmt.Print(“user id: %v”, u.Id)  
}

I can use the below code to access the endpoint directly though and get the expected response.

url := “https://----------oktapreview.com/api/v1/users”

req, \_ := http.NewRequest(“GET”, url, nil)

req.Header.Add(“Accept”, “application/json”)  
req.Header.Add(“Content-Type”, “application/json”)  
req.Header.Add(“Authorization”, “SSWS --------------”)  
req.Header.Add(“cache-control”, “no-cache”)

res, \_ := http.DefaultClient.Do(req)

defer res.Body.Close()  
body, \_ := ioutil.ReadAll(res.Body)

fmt.Println(res)  
fmt.Println(string(body))

Any idea what I could be doing wrong while using the okta sdk directly ?  
Thanks

---

<div class="post-metadata">

**Author:** ![mdorn](https://avatars.discourse-cdn.com/v4/letter/m/f08c70/32.png) [@mdorn](https://devforum.okta.com/u/mdorn)\
**Post date:** [December 20, 2018, 12:23am UTC](https://devforum.okta.com/t/getting-users-api-in-okta-sdk-golang-to-work/3693/2 "2018-12-20T00:23:07Z")

</div>

@rimaram: the big thing is to make sure you’re only using your Okta org root URL, not the OAuth endpoint. Below is a package that works if you replace the subdomain and token with your own:

```
package main

import (
  "fmt"
  "github.com/okta/okta-sdk-golang/okta"
  "github.com/okta/okta-sdk-golang/okta/query"
)

func main() {
  config := okta.NewConfig().WithOrgUrl("https://YOUR_SUBDOMAIN.okta.com").WithToken("YOUR_API_TOKEN")
  client := okta.NewClient(config, nil, nil)
  filter := query.NewQueryParams(query.WithFilter("status eq \"ACTIVE\""))
  users, _, _ := client.User.ListUsers(filter)
  for _, user := range users {
    fmt.Println(user.Id)
  }
}
```

---

<div class="post-metadata">

**Author:** ![andrea](https://sea1.discourse-cdn.com/oktadev/user_avatar/devforum.okta.com/andrea/32/2172_2.png) [@andrea](https://devforum.okta.com/u/andrea)\
**Post date:** [January 13, 2024, 12:17am UTC](https://devforum.okta.com/t/getting-users-api-in-okta-sdk-golang-to-work/3693/3 "2024-01-13T00:17:41Z")

</div>


