openapi: 3.0.0
info:
  title: MuleSoft Catalyst Knowledge Hub & Others
  description: >-
    Collection of Repositories from Github (MuleSoft Consulting, MuleSoft
    Examples or Others) that have been considered important for the MuleSoft
    focused Commmunity
  version: 1.0.0
servers:
  - url: https://maven.anypoint.mulesoft.com
  - url: https://anypoint.mulesoft.com
  - url: http://{{anypoint_host}}
  - url: https://localhost:8082
  - url: https://random-test-data.au-s1.cloudhub.io
  - url: http://localhost:8091
  - url: http://{{url}}
components:
  securitySchemes:
    noauthAuth:
      type: http
      scheme: noauth
tags:
  - name: RTF Deployment - Steps
    description: >-
      # **RTF Deployment**


      Postman Collection for the deployment of Runtime Fabric application using
      the Anypoint Platform APIs.This is while RTF does not support AnypointCLI.


      ## Github Repo:
      [https://github.com/mulesoft-consulting/rtf-deployment-scripts](https://github.com/mulesoft-consulting/rtf-deployment-scripts)


      Extract below from the Blog post
      ([https://blogs.mulesoft.com/dev-guides/how-to-tutorials/migrating-on-premises-standalone-apps-to-runtime-fabric/](https://blogs.mulesoft.com/dev-guides/how-to-tutorials/migrating-on-premises-standalone-apps-to-runtime-fabric/))


      CICD pipelines to support the Runtime Fabric deployments. Runtime Fabric
      has some additional steps to upload deployment jar in Exchange. Before a
      MuleSoft application can be deployed into Runtime Fabric, the deployable
      jar should be uploaded to Anypoint Exchange.


      Anypoint Exchange acts as an artifact repository for MuleSoft
      applications. You should make sure that no other artifact with the same
      artifact ID as the MuleSoft application name exists inside Anypoint
      Exchange with a different artifact type or else it will return an error.


      Multiple versions of the deployment jar in Exchange helps you with
      rollback and rolling updates. MuleSoft application jar can be published
      into Exchange using:


      - Anypoint Studio

      - Manually

      - Maven plugin

      - Anypoint Platform APIs
          

      <img
      src="https://blogs.mulesoft.com/wp-content/uploads/image-18-1024x686.png">


      # Authors


      Amit Jha and Sandeep Deshmukh


      <img src="https://blogs.mulesoft.com/wp-content/uploads/sandeep.jpg">
  - name: CI/CD Create Proxy API - Api Manager
    description: >-
      # Deploy a Proxy API in Anypoint Platform with Postman


      ## Github Repo:
      [https://github.com/ozgurkarahan/Mulesoft-Api-Manager-CI-CD-Postman](https://github.com/ozgurkarahan/Mulesoft-Api-Manager-CI-CD-Postman)


      It has been long time that I wanted to write a post on how to automate API
      proxy deployment by only Platform API calls.


      Most of the time I do démo with UI to my prospects on API Manager topics
      and I have always the same question coming from them: “How are we going to
      add this to our CI/CD pipeline.”


      So I have decided to show by only using API calls how we can import your
      swagger to Anypoint Exchange, Create the proxy, deploy it, add SLA tiers,
      apply policies, tag it then activate monitoring with only one postman
      collection.


      The steps the collection contains are:


      - Import your swagger file to Anypoint Exchange

      - Create an API in API Manager from an API in Exchange

      - Deploy the API proxy to Runtime Manager

      - Add SLA tiers ( Free, Premium) to your API in Anypoint API Manager

      - Apply the following policies to your API in Anypoint API Manager:
          - Rate Limiting SLA Based policy
          - JWT Validation Policy
      - Tag your API

      - Activate Monitoring and Visualiser on Anypoint Runtime Manager for your
      API
          

      For this postman collection I have only used the APIs available on
      [Anypoint Platform
      APIs](https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/).


      You should run by order the API Calls as it is already ordered in postman
      collection. Because each API call gets the values from the response and
      sets the postman environment variables that will be used for the following
      API calls.


      ## Pre-requisite


      1. You should create a connected app (Access Management → Connected Apps)
      with the following scopes on your choose of Business org and Environment:
      Runtime Manager, Exchange Contributor, API Manager, CloudHub Org Admin

      2. Your swagger file

      3. Your Business Group Name (the name of the business org to which you
      want to deploy)

      4. Your Environment Name ( the name of the environment to which your want
      to deploy)

      5. Your Environment client_id and client_secret (we need it to activate
      monitoring)

      6. Import the Postman Collection file to your Postman ( \[GitHub
      repository\]([https://github.com/ozgurkarahan/Mulesoft-Api-Manager-CI-CD-Postman/blob/master/CI-CD](https://github.com/ozgurkarahan/Mulesoft-Api-Manager-CI-CD-Postman/blob/master/CI-CD)
      Create Proxy API - Api Manager.postman_collection.json) )

      7. Import the Postman environment variables to your Postman (\[GitHub
      Repository\]([https://github.com/ozgurkarahan/Mulesoft-Api-Manager-CI-CD-Postman/blob/master/CI-CD](https://github.com/ozgurkarahan/Mulesoft-Api-Manager-CI-CD-Postman/blob/master/CI-CD)
      Create Proxy API - Api Manager.postman_environment.json))
          

      ## Postman Environment variables


      The following postman environment variables must be filled in:


      - anypoint_host:
      [https://anypoint.mulesoft.com](https://anypoint.mulesoft.com/)

      - connected_app_id: The id of the connected app you have created in the
      pre-requisite step 1

      - connected_app_secret: The id of the connected app you have created in
      the pre-requisite step 1

      - env_name: The name of the environment to which you want to deploy your
      API. ex: Sandbox, Design or Production

      - org_name: The name of Anypoint Business Group to which you want to
      publish your API

      - environment_app_id: your environment client Id that you have get from
      the pre-requisite step 6

      - environment_app_secret: your environment client secret that you have get
      from the pre-requisite step 6

      - domainName: The domain name you want to use as part of your API URI. _It
      will be the identifier of you app in RM_, it must be unique. (
      `domainname`\-[de-c1.cloudhub.io](http://de-c1.cloudhub.io/))

      - exchangeAssetId: The assetId that will be used in Anypoint Exchange
          

      ## Steps in Postman Collection


      _**The very first two steps are the preparation requests to get access
      token, env_id and org_id**_


      ### 0.1 - Get Access Token (POST)


      This steps calls the token endpoint to get an access_token to be used as
      bearer token for the following steps.


      - gets acces_token for the connected app that I have created in Anypoint
      Platform.

      - sets the acces_token in postman environment variable to use for the
      following requests
          

      ### 0.2 - Get Profile (org Id and Sandbox Env Id) (GET)


      For the most of the following steps you will need environment id and
      organisation id. This request calls the accounts/api/profile to get
      information on your platform (business org, env, ...). The env_name and
      org_name variable let us to query the response result and extract Ids


      _**Once we have the variable set for: access_token, org_id and env_id,
      then we can import the swagger to Exchange, create your api in api manager
      and depoy the proxy instance to CloudHub via runtime manager**_


      ### 1 - Upload swagger to Exchange (POST)


      This request will add your swagger to exchange. Check the body of the
      request to customise the parameters. The important one is the _**asset**_:
      you should give the full path to your swagger file as value to asset.


      ### 2 - Create an Api From Exchange (POST)


      Creates an API in Api Manager from an existing Exchange API (check body of
      the request if you want to customise it). It sets apiId postman
      environment variable from the response.


      ### 3 - Deploy proxy for an existing api (POST)


      Creates a proxy for the given apiId, domainName(must be unique, it is part
      of your api url), env_id and env_name


      _**Now your API is imported to exchange, created in API Manager and
      deployed to Runtime Manager. The following steps are to customise your
      APIs: SLA Tiers (Subscription), Policies, Tag and activate monitoring on
      your API.**_


      ### 4 - Add premium SLA tiers to an existing api (POST)


      This request creates a SLA tiers for the given apiId. Check body of the
      request to customise it


      ### 4.1 - Add free SLA tiers to an existing api (POST)


      This request creates a SLA tiers for the given apiId. Check body of the
      request to customise it


      ### 4.2 - SLA tiers from an existing api (GET)


      You can use this request to check the SLA tiers created previsouly


      ### 5 - Apply Rate limiting SLA Based policy to an existing api


      Applies the standard Rate limiting SLA based policy to your API. This
      policy wil use the SLA tiers defined in the previous steps.


      ### 5.1 - Add Tag to an existing api #ratelimitingSLAbased


      Add the following tag to your api: ratelimitingSLAbased


      ### 5.2 - Apply Jwt validation policy to an existing api


      Applies the standard JWT validation policy to your API. Check the body of
      the request to customise your settings.


      ### 5.3 - Add Tag to an existing api #jwt


      Add the following tag to your api: jwt


      ### 5.4 - Get Api(s) By query (tag name)


      You can query your API manager by tag name. This lets you to tag your API
      properly to set a context than query easily all APIs with the specific
      tags


      ### Optional - Enable monitoring/visualiser in Runtime Manager


      This steps is optional. It lets you to activate monitoring and visualiser
      on your proxy app in runtime manager.
  - name: Catalyst - Test-Data-Generation
    description: >-
      #
      [Test-Data-Generation](https://github.com/mulesoft-catalyst/Test-Data-Generation)


      This is a pass through API, used for generation of bulk data using
      Postman. The postman scripts are checked in src/test/resources folder


      - showcase-postman-collection.json

      - localhost-random-data-generation-postman-collection.json

      - cloudhub-random-data-generation-postman-collection.json
          

      Complete article:
      [https://catalyst.mulesoft.com/display/OBD/Test+Data+Generation](https://catalyst.mulesoft.com/display/OBD/Test+Data+Generation)


      As always, feel free to reachout
      [mukesh.rijhwani@mulesoft.com](mailto:mukesh.rijhwani@mulesoft.com)


      # Repo:
      [https://github.com/mulesoft-catalyst/Test-Data-Generation](https://github.com/mulesoft-catalyst/Test-Data-Generation)
  - name: >-
      Catalyst - Test-Data-Generation > Random Data Generator Collection
      (localhost)
  - name: >-
      Catalyst - Test-Data-Generation > Random Data Generator Connection
      (Cloudhub)
  - name: Catalyst - Test-Data-Generation > Random Data Generator Showcase
  - name: Catalyst - APIM Admin API
    description: >-
      # API Manager Promotions Tool


      ### Github Repo:
      [https://github.com/mulesoft-consulting/api-manager-promotions-admin-api](https://github.com/mulesoft-consulting/api-manager-promotions-admin-api)


      This asset is a Mule API that connects with Anypoint Platform APIs (in
      particular, APIManager, Core Services and Exchange) to perform operations
      such as:


      - Bulk promotion of APIs from a source environment to a target environment
      given a list of APIs to promote

      - Get APIs and contracts from a source environment (with options to
      replace contract name suffix to respect a naming convention, for instance)

      - Get Client Apps created

      - Delete Client Apps created
          

      API design and definitions are included.


      This is an [UNLICENSED software, please review the
      considerations](https://github.com/mulesoft-catalyst/api-manager-promotions-admin-api/blob/main/UNLICENSE.md).
      If you need assistance for extending this, contact MuleSoft Professional
      Services.


      Enjoy and provide feedback / contribute :)


      ## Authors


      Joel Melamed and
      [Contributors](https://github.com/mulesoft-catalyst/api-manager-promotions-admin-api/graphs/contributors)
  - name: Catalyst - Metrics Toolkit
  - name: Catalyst - Metrics Toolkit > Benefits
  - name: Catalyst - Metrics Toolkit > Platform Metrics
paths:
  /api/v1/organizations/{orgId}/maven/{orgId}/{applicationName}/{applicationVersion}/{applicationName}-{applicationVersion}-mule-application.jar:
    put:
      tags:
        - RTF Deployment - Steps
      summary: 1. Binary
      description: 'API To put pom in exchange '
      requestBody:
        content:
          text/plain: {}
      parameters:
        - name: Authorization
          in: header
          schema:
            type: string
          example: Bearer {{access_token}}
        - name: orgId
          in: path
          schema:
            type: string
          required: true
        - name: orgId
          in: path
          schema:
            type: string
          required: true
        - name: applicationName
          in: path
          schema:
            type: string
          required: true
        - name: applicationVersion
          in: path
          schema:
            type: string
          required: true
        - name: applicationName
          in: path
          schema:
            type: string
          required: true
        - name: applicationVersion
          in: path
          schema:
            type: string
          required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /api/v1/organizations/{orgId}/maven/{orgId}/{applicationName}/{applicationVersion}/{applicationName}-{applicationVersion}.pom:
    put:
      tags:
        - RTF Deployment - Steps
      summary: 2. POM
      requestBody:
        content:
          text/plain: {}
      parameters:
        - name: Authorization
          in: header
          schema:
            type: string
          example: Bearer {{access_token}}
        - name: orgId
          in: path
          schema:
            type: string
          required: true
        - name: orgId
          in: path
          schema:
            type: string
          required: true
        - name: applicationName
          in: path
          schema:
            type: string
          required: true
        - name: applicationVersion
          in: path
          schema:
            type: string
          required: true
        - name: applicationName
          in: path
          schema:
            type: string
          required: true
        - name: applicationVersion
          in: path
          schema:
            type: string
          required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /workercloud/api/organizations/{orgId}/agents:
    get:
      tags:
        - RTF Deployment - Steps
      summary: 3. All RTF Agents
      parameters:
        - name: Authorization
          in: header
          schema:
            type: string
          example: Bearer {{access_token}}
        - name: orgId
          in: path
          schema:
            type: string
          required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /runtimefabric/api/organizations/{orgId}/targets/{targetId}:
    get:
      tags:
        - RTF Deployment - Steps
      summary: 4. Agent Details
      description: API to get details on target id to check it is safe to deploy api to it
      parameters:
        - name: Authorization
          in: header
          schema:
            type: string
          example: Bearer {{access_token}}
        - name: orgId
          in: path
          schema:
            type: string
          required: true
        - name: targetId
          in: path
          schema:
            type: string
          required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /hybrid/api/v2/organizations/{orgId}/environments/{envId}/deployments:
    post:
      tags:
        - RTF Deployment - Steps
      summary: 5. Deployment
      requestBody:
        content:
          '*/*':
            schema:
              type: string
              example: >-
                "{\n   \"name\":\"{{applicationName}}\",\n  
                \"application\":{\n      \"ref\":{\n        
                \"groupId\":\"{{orgId}}\",\n        
                \"artifactId\":\"{{applicationName}}\",\n        
                \"version\":\"{{applicationVersion}}\",\n        
                \"packaging\":\"jar\"\n      },\n     
                \"desiredState\":\"STARTED\",\n     
                \"configuration\":{\n        
                \"mule.agent.application.properties.service\":{\n           
                \"properties\":{\n              
                \"mule.env\":\"development\",\n              
                \"name\":\"john\"\n            },\n           
                \"applicationName\":\"{{applicationName}}\"\n         }\n     
                }\n   },\n   \"target\":{\n     
                \"targetId\":\"{{targetId}}\",\n     
                \"provider\":\"MC\",\n      \"deploymentSettings\":{\n        
                \"runtimeVersion\":\"4.2.1:v1.2.19\",\n        
                \"replicationFactor\":2,\n        
                \"memoryReserved\":\"3000Mi\",\n        
                \"memoryMax\":\"3000Mi\",\n        
                \"cpuReserved\":\"500m\",\n        
                \"cpuMax\":\"500m\",\n        
                \"publicUrl\":\"https://{{RTFCNAME}}/{{applicationName}}\",\n        
                \"lastMileSecurity\":false,\n        
                \"clusteringEnabled\":false\n      }\n   }\n}"
      parameters:
        - name: Authorization
          in: header
          schema:
            type: string
          example: Bearer {{access_token}}
        - name: X-ANYPNT-ENV-ID
          in: header
          schema:
            type: string
          example: '{{envId}}'
        - name: X-ANYPNT-ORG-ID
          in: header
          schema:
            type: string
          example: '{{orgId}}'
        - name: Content-Type
          in: header
          schema:
            type: string
          example: application/json
        - name: orgId
          in: path
          schema:
            type: string
          required: true
        - name: envId
          in: path
          schema:
            type: string
          required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
    get:
      tags:
        - RTF Deployment - Steps
      summary: 6. Get Deployments
      parameters:
        - name: Authorization
          in: header
          schema:
            type: string
          example: Bearer {{access_token}}
        - name: orgId
          in: path
          schema:
            type: string
          required: true
        - name: envId
          in: path
          schema:
            type: string
          required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /hybrid/api/v2/organizations/{orgId}/environments/{envId}/deployments/{deploymentId}:
    get:
      tags:
        - RTF Deployment - Steps
      summary: 7. Deployment Details
      parameters:
        - name: Authorization
          in: header
          schema:
            type: string
          example: Bearer {{access_token}}
        - name: orgId
          in: path
          schema:
            type: string
          required: true
        - name: envId
          in: path
          schema:
            type: string
          required: true
        - name: deploymentId
          in: path
          schema:
            type: string
          required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
    patch:
      tags:
        - RTF Deployment - Steps
      summary: 8. Re-Deployment
      requestBody:
        content:
          '*/*':
            schema:
              type: string
              example: >-
                "{\n   \"name\":\"{{applicationName}}\",\n  
                \"application\":{\n      \"ref\":{\n        
                \"groupId\":\"{{orgId}}\",\n        
                \"artifactId\":\"{{applicationName}}\",\n        
                \"version\":\"{{applicationVersion}}\",\n        
                \"packaging\":\"jar\"\n      },\n     
                \"desiredState\":\"STARTED\",\n     
                \"configuration\":{\n        
                \"mule.agent.application.properties.service\":{\n           
                \"properties\":{\n              
                \"mule.env\":\"dev\",\n              
                \"name\":\"none\",\n              
                \"key\":\"12345\"\n            },\n           
                \"applicationName\":\"{{applicationName}}\"\n         }\n     
                }\n   },\n   \"target\":{\n     
                \"targetId\":\"{{targetId}}\",\n     
                \"provider\":\"MC\",\n      \"deploymentSettings\":{\n        
                \"runtimeVersion\":\"4.2.1:v1.2.19\",\n        
                \"replicationFactor\":2,\n        
                \"memoryReserved\":\"3000Mi\",\n        
                \"memoryMax\":\"3000Mi\",\n        
                \"cpuReserved\":\"500m\",\n        
                \"cpuMax\":\"500m\",\n        
                \"publicUrl\":\"https://{{RTFCNAME}}/{{applicationName}}\",\n        
                \"lastMileSecurity\":false,\n        
                \"clusteringEnabled\":false\n      }\n   }\n}"
      parameters:
        - name: Authorization
          in: header
          schema:
            type: string
          example: Bearer {{access_token}}
        - name: X-ANYPNT-ENV-ID
          in: header
          schema:
            type: string
          example: '{{envId}}'
        - name: X-ANYPNT-ORG-ID
          in: header
          schema:
            type: string
          example: '{{orgId}}'
        - name: Content-Type
          in: header
          schema:
            type: string
          example: application/json
        - name: orgId
          in: path
          schema:
            type: string
          required: true
        - name: envId
          in: path
          schema:
            type: string
          required: true
        - name: deploymentId
          in: path
          schema:
            type: string
          required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /graph/api/v1/graphql:
    post:
      tags:
        - RTF Deployment - Steps
      summary: 10. Query Asset and Version
      requestBody:
        content:
          '*/*':
            schema:
              type: string
              example: >-
                "{\"query\":\"{assets(asset:{groupId: \\\"{{orgId}}\\\",assetId:
                \\\"{{applicationName}}\\\", version:
                \\\"{{applicationVersion}}\\\"}){groupId assetId version}}\"}"
      parameters:
        - name: Authorization
          in: header
          schema:
            type: string
          example: Bearer {{access_token}}
        - name: Content-Type
          in: header
          schema:
            type: string
          example: application/json
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /exchange/api/v1/organizations/{orgId}/assets/{orgId}/{applicationName}/{applicationVersion}:
    delete:
      tags:
        - RTF Deployment - Steps
      summary: 11. Exchange Asset
      parameters:
        - name: Authorization
          in: header
          schema:
            type: string
          example: Bearer {{access_token}}
        - name: X-Delete-Type
          in: header
          schema:
            type: string
          example: hard-delete
        - name: orgId
          in: path
          schema:
            type: string
          required: true
        - name: orgId
          in: path
          schema:
            type: string
          required: true
        - name: applicationName
          in: path
          schema:
            type: string
          required: true
        - name: applicationVersion
          in: path
          schema:
            type: string
          required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /accounts/api/v2/oauth2/token:
    post:
      tags:
        - CI/CD Create Proxy API - Api Manager
      summary: 0.1 - Get  Access Token
      description: >-
        This request :

        - gets acces_token for the connected app that I have created in Anypoint
        Platform.

        - sets the acces_token postman environment variable to use for the
        following requests


        client credentials grant type
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                client_id:
                  type: string
                  example: '{{connected_app_id}}'
                client_secret:
                  type: string
                  example: '{{connected_app_secret}}'
                grant_type:
                  type: string
                  example: client_credentials
      security:
        - noauthAuth: []
      parameters:
        - name: Content-Type
          in: header
          schema:
            type: string
          example: application/x-www-form-urlencoded
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /accounts/api/profile:
    get:
      tags:
        - CI/CD Create Proxy API - Api Manager
      summary: 0.2 - Get Profile (org Id and Sandbox Env Id)
      description: >-
        This request:

        - gets org information

        - parse the result and search org_id by org_name and env_id by env_name

        - sets the org_id and env_id in postman environment variables


        You need to fill the org_name and env_name in postman environment
        variables

        - org_name: is the business org name to which you want to depoy ex:
        Ozgur Business Organisation

        - env_name: is the environement name to which you want to deplay ex:
        Sandbox
      security:
        - noauthAuth: []
      parameters:
        - name: Authorization
          in: header
          schema:
            type: string
          example: Bearer {{access_token}}
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /exchange/api/v1/assets:
    post:
      tags:
        - CI/CD Create Proxy API - Api Manager
      summary: 1 - Upload swagger to Exchange
      description: >-
        This request:

        - uploads your swagger file to echange


        you need to set your swagger path and api metadata information in body
        of the request.
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                classifier:
                  type: string
                  example: oas
                organizationId:
                  type: string
                  example: '{{org_id}}'
                groupId:
                  type: string
                  example: '{{org_id}}'
                assetId:
                  type: string
                  example: '{{exchangeAssetId}}'
                version:
                  type: string
                  example: 1.0.0
                name:
                  type: string
                  example: '{{exchangeAssetId}}'
                apiVersion:
                  type: string
                  example: v1
                main:
                  type: string
                  example: petstore_oas.json
                asset:
                  type: string
                  format: binary
      security:
        - noauthAuth: []
      parameters:
        - name: Authorization
          in: header
          schema:
            type: string
          example: Bearer {{access_token}}
        - name: Content-Type
          in: header
          schema:
            type: string
          example: application/x-www-form-urlencoded
        - name: organisationId
          in: header
          schema:
            type: string
          example: '{{org_id}}'
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /apimanager/api/v1/organizations/{organizationId}/environments/{environmentId}/apis/:
    post:
      tags:
        - CI/CD Create Proxy API - Api Manager
      summary: 2 - Create an Api From Exchange
      description: "This request:\n- creates an API in Api Manager from an existing Exchange API (check body of the request)\n\t\t\"spec\": {\n    \t\"assetId\": \"{{exchangeAssetId}}\",\n        \"groupId\": \"{{org_id}}\",\n        \"version\": \"1.0.0\"\n    \t}\n- sets the apiId postman environment variable (this is the id of the api in api manager)"
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                endpoint:
                  deploymentType: CH
                  isCloudHub: true
                  muleVersion4OrAbove: true
                  proxyUri: http://0.0.0.0:8081/
                  proxyTemplate:
                    assetVersion: 2.1.0
                  referencesUserDomain: false
                  responseTimeout: null
                  type: rest
                  uri: https://petstore.swagger.io/v2
                  validation: ENABLED
                providerId: null
                tags:
                  - internal
                  - test
                instanceLabel: Sandbox {{exchangeAssetId}}
                spec:
                  assetId: '{{exchangeAssetId}}'
                  groupId: '{{org_id}}'
                  version: 1.0.0
      security:
        - noauthAuth: []
      parameters:
        - name: Authorization
          in: header
          schema:
            type: string
          example: Bearer {{access_token}}
        - name: Content-Type
          in: header
          schema:
            type: string
          example: application/x-www-form-urlencoded
        - name: organizationId
          in: path
          schema:
            type: string
          required: true
          example: '{{org_id}}'
        - name: environmentId
          in: path
          schema:
            type: string
          required: true
          example: '{{env_id}}'
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /proxies/xapi/v1/organizations/{orgId}/environments/{envId}/apis/{apiId}/deployments:
    post:
      tags:
        - CI/CD Create Proxy API - Api Manager
      summary: 3 - Deploy proxy for an existing api
      description: >-
        This request:

        - creates a proxy for the given apiId, domainName(must be unique, it is
        part of your api url), env_id and env_name
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                applicationName: '{{domainName}}'
                gatewayVersion: 4.3.0
                overwrite: true
                type: CH
                environmentId: '{{env_id}}'
                environmentName: '{{env_name}}'
      security:
        - noauthAuth: []
      parameters:
        - name: Authorization
          in: header
          schema:
            type: string
          example: Bearer {{access_token}}
        - name: Content-Type
          in: header
          schema:
            type: string
          example: application/json
        - name: orgId
          in: path
          schema:
            type: string
          required: true
          example: '{{org_id}}'
        - name: envId
          in: path
          schema:
            type: string
          required: true
          example: '{{env_id}}'
        - name: apiId
          in: path
          schema:
            type: string
          required: true
          example: '{{apiId}}'
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /cloudhub/api/v2/applications/{domainName}:
    get:
      tags:
        - CI/CD Create Proxy API - Api Manager
      summary: 3.1 - Proxy from Runtime Manager
      description: >-
        this request:

        - retreives the proxy API instance information from the runtime
        manager. 

        - sets the fullDomainName postman environment variable
      security:
        - noauthAuth: []
      parameters:
        - name: Content-Type
          in: header
          schema:
            type: string
          example: application/json
        - name: X-ANYPNT-ENV-ID
          in: header
          schema:
            type: string
          example: '{{env_id}}'
        - name: Authorization
          in: header
          schema:
            type: string
          example: Bearer {{access_token}}
        - name: domainName
          in: path
          schema:
            type: string
          required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
    put:
      tags:
        - CI/CD Create Proxy API - Api Manager
      summary: Optional - Enable monitoring/visualiser in Runtime Manager
      description: "This request:\n- sets the analytics.agent.enabled = true in properties of the runtime\n \n\t    \"properties\": {\n\t        \"anypoint.platform.analytics_base_uri\": \"https://analytics-ingest.anypoint.mulesoft.com\",\n\t        \"anypoint.platform.client_id\": \"{{environment_app_id}}\",\n\t        \"anypoint.platform.client_secret\": \"{{environment_app_secret}}\",\n\t        \"anypoint.platform.base_uri\": \"{{anypoint_host}}\",\n\t        \"anypoint.platform.config.analytics.agent.enabled\": \"true\"\n\t    }"
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                monitoringEnabled: true
                monitoringAutoRestart: true
                persistentQueues: false
                persistentQueuesEncrypted: false
                workers:
                  type:
                    name: Micro
                    weight: 0.1
                    cpu: 0.1 vCores
                    memory: 500 MB memory
                  amount: 1
                  remainingOrgWorkers: 3.1
                  totalOrgWorkers: 4
                trackingSettings:
                  trackingLevel: DISABLED
                properties:
                  anypoint.platform.analytics_base_uri: https://analytics-ingest.anypoint.mulesoft.com
                  anypoint.platform.client_id: '{{environment_app_id}}'
                  anypoint.platform.client_secret: '{{environment_app_secret}}'
                  anypoint.platform.base_uri: '{{anypoint_host}}'
                  anypoint.platform.config.analytics.agent.enabled: 'true'
                logLevels: []
                propertiesOptions:
                  outbound.truststore.password:
                    secure: true
                  anypoint.platform.client_secret:
                    secure: true
                  inbound.keystore.password:
                    secure: true
                  inbound.truststore.password:
                    secure: true
                  outbound.keystore.password:
                    secure: true
                  inbound.keystore.keyPassword:
                    secure: true
                  outbound.keystore.keyPassword:
                    secure: true
                secureDataGatewayEnabled: false
                staticIPsEnabled: false
                ipAddresses: []
                loggingNgEnabled: true
                loggingCustomLog4JEnabled: false
                status: STARTED
                region: eu-central-1
                objectStoreV1: false
                muleVersion:
                  version: 4.3.0
                  updateId: 5eaaf509c695f914bb42e1ea
      security:
        - noauthAuth: []
      parameters:
        - name: Authorization
          in: header
          schema:
            type: string
          example: Bearer {{access_token}}
        - name: Content-Type
          in: header
          schema:
            type: string
          example: application/json
        - name: domainName
          in: path
          schema:
            type: string
          required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /apimanager/api/v1/organizations/{organizationId}/environments/{environementId}/apis/{apiId}/tiers:
    post:
      tags:
        - CI/CD Create Proxy API - Api Manager
      summary: 4.1 - Add free SLA tiers to an existing api
      description: |-
        This request:
        - creates an SLA tier for an API (apiId).
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                status: ACTIVE
                autoApprove: true
                limits:
                  - visible: true
                    maximumRequests: 2
                    timePeriodInMilliseconds: 1000
                  - visible: true
                    maximumRequests: 50
                    timePeriodInMilliseconds: 60000
                name: Free
                description: Free description
      security:
        - noauthAuth: []
      parameters:
        - name: Authorization
          in: header
          schema:
            type: string
          example: Bearer {{access_token}}
        - name: organizationId
          in: path
          schema:
            type: string
          required: true
          example: '{{org_id}}'
        - name: environementId
          in: path
          schema:
            type: string
          required: true
          example: '{{env_id}}'
        - name: apiId
          in: path
          schema:
            type: string
          required: true
          example: '{{apiId}}'
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
    get:
      tags:
        - CI/CD Create Proxy API - Api Manager
      summary: 4.2 - SLA tiers from an existing api
      security:
        - noauthAuth: []
      parameters:
        - name: Authorization
          in: header
          schema:
            type: string
          example: Bearer {{access_token}}
        - name: organizationId
          in: path
          schema:
            type: string
          required: true
          example: '{{org_id}}'
        - name: environementId
          in: path
          schema:
            type: string
          required: true
          example: '{{env_id}}'
        - name: apiId
          in: path
          schema:
            type: string
          required: true
          example: '{{apiId}}'
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /apimanager/api/v1/organizations/{organizationId}/environments/{environementId}/apis/{apiid}/policies:
    post:
      tags:
        - CI/CD Create Proxy API - Api Manager
      summary: Optional - Add client Id policy to an existing api
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                configurationData:
                  credentialsOriginHasHttpBasicAuthenticationHeader: customExpression
                  clientIdExpression: '#[attributes.headers[''client_id'']]'
                  clientSecretExpression: '#[attributes.headers[''client_secret'']]'
                id: null
                pointcutData: null
                policyTemplateId: 299240
                apiVersionId: '{{apiID}}'
                groupId: 68ef9520-24e9-4cf2-b2f5-620025690913
                assetId: client-id-enforcement
                assetVersion: 1.2.2
      security:
        - noauthAuth: []
      parameters:
        - name: Authorization
          in: header
          schema:
            type: string
          example: Bearer {{access_token}}
        - name: organizationId
          in: path
          schema:
            type: string
          required: true
          example: '{{org_id}}'
        - name: environementId
          in: path
          schema:
            type: string
          required: true
          example: '{{env_id}}'
        - name: apiid
          in: path
          schema:
            type: string
          required: true
          example: '{{apiId}}'
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /apimanager/api/v1/organizations/{organizationId}/environments/{environementId}/apis/{apiId}/tags/ratelimitingSLAbased:
    put:
      tags:
        - CI/CD Create Proxy API - Api Manager
      summary: '5.1 - Add Tag to an existing api #ratelimitingSLAbased'
      requestBody:
        content: {}
      security:
        - noauthAuth: []
      parameters:
        - name: Authorization
          in: header
          schema:
            type: string
          example: Bearer {{access_token}}
        - name: Content-Type
          in: header
          schema:
            type: string
          example: application/x-www-form-urlencoded
        - name: organizationId
          in: path
          schema:
            type: string
          required: true
          example: '{{org_id}}'
        - name: environementId
          in: path
          schema:
            type: string
          required: true
          example: '{{env_id}}'
        - name: apiId
          in: path
          schema:
            type: string
          required: true
          example: '{{apiId}}'
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /apimanager/api/v1/organizations/{organizationId}/environments/{environementId}/apis/{apiId}/tags/jwt:
    put:
      tags:
        - CI/CD Create Proxy API - Api Manager
      summary: '5.3 - Add Tag to an existing api #jwt'
      requestBody:
        content: {}
      security:
        - noauthAuth: []
      parameters:
        - name: Authorization
          in: header
          schema:
            type: string
          example: Bearer {{access_token}}
        - name: Content-Type
          in: header
          schema:
            type: string
          example: application/x-www-form-urlencoded
        - name: organizationId
          in: path
          schema:
            type: string
          required: true
          example: '{{org_id}}'
        - name: environementId
          in: path
          schema:
            type: string
          required: true
          example: '{{env_id}}'
        - name: apiId
          in: path
          schema:
            type: string
          required: true
          example: '{{apiId}}'
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /apimanager/api/v1/organizations/{organizationId}/environments/{environmentId}/apis:
    get:
      tags:
        - CI/CD Create Proxy API - Api Manager
      summary: 5.4 - Get Api(s) By query (tag name)
      security:
        - noauthAuth: []
      parameters:
        - name: Authorization
          in: header
          schema:
            type: string
          example: Bearer {{access_token}}
        - name: query
          in: query
          schema:
            type: string
          example: jwt
        - name: organizationId
          in: path
          schema:
            type: string
          required: true
          example: '{{org_id}}'
        - name: environmentId
          in: path
          schema:
            type: string
          required: true
          example: '{{env_id}}'
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /apimanager/api/v1/organizations/{organizationId}/policy-templates:
    get:
      tags:
        - CI/CD Create Proxy API - Api Manager
      summary: >-
        Optional - Get List of available Policies in Anypoint Platform By
        default
      security:
        - noauthAuth: []
      parameters:
        - name: Authorization
          in: header
          schema:
            type: string
          example: Bearer {{access_token}}
        - name: organizationId
          in: path
          schema:
            type: string
          required: true
          example: '{{org_id}}'
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /apimanager/api/v1/organizations/{organizationId}/environments/{environementId}/apis/{apiid}/policies/{clientIdPolicyId}:
    delete:
      tags:
        - CI/CD Create Proxy API - Api Manager
      summary: Optional - Delete policy from an existing api
      security:
        - noauthAuth: []
      parameters:
        - name: Authorization
          in: header
          schema:
            type: string
          example: Bearer {{access_token}}
        - name: organizationId
          in: path
          schema:
            type: string
          required: true
          example: '{{org_id}}'
        - name: environementId
          in: path
          schema:
            type: string
          required: true
          example: '{{env_id}}'
        - name: apiid
          in: path
          schema:
            type: string
          required: true
          example: '{{apiId}}'
        - name: clientIdPolicyId
          in: path
          schema:
            type: string
          required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /proxies/xapi/v1/organizations/{orgId}/environments/{envId}/apis/{apiId}/deployments/{proxyId}:
    get:
      tags:
        - CI/CD Create Proxy API - Api Manager
      summary: Optional - Proxy of an existing api
      description: >-
        Retreives the proxy api settings with proxy ip returned from the
        previous deploy call
      security:
        - noauthAuth: []
      parameters:
        - name: Authorization
          in: header
          schema:
            type: string
          example: Bearer {{access_token}}
        - name: Content-Type
          in: header
          schema:
            type: string
          example: application/json
        - name: orgId
          in: path
          schema:
            type: string
          required: true
          example: '{{org_id}}'
        - name: envId
          in: path
          schema:
            type: string
          required: true
          example: '{{env_id}}'
        - name: apiId
          in: path
          schema:
            type: string
          required: true
          example: '{{apiId}}'
        - name: proxyId
          in: path
          schema:
            type: string
          required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /data:
    post:
      tags:
        - Catalyst - Test-Data-Generation > Random Data Generator Showcase
      summary: Generate Random Data Showcase in JSON
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example: |-
                {
                    {
                        "title": "{{$randomNamePrefix}}",
                        "firstname": "{{$randomFirstName}}",
                        "lastname": "{{$randomLastName}}",
                        "country": "{{$randomCountry}}",
                        "phone": "{{$randomPhoneNumber}}",
                        "accountname": "{{$randomBankAccountName}}",
                        "balance": "{{$randomInt}}",
                        "lasttransactiondate": "{{$randomDatePast}}"

                    }
                }
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /api/apis/configurations/bulk-promotions:
    post:
      tags:
        - Catalyst - APIM Admin API
      summary: POST bulk
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                - sourceApiInstanceId: '16094435'
                  groupId: 185bdbc4-b359-4d57-9238-16719afe02d4
                  apiAssetId: alerts-api
                  assetName: alerts-api
                  version: 1.0.0
                  versionGroup: v1
                  contracts:
                    - name: alerts-api-stage
                      redirectUri: []
                      grantTypes: []
                      apiEndpoints: false
                - sourceApiInstanceId: '16195063'
                  groupId: 185bdbc4-b359-4d57-9238-16719afe02d4
                  apiAssetId: alerts-api
                  assetName: alerts-api
                  version: 1.0.1
                  versionGroup: v1
                  contracts: []
      parameters:
        - name: targetEnvironmentId
          in: header
          schema:
            type: string
          example: '{ChangeMe}'
        - name: Content-Type
          in: header
          schema:
            type: string
          example: application/json
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /api/apis:
    get:
      tags:
        - Catalyst - APIM Admin API
      summary: GET apis
      parameters:
        - name: sourceEnvironmentId
          in: header
          schema:
            type: string
          example: '{ChangeMe}'
        - name: contractSuffixToBeReplaced
          in: header
          schema:
            type: string
          example: tst
        - name: contractSuffixReplacement
          in: header
          schema:
            type: string
          example: stage
        - name: Content-Type
          in: header
          schema:
            type: string
          example: application/json
        - name: apiNameIncludeIfContains
          in: header
          schema:
            type: string
          example: alerts
        - name: apiNameExcludeIfStartsWith
          in: header
          schema:
            type: string
          example: alerts
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /api/applications:
    get:
      tags:
        - Catalyst - APIM Admin API
      summary: GET apps
      parameters:
        - name: Content-Type
          in: header
          schema:
            type: string
          example: application/json
        - name: includeCredentials
          in: header
          schema:
            type: boolean
          example: 'true'
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /api/applications/{id}:
    delete:
      tags:
        - Catalyst - APIM Admin API
      summary: DELETE an app
      parameters:
        - name: Content-Type
          in: header
          schema:
            type: string
          example: application/json
        - name: id
          in: path
          schema:
            type: string
          required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /api/business-metrics:
    get:
      tags:
        - Catalyst - Metrics Toolkit > Benefits
      summary: Get Benefits
      parameters:
        - name: Content-Type
          in: header
          schema:
            type: string
          example: application/json
        - name: developAPIHistoricTime
          in: query
          schema:
            type: integer
          example: '20'
        - name: developAPICurrentTime
          in: query
          schema:
            type: integer
          example: '10'
        - name: maintainAPIHistoricTime
          in: query
          schema:
            type: integer
          example: '15'
        - name: maintainAPICurrentTime
          in: query
          schema:
            type: integer
          example: '7'
        - name: developerDayRate
          in: query
          schema:
            type: integer
          example: '200'
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /api/business-metrics/load:
    post:
      tags:
        - Catalyst - Metrics Toolkit > Benefits
      summary: Benefits Load - SFDC
      requestBody:
        content:
          '*/*':
            schema:
              type: string
              example: >-
                "{\n\t\"event\": {\n\t\t\t\"date\":
                \"2020-02-19T00:11:34.341-08:00\",\n\t\t\t\"businessGroup\":
                \"Any\",\n\t\t\t\"developAPIHistoricTime\":
                20,\n\t\t\t\"developAPICurrentTime\":
                4,\n\t\t\t\"maintainAPIHistoricTime\":
                20,\n\t\t\t\"maintainAPICurrentTime\":
                1,\n\t\t\t\"developerDayRate\":
                500\t\n\t},\n\t\"loaderDetails\": {\n\t\t\"strategy\":
                \"sfdc\",\n\t\t\"rawData\": \"false\",\n        \"sfdc\":
                {\n            \"dataSetName\" :
                \"IPAAS_Benefits_Metrics_DataSet\",\n            \"appName\":
                \"IPAAS_Anypoint_Metrics_App\",\n            \"username\":
                \"my-user@salesforce.com\",\n            \"password\":
                \"password123\",\n            \"securityToken\":
                \"securityToken456\",\n            \"sendNotifications\":
                \"FAILURES\",\n            \"notificationEmail\":
                \"myemail@email.com\"\n        }\n\t}\n}"
      parameters:
        - name: Content-Type
          in: header
          schema:
            type: string
          example: application/json
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /api/platform-metrics:
    get:
      tags:
        - Catalyst - Metrics Toolkit > Platform Metrics
      summary: Get Platform Metrics
      parameters:
        - name: Content-Type
          in: header
          schema:
            type: string
          example: application/json
        - name: raw
          in: query
          schema:
            type: boolean
          example: 'false'
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /api/platform-metrics/load:
    post:
      tags:
        - Catalyst - Metrics Toolkit > Platform Metrics
      summary: Platform Metrics Load - SFDC
      requestBody:
        content:
          '*/*':
            schema:
              type: string
              example: >-
                "{\n\t\"collectors\": [\"all\"],\n\t\"loaderDetails\":
                {\n\t\t\"strategy\": \"sfdc\",\n\t\t\"rawData\":
                \"false\",\n        \"sfdc\": {\n            \"dataSetName\" :
                \"IPAAS_Benefits_Metrics_DataSet\",\n            \"appName\":
                \"IPAAS_Anypoint_Metrics_App\",\n            \"username\":
                \"my-user@salesforce.com\",\n            \"password\":
                \"password123\",\n            \"securityToken\":
                \"securityToken456\",\n            \"sendNotifications\":
                \"FAILURES\",\n            \"notificationEmail\":
                \"myemail@email.com\"\n        }\n\t}\n}"
      parameters:
        - name: Content-Type
          in: header
          schema:
            type: string
          example: application/json
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
