API Experience Hub Consumer API

1.0.0

Overview

Statistics
20 Operations
3 Skills
Platform Category
Discover APIs and request access from a published API Experience Hub portal.

Use this API to act on behalf of an authenticated portal consumer (developer) browsing a
Salesforce-hosted developer portal that exposes assets from Anypoint Exchange. The
consumer surface covers three jobs:
  • Asset discovery — list, search and inspect API assets published in the portal,

including documentation pages, terms and conditions, and downloadable resources.
  • Application management — create, update and delete client applications, manage

OAuth credentials and rotate client secrets.
  • Request access — request an API contract for an application, choose an SLA tier,

and inspect available grant types and instances for an asset.

Every path is scoped by targetOrganizationId (the external organization id tied to
the connection — for SALESFORCE connections this is the Salesforce organization id,
obtained from GET /connections on the Management API) and a portal id
(portalId / targetPortalId). The portal id and connection are managed through the
companion API Experience Hub Management API.

Authentication is via bearer token. Endpoints return Anypoint-style JSON error bodies
on 4xx; responses are paginated where applicable using limit and 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 Application Detail By Id getApplicationDetailById

GET

Try it out

Path Parameters
Custom Query Parameters
Custom Headers
Application Management
Returns detailed information about a specific application including credentials.

Path Parameters

portalId *: string(uuid)
targetOrganizationId *: string
applicationId *: string(uuid)

Response

*/*
OK
clientId *: string(uuid)
OAuth client ID for the application
clientProvider: object
Client identity provider associated with this application
clientSecret: string
OAuth client secret for the application
description: string
Human-readable description of the application
grantTypes: array
OAuth grant types enabled for the application
id *: string
Unique application identifier
lastUpdateDate: string(date-time)
Timestamp of the last update to the application
name *: string
Application name
redirectUri: array
OAuth redirect URIs registered for the application
url: string(uri)
Application URL
Examples
*/*
{ "id": "12345", "name": "My API Client", "description": "Client application for accessing the Payment API", "clientId": "3dbce73b-b8fa-4b39-b4bd-b7fa7a6e9e0f", "clientSecret": "secretValue123", "grantTypes": [ "client_credentials" ], "redirectUri": [ "https://example.com/callback" ], "url": "https://example.com", "lastUpdateDate": "2024-01-15T10:30:00Z", "clientProvider": { "name": "Default", "providerId": "33333333-3333-3333-3333-333333333333", "type": "openid_connect" } }

Update Application updateApplication

PUT

Try it out

Path Parameters
Custom Query Parameters
Custom Headers
Request Body application/json
Application Management
Updates the details of an existing client application.

Path Parameters

portalId *: string(uuid)
targetOrganizationId *: string(uuid)
applicationId *: string(uuid)

Request Body *

json
apiEndpoints: boolean
Whether to use API endpoint URIs as redirect URIs
description: string
grantTypes: array
OAuth grant types for the application
name *: string
redirectUri: array
OAuth redirect URIs for the application
url: string(uri)
Application URL
Examples
application/json
{ "name": "My API Client", "description": "Client application for accessing the Payment API", "url": "https://example.com", "redirectUri": [ "https://example.com/callback" ], "grantTypes": [ "client_credentials" ], "apiEndpoints": false }

Response

*/*
OK
clientId *: string(uuid)
OAuth client ID for the application
clientProvider: object
Client identity provider associated with this application
clientSecret: string
OAuth client secret for the application
description: string
Human-readable description of the application
grantTypes: array
OAuth grant types enabled for the application
id *: string
Unique application identifier
lastUpdateDate: string(date-time)
Timestamp of the last update to the application
name *: string
Application name
redirectUri: array
OAuth redirect URIs registered for the application
url: string(uri)
Application URL
Examples
*/*
{ "id": "12345", "name": "My API Client", "description": "Client application for accessing the Payment API", "clientId": "3dbce73b-b8fa-4b39-b4bd-b7fa7a6e9e0f", "clientSecret": "secretValue123", "grantTypes": [ "client_credentials" ], "redirectUri": [ "https://example.com/callback" ], "url": "https://example.com", "lastUpdateDate": "2024-01-15T10:30:00Z", "clientProvider": { "name": "Default", "providerId": "33333333-3333-3333-3333-333333333333", "type": "openid_connect" } }

