Manage the user groups that gate access to APIs and content inside an API Experience Hub portal. Use when an admin needs to list, create, update, or delete user groups, or to manage group mappings (links between external identity-provider groups and AEH user groups). These groups are the unit used for per-version asset visibility and member assignments.
69
87%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Passed
No findings from the security scan
User groups are the authorization primitive inside an API Experience Hub (AEH) portal. They control which members can see which APIs/minor versions, and they can be mapped to groups coming from a federated identity provider (IdP) so membership is synchronized automatically at login. This workflow covers the full user-group lifecycle and their IdP mappings.
What you'll build: A clean, well-scoped set of user groups (and IdP mappings) that AEH can use for asset visibility and member permissioning.
Before starting, ensure:
Authentication ready
Environment already bootstrapped
api: urn:api:api-experience-hub-management
operationId: getConnections
inputs: {}
outputs:
- name: connectionId
path: $[*].id
labels: $[*].name
description: AEH connection ID backing the portalapi: urn:api:api-experience-hub-management
operationId: getAllApiPortalByConnectionId
inputs:
connectionId:
from:
variable: connectionId
description: Connection ID from Step 1
outputs:
- name: portalId
path: $[*].id
labels: $[*].name
description: ID of the portal whose user groups you'll manageRetrieve the existing user groups on the portal so the admin can decide whether to create, update, or delete them.
What you'll need:
connectionId, portalIdapi: urn:api:api-experience-hub-management
operationId: getAllProfilesByPortal
inputs:
connectionId:
from:
variable: connectionId
description: Connection ID
portalId:
from:
variable: portalId
description: Portal ID
outputs:
- name: userGroups
path: $.profiles[*]
labels: $.profiles[*].name
description: Existing user groups (profiles) on the portal
- name: userGroupId
path: $.profiles[*].id
description: ID of a specific user group, used by update/deleteWhat happens next: Present the list and let the admin pick the next action (create/update/delete or manage mappings).
api: urn:api:api-experience-hub-management
operationId: createUserGroup
inputs:
connectionId:
from:
variable: connectionId
description: Connection ID
portalId:
from:
variable: portalId
description: Portal ID
userGroupRequest:
userProvided: true
description: Definition of the new user group
example:
name: Gold Tier Consumers
description: Members granted access to premium APIs
outputs:
- name: createdUserGroupId
path: $.id
description: The newly created user group IDWhat happens next: The new group is available for asset visibility rules and member assignments.
Rename or change the description of a group. The group membership itself is updated via manage-portal-members-and-prospects.
What you'll need:
connectionId, portalId, userGroupIdapi: urn:api:api-experience-hub-management
operationId: updateUserGroup
inputs:
connectionId:
from:
variable: connectionId
description: Connection ID
portalId:
from:
variable: portalId
description: Portal ID
userGroupId:
from:
variable: userGroupId
description: ID of the user group to update
userGroupRequest:
userProvided: true
description: Updated name/description for the user group
example:
name: Gold Tier Consumers (EU)
description: Members granted access to premium EU-region APIs
outputs:
- name: updatedUserGroupId
path: $.id
description: Confirmed ID of the updated user groupRemove a user group that is no longer needed. Verify no members or visibility rules depend on it first.
What you'll need:
connectionId, portalId, userGroupIdapi: urn:api:api-experience-hub-management
operationId: deleteUserGroup
inputs:
connectionId:
from:
variable: connectionId
description: Connection ID
portalId:
from:
variable: portalId
description: Portal ID
userGroupId:
from:
variable: userGroupId
description: ID of the user group to delete
outputs:
- name: deletedUserGroupId
path: $.id
description: Confirmation of the deleted user groupWhat happens next: The group is gone; any visibility rules or member assignments that referenced it need to be revisited.
Group mappings link a federated IdP group (SAML / OIDC) to an AEH user group so membership syncs at login.
What you'll need:
connectionId, portalIdapi: urn:api:api-experience-hub-management
operationId: getGroupMappings
inputs:
connectionId:
from:
variable: connectionId
description: Connection ID
portalId:
from:
variable: portalId
description: Portal ID
outputs:
- name: groupMappings
path: $.mappings[*]
labels: $.mappings[*].idpGroupName
description: Existing IdP-to-AEH group mappings
- name: groupMappingId
path: $.mappings[*].id
description: ID used to delete a mappingLink an IdP group to an AEH user group.
What you'll need:
connectionId, portalIduserGroupId (from Step 3) and the IdP group identifierapi: urn:api:api-experience-hub-management
operationId: addAdditionalGroupMapping
inputs:
connectionId:
from:
variable: connectionId
description: Connection ID
portalId:
from:
variable: portalId
description: Portal ID
mappingRequest:
userProvided: true
description: Mapping between an external IdP group and an AEH user group
example:
idpGroupName: "gold-tier-consumers"
userGroupId: 00G1a000000abcD
outputs:
- name: createdGroupMappingId
path: $.id
description: The newly created mapping IDWhat happens next: Users who log in via the IdP and belong to the mapped IdP group are automatically placed into the AEH user group.
Remove a stale mapping — e.g., when the IdP group has been renamed or retired.
What you'll need:
connectionId, portalId, groupMappingIdapi: urn:api:api-experience-hub-management
operationId: deleteGroupMappings
inputs:
connectionId:
from:
variable: connectionId
description: Connection ID
portalId:
from:
variable: portalId
description: Portal ID
groupMappingId:
from:
variable: groupMappingId
description: ID of the mapping to remove
outputs:
- name: deletedGroupMappingId
path: $.id
description: Confirmation of the removed mapping✅ Governed User-Group Model — A set of well-named user groups and IdP mappings that cleanly drive asset visibility and member permissioning.
curate-portal-assets Step 6 to hide or expose specific minor versions per user group.manage-portal-members-and-prospects to place portal members into the correct groups.mulesoft/mulesoft-dx
b8cef7d
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.