Skip to content
Start here

List User Groups

client.IAM.UserGroups.List(ctx, params) (*V4PagePaginationArray[UserGroupListResponse], error)
GET/accounts/{account_id}/iam/user_groups

List all the user groups for an account.

Security
API Email + API Key

The previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.

Example:X-Auth-Email: user@example.com

The previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.

Example:X-Auth-Key: 144c9defac04969c7bfad8efaa8ea194
API Email + API Key

The previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.

Example:X-Auth-Email: user@example.com

The previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.

Example:X-Auth-Key: 144c9defac04969c7bfad8efaa8ea194
Accepted Permissions (at least one required)
SCIM ProvisioningAccount Settings WriteAccount Settings Read
ParametersExpand Collapse
params UserGroupListParams
AccountID param.Field[string]

Path param: Account identifier tag.

maxLength32
minLength32
ID param.Field[string]Optional

Query param: ID of the user group to be fetched.

maxLength32
minLength32
Direction param.Field[UserGroupListParamsDirection]Optional

Query param: The sort order of returned user groups by name (ascending or descending).

const UserGroupListParamsDirectionAsc UserGroupListParamsDirection = "asc"
const UserGroupListParamsDirectionDesc UserGroupListParamsDirection = "desc"
FuzzyName param.Field[string]Optional

Query param: A string used for searching for user groups containing that substring.

Name param.Field[string]Optional

Query param: Name of the user group to be fetched.

Page param.Field[float64]Optional

Query param: Page number of paginated results.

minimum1
PerPage param.Field[float64]Optional

Query param: Maximum number of results per page.

maximum500
minimum1
ReturnsExpand Collapse
type UserGroupListResponse struct{…}

A group of policies resources.

ID string

User Group identifier tag.

maxLength32
minLength32
CreatedOn Time

Timestamp for the creation of the user group

formatdate-time
ModifiedOn Time

Last time the user group was modified.

formatdate-time
Name string

Name of the user group.

Policies []UserGroupListResponsePolicyOptional

Policies attached to the User group

ID stringOptional

Policy identifier.

Access UserGroupListResponsePoliciesAccessOptional

Allow or deny operations against the resources.

One of the following:
const UserGroupListResponsePoliciesAccessAllow UserGroupListResponsePoliciesAccess = "allow"
const UserGroupListResponsePoliciesAccessDeny UserGroupListResponsePoliciesAccess = "deny"
PermissionGroups []UserGroupListResponsePoliciesPermissionGroupOptional

A set of permission groups that are specified to the policy.

ID string

Identifier of the permission group.

Meta UserGroupListResponsePoliciesPermissionGroupsMetaOptional

Attributes associated to the permission group.

Category stringOptional

A category used to group permission groups.

Deprecated stringOptional

Indicates whether the permission group is deprecated.

Description stringOptional

Additional information about the permission group.

Editable stringOptional

Indicates whether the permission group can be edited.

EolAt TimeOptional

The planned end-of-life date and time, when provided.

formatdate-time
Label stringOptional

A label identifying the permission group.

Scopes stringOptional

The scope associated with the permission group.

Visibility stringOptional

Indicates the permission group’s availability or visibility.

Name stringOptional

Name of the permission group.

ResourceGroups []UserGroupListResponsePoliciesResourceGroupOptional

A list of resource groups that the policy applies to.

ID string

Identifier of the resource group.

Scope UserGroupListResponsePoliciesResourceGroupsScope

A scope is a combination of scope objects which provides additional context.

Key string

This is a combination of pre-defined resource name and identifier (like Account ID etc.)

Objects []UserGroupListResponsePoliciesResourceGroupsScopeObject

A list of scope objects for additional context.

Key string

This is a combination of pre-defined resource name and identifier (like Zone ID etc.)

Meta UserGroupListResponsePoliciesResourceGroupsMetaOptional

Attributes associated to the resource group.

Key stringOptional
Value stringOptional
Name stringOptional

Name of the resource group.

List User Groups

package main

import (
  "context"
  "fmt"

  "github.com/cloudflare/cloudflare-go"
  "github.com/cloudflare/cloudflare-go/iam"
  "github.com/cloudflare/cloudflare-go/option"
)

