Contact Us 1-800-596-4880

CLI for Exchange Assets

Command Description

Uploads an Exchange asset using Exchange Experience API

Modifies mutable data of an existing Exchange asset

Modifies an Exchange asset

Downloads an Exchange asset

Lists all assets

Downloads an asset’s description page from Exchange

Changes an asset’s description page from Exchange

Uploads an asset’s description page from Exchange

Updates an asset’s description page from Exchange

Deletes an asset’s description page from Exchange

List all pages for a given asset

Copies an Exchange asset

Deletes an asset from Exchange

Deprecates an asset

Undeprecates an asset

Shows a given asset’s information

Uploads a resource to an asset portal

Lists published resources in the asset portal

Downloads resource from the asset portal

Deletes resource from the asset portal

Modifies the status of an existing asset

Exchange commands are currently not available for GovCloud.

exchange:asset:upload

> exchange:asset:upload [flags] <assetIdentifier>

This command uploads a rest-api, soap-api, http-api, raml-fragment, custom, app, template, example, policy, extension, external-library, connector asset, or ruleset using the ID passed in <assetIdentifier>.

Use the following format for the assetIdentifier argument:

([groupID]/)assetID/version

If group_id is not specified, it defaults to the currently selected organization ID.

Flag Description

--name

Asset name (required if no pom file is specified)

For example:

exchange:asset:upload --name "Raml Asset" --description "RAML" --properties='{"apiVersion":"v1", "mainFile": "api.raml"}' --files='{"raml.zip":"​/file-path/raml.zip"}'

--description

Asset description

--properties

Asset properties

For example:

  • --properties='{"mainFile":"main.raml"}'

  • --properties='{"apiVersion":"v1"}'

  • --properties='{"assetLink":"http://api.com"}'

  • --properties='{"mainFile":"main.raml","apiVersion":"v1","assetLink":"http://api.com","contactEmail":"api@mulesoft.com","contactName":"Marc"}'

--files

Asset file, identified as classifier.packaging or packaging and its file path, for example, --files='{"oas.zip":"​/my-api.raml"}'

To send multiple files, you typically use the same flag multiple times:

--files='{"oas.zip": "my-demo-oas.zip"}' --files='{"custom.zip": "~/my-custom-file.zip"}'

An exception to this is when you upload ruleset documentation with a ruleset. Both sets of classifiers and packaging options must be entered in a single --files flag:

--files='{"ruleset.yaml":"/myRulesetFolder/mynewruleset.yaml","docs.zip":"/myRulesetFolder/ruleset.doc.zip"}'

Examples:

To upload a POM file and a RAML specification:

exchange:asset:upload --files'{"pom.xml": "directory/pom-file.xml"}' --files='{"raml.raml": "./my-api.raml"}'

To upload a ruleset and its documentation:

anypoint-cli-v4 exchange asset upload my-auth-best-practices/1.0.0 --name "My Best Practices Ruleset" --description "This ruleset enforces my best practices for APIs." --files='{"ruleset.yaml":"/myRulesetFolder/mynewruleset.yaml","docs.zip":"/myRulesetFolder/ruleset.doc.zip"}'

--type

Asset type

Required if no file is specified.

Supported Values:

  • rest-api

  • soap-api

  • http-api

  • raml-fragment

  • custom

  • connector

  • template

  • example

  • policy

  • app

  • extension

  • external-library

  • ruleset

If it is uploaded, the type is inferred from the classifier of the file.