Delete Application deleteApplication

DELETE

Try it out

Path Parameters
Custom Query Parameters
Custom Headers
Application Management
Permanently deletes a client application.

Path Parameters

portalId *: string(uuid)
targetOrganizationId *: string(uuid)
applicationId *: string(uuid)

Response

*/*
OK
Examples
*/*
{}

Search Community Assets searchCommunityAssets

POST

Try it out

Path Parameters
Header Parameters
Custom Query Parameters
Custom Headers
Request Body application/json
Asset Discovery
Searches for API assets published in a portal by keyword, categories, tags or asset types.

Path Parameters

targetPortalId *: string
targetOrganizationId *: string(uuid)

Header Parameters

x-limit: integer(int32)
Maximum number of search results to return

Request Body *

json
assetTypes: array
Filter by asset types
categories: array
Filter by categories in key:value format
searchTerm: string
Text to search for in asset names and descriptions
sort: object
Sort configuration for search results
Examples
application/json
{ "searchTerm": "payment", "assetTypes": [ "rest-api", "http-api" ], "categories": [ "Department:Finance" ], "sort": { "direction": "DESC", "criteria": "LAST_UPDATED" } }

Response

*/*
OK
assets *: array
List of assets matching the search criteria
facets: array
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", "minorVersion": "v1", "latestPatchVersion": "1.0.2", "icon": "https://example.com/icon.png", "tags": [ "payments", "finance" ], "categories": [ "Department:Finance" ], "updatedDate": "2024-01-15T10:30:00Z" } ], "facets": [ "Department:Finance" ] }

Create Application createApplication

POST

Try it out

Path Parameters
Custom Query Parameters
Custom Headers
Request Body application/json
Application Management
Creates a new client application for requesting API access.

Path Parameters

minorVersion *: string
assetId *: string
groupId *: string
portalId *: string(uuid)
targetOrganizationId *: string(uuid)

Request Body *

json
apiEndpoints: boolean
Whether to use API endpoint URIs as redirect URIs
description: string
grantTypes: array
OAuth grant types for the application
name *: string
redirectUri: array
OAuth redirect URIs for the application
url: string(uri)
Application URL
instanceId *: string(uuid)
API instance ID to associate the application with
Examples
application/json
{ "name": "My API Client", "description": "Client application for the Payment API", "instanceId": "22222222-2222-2222-2222-222222222222", "url": "https://example.com", "redirectUri": [ "https://example.com/callback" ], "grantTypes": [ "client_credentials" ], "apiEndpoints": false }

Response

*/*
OK
clientId: string(uuid)
OAuth client ID assigned to the application
clientSecret: string
OAuth client secret assigned to the application
description: string
Application description
id *: string
Unique application identifier
name *: string
Application name
Examples
*/*
{ "id": "12345", "name": "My API Client", "description": "Client application for the Payment API", "clientId": "3dbce73b-b8fa-4b39-b4bd-b7fa7a6e9e0f", "clientSecret": "secretValue123" }

Create Contract createContract

POST

Try it out

Path Parameters
Custom Query Parameters
Custom Headers
Request Body application/json
Request Access
Creates an API access contract between an application and an API instance.

Path Parameters

minorVersion *: string
assetId *: string
groupId *: string
portalId *: string(uuid)
targetOrganizationId *: string(uuid)

Request Body *

json
acceptedTerms *: boolean
Whether the user has accepted the API terms and conditions
applicationId *: string(uuid)
ID of the application requesting access
instanceId *: string(uuid)
ID of the API instance to create a contract with
tierId: integer(int32) | null
ID of the SLA tier to request
Examples
application/json
{ "applicationId": "11111111-1111-1111-1111-111111111111", "instanceId": "22222222-2222-2222-2222-222222222222", "acceptedTerms": true, "tierId": 1 }

Response

*/*
OK
clientId: string(uuid)
OAuth client ID of the application
clientSecret: string
OAuth client secret of the application
id *: string
Unique contract identifier
requestedTier: object
SLA tier defining rate limits for API access
status *: string
Contract status
Examples
*/*
{ "id": "67890", "clientId": "3dbce73b-b8fa-4b39-b4bd-b7fa7a6e9e0f", "clientSecret": "secretValue123", "status": "APPROVED", "requestedTier": { "id": "1", "name": "Gold", "description": "Gold tier with 1000 req/min", "status": "ACTIVE", "active": true, "autoApprove": true, "limits": [ { "maximumRequests": "1000", "timePeriodInMilliseconds": 60000, "timePeriod": 60000, "timeUnit": "Minute", "visible": true } ] } }

Reset Client Secret For Application resetClientSecretForApplication

POST

Try it out

Path Parameters
Custom Query Parameters
Custom Headers
Application Management
Generates a new client secret for the specified application.

Path Parameters

portalId *: string(uuid)
targetOrganizationId *: string(uuid)
applicationId *: string(uuid)

Response

*/*
OK
clientSecret *: string
Newly generated client secret
Examples
*/*
{ "clientSecret": "newSecretValue456" }

Assign Sla Tier To Contract assignSlaTierToContract

PATCH

Try it out

Path Parameters
Custom Query Parameters
Custom Headers
Request Access
Changes the SLA tier assigned to an existing contract.

Path Parameters

portalId *: string(uuid)
targetOrganizationId *: string(uuid)
applicationId *: string(uuid)
contractId *: string(uuid)
tierId *: integer(int32)

Response

*/*
OK
applicationId *: string(uuid)
ID of the application holding the contract
id *: string
Unique contract identifier
instanceId: string(uuid)
API instance ID the contract is associated with
requestedTier: object
SLA tier defining rate limits for API access
status *: string
Contract status
Examples
*/*
{ "id": "67890", "applicationId": "11111111-1111-1111-1111-111111111111", "instanceId": "22222222-2222-2222-2222-222222222222", "status": "APPROVED", "requestedTier": { "id": "2", "name": "Silver", "description": "Silver tier with 500 req/min", "status": "ACTIVE", "active": true, "autoApprove": false, "limits": [] } }

List Assets Community Asset listAssetsCommunityAsset

GET

Try it out

Path Parameters
Query Parameters
Custom Query Parameters
Custom Headers
Asset Discovery
Returns a paginated list of assets published in the portal, sorted by recently added.

Path Parameters

targetPortalId *: string
targetOrganizationId *: string(uuid)

Query Parameters

limit: integer(int32)
offset: integer(int32)

Response

*/*
OK
items: array
Array items
Examples
*/*
[ { "assetId": "payment-api", "groupId": "com.example", "name": "Payment API", "description": "API for processing payments", "type": "rest-api", "minorVersion": "v1", "latestPatchVersion": "1.0.2", "tags": [ "payments" ], "categories": [ "Department:Finance" ], "updatedDate": "2024-01-15T10:30:00Z" } ]

Get Terms And Conditions getTermsAndConditions

GET

Try it out

Path Parameters
Custom Query Parameters
Custom Headers
Asset Discovery
Returns the terms and conditions in markdown format for a specific asset.

Path Parameters

minorVersion *: string
assetId *: string
groupId *: string
targetPortalId *: string
targetOrganizationId *: string(uuid)

Response

*/*
OK

