# User Groups ## List User Groups `client.iam.userGroups.list(UserGroupListParamsparams, RequestOptionsoptions?): V4PagePaginationArray` **get** `/accounts/{account_id}/iam/user_groups` List all the user groups for an account. ### Parameters - `params: UserGroupListParams` - `account_id: string` Path param: Account identifier tag. - `id?: string` Query param: ID of the user group to be fetched. - `direction?: string` Query param: The sort order of returned user groups by name. Default sort order is ascending. To switch to descending, set this parameter to "desc" - `fuzzyName?: string` Query param: A string used for searching for user groups containing that substring. - `name?: string` Query param: Name of the user group to be fetched. - `page?: number` Query param: Page number of paginated results. - `per_page?: number` Query param: Maximum number of results per page. ### Returns - `UserGroupListResponse` A group of policies resources. - `id: string` User Group identifier tag. - `created_on: string` Timestamp for the creation of the user group - `modified_on: string` Last time the user group was modified. - `name: string` Name of the user group. - `policies?: Array` Policies attached to the User group - `id?: string` Policy identifier. - `access?: "allow" | "deny"` Allow or deny operations against the resources. - `"allow"` - `"deny"` - `permission_groups?: Array` A set of permission groups that are specified to the policy. - `id: string` Identifier of the permission group. - `meta?: Meta` Attributes associated to the permission group. - `key?: string` - `value?: string` - `name?: string` Name of the permission group. - `resource_groups?: Array` A list of resource groups that the policy applies to. - `id: string` Identifier of the resource group. - `scope: Array` The scope associated to the resource group - `key: string` This is a combination of pre-defined resource name and identifier (like Account ID etc.) - `objects: Array` 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?: Meta` Attributes associated to the resource group. - `key?: string` - `value?: string` - `name?: string` Name of the resource group. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiEmail: process.env['CLOUDFLARE_EMAIL'], // This is the default and can be omitted apiKey: process.env['CLOUDFLARE_API_KEY'], // This is the default and can be omitted }); // Automatically fetches more pages as needed. for await (const userGroupListResponse of client.iam.userGroups.list({ account_id: '023e105f4ecef8ad9ca31a8372d0c353', })) { console.log(userGroupListResponse.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": "023e105f4ecef8ad9ca31a8372d0c353", "created_on": "2024-03-01T12:21:02.0000Z", "modified_on": "2024-03-01T12:21:02.0000Z", "name": "My New User Group", "policies": [ { "id": "f267e341f3dd4697bd3b9f71dd96247f", "access": "allow", "permission_groups": [ { "id": "c8fed203ed3043cba015a93ad1616f1f", "meta": { "key": "key", "value": "value" }, "name": "Zone Read" }, { "id": "82e64a83756745bbbb1c9c2701bf816b", "meta": { "key": "key", "value": "value" }, "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 } } ``` ## User Group Details `client.iam.userGroups.get(stringuserGroupId, UserGroupGetParamsparams, RequestOptionsoptions?): UserGroupGetResponse` **get** `/accounts/{account_id}/iam/user_groups/{user_group_id}` Get information about a specific user group in an account. ### Parameters - `userGroupId: string` User Group identifier tag. - `params: UserGroupGetParams` - `account_id: string` Account identifier tag. ### Returns - `UserGroupGetResponse` A group of policies resources. - `id: string` User Group identifier tag. - `created_on: string` Timestamp for the creation of the user group - `modified_on: string` Last time the user group was modified. - `name: string` Name of the user group. - `policies?: Array` Policies attached to the User group - `id?: string` Policy identifier. - `access?: "allow" | "deny"` Allow or deny operations against the resources. - `"allow"` - `"deny"` - `permission_groups?: Array` A set of permission groups that are specified to the policy. - `id: string` Identifier of the permission group. - `meta?: Meta` Attributes associated to the permission group. - `key?: string` - `value?: string` - `name?: string` Name of the permission group. - `resource_groups?: Array` A list of resource groups that the policy applies to. - `id: string` Identifier of the resource group. - `scope: Array` The scope associated to the resource group - `key: string` This is a combination of pre-defined resource name and identifier (like Account ID etc.) - `objects: Array` 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?: Meta` Attributes associated to the resource group. - `key?: string` - `value?: string` - `name?: string` Name of the resource group. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiEmail: process.env['CLOUDFLARE_EMAIL'], // This is the default and can be omitted apiKey: process.env['CLOUDFLARE_API_KEY'], // This is the default and can be omitted }); const userGroup = await client.iam.userGroups.get('023e105f4ecef8ad9ca31a8372d0c353', { account_id: '023e105f4ecef8ad9ca31a8372d0c353', }); console.log(userGroup.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": "023e105f4ecef8ad9ca31a8372d0c353", "created_on": "2024-03-01T12:21:02.0000Z", "modified_on": "2024-03-01T12:21:02.0000Z", "name": "My New User Group", "policies": [ { "id": "f267e341f3dd4697bd3b9f71dd96247f", "access": "allow", "permission_groups": [ { "id": "c8fed203ed3043cba015a93ad1616f1f", "meta": { "key": "key", "value": "value" }, "name": "Zone Read" }, { "id": "82e64a83756745bbbb1c9c2701bf816b", "meta": { "key": "key", "value": "value" }, "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" } ] } ] } } ``` ## Create User Group `client.iam.userGroups.create(UserGroupCreateParamsparams, RequestOptionsoptions?): UserGroupCreateResponse` **post** `/accounts/{account_id}/iam/user_groups` Create a new user group under the specified account. ### Parameters - `params: UserGroupCreateParams` - `account_id: string` Path param: Account identifier tag. - `name: string` Body param: Name of the User group. - `policies: Array` Body param: Policies attached to the User group - `access: "allow" | "deny"` Allow or deny operations against the resources. - `"allow"` - `"deny"` - `permission_groups: Array` A set of permission groups that are specified to the policy. - `id: string` Permission Group identifier tag. - `resource_groups: Array` A set of resource groups that are specified to the policy. - `id: string` Resource Group identifier tag. ### Returns - `UserGroupCreateResponse` A group of policies resources. - `id: string` User Group identifier tag. - `created_on: string` Timestamp for the creation of the user group - `modified_on: string` Last time the user group was modified. - `name: string` Name of the user group. - `policies?: Array` Policies attached to the User group - `id?: string` Policy identifier. - `access?: "allow" | "deny"` Allow or deny operations against the resources. - `"allow"` - `"deny"` - `permission_groups?: Array` A set of permission groups that are specified to the policy. - `id: string` Identifier of the permission group. - `meta?: Meta` Attributes associated to the permission group. - `key?: string` - `value?: string` - `name?: string` Name of the permission group. - `resource_groups?: Array` A list of resource groups that the policy applies to. - `id: string` Identifier of the resource group. - `scope: Array` The scope associated to the resource group - `key: string` This is a combination of pre-defined resource name and identifier (like Account ID etc.) - `objects: Array` 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?: Meta` Attributes associated to the resource group. - `key?: string` - `value?: string` - `name?: string` Name of the resource group. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiEmail: process.env['CLOUDFLARE_EMAIL'], // This is the default and can be omitted apiKey: process.env['CLOUDFLARE_API_KEY'], // This is the default and can be omitted }); const userGroup = await client.iam.userGroups.create({ account_id: '023e105f4ecef8ad9ca31a8372d0c353', name: 'My New User Group', policies: [ { access: 'allow', permission_groups: [ { id: 'c8fed203ed3043cba015a93ad1616f1f' }, { id: '82e64a83756745bbbb1c9c2701bf816b' }, ], resource_groups: [{ id: '6d7f2f5f5b1d4a0e9081fdc98d432fd1' }], }, ], }); console.log(userGroup.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": "023e105f4ecef8ad9ca31a8372d0c353", "created_on": "2024-03-01T12:21:02.0000Z", "modified_on": "2024-03-01T12:21:02.0000Z", "name": "My New User Group", "policies": [ { "id": "f267e341f3dd4697bd3b9f71dd96247f", "access": "allow", "permission_groups": [ { "id": "c8fed203ed3043cba015a93ad1616f1f", "meta": { "key": "key", "value": "value" }, "name": "Zone Read" }, { "id": "82e64a83756745bbbb1c9c2701bf816b", "meta": { "key": "key", "value": "value" }, "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" } ] } ] } } ``` ## Update User Group `client.iam.userGroups.update(stringuserGroupId, UserGroupUpdateParamsparams, RequestOptionsoptions?): UserGroupUpdateResponse` **put** `/accounts/{account_id}/iam/user_groups/{user_group_id}` Modify an existing user group. ### Parameters - `userGroupId: string` User Group identifier tag. - `params: UserGroupUpdateParams` - `account_id: string` Path param: Account identifier tag. - `name?: string` Body param: Name of the User group. - `policies?: Array` Body param: Policies attached to the User group - `id: string` Policy identifier. - `access: "allow" | "deny"` Allow or deny operations against the resources. - `"allow"` - `"deny"` - `permission_groups: Array` A set of permission groups that are specified to the policy. - `id: string` Permission Group identifier tag. - `resource_groups: Array` A set of resource groups that are specified to the policy. - `id: string` Resource Group identifier tag. ### Returns - `UserGroupUpdateResponse` A group of policies resources. - `id: string` User Group identifier tag. - `created_on: string` Timestamp for the creation of the user group - `modified_on: string` Last time the user group was modified. - `name: string` Name of the user group. - `policies?: Array` Policies attached to the User group - `id?: string` Policy identifier. - `access?: "allow" | "deny"` Allow or deny operations against the resources. - `"allow"` - `"deny"` - `permission_groups?: Array` A set of permission groups that are specified to the policy. - `id: string` Identifier of the permission group. - `meta?: Meta` Attributes associated to the permission group. - `key?: string` - `value?: string` - `name?: string` Name of the permission group. - `resource_groups?: Array` A list of resource groups that the policy applies to. - `id: string` Identifier of the resource group. - `scope: Array` The scope associated to the resource group - `key: string` This is a combination of pre-defined resource name and identifier (like Account ID etc.) - `objects: Array` 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?: Meta` Attributes associated to the resource group. - `key?: string` - `value?: string` - `name?: string` Name of the resource group. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiEmail: process.env['CLOUDFLARE_EMAIL'], // This is the default and can be omitted apiKey: process.env['CLOUDFLARE_API_KEY'], // This is the default and can be omitted }); const userGroup = await client.iam.userGroups.update('023e105f4ecef8ad9ca31a8372d0c353', { account_id: '023e105f4ecef8ad9ca31a8372d0c353', }); console.log(userGroup.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": "023e105f4ecef8ad9ca31a8372d0c353", "created_on": "2024-03-01T12:21:02.0000Z", "modified_on": "2024-03-01T12:21:02.0000Z", "name": "My New User Group", "policies": [ { "id": "f267e341f3dd4697bd3b9f71dd96247f", "access": "allow", "permission_groups": [ { "id": "c8fed203ed3043cba015a93ad1616f1f", "meta": { "key": "key", "value": "value" }, "name": "Zone Read" }, { "id": "82e64a83756745bbbb1c9c2701bf816b", "meta": { "key": "key", "value": "value" }, "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" } ] } ] } } ``` ## Remove User Group `client.iam.userGroups.delete(stringuserGroupId, UserGroupDeleteParamsparams, RequestOptionsoptions?): UserGroupDeleteResponse | null` **delete** `/accounts/{account_id}/iam/user_groups/{user_group_id}` Remove a user group from an account. ### Parameters - `userGroupId: string` User Group identifier tag. - `params: UserGroupDeleteParams` - `account_id: string` Account identifier tag. ### Returns - `UserGroupDeleteResponse` - `id: string` Identifier ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiEmail: process.env['CLOUDFLARE_EMAIL'], // This is the default and can be omitted apiKey: process.env['CLOUDFLARE_API_KEY'], // This is the default and can be omitted }); const userGroup = await client.iam.userGroups.delete('023e105f4ecef8ad9ca31a8372d0c353', { account_id: '023e105f4ecef8ad9ca31a8372d0c353', }); console.log(userGroup.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": "023e105f4ecef8ad9ca31a8372d0c353" } } ``` ## Domain Types ### User Group List Response - `UserGroupListResponse` A group of policies resources. - `id: string` User Group identifier tag. - `created_on: string` Timestamp for the creation of the user group - `modified_on: string` Last time the user group was modified. - `name: string` Name of the user group. - `policies?: Array` Policies attached to the User group - `id?: string` Policy identifier. - `access?: "allow" | "deny"` Allow or deny operations against the resources. - `"allow"` - `"deny"` - `permission_groups?: Array` A set of permission groups that are specified to the policy. - `id: string` Identifier of the permission group. - `meta?: Meta` Attributes associated to the permission group. - `key?: string` - `value?: string` - `name?: string` Name of the permission group. - `resource_groups?: Array` A list of resource groups that the policy applies to. - `id: string` Identifier of the resource group. - `scope: Array` The scope associated to the resource group - `key: string` This is a combination of pre-defined resource name and identifier (like Account ID etc.) - `objects: Array` 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?: Meta` Attributes associated to the resource group. - `key?: string` - `value?: string` - `name?: string` Name of the resource group. ### User Group Get Response - `UserGroupGetResponse` A group of policies resources. - `id: string` User Group identifier tag. - `created_on: string` Timestamp for the creation of the user group - `modified_on: string` Last time the user group was modified. - `name: string` Name of the user group. - `policies?: Array` Policies attached to the User group - `id?: string` Policy identifier. - `access?: "allow" | "deny"` Allow or deny operations against the resources. - `"allow"` - `"deny"` - `permission_groups?: Array` A set of permission groups that are specified to the policy. - `id: string` Identifier of the permission group. - `meta?: Meta` Attributes associated to the permission group. - `key?: string` - `value?: string` - `name?: string` Name of the permission group. - `resource_groups?: Array` A list of resource groups that the policy applies to. - `id: string` Identifier of the resource group. - `scope: Array` The scope associated to the resource group - `key: string` This is a combination of pre-defined resource name and identifier (like Account ID etc.) - `objects: Array` 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?: Meta` Attributes associated to the resource group. - `key?: string` - `value?: string` - `name?: string` Name of the resource group. ### User Group Create Response - `UserGroupCreateResponse` A group of policies resources. - `id: string` User Group identifier tag. - `created_on: string` Timestamp for the creation of the user group - `modified_on: string` Last time the user group was modified. - `name: string` Name of the user group. - `policies?: Array` Policies attached to the User group - `id?: string` Policy identifier. - `access?: "allow" | "deny"` Allow or deny operations against the resources. - `"allow"` - `"deny"` - `permission_groups?: Array` A set of permission groups that are specified to the policy. - `id: string` Identifier of the permission group. - `meta?: Meta` Attributes associated to the permission group. - `key?: string` - `value?: string` - `name?: string` Name of the permission group. - `resource_groups?: Array` A list of resource groups that the policy applies to. - `id: string` Identifier of the resource group. - `scope: Array` The scope associated to the resource group - `key: string` This is a combination of pre-defined resource name and identifier (like Account ID etc.) - `objects: Array` 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?: Meta` Attributes associated to the resource group. - `key?: string` - `value?: string` - `name?: string` Name of the resource group. ### User Group Update Response - `UserGroupUpdateResponse` A group of policies resources. - `id: string` User Group identifier tag. - `created_on: string` Timestamp for the creation of the user group - `modified_on: string` Last time the user group was modified. - `name: string` Name of the user group. - `policies?: Array` Policies attached to the User group - `id?: string` Policy identifier. - `access?: "allow" | "deny"` Allow or deny operations against the resources. - `"allow"` - `"deny"` - `permission_groups?: Array` A set of permission groups that are specified to the policy. - `id: string` Identifier of the permission group. - `meta?: Meta` Attributes associated to the permission group. - `key?: string` - `value?: string` - `name?: string` Name of the permission group. - `resource_groups?: Array` A list of resource groups that the policy applies to. - `id: string` Identifier of the resource group. - `scope: Array` The scope associated to the resource group - `key: string` This is a combination of pre-defined resource name and identifier (like Account ID etc.) - `objects: Array` 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?: Meta` Attributes associated to the resource group. - `key?: string` - `value?: string` - `name?: string` Name of the resource group. ### User Group Delete Response - `UserGroupDeleteResponse` - `id: string` Identifier # Members ## List User Group Members `client.iam.userGroups.members.list(stringuserGroupId, MemberListParamsparams, RequestOptionsoptions?): V4PagePaginationArray` **get** `/accounts/{account_id}/iam/user_groups/{user_group_id}/members` List all the members attached to a user group. ### Parameters - `userGroupId: string` User Group identifier tag. - `params: MemberListParams` - `account_id: string` Path param: Account identifier tag. - `page?: number` Query param: Page number of paginated results. - `per_page?: number` Query param: Maximum number of results per page. ### Returns - `MemberListResponse` Member attached to a User Group. - `id: string` Account member identifier. - `email?: string` The contact email address of the user. - `status?: "accepted" | "pending"` The member's status in the account. - `"accepted"` - `"pending"` ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiEmail: process.env['CLOUDFLARE_EMAIL'], // This is the default and can be omitted apiKey: process.env['CLOUDFLARE_API_KEY'], // This is the default and can be omitted }); // Automatically fetches more pages as needed. for await (const memberListResponse of client.iam.userGroups.members.list( '023e105f4ecef8ad9ca31a8372d0c353', { account_id: '023e105f4ecef8ad9ca31a8372d0c353' }, )) { console.log(memberListResponse.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": "4f5f0c14a2a41d5063dd301b2f829f04", "email": "user@example.com", "status": "accepted" } ], "result_info": { "count": 1, "page": 1, "per_page": 20, "total_count": 2000 } } ``` ## Add User Group Members `client.iam.userGroups.members.create(stringuserGroupId, MemberCreateParamsparams, RequestOptionsoptions?): MemberCreateResponse` **post** `/accounts/{account_id}/iam/user_groups/{user_group_id}/members` Add members to a User Group. ### Parameters - `userGroupId: string` User Group identifier tag. - `params: MemberCreateParams` - `account_id: string` Path param: Account identifier tag. - `body: Array` Body param - `id: string` The identifier of an existing account Member. ### Returns - `MemberCreateResponse` Member attached to a User Group. - `id: string` Account member identifier. - `email?: string` The contact email address of the user. - `status?: "accepted" | "pending"` The member's status in the account. - `"accepted"` - `"pending"` ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiEmail: process.env['CLOUDFLARE_EMAIL'], // This is the default and can be omitted apiKey: process.env['CLOUDFLARE_API_KEY'], // This is the default and can be omitted }); const member = await client.iam.userGroups.members.create('023e105f4ecef8ad9ca31a8372d0c353', { account_id: '023e105f4ecef8ad9ca31a8372d0c353', body: [{ id: '023e105f4ecef8ad9ca31a8372d0c353' }], }); console.log(member.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": "4f5f0c14a2a41d5063dd301b2f829f04", "email": "user@example.com", "status": "accepted" } } ``` ## Update User Group Members `client.iam.userGroups.members.update(stringuserGroupId, MemberUpdateParamsparams, RequestOptionsoptions?): SinglePage` **put** `/accounts/{account_id}/iam/user_groups/{user_group_id}/members` Replace the set of members attached to a User Group. ### Parameters - `userGroupId: string` User Group identifier tag. - `params: MemberUpdateParams` - `account_id: string` Path param: Account identifier tag. - `body: Array` Body param: Set/Replace members to a user group. - `id: string` The identifier of an existing account Member. ### Returns - `MemberUpdateResponse` Member attached to a User Group. - `id: string` Account member identifier. - `email?: string` The contact email address of the user. - `status?: "accepted" | "pending"` The member's status in the account. - `"accepted"` - `"pending"` ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiEmail: process.env['CLOUDFLARE_EMAIL'], // This is the default and can be omitted apiKey: process.env['CLOUDFLARE_API_KEY'], // This is the default and can be omitted }); // Automatically fetches more pages as needed. for await (const memberUpdateResponse of client.iam.userGroups.members.update( '023e105f4ecef8ad9ca31a8372d0c353', { account_id: '023e105f4ecef8ad9ca31a8372d0c353', body: [{ id: '023e105f4ecef8ad9ca31a8372d0c353' }], }, )) { console.log(memberUpdateResponse.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": "4f5f0c14a2a41d5063dd301b2f829f04", "email": "user@example.com", "status": "accepted" } ] } ``` ## Remove User Group Member `client.iam.userGroups.members.delete(stringuserGroupId, stringmemberId, MemberDeleteParamsparams, RequestOptionsoptions?): MemberDeleteResponse` **delete** `/accounts/{account_id}/iam/user_groups/{user_group_id}/members/{member_id}` Remove a member from User Group ### Parameters - `userGroupId: string` User Group identifier tag. - `memberId: string` The identifier of an existing account Member. - `params: MemberDeleteParams` - `account_id: string` Account identifier tag. ### Returns - `MemberDeleteResponse` Member attached to a User Group. - `id: string` Account member identifier. - `email?: string` The contact email address of the user. - `status?: "accepted" | "pending"` The member's status in the account. - `"accepted"` - `"pending"` ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiEmail: process.env['CLOUDFLARE_EMAIL'], // This is the default and can be omitted apiKey: process.env['CLOUDFLARE_API_KEY'], // This is the default and can be omitted }); const member = await client.iam.userGroups.members.delete( '023e105f4ecef8ad9ca31a8372d0c353', '023e105f4ecef8ad9ca31a8372d0c353', { account_id: '023e105f4ecef8ad9ca31a8372d0c353' }, ); console.log(member.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": "4f5f0c14a2a41d5063dd301b2f829f04", "email": "user@example.com", "status": "accepted" } } ``` ## Domain Types ### Member List Response - `MemberListResponse` Member attached to a User Group. - `id: string` Account member identifier. - `email?: string` The contact email address of the user. - `status?: "accepted" | "pending"` The member's status in the account. - `"accepted"` - `"pending"` ### Member Create Response - `MemberCreateResponse` Member attached to a User Group. - `id: string` Account member identifier. - `email?: string` The contact email address of the user. - `status?: "accepted" | "pending"` The member's status in the account. - `"accepted"` - `"pending"` ### Member Update Response - `MemberUpdateResponse` Member attached to a User Group. - `id: string` Account member identifier. - `email?: string` The contact email address of the user. - `status?: "accepted" | "pending"` The member's status in the account. - `"accepted"` - `"pending"` ### Member Delete Response - `MemberDeleteResponse` Member attached to a User Group. - `id: string` Account member identifier. - `email?: string` The contact email address of the user. - `status?: "accepted" | "pending"` The member's status in the account. - `"accepted"` - `"pending"`