---
schema_version: "1"
id: 3df900064536e823e63b4cd863fedf8e78ef333636852e31f3640c74a92f5d07
title: Autocataloging APIs Using API Catalog CLI
collection: mulesoft
version: current
locale: en-us
portal_url: https://docs.salesforce.com/mulesoft/current/en-us/exchange/apicat-about-api-catalog-cli.md
canonical_url: https://docs.mulesoft.com/exchange/apicat-about-api-catalog-cli
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 416faf91236666c960ba218151d891945bb484941b39a8fa5fe9ae813edf156d
description: MuleSoft Documentation Site
latest: true
---
---
product: Exchange
---

# Autocataloging APIs Using API Catalog CLI

> For the full documentation index, see: https://docs.mulesoft.com/llms.txt

API Catalog CLI enables you to discover and catalog your API definitions, documentation files, and
associated metadata as part of an automated process. You can embed the publish asset command in your
automation tools, such as a CI/CD pipeline or custom scripts, to automatically trigger the
publishing of your API assets to Exchange. API Catalog CLI is agnostic of CI/CD tools and runtime
environments.

With API Catalog CLI you can:

- Identify all APIs in a project directory structure and create a
  [descriptor file](#apicat-descriptor-file) to use to publish the APIs to Exchange.

- Identify all new and changed APIs and update the descriptor file on an ongoing basis.

- [Conditionally trigger](#apicat-trigger-cond) the publish based on criteria such as branches and
  tags.

- [Conditionally set the asset version strategy](#apicat-version-strategy-cond) based on criteria
  such as branches and tags.

- Publish APIs described in the descriptor file by running commands either at a command prompt or as
  part of your CI/CD pipelines or custom scripts.

## Supported APIs

The API Catalog CLI supports:

1.  Event-driven APIs (AsyncAPI 2.0 JSON and AsyncAPI 2.0 YAML format)

2.  REST APIs (OAS 2.0 JSON, OAS 2.0 YAML, OAS 3.0 JSON, OAS 3.0 YAML, OAS 3.1 JSON, OAS 3.1 YAML,
    RAML 0.8, and RAML 1.0 format)

## API Catalog CLI Concepts

Review the following concepts before using API Catalog CLI.

### Descriptor File

A descriptor file has the metadata Exchange needs to catalog a set of APIs within a directory and
its subdirectory structure. This file’s schema supports metadata specific to API Catalog CLI and can
include in-line or referenced metadata from `exchange.json` files.

### Trigger Conditions

Trigger conditions are set in descriptor files to enable the automated publication process to
determine which APIs to publish during a run of the API Catalog CLI `publish-assets` command using
the `--trigger-criteria` flag.

### Version Strategy Conditions

Version strategy conditions are set in descriptor files to enable the automated publication process
to determine the version strategy for APIs during a run of the API Catalog CLI `publish-assets`
command using the `--version-strategy-criteria` flag.

## See Also

- [Getting Started with API Catalog CLI](https://docs.mulesoft.com/exchange/apicat-get-started)

- [Creating or Updating Descriptor Files Using the CLI](https://docs.mulesoft.com/exchange/apicat-create-descriptor-file-cli)

- [Publish Assets](https://docs.mulesoft.com/exchange/about-sharing-assets)
