API Experience Hub Management API

1.0.0

Overview

Statistics
25 Operations
3 Skills
Platform Category
Administer API Experience Hub portals, members and the assets they expose.

Use this API as a portal owner to provision and operate Salesforce-hosted developer
portals that surface APIs from Anypoint Exchange. The management surface covers four
jobs:
  • Connections and portals — list Salesforce connections, enumerate the portals
attached to each connection, and resolve the external organization id used by the
Consumer API.
  • Asset curation — publish, search, update and remove the Exchange assets that
appear in a portal's catalog, including version visibility.
  • Members and prospects — list portal users, enable or disable accounts, review
pending sign-ups, and approve or reject prospects.
  • User groups and access — create user groups, manage their group mappings to
external IdP groups, and assign or revoke user-group memberships.

All paths are scoped by connectionId (the Salesforce connection registered in the
hub) and portalId (the portal hosted under that connection). Both are obtained from
GET /connections and GET /connections/{connectionId}/apiPortals. Authentication is
via bearer token. Errors follow the standard Anypoint JSON error envelope; list
endpoints support searchTerm filtering and header-based pagination
(x-limit / x-offset).

Servers

  • https://anypoint.mulesoft.com/api-experience-hub US
  • https://eu1.anypoint.mulesoft.com/api-experience-hub EU
  • https://ca1.platform.mulesoft.com/api-experience-hub CA

Authentication & Security

  • bearerAuth http

    Bearer token authentication. Login endpoint: https://anypoint.mulesoft.com/accounts/api/login

List portals for connection getAllApiPortalByConnectionId

GET

Try it out

Path Parameters
Custom Query Parameters
Custom Headers
Portals
Returns all portals associated with a specific connection.

Path Parameters

connectionId *: string(uuid)

Response

*/*
OK
items: array
Array items
Examples
*/*
[ { "id": "550e8400-e29b-41d4-a716-446655440000", "connectionId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa", "name": "Developer Portal", "targetPortalId": "77777777-7777-7777-7777-777777777777", "internalPortalId": "770e8400-e29b-41d4-a716-446655440002", "builderUrl": "https://example.my.site.com/builder", "siteUrl": "https://example.my.site.com", "createdDate": "2024-01-10T08:00:00Z", "updatedDate": "2024-06-15T14:30:00Z", "finishedAtLeastOnce": true } ]

Assign user groups to user addGroupMappingToUser

PUT

Try it out

Path Parameters
Custom Query Parameters
Custom Headers
Request Body application/json
User Management
Applies the specified user group memberships to a portal user.

Path Parameters

connectionId *: string(uuid)
portalId *: string(uuid)
targetUserId *: string(uuid)

Request Body *

json
items: array
Array items
Examples
application/json
[ "550e8400-e29b-41d4-a716-446655440000", "660e8400-e29b-41d4-a716-446655440001" ]

Response

*/*
OK

List connections getConnections

GET

Try it out

Custom Query Parameters
Custom Headers
Connections
Returns all connections for the current organization.

Response

*/*
OK
items: array
Array items
Examples
*/*
[ { "id": "conn-001", "organizationId": "88888888-8888-8888-8888-888888888888", "targetOrganizationId": "66666666-6666-6666-6666-666666666666", "targetOrganizationDomain": "example.my.salesforce.com", "type": "SALESFORCE", "environment": "PRODUCTION", "username": "admin@example.com", "createdDate": "2024-01-10T08:00:00Z", "updatedDate": "2024-06-15T14:30:00Z" } ]

List profiles and user groups getAllProfilesByPortal

GET

Try it out

Path Parameters
Custom Query Parameters
Custom Headers
User Groups
Returns all profiles and user groups for a portal.

Path Parameters

connectionId *: string(uuid)
portalId *: string(uuid)

Response

*/*
OK
items: array
Array items
Examples
*/*
[ { "id": "550e8400-e29b-41d4-a716-446655440000", "name": "Everyone", "description": "Default user group for all portal users", "isAdmin": false, "isAutoGenerated": true, "isDefault": true, "isPublic": true, "createdDate": "2024-01-10T08:00:00Z", "children": [ { "id": "660e8400-e29b-41d4-a716-446655440001", "name": "API Developers", "description": "Users who can create applications", "isAdmin": false, "isAutoGenerated": false, "isDefault": false, "isPublic": false, "createdDate": "2024-02-15T12:00:00Z", "children": [] } ] } ]

Create a user group createUserGroup

POST

Try it out

Path Parameters
Custom Query Parameters
Custom Headers
Request Body application/json
User Groups
Creates a new user group within the portal.

Path Parameters

connectionId *: string(uuid)
portalId *: string(uuid)

Request Body *

json
description: string
Human-readable description of the user group
name *: string
parentUserGroupId: string(uuid)
ID of the parent user group for nesting
Examples
application/json
{ "name": "API Developers", "description": "Users who can create applications", "parentUserGroupId": "550e8400-e29b-41d4-a716-446655440000" }

Response

*/*
OK