Depending on the type of asset, some possible classifier values are:

  • REST API

    • oas (with zip, yaml, or json as packaging)

    • raml (with zip or raml as packaging)

  • RAML Fragment

    • raml-fragment (with zip or raml as packaging)

  • SOAP API

    • wsdl (with zip, wsld, or xml as packaging)

  • Custom

    • custom

    • docs (with doc.zip as packaging)

  • Application

    • mule-application (with jar as packaging)

  • Policy

    • mule-policy (with jar as packaging) + policy-definition (with yaml as packaging)

  • Example

    • mule-application-example (with jar as packaging)

  • Template

    • mule-application-template (with jar as packaging)

  • Extension

    • mule-plugin (with jar as packaging)

  • Connector

    • studio-plugin (with zip as packaging) + file with no classifier and packaging jar

  • External Library

    • external-library (with jar as packaging)

  • Ruleset

    • ruleset (with zip or yaml as packaging)

--categories

Categories (value should be a string in JSON format)

'{"key": "value"}'

For example:

'{"Department": "IT"}'

--fields

Fields (value should be a string in JSON format)

'{"key": "value"}'

For example:

'{"releaseDate": "2020-01-01T20:00:00.000Z"}'

--keywords

Keywords (comma-separated)

For example:

raml,rest-api,someKeyword

--tags

Tags (comma-separated)

For example:

api,tag1,tag2

--dependencies

Asset dependencies (comma-separated)

For example:

groupID:assetID:version,groupID2:assetID:version

--status

Asset status

Supported Values:

  • development

  • published

Default value:

  • published

exchange:asset:mutableDataUpload

> exchange:asset:mutableDataUpload [flags] <assetIdentifier>

This command modifies the mutable data of an already created asset, including tags, categories, fields, and documentation.

Use the following format for the assetIdentifier argument:

[<groupID>]/<assetID>/<version>

If group_id is not specified, it defaults to the currently selected organization ID.

Flag Description Example

--docs

Documentation file. (Should specify the "zip" file path. Example: "--docs /…​/file-path/docs.zip")

--docs /Users/llucas/Desktop/examples/docs.zip --tags "tag1,tag2" --categories.beach sun --fields.central park fa7b266c-3817-4cbb-ae49-7f3cc6c8cd9e/asset-id/1.0.0

--categories

Categories

--categories.someKey value

--categories.anotherKey anotherValue

--fields

Fields

--fields.someKey value

--fields.anotherKey anotherValue

--tags

Tags (comma-separated)

--tags api,tag1,tag2

exchange:asset:updateStatus

> exchange:asset:updateStatus [flags] <assetIdentifier>

This command modifies the status of an already created asset.

Use the following format for the assetIdentifier argument:

[<groupID>]/<assetID>/<version>

If group_id is not specified, it defaults to the currently selected organization ID.

Flag Description Example

--status

Asset status

Supported Values:

  • published

  • deprecated

--status deprecated

Valid transitions are:

From To

development

published

published

deprecated

deprecated

published

Note that the published state corresponds to the stable state

exchange:asset:modify

> exchange:asset:modify [flags] <assetIdentifier>

This command modifies the Exchange asset identified with <assetIdentifier>.
Argument assetIdentifier should be formatted as follows: ([group_id]/)<asset_id>/<version>.
If group_id is not specified, it defaults to the currently selected Organization ID.

Besides the default --help flag, this command also accepts:

Flag Description Example

--name

New asset name .2+<.<

--name newName --tags test,sample

--tags

Comma-separated tags for the asset

--tags tag1,tag2

exchange:asset:download

> exchange:asset:download [flags] <assetIdentifier> <directory>

This command downloads the Exchange asset identified with <assetIdentifier> to the directory passed in <directory>.
Argument assetIdentifier should be formatted as follows: ([group_id]/)<asset_id>/<version>.
If group_id is not specified, it defaults to the currently selected Organization ID.

This command accepts only the default flag --help.

exchange:asset:list

> exchange:asset:list [flags] [searchText]

This command lists all assets in Exchange.

You can specify keywords in searchText to limit results to APIs containing those specific keywords.

Besides the default --help flag, this command also accepts:

Flag Description Example

--limit

Number of results to retrieve

--limit 2

--offset

Offsets the number of APIs passed

--offset 3

--organizationId

Filters by organization id