Get Asset Resource getAssetResource

GET

Try it out

Path Parameters
Custom Query Parameters
Custom Headers
Asset Discovery
Returns a binary resource file associated with an asset's documentation.

Path Parameters

minorVersion *: string
assetId *: string
groupId *: string
targetPortalId *: string
targetOrganizationId *: string(uuid)
resourceId *: string(uuid)

Response

*/*
OK

Get Asset Pages getAssetPages

GET

Try it out

Path Parameters
Custom Query Parameters
Custom Headers
Asset Discovery
Returns a documentation page in markdown format for a specific asset.

Path Parameters

minorVersion *: string
assetId *: string
groupId *: string
targetPortalId *: string
targetOrganizationId *: string(uuid)

Response

*/*
OK

Get Asset Details getAssetDetails

GET

Try it out

Path Parameters
Custom Query Parameters
Custom Headers
Asset Discovery
Returns detailed information about a specific API asset including instances, categories and documentation pages.

Path Parameters

minorVersion *: string
assetId *: string
groupId *: string
targetPortalId *: string
targetOrganizationId *: string(uuid)

Response

*/*
OK
tags: array
Tags associated with the asset
major: integer(int32)
Major version number
minor: integer(int32)
Minor version number
mayorComponent: integer(int32)
Major version component (legacy field name)
minorComponent: integer(int32)
Minor version component
minorVersionComponents: array
List of minor version component strings
apiVersion: string
API version identifier
assetId *: string
Asset identifier within the organization
categories: array
Categories assigned to the asset
customFields: array
Custom fields defined for the asset
description: string
Human-readable description of the asset
files: array
Downloadable files attached to this asset version
groupId *: string
Organization group ID that owns the asset
icon: string(uri)
URL or encoded content of the asset icon
instances: array
API instances deployed for this asset version
labels: array
Labels attached to the asset
latestPatchVersion: string
Latest patch version string
lifeCycleState: string
Current lifecycle state of the asset
minorVersion: string
minorVersions: array
All available minor versions for this asset
name *: string
Display name of the asset
organizationId: string(uuid)
Anypoint Platform organization ID
owner: object
Owner contact information for the asset
pages: array
Documentation pages for this asset version
type: string
Asset type classifier
updatedDate: string(date-time)
Timestamp of the last update to the asset
versionGroup: string
Version group identifier for the asset
Examples
*/*
{ "assetId": "payment-api", "groupId": "com.example", "name": "Payment API", "description": "API for processing payments", "type": "rest-api", "apiVersion": "v1", "organizationId": "88888888-8888-8888-8888-888888888888", "minorVersion": "v1", "latestPatchVersion": "1.0.2", "versionGroup": "v1", "icon": "https://example.com/icon.png", "tags": [ "payments" ], "categories": [ { "displayName": "Department", "key": "department", "values": [ "Finance" ] } ], "pages": [ { "name": "Getting Started", "path": "/getting-started" } ], "instances": [ { "id": "inst-001", "name": "Production", "endpointUri": "https://api.example.com/v1", "environmentId": "99999999-9999-9999-9999-999999999999", "environmentName": "Production", "isPublic": true, "type": "rest-api", "minorVersion": "v1", "contractsCount": 5, "providerId": "33333333-3333-3333-3333-333333333333" } ], "files": [ { "label": "API Specification", "externalLink": "https://example.com/spec.yaml", "isGenerated": false } ], "updatedDate": "2024-01-15T10:30:00Z" }

