Publishing a catalog makes it visible to the administrators of all organizations in a cloud.

An organization administrator can publish catalogs if the organization's CanPublishCatalogs element has a value of true. The value of this element is controlled by the system administrator. To publish a catalog, make a POST request to the catalog’s action/publish URL and supply a PublishCatalogParams body that sets the value of the catalog’s IsPublished element to true.

Verify that you are logged in to the vCloud API as an organization administrator or system administrator.

1

Retrieve the XML representation of the catalog to publish.

Use a request like this one, where id is the identifier of the catalog:

GET https://vcloud.example.com/api/admin/catalog/id
2

Examine the response to locate the Link element that contains the URL for publishing the catalog.

This element has a rel attribute value of publish and a type attribute value of application/vnd.vmware.admin.publishCatalogParams+xml, as shown here:

<Link
   rel="publish"
   type="application/vnd.vmware.admin.publishCatalogParams+xml"
   href="https://vcloud.example.com/api/admin/catalog/32/action/publish" />
3

Create a PublishCatalogParams element that contains an IsPublished element with a value of true.

4

POST the PublishCatalogParams body to the catalog's rel="publish" URL.

The catalog is published and becomes available to administrators in other organizations in the cloud.

Request:

POST https://vcloud.example.com/api/admin/catalog/32/action/publish
Content-Type: application/vnd.vmware.admin.publishCatalogParams+xml
...
<?xml version="1.0" encoding="UTF-8"?>
<PublishCatalogParams
   xmlns="http://www.vmware.com/vcloud/v1.5">
   <IsPublished>true</IsPublished>
</PublishCatalogParams>

Response:

204 No Content