# manage-portal-applications Manage the applications that hold API credentials inside an API Experience Hub portal. Use when a portal consumer needs to list their applications, check if a name is available, create a new application, update metadata, rotate the client secret, or delete an application they no longer use. - **APIs:** [api-experience-hub-consumer](https://dev-portal.mulesoft.com/apis/api-experience-hub-consumer.md)- **Skill Source:** [SKILL.md](https://dev-portal.mulesoft.com/skills/manage-portal-applications/SKILL.md) ## Steps ### Step 1: Step 1: List Your Applications **API:** `urn:api:api-experience-hub-consumer`**Operation:** `getApplications` **Inputs:** - `targetOrganizationId` — Anypoint organization ID hosting the portal - `portalId` — Portal ID the user belongs to **Outputs:** - `applications` (`$.applications[*]`) — Your existing applications in this portal - `applicationId` (`$.applications[*].id`) — ID used by the per-application operations ### Step 2: Step 2: Check Application-Name Availability **API:** `urn:api:api-experience-hub-consumer`**Operation:** `checkExistenceApplicationName` **Inputs:** - `targetOrganizationId` — Anypoint organization ID hosting the portal - `portalId` — Portal ID - `nameCheckRequest` — The candidate application name to check for uniqueness **Outputs:** - `nameAvailable` (`$.available`) — Whether the proposed name is free to use ### Step 3: Step 3: Create a New Application **API:** `urn:api:api-experience-hub-consumer`**Operation:** `createApplication` **Inputs:** - `targetOrganizationId` — Anypoint organization ID hosting the portal - `portalId` — Portal ID - `groupId` — groupId of the asset to bind the application to (if required by portal policy) - `assetId` — assetId of the asset to bind the application to - `minorVersion` — minor version of the asset - `applicationRequest` — Application metadata and OAuth/OIDC settings **Outputs:** - `createdApplicationId` (`$.id`) — The new application ID - `clientId` (`$.clientId`) — OAuth client ID issued to the application - `clientSecret` (`$.clientSecret`) — OAuth client secret (shown only at creation — store it securely) ### Step 4: Step 4: Update Application Metadata **API:** `urn:api:api-experience-hub-consumer`**Operation:** `updateApplication` **Inputs:** - `targetOrganizationId` — Anypoint organization ID hosting the portal - `portalId` — Portal ID - `applicationId` — ID of the application to update - `applicationUpdate` — Updated application metadata **Outputs:** - `updatedApplicationId` (`$.id`) — Confirmed ID of the updated application ### Step 5: Step 5: Reset Client Secret **API:** `urn:api:api-experience-hub-consumer`**Operation:** `resetClientSecretForApplication` **Inputs:** - `targetOrganizationId` — Anypoint organization ID hosting the portal - `portalId` — Portal ID - `applicationId` — ID of the application to rotate **Outputs:** - `newClientSecret` (`$.clientSecret`) — Newly generated client secret (store it securely — only shown once) ### Step 6: Step 6: View Application Details **API:** `urn:api:api-experience-hub-consumer`**Operation:** `getApplicationDetailById` **Inputs:** - `targetOrganizationId` — Anypoint organization ID hosting the portal - `portalId` — Portal ID - `applicationId` — ID of the application to inspect **Outputs:** - `applicationDetails` (`$`) — Current application metadata (clientId present; secret never returned) ### Step 7: Step 7: Delete an Application (Optional) **API:** `urn:api:api-experience-hub-consumer`**Operation:** `deleteApplication` **Inputs:** - `targetOrganizationId` — Anypoint organization ID hosting the portal - `portalId` — Portal ID - `applicationId` — ID of the application to delete **Outputs:** - `deletedApplicationId` (`$.id`) — Confirmation of the deleted application