List group mappings getGroupMappings

GET

Try it out

Path Parameters
Custom Query Parameters
Custom Headers
User Groups
Returns all team group mappings for a specific user group.

Path Parameters

connectionId *: string(uuid)
portalId *: string(uuid)
userGroupId *: string(uuid)

Response

*/*
OK
items: array
Array items
Examples
*/*
[ { "external_group_name": "API Developers", "membership_type": "member", "provider_id": "idp-001" } ]

Add group mapping addAdditionalGroupMapping

POST

Try it out

Path Parameters
Custom Query Parameters
Custom Headers
Request Body application/json
User Groups
Adds an identity provider group mapping to a user group.

Path Parameters

connectionId *: string(uuid)
portalId *: string(uuid)
userGroupId *: string(uuid)

Request Body *

json
groupMappingName *: string
External group name to map to this user group
idpId: string(uuid)
Identity provider ID for the group mapping
Examples
application/json
{ "groupMappingName": "API Developers", "idpId": "eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee" }

Response

*/*
OK

Publish assets to portal addAssetsToCommunity

POST

Try it out

Path Parameters
Custom Query Parameters
Custom Headers
Request Body application/json
Asset Curation
Adds one or more Exchange assets to the portal for consumer discovery.

Path Parameters

connectionId *: string(uuid)
portalId *: string(uuid)

Request Body *

json
items: array
Array items
Examples
application/json
[ { "assetId": "payment-api", "groupId": "com.example" }, { "assetId": "order-api", "groupId": "com.example" } ]

Response

*/*
OK
items: array
Array items
Examples
*/*
[ { "assetId": "payment-api", "groupId": "com.example" } ]

Search published assets searchCommunityAssets

POST

Try it out

Path Parameters
Header Parameters
Custom Query Parameters
Custom Headers
Request Body application/json
Asset Curation
Searches assets currently published in the portal.

Path Parameters

connectionId *: string(uuid)
portalId *: string(uuid)

Header Parameters

x-limit: integer(int32)
Maximum number of search results to return
x-from: integer(int32)
Offset for paginated search results

Request Body *

json
searchTerm: string
Text to search for in asset names and descriptions
userGroupId: string(uuid)
Filter assets visible to this user group
categories: array
Filter by categories in key:value format
tags: array
Filter by tags
sort: object
Sort configuration for search results
showInherited: boolean
Whether to include assets inherited from parent groups
Examples
application/json
{ "searchTerm": "payment", "userGroupId": "dddddddd-dddd-dddd-dddd-dddddddddddd", "categories": [ "Department:Finance" ], "tags": [ "payments" ], "sort": { "direction": "DESC", "criteria": "LAST_UPDATED" }, "showInherited": true }

Response

*/*
OK
assets *: array
List of community assets matching the search criteria
facets: object
Available facets for filtering search results
Examples
*/*
{ "assets": [ { "assetId": "payment-api", "groupId": "com.example", "name": "Payment API", "description": "API for processing payments", "type": "rest-api", "businessGroupId": "bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb", "businessGroupName": "Finance", "createdById": "cccccccc-cccc-cccc-cccc-cccccccccccc", "lastUpdated": "2024-06-15T14:30:00Z", "addedOn": "2024-01-10T08:00:00Z", "categories": [ "Department:Finance" ], "tags": [ "payments" ] } ], "facets": { "categories": [ "Department:Finance" ], "tags": [ "payments" ] } }

Search Exchange assets searchExchangeAssets

POST

Try it out

Path Parameters
Header Parameters
Custom Query Parameters
Custom Headers
Request Body application/json
Asset Curation
Searches Anypoint Exchange for assets available to publish.

Path Parameters

connectionId *: string(uuid)
portalId *: string(uuid)

Header Parameters

x-limit: integer(int32)
Maximum number of search results to return
x-from: integer(int32)
Offset for paginated search results

Request Body *

json
searchTerm: string
Text to search for in asset names and descriptions
categories: array
Filter by categories in key:value format
tags: array
Filter by tags
sort: object
Sort configuration for search results
Examples
application/json
{ "searchTerm": "order", "categories": [ "Department:Commerce" ], "tags": [ "orders" ], "sort": { "direction": "DESC", "criteria": "LAST_UPDATED" } }

Response

*/*
OK
assets *: array
List of Anypoint Exchange assets matching the search criteria
facets: object
Available facets for filtering search results
Examples
*/*
{ "assets": [ { "assetId": "order-api", "groupId": "com.example", "name": "Order API", "description": "API for managing orders", "type": "rest-api", "businessGroupId": "bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb", "businessGroupName": "Commerce", "createdById": "cccccccc-cccc-cccc-cccc-cccccccccccc", "createdByName": "John Doe", "createdAt": "2024-01-10T08:00:00Z", "lastUpdated": "2024-06-15T14:30:00Z", "latestVersion": "1.2.3", "categories": [ "Department:Commerce" ], "tags": [ "orders" ] } ], "facets": { "categories": [ "Department:Commerce" ], "tags": [ "orders" ] } }

Remove assets from portal removeAssetFromCommunity

POST

Try it out

Path Parameters
Custom Query Parameters
Custom Headers
Request Body application/json
Asset Curation
Removes one or more assets from the portal.

Path Parameters

connectionId *: string(uuid)
portalId *: string(uuid)

Request Body *

json
items: array
Array items
Examples
application/json
[ { "assetId": "payment-api", "groupId": "com.example" } ]

Response

*/*
OK