--organizationId a12b3c45-de6f-789g-hi01-j2klm3nop4q5

--output

Specifies the response format.

--output json

exchange:asset:page:download

> exchange:asset:page:download [flags] <assetIdentifier> <directory> [pageName]

This command downloads the description page specified in <pageName> for the Exchange asset identified with <assetIdentifier> to the directory passed in <directory>.
If [pageName] is not specified, this command downloads all pages.

This command only supports published pages.

Argument assetIdentifier should be formatted as follows: ([group_id]/)<asset_id>/<version>.
If group_id is not specified, it defaults to the currently selected Organization ID.
The description page in downloaded in Markdown format. When name is not specified, all pages are downloaded.

This command accepts only the default flag --help.

exchange:asset:page:modify

> exchange:asset:page:modify [flags] <assetIdentifier> <pageName>

This command modifies the description page specified in <pageName>, for the Exchange asset identified with <assetIdentifier>.

This command only supports published pages.

Argument assetIdentifier should be formatted as follows: ([group_id]/)<asset_id>/<version>.
If group_id is not specified, it defaults to the currently selected Organization ID.
Besides the default --help flag, this command also accepts the --name flag to set a new asset page name.

exchange:asset:page:upload

> exchange:asset:page:upload [flags] <assetIdentifier> <pageName> <mdPath>

This command uploads an asset description page from the path passed in <mdPath> using the name specified in <pageName> to the Exchange asset identified with <assetIdentifier>.
Naming the page "home" makes the uploaded page the main description page for the Exchange asset.

This command publishes all active drafts as part of the operation.

Argument assetIdentifier should be formatted as follows: [group_id]/<asset_id>/<version>.
If group_id is not specified, it defaults to the currently selected Organization ID.
This command accepts only the default flag --help.

exchange:asset:page:update

> exchange:asset:page:update [flags] <assetIdentifier> <pageName> <mdPath>

This command updates the content of an asset description page from the path passed in <mdPath> using the name specified in <pageName> to the Exchange asset identified with <assetIdentifier>.
Naming the page "home" makes the updated page the main description page for the Exchange asset.

This command publishes all active drafts as part of the operation.

Argument assetIdentifier should be formatted as follows: [group_id]/<asset_id>/<version>.
If group_id is not specified, it defaults to the currently selected Organization ID.
This command accepts only the default flag --help.

exchange:asset:page:delete

> exchange:asset:page:delete [flags] <assetIdentifier> <pageName>

This command deletes the description page specified in <pageName>, for the asset identified with <assetIdentifier>.

This command does not prompt twice before deleting. If you send a delete instruction, it does not ask for confirmation.
This command only supports published pages.

Argument assetIdentifier should be formatted as follows: ([group_id]/)<asset_id>/<version>.
If group_id is not specified, it defaults to the currently selected Organization ID.
This command accepts only the default flag --help.

exchange:asset:page:list

> exchange:asset:page:list <assetIdentifier>

This command lists all pages for the asset passed in <assetIdentifier>.
Argument assetIdentifier should be formatted as follows: ([group_id]/)<asset_id>/<version>.
If group_id is not specified, it defaults to the currently selected Organization ID.

This command only supports published pages.

This command has the --output flag. Use the --output flag to specify the response format. Supported values are table (default) and json

This command also accepts the default flag --help.

exchange:asset:copy

> exchange:asset:copy [flags] <source> <target>

This command copies the Exchange asset from <source> to <target>.
Arguments <source> and <target> should be formatted as follows: ([group_id]/)<asset_id>/<version>.
If group_id is not specified, it defaults to the currently selected Organization ID.

This command accepts the default flag --help, and also:

Flag Description Example

--targetOrganizationId

Organization ID to copy asset into

--targetOrganizationId organization_id source_group_id/source_asset_id/source_version target_group_id/target_asset_id/target_version

exchange:asset:delete

> exchange:asset:delete [flags] <assetIdentifier>

