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:
attached to each connection, and resolve the external organization id used by the
Consumer API.
appear in a portal's catalog, including version visibility.
pending sign-ups, and approve or reject prospects.
external IdP groups, and assign or revoke user-group memberships.
All paths are scoped by
hub) and
via bearer token. Errors follow the standard Anypoint JSON error envelope; list
endpoints support
(
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 thehub) and
portalId (the portal hosted under that connection). Both are obtained fromGET /connections and GET /connections/{connectionId}/apiPortals. Authentication isvia 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-hubUS -
https://eu1.anypoint.mulesoft.com/api-experience-hubEU -
https://ca1.platform.mulesoft.com/api-experience-hubCA
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
Returns all portals associated with a specific connection.
Path Parameters
connectionId *:
string(uuid)
Unique identifier of the Salesforce connection
Related Operations:
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
Applies the specified user group memberships to a portal user.
Path Parameters
portalId *:
string(uuid)
Unique identifier of the portal
Related Operations:
connectionId *:
string(uuid)
Unique identifier of the Salesforce connection
Related Operations:
targetUserId *:
string(uuid)
Unique identifier of the target portal user
Related Operations:
Request Body *
jsonitems:
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
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
Returns all profiles and user groups for a portal.
Path Parameters
portalId *:
string(uuid)
Unique identifier of the portal
Related Operations:
connectionId *:
string(uuid)
Unique identifier of the Salesforce connection
Related Operations:
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
Creates a new user group within the portal.
Path Parameters
portalId *:
string(uuid)
Unique identifier of the portal
Related Operations:
connectionId *:
string(uuid)
Unique identifier of the Salesforce connection
Related Operations:
Request Body *
jsondescription:
string
Human-readable description of the user group
name *:
string
User group name
maxLength: 95
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
Returns all team group mappings for a specific user group.
Path Parameters
userGroupId *:
string(uuid)
Unique identifier of the user group
Related Operations:
portalId *:
string(uuid)
Unique identifier of the portal
Related Operations:
connectionId *:
string(uuid)
Unique identifier of the Salesforce connection
Related Operations:
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
Adds an identity provider group mapping to a user group.
Path Parameters
userGroupId *:
string(uuid)
Unique identifier of the user group
Related Operations:
portalId *:
string(uuid)
Unique identifier of the portal
Related Operations:
connectionId *:
string(uuid)
Unique identifier of the Salesforce connection
Related Operations:
Request Body *
jsongroupMappingName *:
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
Adds one or more Exchange assets to the portal for consumer discovery.
Path Parameters
portalId *:
string(uuid)
Unique identifier of the portal
Related Operations:
connectionId *:
string(uuid)
Unique identifier of the Salesforce connection
Related Operations:
Request Body *
jsonitems:
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
Searches assets currently published in the portal.
Path Parameters
portalId *:
string(uuid)
Unique identifier of the portal
Related Operations:
connectionId *:
string(uuid)
Unique identifier of the Salesforce connection
Related Operations:
Header Parameters
x-limit:
integer(int32)
Maximum number of search results to return
x-from:
integer(int32)
Offset for paginated search results
Request Body *
jsonsearchTerm:
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
Searches Anypoint Exchange for assets available to publish.
Path Parameters
portalId *:
string(uuid)
Unique identifier of the portal
Related Operations:
connectionId *:
string(uuid)
Unique identifier of the Salesforce connection
Related Operations:
Header Parameters
x-limit:
integer(int32)
Maximum number of search results to return
x-from:
integer(int32)
Offset for paginated search results
Request Body *
jsonsearchTerm:
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
Removes one or more assets from the portal.
Path Parameters
portalId *:
string(uuid)
Unique identifier of the portal
Related Operations:
connectionId *:
string(uuid)
Unique identifier of the Salesforce connection
Related Operations:
Request Body *
jsonitems:
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
Legacy endpoint for searching Anypoint Exchange assets.
Path Parameters
portalId *:
string(uuid)
Unique identifier of the portal
Related Operations:
connectionId *:
string(uuid)
Unique identifier of the Salesforce connection
Related Operations:
Header Parameters
x-limit:
integer(int32)
Maximum number of search results to return
x-from:
integer(int32)
Offset for paginated search results
Request Body *
jsonsearchTerm:
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
Enables a previously disabled portal user account.
Path Parameters
portalId *:
string(uuid)
Unique identifier of the portal
Related Operations:
connectionId *:
string(uuid)
Unique identifier of the Salesforce connection
Related Operations:
targetUserId *:
string(uuid)
Unique identifier of the target portal user
Related Operations:
Response
OK
Disable Community User disableCommunityUser
PATCH
Try it out
Path Parameters
Custom Query Parameters
Custom Headers
Disables a portal user account.
Path Parameters
portalId *:
string(uuid)
Unique identifier of the portal
Related Operations:
connectionId *:
string(uuid)
Unique identifier of the Salesforce connection
Related Operations:
targetUserId *:
string(uuid)
Unique identifier of the target portal user
Related Operations:
Response
OK
Update User Group updateUserGroup
PATCH
Try it out
Path Parameters
Custom Query Parameters
Custom Headers
Request Body application/json
Updates the name and description of a user group.
Path Parameters
userGroupId *:
string(uuid)
Unique identifier of the user group
Related Operations:
portalId *:
string(uuid)
Unique identifier of the portal
Related Operations:
connectionId *:
string(uuid)
Unique identifier of the Salesforce connection
Related Operations:
Request Body *
jsondescription:
string
Human-readable description of the user group
name *:
string
User group name
maxLength: 95
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
Permanently deletes a user group from the portal.
Path Parameters
userGroupId *:
string(uuid)
Unique identifier of the user group
Related Operations:
portalId *:
string(uuid)
Unique identifier of the portal
Related Operations:
connectionId *:
string(uuid)
Unique identifier of the Salesforce connection
Related Operations:
Response
OK
Approve Prospect approveProspect
PATCH
Try it out
Path Parameters
Custom Query Parameters
Custom Headers
Request Body application/json
Approves a pending prospect and creates their user account.
Path Parameters
portalId *:
string(uuid)
Unique identifier of the portal
Related Operations:
connectionId *:
string(uuid)
Unique identifier of the Salesforce connection
Related Operations:
prospectId *:
string(uuid)
Unique identifier of the prospect
Related Operations:
Request Body
jsonuserGroupIds *:
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
Deletes a pending prospect registration request.
Path Parameters
portalId *:
string(uuid)
Unique identifier of the portal
Related Operations:
connectionId *:
string(uuid)
Unique identifier of the Salesforce connection
Related Operations:
prospectId *:
string(uuid)
Unique identifier of the prospect
Related Operations:
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
Returns visibility settings for all minor versions of an asset.
Path Parameters
portalId *:
string(uuid)
Unique identifier of the portal
Related Operations:
connectionId *:
string(uuid)
Unique identifier of the Salesforce connection
Related Operations:
groupId *:
string
Exchange group ID of the asset
Related Operations:
assetId *:
string
Exchange asset ID
Related Operations:
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
Updates the visibility settings for an asset's minor versions and instances.
Path Parameters
portalId *:
string(uuid)
Unique identifier of the portal
Related Operations:
connectionId *:
string(uuid)
Unique identifier of the Salesforce connection
Related Operations:
groupId *:
string
Exchange group ID of the asset
Related Operations:
assetId *:
string
Exchange asset ID
Related Operations:
Request Body *
jsoninstancesVisibility:
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
Returns portal users with optional filtering by status and search term.
Path Parameters
portalId *:
string(uuid)
Unique identifier of the portal
Related Operations:
connectionId *:
string(uuid)
Unique identifier of the Salesforce connection
Related Operations:
Query Parameters
searchTerm:
string
Text to search for in user names and emails
minLength: 0, maxLength: 128
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
Returns detailed information about a specific portal user.
Path Parameters
portalId *:
string(uuid)
Unique identifier of the portal
Related Operations:
connectionId *:
string(uuid)
Unique identifier of the Salesforce connection
Related Operations:
userId *:
string(uuid)
Unique identifier of the portal user
Related Operations:
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
Returns all prospects with optional search filtering.
Path Parameters
portalId *:
string(uuid)
Unique identifier of the portal
Related Operations:
connectionId *:
string(uuid)
Unique identifier of the Salesforce connection
Related Operations:
Query Parameters
searchTerm:
string
Text to search for in prospect names and emails
default:
, minLength: 0, maxLength: 128Response
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
Returns the count of pending prospects for the portal.
Path Parameters
portalId *:
string(uuid)
Unique identifier of the portal
Related Operations:
connectionId *:
string(uuid)
Unique identifier of the Salesforce connection
Related Operations:
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
Removes an identity provider group mapping from a user group.
Path Parameters
userGroupId *:
string(uuid)
Unique identifier of the user group
Related Operations:
portalId *:
string(uuid)
Unique identifier of the portal
Related Operations:
connectionId *:
string(uuid)
Unique identifier of the Salesforce connection
Related Operations:
idpId *:
string(uuid)
Identity provider ID
Related Operations:
groupMappingName *:
string
Name of the group mapping to remove
Related Operations:
Response
OK