Search Exchange assets (legacy) legacySearchExchangeAssets

POST

Try it out

Path Parameters
Header Parameters
Custom Query Parameters
Custom Headers
Request Body application/json
Asset Curation
Legacy endpoint for searching Anypoint Exchange assets.

Path Parameters

connectionId *: string(uuid)
portalId *: string(uuid)

Header Parameters

x-limit: integer(int32)
Maximum number of search results to return
x-from: integer(int32)
Offset for paginated search results

Request Body *

json
searchTerm: string
Text to search for in asset names and descriptions
categories: array
Filter by categories in key:value format
tags: array
Filter by tags
sort: object
Sort configuration for search results
Examples
application/json
{ "searchTerm": "order", "categories": [ "Department:Commerce" ], "tags": [ "orders" ], "sort": { "direction": "DESC", "criteria": "LAST_UPDATED" } }

Response

*/*
OK
items: array
Array items
Examples
*/*
[ { "assetId": "order-api", "groupId": "com.example", "name": "Order API", "description": "API for managing orders", "type": "rest-api", "businessGroupId": "bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb", "businessGroupName": "Commerce", "createdById": "cccccccc-cccc-cccc-cccc-cccccccccccc", "createdByName": "John Doe", "createdAt": "2024-01-10T08:00:00Z", "lastUpdated": "2024-06-15T14:30:00Z", "latestVersion": "1.2.3" } ]

Enable a user enableCommunityUser

PATCH

Try it out

Path Parameters
Custom Query Parameters
Custom Headers
User Management
Enables a previously disabled portal user account.

Path Parameters

connectionId *: string(uuid)
portalId *: string(uuid)
targetUserId *: string(uuid)

Response

