# Permission Groups ## List Account Permission Groups `client.IAM.PermissionGroups.List(ctx, params) (*V4PagePaginationArray[PermissionGroupListResponse], error)` **get** `/accounts/{account_id}/iam/permission_groups` List all the permissions groups for an account. ### Parameters - `params PermissionGroupListParams` - `AccountID param.Field[string]` Path param: Account identifier tag. - `ID param.Field[string]` Query param: ID of the permission group to be fetched. - `Label param.Field[string]` Query param: Label of the permission group to be fetched. - `Name param.Field[string]` Query param: Name of the permission group to be fetched. - `Page param.Field[float64]` Query param: Page number of paginated results. - `PerPage param.Field[float64]` Query param: Maximum number of results per page. ### Returns - `type PermissionGroupListResponse struct{…}` A named group of permissions that map to a group of operations against resources. - `ID string` Identifier of the permission group. - `Meta PermissionGroupListResponseMeta` Attributes associated to the permission group. - `Key string` - `Value string` - `Name string` Name of the permission group. ### Example ```go 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.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) page, err := client.IAM.PermissionGroups.List(context.TODO(), iam.PermissionGroupListParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", page) } ``` #### Response ```json { "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": "c8fed203ed3043cba015a93ad1616f1f", "meta": { "key": "key", "value": "value" }, "name": "Zone Read" }, { "id": "82e64a83756745bbbb1c9c2701bf816b", "meta": { "key": "key", "value": "value" }, "name": "Magic Network Monitoring" } ], "result_info": { "count": 1, "page": 1, "per_page": 20, "total_count": 2000 } } ``` ## Permission Group Details `client.IAM.PermissionGroups.Get(ctx, permissionGroupID, query) (*PermissionGroupGetResponse, error)` **get** `/accounts/{account_id}/iam/permission_groups/{permission_group_id}` Get information about a specific permission group in an account. ### Parameters - `permissionGroupID string` Permission Group identifier tag. - `query PermissionGroupGetParams` - `AccountID param.Field[string]` Account identifier tag. ### Returns - `type PermissionGroupGetResponse struct{…}` A named group of permissions that map to a group of operations against resources. - `ID string` Identifier of the permission group. - `Meta PermissionGroupGetResponseMeta` Attributes associated to the permission group. - `Key string` - `Value string` - `Name string` Name of the permission group. ### Example ```go 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.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) permissionGroup, err := client.IAM.PermissionGroups.Get( context.TODO(), "023e105f4ecef8ad9ca31a8372d0c353", iam.PermissionGroupGetParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", permissionGroup.ID) } ``` #### Response ```json { "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": "6d7f2f5f5b1d4a0e9081fdc98d432fd1", "meta": { "key": "key", "value": "value" }, "name": "Load Balancer" } } ```