An organization administrator can share a catalog to make it visible to the administrators in all other organizations in a cloud.

The owner of a catalog can make it available to other users in the containing organization. See Update Catalog Access Controls. If you are an organization administrator, you can also share catalogs with all other organizations in your cloud if your organization's CanPublishCatalogs element has a value of true. The value of this element is controlled by the system administrator. To share 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.

This operation requires the rights included in the predefined Organization Administrator role or an equivalent set of rights.

1

Retrieve the XML representation of the catalog to share.

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 this example shows:

<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 shared and becomes available to members of all 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