Get Tiers getTiers

GET

Try it out

Path Parameters
Custom Query Parameters
Custom Headers
Request Access
Returns the available SLA tiers for an API instance.

Path Parameters

minorVersion *: string
assetId *: string
groupId *: string
portalId *: string(uuid)
targetOrganizationId *: string(uuid)
instanceId *: string(uuid)

Response

*/*
OK
items: array
Array items
Examples
*/*
[ { "id": "1", "name": "Gold", "description": "Gold tier with 1000 req/min", "status": "ACTIVE", "active": true, "autoApprove": true, "limits": [ { "maximumRequests": "1000", "timePeriodInMilliseconds": 60000, "timePeriod": 60000, "timeUnit": "Minute", "visible": true } ] }, { "id": "2", "name": "Silver", "description": "Silver tier with 500 req/min", "status": "ACTIVE", "active": true, "autoApprove": false, "limits": [] } ]

Get Grant Types By Instance Id getGrantTypesByInstanceId

GET

Try it out

Path Parameters
Custom Query Parameters
Custom Headers
Request Access
Returns the available OAuth grant types for an API instance's provider.

Path Parameters

minorVersion *: string
assetId *: string
groupId *: string
portalId *: string(uuid)
targetOrganizationId *: string(uuid)
instanceId *: string(uuid)

Response

