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.

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 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