func main() {
  client := cloudflare.NewClient(
    option.WithAPIKey("144c9defac04969c7bfad8efaa8ea194"),
    option.WithAPIEmail("user@example.com"),
  )
  page, err := client.IAM.UserGroups.List(context.TODO(), iam.UserGroupListParams{
    AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
  })
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", page)
}
{
  "errors": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "messages": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "success": true,
  "result": [
    {
      "id": "023e105f4ecef8ad9ca31a8372d0c353",
      "created_on": "2024-03-01T12:21:02Z",
      "modified_on": "2024-03-01T12:21:02Z",
      "name": "My New User Group",
      "policies": [
        {
          "id": "f267e341f3dd4697bd3b9f71dd96247f",
          "access": "allow",
          "permission_groups": [
            {
              "id": "c8fed203ed3043cba015a93ad1616f1f",
              "meta": {
                "category": "category",
                "deprecated": "deprecated",
                "description": "description",
                "editable": "editable",
                "eol_at": "2019-12-27T18:11:19.117Z",
                "label": "load_balancer_admin",
                "scopes": "com.cloudflare.api.account",
                "visibility": "visibility"
              },
              "name": "Zone Read"
            },
            {
              "id": "82e64a83756745bbbb1c9c2701bf816b",
              "meta": {
                "category": "category",
                "deprecated": "deprecated",
                "description": "description",
                "editable": "editable",
                "eol_at": "2019-12-27T18:11:19.117Z",
                "label": "fbm_user",
                "scopes": "com.cloudflare.api.account",
                "visibility": "visibility"
              },
              "name": "Magic Network Monitoring"
            }
          ],
          "resource_groups": [
            {
              "id": "6d7f2f5f5b1d4a0e9081fdc98d432fd1",
              "scope": {
                "key": "com.cloudflare.api.account.eb78d65290b24279ba6f44721b3ea3c4",
                "objects": [
                  {
                    "key": "com.cloudflare.api.account.zone.23f8d65290b24279ba6f44721b3eaad5"
                  }
                ]
              },
              "meta": {
                "key": "key",
                "value": "value"
              },
              "name": "com.cloudflare.api.account.eb78d65290b24279ba6f44721b3ea3c4"
            }
          ]
        }
      ]
    }
  ],
  "result_info": {
    "count": 1,
    "page": 1,
    "per_page": 20,
    "total_count": 2000
  }
}
Returns Examples
{
  "errors": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "messages": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "success": true,
  "result": [
    {
      "id": "023e105f4ecef8ad9ca31a8372d0c353",
      "created_on": "2024-03-01T12:21:02Z",
      "modified_on": "2024-03-01T12:21:02Z",
      "name": "My New User Group",
      "policies": [
        {
          "id": "f267e341f3dd4697bd3b9f71dd96247f",
          "access": "allow",
          "permission_groups": [
            {
              "id": "c8fed203ed3043cba015a93ad1616f1f",
              "meta": {
                "category": "category",
                "deprecated": "deprecated",
                "description": "description",
                "editable": "editable",
                "eol_at": "2019-12-27T18:11:19.117Z",
                "label": "load_balancer_admin",
                "scopes": "com.cloudflare.api.account",
                "visibility": "visibility"
              },
              "name": "Zone Read"
            },
            {
              "id": "82e64a83756745bbbb1c9c2701bf816b",
              "meta": {
                "category": "category",
                "deprecated": "deprecated",
                "description": "description",
                "editable": "editable",
                "eol_at": "2019-12-27T18:11:19.117Z",
                "label": "fbm_user",
                "scopes": "com.cloudflare.api.account",
                "visibility": "visibility"
              },
              "name": "Magic Network Monitoring"
            }
          ],
          "resource_groups": [
            {
              "id": "6d7f2f5f5b1d4a0e9081fdc98d432fd1",
              "scope": {
                "key": "com.cloudflare.api.account.eb78d65290b24279ba6f44721b3ea3c4",
                "objects": [
                  {
                    "key": "com.cloudflare.api.account.zone.23f8d65290b24279ba6f44721b3eaad5"
                  }
                ]
              },
              "meta": {
                "key": "key",
                "value": "value"
              },
              "name": "com.cloudflare.api.account.eb78d65290b24279ba6f44721b3ea3c4"
            }
          ]
        }
      ]
    }
  ],
  "result_info": {
    "count": 1,
    "page": 1,
    "per_page": 20,
    "total_count": 2000
  }
}