This command deletes the Exchange asset passed in <assetIdentifier>.

This command does not prompt twice before deleting. If you send a delete instruction, it does not ask for confirmation.

Argument assetIdentifier should be formatted as follows: ([group_id]/)<asset_id>/<version>.
If group_id is not specified, it defaults to the currently selected Organization ID.
This command accepts only the default flag --help.

exchange:asset:deprecate

> exchange:asset:deprecate <assetIdentifier>

This command deprecates the asset passed in <assetIdentifier>.

Argument assetIdentifier should be formatted as follows: ([group_id]/)<asset_id>/<version>.
If group_id is not specified, it defaults to the currently selected Organization ID.

This command accepts only the default flag --help.

exchange:asset:undeprecate

> exchange:asset:undeprecate <assetIdentifier>

This command undeprecates the asset passed in <assetIdentifier>.

Argument assetIdentifier should be formatted as follows: ([group_id]/)<asset_id>/<version>.
If group_id is not specified, it defaults to the currently selected Organization ID.

This command accepts only the default flag --help.

exchange:asset:describe

> exchange:asset:describe <assetIdentifier>

This command describes the asset passed in <assetIdentifier>.

Argument assetIdentifier should be formatted as follows: ([group_id]/)<asset_id>/<version>.
If group_id is not specified, it defaults to the currently selected Organization ID.

This command has the --output flag. Use the --output flag to specify the response format. Supported values are table (default) and json.

This command also accepts the default flag --help.

exchange:asset:resource:upload

> exchange:asset:resource:upload [flags] <assetIdentifier> <filepath>

This command uploads the resource specified in <filepath> to a page in the asset portal described in <assetIdentifier>.

You can use this command for any page of your <assetIdentifier> asset.

Supported file extensions for <filepath> are: jpeg, jpg, jpe, gif, bmp, png, webp, ico, svg, tiff, tif.

The argument assetIdentifier should be formatted as follows: [group_id]/<asset_id>/<version>.
If group_id is not specified, it defaults to the currently selected Organization ID.

The successful output command will be a markdown codesnippet.

This command accepts only the default flag --help.

exchange:asset:resource:list

> exchange:asset:resource:list [flags] <assetIdentifier>

This command lists the resources in the asset portal of the asset specified in <assetIdentifier>.

Argument assetIdentifier should be formatted as follows: [group_id]/<asset_id>/<version>.
If group_id is not specified, it defaults to the currently selected Organization ID.

This command lists published resources by default.
You can use the --draft flag to list draft resources from the asset portal.

This command accepts the --draft flag to list non-published resources in the asset portal.

This command has the --output flag. Use the --output flag to specify the response format. Supported values are table (default) and json.

This command also accepts the default flag --help.

exchange:asset:resource:download

> exchange:asset:resource:download [flags] <assetIdentifier> <resourcePath> <filePath>

This command downloads the published resource specified in <resourcePath> from the asset portal of the asset specified in <assetIdentifier> to the file specified in <filePath>.

Argument assetIdentifier should be formatted as follows: [group_id]/<asset_id>/<version>.
If group_id is not specified, it defaults to the currently selected Organization ID.

Argument <resourcePath> must be a published resource.
You can list all published resources using the asset resource list command.

This command only supports published resources.

This command accepts only the default flag --help.

exchange:asset:resource:delete

> exchange:asset:resource:delete [flags] <assetIdentifier> <resourcePath>

This command deletes the resource specified in <resourcePath> from the asset portal of the asset specified in <assetIdentifier> by publishing a new portal in which resourcePath has been deleted.

Argument <assetIdentifier> should be formatted as follows: [group_id]/<asset_id>/<version>.
If group_id is not specified, it defaults to the currently selected Organization ID.

Argument <resourcePath> must be a published resource.
You can list all published resources using the asset resource list command.

This command publishes all active drafts as part of the operation.

This command accepts only the default flag --help.