*/*
OK

Disable a user disableCommunityUser

PATCH

Try it out

Path Parameters
Custom Query Parameters
Custom Headers
User Management
Disables a portal user account.

Path Parameters

connectionId *: string(uuid)
portalId *: string(uuid)
targetUserId *: string(uuid)

Response

*/*
OK

Update a user group updateUserGroup

PATCH

Try it out

Path Parameters
Custom Query Parameters
Custom Headers
Request Body application/json
User Groups
Updates the name and description of a user group.

Path Parameters

connectionId *: string(uuid)
portalId *: string(uuid)
userGroupId *: string(uuid)

Request Body *

json
description: string
Human-readable description of the user group
name *: string
parentUserGroupId: string(uuid)
ID of the parent user group for nesting
Examples
application/json
{ "name": "API Developers (Updated)", "description": "Updated description for API developers group" }

Response

*/*
OK
children: array
Child user groups nested under this group
createdDate: string(date-time)
Date the user group was created
description: string
Human-readable description of the user group
id *: string(uuid)
Unique user group identifier
isAdmin: boolean
Whether this is the admin user group
isAutoGenerated: boolean
Whether this user group was auto-generated by the system
isDefault: boolean
Whether this is the default portal user group
isPublic: boolean
Whether this user group is publicly visible
name *: string
User group name
Examples
*/*
{ "id": "660e8400-e29b-41d4-a716-446655440001", "name": "API Developers (Updated)", "description": "Updated description for API developers group", "isAdmin": false, "isAutoGenerated": false, "isDefault": false, "isPublic": false, "createdDate": "2024-02-15T12:00:00Z", "children": [] }

Delete a user group deleteUserGroup

DELETE

Try it out

Path Parameters
Custom Query Parameters
Custom Headers
User Groups
Permanently deletes a user group from the portal.

Path Parameters

connectionId *: string(uuid)
portalId *: string(uuid)
userGroupId *: string(uuid)

Response

*/*
OK

Approve a prospect approveProspect

PATCH

Try it out

Path Parameters
Custom Query Parameters
Custom Headers
Request Body application/json
User Management
Approves a pending prospect and creates their user account.

Path Parameters

connectionId *: string(uuid)
portalId *: string(uuid)
prospectId *: string(uuid)

Request Body

json
userGroupIds *: array
User group IDs to assign to the approved prospect
Examples
application/json
{ "userGroupIds": [ "550e8400-e29b-41d4-a716-446655440000", "660e8400-e29b-41d4-a716-446655440001" ] }

Response

*/*
OK

Reject a prospect rejectProspect

DELETE

Try it out

Path Parameters
Custom Query Parameters
Custom Headers
User Management
Deletes a pending prospect registration request.

Path Parameters

connectionId *: string(uuid)
portalId *: string(uuid)
prospectId *: string(uuid)

Response

*/*
OK
items: array
Array items
Examples
*/*
[]

Get asset version visibility getAllVersionsVisibilityByGA

GET

Try it out

Path Parameters
Custom Query Parameters
Custom Headers
Asset Curation
Returns visibility settings for all minor versions of an asset.

Path Parameters

connectionId *: string(uuid)
portalId *: string(uuid)
groupId *: string
assetId *: string

Response

*/*
OK
assetId *: string
Asset identifier within the organization
groupId *: string
Organization group ID that owns the asset
name *: string
Display name of the asset
instanceVisibility: string
Visibility level for API instances
minorVersionProfilesVisibility: array
Per-version user group visibility settings
type *: string
Asset type classifier
Examples
*/*
{ "assetId": "payment-api", "groupId": "com.example", "name": "Payment API", "instanceVisibility": "All", "type": "rest-api", "minorVersionProfilesVisibility": [ { "minorVersion": "v1", "profileVisibility": [ "550e8400-e29b-41d4-a716-446655440000" ] } ] }

Update asset visibility updateCommunityAsset

PATCH

Try it out

Path Parameters
Custom Query Parameters
Custom Headers
Request Body application/json
Asset Curation
Updates the visibility settings for an asset's minor versions and instances.

Path Parameters

connectionId *: string(uuid)
portalId *: string(uuid)
groupId *: string
assetId *: string

