Publishing API Projects to Exchange | MuleSoft Documentation
# Publishing API Projects to Exchange
Cloud IDE 
Desktop IDE 
**Open Beta Release** : The **cloud IDE is in open beta**. Any use of Anypoint Code Builder in its beta state is subject to the applicable beta services terms and conditions, available from the IDE.
Publish your API project to Anypoint Exchange so that other team members can find and use it.
## Before You Begin
Before publishing an API project:
  * Set up and access the web or desktop IDE.
  * Create your API specification or fragment.
  * Have some familiarity with business groups.
When you publish your API spec to Exchange from Anypoint Code Builder, the IDE requests the name of the business group.


## Publish an API Project to Exchange
To publish your API project to Exchange:
  1. Log in to your Anypoint Platform account.
  2. In **Explorer** , open your API project and click the Publish API Project to Exchange icon.
If you don’t open the project, you can also right-click the API specification and select **Publish API Project to Exchange**.
Alternatively:
    1. Open the Command Palette.
Show me how
       * Use the keyboard shortcuts:
         * Mac: Cmd+Shift+p
         * Windows: Ctrl+Shift+p
       * In the desktop IDE, select **View** > **Command Palette**.
       * In the cloud IDE, click the (menu) icon, and select **View** > **Command Palette**.
    2. Enter `publish` and select the following command:
```
MuleSoft: Publish API Project to Exchange
```

  3. If prompted, click **Allow** , and follow the prompts to sign in to Anypoint Platform.
  4. Confirm or change each item in **Publish API Project to Exchange** :
     * **Asset Version**
     * **API Version**
If the API project has never been published to Exchange, the default version is `1.0.0`.
The API version isn’t required for API fragments.
     * **Business Group**
If you selected a business group when you created the API project, this field isn’t shown in the form. You can view and update the business by expanding **Project Metadata**.
  5. Optionally, expand **Project Metadata** and click **API Project Properties** to update metadata for the API project, such as updating the asset name and ID and adding tags and categories, updating the business group, and so on. For more information, see Add Metadata to the API Project.
    1. After you complete your updates, click **Apply**.
  6. In the banner click **Sync centralized governance rulesets and run validation** to ensure the API project conforms to the applied rulesets.
This step is optional, but it’s recommended as a best practice. You must be logged in to your Anypoint Platform account and have a business group defined in the API project metadata to validate rulesets.
  7. Click **Publish**.
When publishing is complete, you see a message that the API specification successfully published to Exchange.
If the API project has errors, you must fix the errors before you can publish to Exchange. Errors are listed in the **Problems** tab. Click the Publish API Project to Exchange icon to bring the **Problems** tab into focus.
  8. Click **View Asset** to see the published asset in Exchange.
  9. When prompted to implement the API, select one of the following:
     * **No** to avoid scaffolding the API specification into your integration.
     * **Yes** to scaffold the API specification into a new project.
Show me how
       1. In the field that opens, provide a name for your implementation project.
       2. Navigate to a directory for your project, and click **Select target folder**.
       3. Select a Mule runtime (Mule) version for your project.
       4. Select a supported Java version for Mule.
       5. After the scaffolding process completes, view the scaffolded interface for your project from the `src/main/mule` directory in the Explorer.
If the scaffold fails, see Implementation Errors.
You can also open your new project’s `mule-artifact.json` file from the Explorer to check the Mule and Java versions, for example:
```
{
  "minMuleVersion": "4.6.2",
  "javaSpecificationVersions": [
    "11"
  ]
}
```

The `mule-artifact.json` file is located at the root level of the project directory.


## Locate Your API in Exchange
After publishing your API specification, you can find it in Anypoint Exchange:
  1. Navigate to Anypoint Platform and log in using your credentials.
Show me how
     * US cloud (non-EU host): Anypoint Platform (US)
     * EU cloud (EU host): Anypoint Platform (EU)
  2. Navigate to Anypoint Exchange.
Show me how
     * US cloud (non-EU host): Exchange (US)
     * EU cloud (EU host): Exchange (EU)
Your API specification appears as an asset in your organization, for example:


You can select the API, navigate through its summary, and see all the endpoints you defined in the previous tasks. You can also generate documentation for REST APIs without documentation on the asset details page in Exchange. For more information, see Generating API Documentation with Einstein Generative AI.
## Publish a GraphQL API Spec to Exchange
To publish a GraphQL API specification to Exchange:
  1. Navigate to Anypoint Platform and log in using your credentials.
Show me how
     * US cloud (non-EU host): Anypoint Platform (US)
     * EU cloud (EU host): Anypoint Platform (EU)
  2. Navigate to Anypoint Exchange.
Show me how
     * US cloud (non-EU host): Exchange (US)
     * EU cloud (EU host): Exchange (EU)
  3. Click **Publish new asset** :
  4. Complete the **Publish a new asset** form:
    1. For **Name** , type a name for your asset.
    2. For **Asset types** , select **GraphQL API**.
    3. For **Method** , select **Upload a GraphQL API Schema**.
    4. For **File upload** , click **Choose file** and browse for your `.graphql` schema file.
    5. Click **Advanced** to change the version number.
    6. For **Lifecycle state** , select **Stable**.
  5. Click **Publish**.


Your GraphQL API spec is now available on Exchange, for example:
## See Also
  * Validating API Specifications Against Governance Rulesets
  * Enabling an API Project for Topics and Agent Actions