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

    Anypoint Platform bearer token obtained from Access Management

Get All Api Portal By Connection Id 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 } ]

Add Group Mapping 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

portalId *: string(uuid)
connectionId *: 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

Get 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" } ]

Get All Profiles By Portal 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

portalId *: string(uuid)
connectionId *: 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 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

portalId *: string(uuid)
connectionId *: 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

Get 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

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

Response

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

Add Additional 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

userGroupId *: string(uuid)
portalId *: string(uuid)
connectionId *: 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

Add Assets To Community 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

portalId *: string(uuid)
connectionId *: 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 Community 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

portalId *: string(uuid)
connectionId *: 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

portalId *: string(uuid)
connectionId *: 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 Asset From Community 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

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

Request Body *

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

Response

*/*
OK

Legacy Search Exchange Assets 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

portalId *: string(uuid)
connectionId *: 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 Community User enableCommunityUser

PATCH

Try it out

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

Path Parameters

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

Response

*/*
OK

Disable Community User disableCommunityUser

PATCH

Try it out

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

Path Parameters

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

Response

*/*
OK

Update 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

userGroupId *: string(uuid)
portalId *: string(uuid)
connectionId *: 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 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

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

Response

*/*
OK

Approve 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

portalId *: string(uuid)
connectionId *: 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 Prospect rejectProspect

DELETE

Try it out

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

Path Parameters

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

Response

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

Get All Versions Visibility By GA 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

portalId *: string(uuid)
connectionId *: 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 Community Asset 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

portalId *: string(uuid)
connectionId *: 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

Get Community 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

portalId *: string(uuid)
connectionId *: 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 Community User getCommunityUser

GET

Try it out

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

Path Parameters

portalId *: string(uuid)
connectionId *: 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" ] }

Get 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

portalId *: string(uuid)
connectionId *: 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

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

Response

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

Delete Group Mappings 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

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

Response

*/*
OK