Request Body *

json
instancesVisibility: string
Visibility level for API instances
minorVersions *: array
Per-version visibility settings
Examples
application/json
{ "instancesVisibility": "Custom", "minorVersions": [ { "minorVersion": "v1", "profileVisibility": [ "550e8400-e29b-41d4-a716-446655440000", "660e8400-e29b-41d4-a716-446655440001" ] }, { "minorVersion": "v2", "profileVisibility": [ "550e8400-e29b-41d4-a716-446655440000" ] } ] }

Response

*/*
OK

List users getCommunityUsers

GET

Try it out

Path Parameters
Query Parameters
Header Parameters
Custom Query Parameters
Custom Headers
User Management
Returns portal users with optional filtering by status and search term.

Path Parameters

connectionId *: string(uuid)
portalId *: string(uuid)

Query Parameters

searchTerm: string
isActive: boolean
Filter users by active status

Header Parameters

x-limit: integer(int32)
Maximum number of users to return
x-offset: integer(int32)
Number of results to skip for pagination

Response

*/*
OK
items: array
Array items
Examples
*/*
[ { "id": "user-001", "name": "Jane Developer", "email": "jane@example.com", "username": "jane.developer", "isActive": true, "isExternal": false, "anypointUsername": "jane.developer", "anypointIdpId": "eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee", "userGroupIds": [ "550e8400-e29b-41d4-a716-446655440000" ], "anypointGroups": [ "API Developers" ] } ]

Get user details getCommunityUser

GET

Try it out

Path Parameters
Custom Query Parameters
Custom Headers
User Management
Returns detailed information about a specific portal user.

Path Parameters

connectionId *: string(uuid)
portalId *: string(uuid)
userId *: string(uuid)

Response

*/*
OK
anypointGroups: array
Anypoint Platform groups the user belongs to
anypointIdpId: string(uuid)
Anypoint identity provider ID for the user
anypointUsername: string
Anypoint Platform username
email *: string(email)
User email address
id *: string
Unique Salesforce user identifier
isActive: boolean
Whether the user account is active
name: string
Full name of the user
username: string
Salesforce username
userGroupIds: array
User group IDs the user is a member of
isExternal: boolean
Whether the user is an external community user
Examples
*/*
{ "id": "user-001", "name": "Jane Developer", "email": "jane@example.com", "username": "jane.developer", "isActive": true, "isExternal": false, "anypointUsername": "jane.developer", "anypointIdpId": "eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee", "userGroupIds": [ "550e8400-e29b-41d4-a716-446655440000" ], "anypointGroups": [ "API Developers" ] }

List prospects getProspects

GET

Try it out

Path Parameters
Query Parameters
Custom Query Parameters
Custom Headers
User Management
Returns all prospects with optional search filtering.

Path Parameters

connectionId *: string(uuid)
portalId *: string(uuid)

Query Parameters

searchTerm: string

Response

*/*
OK
items: array
Array items
Examples
*/*
[ { "id": "880e8400-e29b-41d4-a716-446655440003", "firstName": "Bob", "lastName": "Builder", "email": "bob@example.com", "username": "bob.builder", "status": "PENDING", "portalId": "55555555-5555-5555-5555-555555555555", "createdDate": "2024-06-15T14:30:00Z", "updatedDate": "2024-06-15T14:30:00Z" } ]

Get prospect count getProspectCount

GET

Try it out

Path Parameters
Custom Query Parameters
Custom Headers
User Management
Returns the count of pending prospects for the portal.

Path Parameters

connectionId *: string(uuid)
portalId *: string(uuid)

Response

*/*
OK
count *: integer(int64)
Number of pending access requests
Examples
*/*
{ "count": 5 }

Delete group mapping deleteGroupMappings

DELETE

Try it out

Path Parameters
Custom Query Parameters
Custom Headers
User Groups
Removes an identity provider group mapping from a user group.

Path Parameters

connectionId *: string(uuid)
portalId *: string(uuid)
userGroupId *: string(uuid)
idpId *: string(uuid)
groupMappingName *: string

Response

*/*
OK