*/*
OK
grantTypes *: array
Available OAuth grant types for the provider
type *: object
Identity provider type information
Examples
*/*
{ "grantTypes": [ { "name": "client_credentials", "label": "Client Credentials", "required": false, "depends": [], "exclude": [] }, { "name": "authorization_code", "label": "Authorization Code", "required": false, "depends": [], "exclude": [] } ], "type": { "name": "openid_connect", "description": "OpenID Connect Provider" } }

Get Contract getContract

GET

Try it out

Path Parameters
Custom Query Parameters
Custom Headers
Request Access
Returns a specific contract for an application and instance.

Path Parameters

minorVersion *: string
assetId *: string
groupId *: string
portalId *: string(uuid)
targetOrganizationId *: string(uuid)
applicationId *: string(uuid)
instanceId *: string(uuid)

Response

*/*
OK
applicationId *: string(uuid)
ID of the application holding the contract
id *: string
Unique contract identifier
instanceId: string(uuid)
API instance ID the contract is associated with
requestedTier: object
SLA tier defining rate limits for API access
status *: string
Contract status
Examples
*/*
{ "id": "67890", "applicationId": "11111111-1111-1111-1111-111111111111", "instanceId": "22222222-2222-2222-2222-222222222222", "status": "APPROVED", "requestedTier": { "id": "2", "name": "Silver", "description": "Silver tier with 500 req/min", "status": "ACTIVE", "active": true, "autoApprove": false, "limits": [] } }

Get Applications getApplications

GET

Try it out

Path Parameters
Query Parameters
Custom Query Parameters
Custom Headers
Application Management
Returns applications with optional filtering by instance and name.

Path Parameters

portalId *: string(uuid)
targetOrganizationId *: string(uuid)

Query Parameters

instanceId: string(uuid)
Filter applications by API instance ID
query: string
limit: integer(int32)
Maximum number of results to return
offset: integer(int32)

Response

*/*
OK
items: array
Array items
Examples
*/*
[ { "id": "12345", "name": "My API Client", "description": "Client application for the Payment API" }, { "id": "67890", "name": "Test Client", "description": "Testing application" } ]

Get Grant Types By Application Id getGrantTypesByApplicationId

GET

Try it out

Path Parameters
Custom Query Parameters
Custom Headers
Request Access
Returns the available OAuth grant types for an application's provider.

Path Parameters

portalId *: string(uuid)
targetOrganizationId *: string(uuid)
applicationId *: string(uuid)

Response

*/*
OK
grantTypes *: array
Available OAuth grant types for the provider
type *: object
Identity provider type information
Examples
*/*
{ "grantTypes": [ { "name": "client_credentials", "label": "Client Credentials", "required": false, "depends": [], "exclude": [] }, { "name": "authorization_code", "label": "Authorization Code", "required": false, "depends": [], "exclude": [] } ], "type": { "name": "openid_connect", "description": "OpenID Connect Provider" } }

Get Contracts By Application Id getContractsByApplicationId

GET

Try it out

Path Parameters
Query Parameters
Custom Query Parameters
Custom Headers
Request Access
Returns all contracts associated with a specific application.

Path Parameters

portalId *: string(uuid)
targetOrganizationId *: string(uuid)
applicationId *: string(uuid)

Query Parameters

limit: integer(int32)
offset: integer(int32)

Response

*/*
OK
items: array
Array items
Examples
*/*
[ { "contractId": 67890, "assetId": "payment-api", "assetName": "Payment API", "groupId": "com.example", "instanceId": "22222222-2222-2222-2222-222222222222", "instanceName": "Production", "environmentId": "99999999-9999-9999-9999-999999999999", "environmentName": "Production", "minorVersion": "v1", "status": "APPROVED" } ]

Check Existence Application Name checkExistenceApplicationName

GET

Try it out

Path Parameters
Query Parameters
Custom Query Parameters
Custom Headers
Application Management
Checks whether a given application name is already in use.

Path Parameters

portalId *: string(uuid)
targetOrganizationId *: string(uuid)

Query Parameters

appName *: string

Response

*/*
OK
exists *: boolean
Whether an application with the given name already exists
Examples
*/*
{ "exists": true }