HCL Software API Documentation (Early Access) (0.0.1)

Download OpenAPI specification:Download

License: Apache 2.0

All APIs are subject to change

Files (CDN)

These APIs allow content to be uploaded to the CDN.

Upload file

This endpoint allows the creation of file enties within the CDN. Either a reference to an existing file can be supplied, or a url for upload will be returned.

Authorizations:
HCL Software ID
Request Body schema: application/json

Detail of the file to upload

One of
name
required
string (file-properties_$defs-name) [ 3 .. 128 ] characters

The name of the file.

This will be seen when browsing APIs as well as on disk after download.

s3arn
required
string (s3arn) ^arn:(?:aws|aws-cn):s3:::[\w\d-]*/.+$

An ARN that identifies an existing s3 object that should be copied.

SHA256 Hex (string) or SHA256 Base64 (string) (checksum)
Array of Require Email Address (object) or Require HCL Software ID (object) (accessPolicies)

Defines the policies that grant access to this file.

Available Policies:

  • email requires an email query parameter to be provided.

  • hclswid requires an authenticated HCL Software ID session

If no policies are specified, the file will not be available for download. If multiple policies are spcified, the file will be available if any of the policies are satisfied.

attributes
object (attributes)

Associates custom metadata with this file. This metadata will be available as part of the download metrics and is not visible to the downloader.

The total size of the attributes must be under 1 kb (measured as the size of the base64 encoded utf-8 JSON representation of the attributes).

Responses

Request samples

Content type
application/json
Example
{
  • "name": "installer.zip",
  • "s3arn": "arn:aws:s3:::my-bucket/build-output/2022-12-31-installer.zip",
  • "checksum": "a1efca12ea51069abb123bf9c77889fcc2a31cc5483fc14d115e44fdf07c7980"
}

Response samples

Content type
application/json
Example
{}

Release Management Product Groups

This section contains APIs for managing product groups, which are the top level organizational concept of the release catalog.

RM Hierarchy for Product Group

A product group has branding images and is able to group its children using sections. The sections are named and can be directly navigated to. The children are either products, or more specific product groups. Each child can exist in an unnamed default section, or any number of defined sections.

It can include up to two resource sets to enable quick linking to other resources or external sites.

Create Product Group

This endpoint enables creation of product groups.

Authorizations:
HCL Software ID
Request Body schema: application/json

Detail of the product group to create

slug
required
string (productgroupSlug) [ 3 .. 16 ] characters ^[a-z0-9._-]{3,16}$

ProductGroup URL idenfitier

name
required
string (productgroupName) [ 1 .. 30 ] characters ^[a-zA-Z 0-9-_.&():]{1,30}$

The visible name of the product group

object (productgroupParent)

An optional parent product group

Responses

Request samples

Content type
application/json
{
  • "slug": "appscan",
  • "name": "string",
  • "parent": {
    }
}

Response samples

Content type
application/json
{
  • "id": "yicGvY49W7GinkoxvNada",
  • "slug": "appscan",
  • "name": "string",
  • "parent": {
    },
  • "state": "unpublished",
  • "resourceSets": [
    ],
  • "sections": [
    ]
}

List Product Groups

Authorizations:
HCL Software ID

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

Read Product Group

Authorizations:
HCL Software ID
path Parameters
productgroupId
string (productgroupId) = 21 characters ^[a-zA-Z0-9]{21}$
Example: yicGvY49W7GinkoxvNada

Product Group identifier (immutable and globally unique)

header Parameters
If-None-Match
string

Allows 304 responses. See W3C If-None-Match header description.

Responses

Response samples

Content type
application/json
{
  • "id": "yicGvY49W7GinkoxvNada",
  • "slug": "appscan",
  • "name": "string",
  • "parent": {
    },
  • "state": "unpublished",
  • "resourceSets": [
    ],
  • "sections": [
    ]
}

Update Product Group

Authorizations:
HCL Software ID
path Parameters
productgroupId
string (productgroupId) = 21 characters ^[a-zA-Z0-9]{21}$
Example: yicGvY49W7GinkoxvNada

Product Group identifier (immutable and globally unique)

header Parameters
If-Match
string

Allows 412 responses. See W3C If-Match header description.

Request Body schema: application/json

Requested properties or lifecycle changes

One of
non-empty
slug
string (productgroupSlug) [ 3 .. 16 ] characters ^[a-z0-9._-]{3,16}$

ProductGroup URL idenfitier

name
string (productgroupName) [ 1 .. 30 ] characters ^[a-zA-Z 0-9-_.&():]{1,30}$

The visible name of the product group

object (productgroupParent)

An optional parent product group

resourceSets
Array of strings (resourceSets) <= 2 items [ items = 21 characters ^[a-zA-Z0-9]{21}$ ]

The resource sets that should appear with this product group

sections
Array of strings (sectionOrder) [ items = 21 characters ^[a-zA-Z0-9]{21}$ ]

The existing release sections, ordered as required.

Sections cannot be added or removed using this property, and the value must contain each of the existing section ids exactly once.

Responses

Request samples

Content type
application/json
Example
{
  • "slug": "appscan",
  • "name": "string",
  • "parent": {
    },
  • "resourceSets": [
    ],
  • "sections": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "yicGvY49W7GinkoxvNada",
  • "slug": "appscan",
  • "name": "string",
  • "parent": {
    },
  • "state": "unpublished",
  • "resourceSets": [
    ],
  • "sections": [
    ]
}

Delete Product Groups

This endpoint allows product groups to be deleted. Only unpublished and depublished groups can be deleted.

Authorizations:
HCL Software ID
path Parameters
productgroupId
string (productgroupId) = 21 characters ^[a-zA-Z0-9]{21}$
Example: yicGvY49W7GinkoxvNada

Product Group identifier (immutable and globally unique)

header Parameters
If-Match
string

Allows 412 responses. See W3C If-Match header description.

Responses

Response samples

Content type
application/json
{
  • "code": "string",
  • "params": { },
  • "summary": "string"
}

Create Product Group Section

This endpoint allows new sections to be created for product groups.

Authorizations:
HCL Software ID
path Parameters
productgroupId
string (productgroupId) = 21 characters ^[a-zA-Z0-9]{21}$
Example: yicGvY49W7GinkoxvNada

Product Group identifier (immutable and globally unique)

Request Body schema: application/json

Detail of the release group to create

slug
required
string (productgroupSectionSlug) [ 3 .. 16 ] characters ^[a-z0-9._-]{3,16}$

Product Group Section URL idenfitier

name
required
string (productgroupSectionName) [ 1 .. 30 ] characters ^[a-zA-Z 0-9-_.&():]{1,30}$

The visible name of the section

Responses

Request samples

Content type
application/json
{
  • "slug": "domino",
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "id": "lMCtx3s3fsBXMoPJIuSpg",
  • "slug": "domino",
  • "name": "string"
}

Update Product Group Section

This endpoint allows sections of product groups to be updated.

Authorizations:
HCL Software ID
path Parameters
productgroupId
string (productgroupId) = 21 characters ^[a-zA-Z0-9]{21}$
Example: yicGvY49W7GinkoxvNada

Product Group identifier (immutable and globally unique)

sectionId
string (productgroupSectionId) = 21 characters ^[a-zA-Z0-9]{21}$
Example: lMCtx3s3fsBXMoPJIuSpg

Product Group Section identifier (immutable and globally unique)

header Parameters
If-Match
string

Allows 412 responses. See W3C If-Match header description.

Request Body schema: application/json

Requested properties

non-empty
slug
string (productgroupSectionSlug) [ 3 .. 16 ] characters ^[a-z0-9._-]{3,16}$

Product Group Section URL idenfitier

name
string (productgroupSectionName) [ 1 .. 30 ] characters ^[a-zA-Z 0-9-_.&():]{1,30}$

The visible name of the section

Responses

Request samples

Content type
application/json
{
  • "slug": "domino",
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "id": "lMCtx3s3fsBXMoPJIuSpg",
  • "slug": "domino",
  • "name": "string"
}

Delete Product Group Section

This endpoint allows sections of product groups to be deleted.

Authorizations:
HCL Software ID
path Parameters
productgroupId
string (productgroupId) = 21 characters ^[a-zA-Z0-9]{21}$
Example: yicGvY49W7GinkoxvNada

Product Group identifier (immutable and globally unique)

sectionId
string (productgroupSectionId) = 21 characters ^[a-zA-Z0-9]{21}$
Example: lMCtx3s3fsBXMoPJIuSpg

Product Group Section identifier (immutable and globally unique)

header Parameters
If-Match
string

Allows 412 responses. See W3C If-Match header description.

Responses

Response samples

Content type
application/json
{
  • "code": "string",
  • "params": { },
  • "summary": "string"
}

Release Management Products

This section contains APIs for managing products.

RM Hierarchy for Products

A product has branding images and is able to group its releases using groups. The groups are named and can be directly navigated to using a slug. Example group names are: latest, 9.x, archived. Each release can appear in multiple groups.

A product can also define components. A component represents part of a product that can be granted by a part number. Often a product will have a single component, meaning that associated part numbers grant access to the entire product. Multiple components are used when only part of a product should be accessible to a part number.

It can include up to two resource sets to enable quick linking to other resources or external sites.

Create Product

This endpoint allows new products to be created.

Authorizations:
HCL Software ID
Request Body schema: application/json

Detail of the product to create

slug
required
string ($defs-slug) [ 3 .. 16 ] characters ^[a-z0-9._-]{3,16}$

Product URL idenfitier

name
required
string (productName) [ 1 .. 30 ] characters ^[a-zA-Z 0-9-_.&():]{1,30}$

The visible name of the product

object (parent)

An optional parent product group

Responses

Request samples

Content type
application/json
{
  • "slug": "enterprise",
  • "name": "string",
  • "parent": {
    }
}

Response samples

Content type
application/json
{
  • "id": "yicGvY49W7GinkoxvNada",
  • "slug": "enterprise",
  • "name": "string",
  • "parent": {
    },
  • "state": "unpublished",
  • "resourceSets": [
    ],
  • "components": [
    ],
  • "releaseGroups": [
    ]
}

List Products

Authorizations:
HCL Software ID

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

Read Product

Authorizations:
HCL Software ID
path Parameters
productId
string ($defs-id) = 21 characters ^[a-zA-Z0-9]{21}$
Example: yicGvY49W7GinkoxvNada

Product identifier (immutable and globally unique)

header Parameters
If-None-Match
string

Allows 304 responses. See W3C If-None-Match header description.

Responses

Response samples

Content type
application/json
{
  • "id": "yicGvY49W7GinkoxvNada",
  • "slug": "enterprise",
  • "name": "string",
  • "parent": {
    },
  • "state": "unpublished",
  • "resourceSets": [
    ],
  • "components": [
    ],
  • "releaseGroups": [
    ]
}

Update Product

Authorizations:
HCL Software ID
path Parameters
productId
string ($defs-id) = 21 characters ^[a-zA-Z0-9]{21}$
Example: yicGvY49W7GinkoxvNada

Product identifier (immutable and globally unique)

header Parameters
If-Match
string

Allows 412 responses. See W3C If-Match header description.

Request Body schema: application/json

Requested properties or lifecycle changes

One of
non-empty
slug
string ($defs-slug) [ 3 .. 16 ] characters ^[a-z0-9._-]{3,16}$

Product URL idenfitier

name
string (productName) [ 1 .. 30 ] characters ^[a-zA-Z 0-9-_.&():]{1,30}$

The visible name of the product

object (parent)

An optional parent product group

resourceSets
Array of strings ($defs-resourceSets) <= 2 items [ items = 21 characters ^[a-zA-Z0-9]{21}$ ]

The resource sets that should appear with this product

releaseGroups
Array of strings (releaseGroupOrder) [ items = 21 characters ^[a-zA-Z0-9]{21}$ ]

The existing release groups, ordered as required.

Release Groups cannot be added or removed using this property, and the value must contain each of the existing release group ids exactly once.

Responses

Request samples

Content type
application/json
Example
{
  • "slug": "enterprise",
  • "name": "string",
  • "parent": {
    },
  • "resourceSets": [
    ],
  • "releaseGroups": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "yicGvY49W7GinkoxvNada",
  • "slug": "enterprise",
  • "name": "string",
  • "parent": {
    },
  • "state": "unpublished",
  • "resourceSets": [
    ],
  • "components": [
    ],
  • "releaseGroups": [
    ]
}

Delete Products

This endpoint allows products to be deleted. Only unpublished and depublished products can be deleted.

Authorizations:
HCL Software ID
path Parameters
productId
string ($defs-id) = 21 characters ^[a-zA-Z0-9]{21}$
Example: yicGvY49W7GinkoxvNada

Product identifier (immutable and globally unique)

header Parameters
If-Match
string

Allows 412 responses. See W3C If-Match header description.

Responses

Response samples

Content type
application/json
{
  • "code": "string",
  • "params": { },
  • "summary": "string"
}

Create Component

This endpoint allows new components to be created.

Authorizations:
HCL Software ID
path Parameters
productId
string ($defs-id) = 21 characters ^[a-zA-Z0-9]{21}$
Example: yicGvY49W7GinkoxvNada

Product identifier (immutable and globally unique)

Request Body schema: application/json

Detail of the component to create

name
required
string (componentName) [ 1 .. 30 ] characters ^[a-zA-Z 0-9-_.&():]{1,30}$

The visible name of the component

Array of objects (partNumberGrants)

The set of part numbers (and associated metadata) that grant access to the component

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "partNumberGrants": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "XcsNX30JoTPLibON8bwQJ",
  • "name": "string",
  • "partNumberGrants": [
    ]
}

Update Component

This endpoint allows components to be updated.

Authorizations:
HCL Software ID
path Parameters
productId
string ($defs-id) = 21 characters ^[a-zA-Z0-9]{21}$
Example: yicGvY49W7GinkoxvNada

Product identifier (immutable and globally unique)

componentId
string (componentId) = 21 characters ^[a-zA-Z0-9]{21}$
Example: XcsNX30JoTPLibON8bwQJ

Component identifier (immutable and globally unique)

header Parameters
If-Match
string

Allows 412 responses. See W3C If-Match header description.

Request Body schema: application/json

Requested properties

non-empty
name
string (componentName) [ 1 .. 30 ] characters ^[a-zA-Z 0-9-_.&():]{1,30}$

The visible name of the component

Array of objects (partNumberGrants)

The set of part numbers (and associated metadata) that grant access to the component

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "partNumberGrants": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "XcsNX30JoTPLibON8bwQJ",
  • "name": "string",
  • "partNumberGrants": [
    ]
}

Delete Component

This endpoint allows component to be deleted.

Authorizations:
HCL Software ID
path Parameters
productId
string ($defs-id) = 21 characters ^[a-zA-Z0-9]{21}$
Example: yicGvY49W7GinkoxvNada

Product identifier (immutable and globally unique)

componentId
string (componentId) = 21 characters ^[a-zA-Z0-9]{21}$
Example: XcsNX30JoTPLibON8bwQJ

Component identifier (immutable and globally unique)

header Parameters
If-Match
string

Allows 412 responses. See W3C If-Match header description.

Responses

Response samples

Content type
application/json
{
  • "code": "string",
  • "params": { },
  • "summary": "string"
}

Create Release Group

This endpoint allows new release groups to be created.

Authorizations:
HCL Software ID
path Parameters
productId
string ($defs-id) = 21 characters ^[a-zA-Z0-9]{21}$
Example: yicGvY49W7GinkoxvNada

Product identifier (immutable and globally unique)

Request Body schema: application/json

Detail of the release group to create

slug
required
string (releaseGroupSlug) [ 3 .. 16 ] characters ^[a-z0-9._-]{3,16}$

Release Group URL idenfitier

name
required
string (releaseGroupName) [ 1 .. 30 ] characters ^[a-zA-Z 0-9-_.&():]{1,30}$

The visible name for the release group

Responses

Request samples

Content type
application/json
{
  • "slug": "enterprise",
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "id": "aekHZv5Bmb6o6jywMOUgX",
  • "slug": "enterprise",
  • "name": "string"
}

Update Release Group

This endpoint allows release groups to be updated.

Authorizations:
HCL Software ID
path Parameters
productId
string ($defs-id) = 21 characters ^[a-zA-Z0-9]{21}$
Example: yicGvY49W7GinkoxvNada

Product identifier (immutable and globally unique)

groupId
string (releaseGroupId) = 21 characters ^[a-zA-Z0-9]{21}$
Example: aekHZv5Bmb6o6jywMOUgX

Release Group identifier (immutable and globally unique)

header Parameters
If-Match
string

Allows 412 responses. See W3C If-Match header description.

Request Body schema: application/json

Requested properties

non-empty
slug
string (releaseGroupSlug) [ 3 .. 16 ] characters ^[a-z0-9._-]{3,16}$

Release Group URL idenfitier

name
string (releaseGroupName) [ 1 .. 30 ] characters ^[a-zA-Z 0-9-_.&():]{1,30}$

The visible name for the release group

Responses

Request samples

Content type
application/json
{
  • "slug": "enterprise",
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "id": "aekHZv5Bmb6o6jywMOUgX",
  • "slug": "enterprise",
  • "name": "string"
}

Delete Release Group

This endpoint allows release groups to be deleted.

Authorizations:
HCL Software ID
path Parameters
productId
string ($defs-id) = 21 characters ^[a-zA-Z0-9]{21}$
Example: yicGvY49W7GinkoxvNada

Product identifier (immutable and globally unique)

groupId
string (releaseGroupId) = 21 characters ^[a-zA-Z0-9]{21}$
Example: aekHZv5Bmb6o6jywMOUgX

Release Group identifier (immutable and globally unique)

header Parameters
If-Match
string

Allows 412 responses. See W3C If-Match header description.

Responses

Response samples

Content type
application/json
{
  • "code": "string",
  • "params": { },
  • "summary": "string"
}

Release Management Releases

This section contains APIs for managing product releases.

RM Hierarchy for Releases

A release is a snapshot of a product at a given point in time. It can fit into multiple groups defined in its parent product. A release references multiple packages, which identify the files to associate with the release. These files can be categorized using sections.

It can include up to two resource sets to enable quick linking to other resources or external sites.

Streams

A release can be made available to customers at different dates using streams. A stream is a pair of dates - when is the release made available, and when is the release no longer available. The streams are currently defined as internal, ea (early access), ga (general availability), and xs (extended support).

Release Streams example

In this example:

  • Internal teams can access the release at any point.
  • Customers with Early Access can get it from January 1st 2021.
  • All customers can get it from May 1st 2021 ('GA Date') until April 31st 2027.
  • Customers with Extended Support can get it until December 31st 2028.

These dates can be updated and open-ended. Additionally, each stream is optional and a release might never become available in a given stream.

Create Release

This endpoint allows new releases to be created.

Authorizations:
HCL Software ID
path Parameters
productId
string ($defs-id) = 21 characters ^[a-zA-Z0-9]{21}$
Example: yicGvY49W7GinkoxvNada

Product identifier (immutable and globally unique)

Request Body schema: application/json

Detail of the release to create

slug
required
string (release_$defs-slug) [ 3 .. 16 ] characters ^[a-z0-9._-]{3,16}$

Release URL idenfitier

name
required
string ($defs-name) [ 1 .. 30 ] characters ^[a-zA-Z 0-9-_.&():]{1,30}$

The visible name of the release

Responses

Request samples

Content type
application/json
{
  • "slug": "9.2.1",
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "id": "sauMmYqQ1D28EWlzX4b6A",
  • "slug": "9.2.1",
  • "name": "string",
  • "state": "unpublished",
  • "resourceSets": [
    ],
  • "sections": [
    ],
  • "packages": [
    ],
  • "releaseGroups": [
    ],
  • "streams": {
    }
}

List Releases

Authorizations:
HCL Software ID
path Parameters
productId
string ($defs-id) = 21 characters ^[a-zA-Z0-9]{21}$
Example: yicGvY49W7GinkoxvNada

Product identifier (immutable and globally unique)

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

Clone Release

This endpoint allows a release to be cloned. The operation will copy the existing sections, and retain references to the existing packages and resource sets.

Authorizations:
HCL Software ID
path Parameters
productId
string ($defs-id) = 21 characters ^[a-zA-Z0-9]{21}$
Example: yicGvY49W7GinkoxvNada

Product identifier (immutable and globally unique)

releaseId
string (release_$defs-id) = 21 characters ^[a-zA-Z0-9]{21}$
Example: sauMmYqQ1D28EWlzX4b6A

Release identifier (immutable and globally unique)

header Parameters
If-Match
string

Allows 412 responses. See W3C If-Match header description.

Responses

Response samples

Content type
application/json
{
  • "id": "sauMmYqQ1D28EWlzX4b6A",
  • "slug": "9.2.1",
  • "name": "string",
  • "state": "unpublished",
  • "resourceSets": [
    ],
  • "sections": [
    ],
  • "packages": [
    ],
  • "releaseGroups": [
    ],
  • "streams": {
    }
}

Read Release

This endpoint allows a release to be read in detail.

Authorizations:
HCL Software ID
path Parameters
productId
string ($defs-id) = 21 characters ^[a-zA-Z0-9]{21}$
Example: yicGvY49W7GinkoxvNada

Product identifier (immutable and globally unique)

releaseId
string (release_$defs-id) = 21 characters ^[a-zA-Z0-9]{21}$
Example: sauMmYqQ1D28EWlzX4b6A

Release identifier (immutable and globally unique)

header Parameters
If-None-Match
string

Allows 304 responses. See W3C If-None-Match header description.

Responses

Response samples

Content type
application/json
{
  • "id": "sauMmYqQ1D28EWlzX4b6A",
  • "slug": "9.2.1",
  • "name": "string",
  • "state": "unpublished",
  • "resourceSets": [
    ],
  • "sections": [
    ],
  • "packages": [
    ],
  • "releaseGroups": [
    ],
  • "streams": {
    }
}

Update Release

This endpoint enables a release to be updated, including publishing lifecycle changes.

Authorizations:
HCL Software ID
path Parameters
productId
string ($defs-id) = 21 characters ^[a-zA-Z0-9]{21}$
Example: yicGvY49W7GinkoxvNada

Product identifier (immutable and globally unique)

releaseId
string (release_$defs-id) = 21 characters ^[a-zA-Z0-9]{21}$
Example: sauMmYqQ1D28EWlzX4b6A

Release identifier (immutable and globally unique)

header Parameters
If-Match
string

Allows 412 responses. See W3C If-Match header description.

Request Body schema: application/json

Requested properties or lifecycle changes

One of
non-empty
slug
string (release_$defs-slug) [ 3 .. 16 ] characters ^[a-z0-9._-]{3,16}$

Release URL idenfitier

name
string ($defs-name) [ 1 .. 30 ] characters ^[a-zA-Z 0-9-_.&():]{1,30}$

The visible name of the release

resourceSets
Array of strings (release_$defs-resourceSets) [ items = 21 characters ^[a-zA-Z0-9]{21}$ ]

The resource sets that should appear with this release

sections
Array of strings ($defs-sectionOrder) [ items = 21 characters ^[a-zA-Z0-9]{21}$ ]

The existing release sections, ordered as required.

Sections cannot be added or removed using this property, and the value must contain each of the existing section ids exactly once.

packages
Array of strings (packages) [ items = 21 characters ^[a-zA-Z0-9]{21}$ ]

The packages that should be associated with this release

releaseGroups
Array of strings ($defs-releaseGroups) [ items = 21 characters ^[a-zA-Z0-9]{21}$ ]

The set of the release group ids that the release should appear within

object (streams)

The streams that the release should be included in.

A stream must be specified to make it available, and it can optionally be further restricted by date.

Responses

Request samples

Content type
application/json
Example
{
  • "slug": "9.2.1",
  • "name": "string",
  • "resourceSets": [
    ],
  • "sections": [
    ],
  • "packages": [
    ],
  • "releaseGroups": [
    ],
  • "streams": {
    }
}

Response samples

Content type
application/json
{
  • "id": "sauMmYqQ1D28EWlzX4b6A",
  • "slug": "9.2.1",
  • "name": "string",
  • "state": "unpublished",
  • "resourceSets": [
    ],
  • "sections": [
    ],
  • "packages": [
    ],
  • "releaseGroups": [
    ],
  • "streams": {
    }
}

Delete Release

This endpoint allows releases to be deleted. Only unpublished and depublished releases can be deleted.

Authorizations:
HCL Software ID
path Parameters
productId
string ($defs-id) = 21 characters ^[a-zA-Z0-9]{21}$
Example: yicGvY49W7GinkoxvNada

Product identifier (immutable and globally unique)

releaseId
string (release_$defs-id) = 21 characters ^[a-zA-Z0-9]{21}$
Example: sauMmYqQ1D28EWlzX4b6A

Release identifier (immutable and globally unique)

header Parameters
If-Match
string

Allows 412 responses. See W3C If-Match header description.

Responses

Response samples

Content type
application/json
{
  • "code": "string",
  • "params": { },
  • "summary": "string"
}

Create Release Section

This endpoint allows sections to be created in releases.

Authorizations:
HCL Software ID
path Parameters
productId
string ($defs-id) = 21 characters ^[a-zA-Z0-9]{21}$
Example: yicGvY49W7GinkoxvNada

Product identifier (immutable and globally unique)

releaseId
string (release_$defs-id) = 21 characters ^[a-zA-Z0-9]{21}$
Example: sauMmYqQ1D28EWlzX4b6A

Release identifier (immutable and globally unique)

Request Body schema: application/json

Detail of the section to create

slug
required
string (release-section_$defs-slug) [ 3 .. 16 ] characters ^[a-z0-9._-]{3,16}$

Release Section URL idenfitier

name
required
string (release-section_$defs-name) [ 1 .. 30 ] characters ^[a-zA-Z 0-9-_.&():]{1,30}$

The visible name of the section

files
Array of strings (files) [ items = 21 characters ^[a-zA-Z0-9]{21}$ ]

The set of files to associate with this section

Responses

Request samples

Content type
application/json
{
  • "slug": "installers",
  • "name": "string",
  • "files": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "yicGvY49W7GinkoxvNada",
  • "slug": "installers",
  • "name": "string",
  • "files": [
    ]
}

Update Release Section

This endpoint allows sections of releases to be updated.

Authorizations:
HCL Software ID
path Parameters
productId
string ($defs-id) = 21 characters ^[a-zA-Z0-9]{21}$
Example: yicGvY49W7GinkoxvNada

Product identifier (immutable and globally unique)

releaseId
string (release_$defs-id) = 21 characters ^[a-zA-Z0-9]{21}$
Example: sauMmYqQ1D28EWlzX4b6A

Release identifier (immutable and globally unique)

sectionId
string (release-section_$defs-id) = 21 characters ^[a-zA-Z0-9]{21}$
Example: yicGvY49W7GinkoxvNada

Release Section identifier (immutable and globally unique)

header Parameters
If-Match
string

Allows 412 responses. See W3C If-Match header description.

Request Body schema: application/json

Requested properties

non-empty
slug
string (release-section_$defs-slug) [ 3 .. 16 ] characters ^[a-z0-9._-]{3,16}$

Release Section URL idenfitier

name
string (release-section_$defs-name) [ 1 .. 30 ] characters ^[a-zA-Z 0-9-_.&():]{1,30}$

The visible name of the section

files
Array of strings (files) [ items = 21 characters ^[a-zA-Z0-9]{21}$ ]

The set of files to associate with this section

Responses

Request samples

Content type
application/json
{
  • "slug": "installers",
  • "name": "string",
  • "files": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "yicGvY49W7GinkoxvNada",
  • "slug": "installers",
  • "name": "string",
  • "files": [
    ]
}

Delete Release Section

This endpoint allows sections of releases to be deleted.

Authorizations:
HCL Software ID
path Parameters
productId
string ($defs-id) = 21 characters ^[a-zA-Z0-9]{21}$
Example: yicGvY49W7GinkoxvNada

Product identifier (immutable and globally unique)

releaseId
string (release_$defs-id) = 21 characters ^[a-zA-Z0-9]{21}$
Example: sauMmYqQ1D28EWlzX4b6A

Release identifier (immutable and globally unique)

sectionId
string (release-section_$defs-id) = 21 characters ^[a-zA-Z0-9]{21}$
Example: yicGvY49W7GinkoxvNada

Release Section identifier (immutable and globally unique)

header Parameters
If-Match
string

Allows 412 responses. See W3C If-Match header description.

Responses

Response samples

Content type
application/json
{
  • "code": "string",
  • "params": { },
  • "summary": "string"
}

Release Management Packages

This section contains APIs for managing packages.

RM Hierarchy for Packages

A package is a named collection of files. They can be referenced by releases to form the association between a release and the underlying files. The name is not indended to be shown to the user but would be visible in debug logs and traffic.

A package also references a set of components. If a user has access to the component and the release, then they would have access to the files in this package.

Create Packages

This endpoint allows packages to be created.

Authorizations:
HCL Software ID
Request Body schema: application/json

Detail of the packages to create

name
required
string (packageName) [ 1 .. 30 ] characters ^[a-zA-Z 0-9-_.&():]{1,30}$

The name of the package

components
Array of strings ($defs-components) [ items = 21 characters ^[a-zA-Z0-9]{21}$ ]

Potentially empty set of components to associate with this package. Associating a package with a component means that the package should be made available to users that have access to the component.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "components": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "5h3IDnDX8TgxuqJpGBoE8",
  • "name": "string",
  • "state": "unpublished",
  • "files": [
    ]
}

List Packages

This endpoint allows packages to be listed.

Authorizations:
HCL Software ID

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

Clone Package

This endpoint allows a package to be cloned. The new package will be unpublished and will be a deep copy of all files. Changes to files in the new or old package will not affect the other.

Authorizations:
HCL Software ID
path Parameters
packageId
string (packageId) = 21 characters ^[a-zA-Z0-9]{21}$
Example: 5h3IDnDX8TgxuqJpGBoE8

Package identifier (immutable and globally unique)

header Parameters
If-Match
string

Allows 412 responses. See W3C If-Match header description.

Responses

Response samples

Content type
application/json
{
  • "id": "5h3IDnDX8TgxuqJpGBoE8",
  • "name": "string",
  • "state": "unpublished",
  • "files": [
    ]
}

Read Package

This endpoint allows a package to be read.

Authorizations:
HCL Software ID
path Parameters
packageId
string (packageId) = 21 characters ^[a-zA-Z0-9]{21}$
Example: 5h3IDnDX8TgxuqJpGBoE8

Package identifier (immutable and globally unique)

header Parameters
If-None-Match
string

Allows 304 responses. See W3C If-None-Match header description.

Responses

Response samples

Content type
application/json
{
  • "id": "5h3IDnDX8TgxuqJpGBoE8",
  • "name": "string",
  • "state": "unpublished",
  • "files": [
    ]
}

Update Package

This endpoint allows a package to be updated or published

Authorizations:
HCL Software ID
path Parameters
packageId
string (packageId) = 21 characters ^[a-zA-Z0-9]{21}$
Example: 5h3IDnDX8TgxuqJpGBoE8

Package identifier (immutable and globally unique)

header Parameters
If-Match
string

Allows 412 responses. See W3C If-Match header description.

Request Body schema: application/json

Requested properties

One of
non-empty
name
string (packageName) [ 1 .. 30 ] characters ^[a-zA-Z 0-9-_.&():]{1,30}$

The name of the package

components
Array of strings ($defs-components) [ items = 21 characters ^[a-zA-Z0-9]{21}$ ]

Potentially empty set of components to associate with this package. Associating a package with a component means that the package should be made available to users that have access to the component.

Responses

Request samples

Content type
application/json
Example
{
  • "name": "string",
  • "components": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "5h3IDnDX8TgxuqJpGBoE8",
  • "name": "string",
  • "state": "unpublished",
  • "files": [
    ]
}

Delete Package

This endpoint allows a package to be deleted. Only unpublished and depublished packages can be deleted.

Authorizations:
HCL Software ID
path Parameters
packageId
string (packageId) = 21 characters ^[a-zA-Z0-9]{21}$
Example: 5h3IDnDX8TgxuqJpGBoE8

Package identifier (immutable and globally unique)

header Parameters
If-Match
string

Allows 412 responses. See W3C If-Match header description.

Responses

Response samples

Content type
application/json
{
  • "code": "string",
  • "params": { },
  • "summary": "string"
}

Release Management Resource Sets

This section contains APIs for managing resource sets.

Create Resource Set

This endpoint allows resource sets to be created.

Authorizations:
HCL Software ID
Request Body schema: application/json

Detail of the resource set to create

name
required
string (resourcesetName) [ 1 .. 30 ] characters ^[a-zA-Z 0-9-_.&():]{1,30}$

The visible name of the resource set

Responses

Request samples

Content type
application/json
{
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "id": "J3fkTezrmegh3kDT1V3KS",
  • "name": "string",
  • "state": "unpublished",
  • "resources": [
    ]
}

List Resource Sets

This endpoint allows resource sets to be listed.

Authorizations:
HCL Software ID

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

Clone Resource Set

This endpoint allows a resource set to be cloned. The new resource set will be unpublished and will be a deep copy of all resources.

Authorizations:
HCL Software ID
path Parameters
resourcesetId
string (resourcesetId) = 21 characters ^[a-zA-Z0-9]{21}$
Example: J3fkTezrmegh3kDT1V3KS

Resource Set identifier (immutable and globally unique)

header Parameters
If-Match
string

Allows 412 responses. See W3C If-Match header description.

Responses

Response samples

Content type
application/json
{
  • "id": "J3fkTezrmegh3kDT1V3KS",
  • "name": "string",
  • "state": "unpublished",
  • "resources": [
    ]
}

Read Resource Set

This endpoint allows a resource set to be read.

Authorizations:
HCL Software ID
path Parameters
resourcesetId
string (resourcesetId) = 21 characters ^[a-zA-Z0-9]{21}$
Example: J3fkTezrmegh3kDT1V3KS

Resource Set identifier (immutable and globally unique)

header Parameters
If-None-Match
string

Allows 304 responses. See W3C If-None-Match header description.

Responses

Response samples

Content type
application/json
{
  • "id": "J3fkTezrmegh3kDT1V3KS",
  • "name": "string",
  • "state": "unpublished",
  • "resources": [
    ]
}

Update Resource Set

This endpoint allows a resource set to be updated or published

Authorizations:
HCL Software ID
path Parameters
resourcesetId
string (resourcesetId) = 21 characters ^[a-zA-Z0-9]{21}$
Example: J3fkTezrmegh3kDT1V3KS

Resource Set identifier (immutable and globally unique)

header Parameters
If-Match
string

Allows 412 responses. See W3C If-Match header description.

Request Body schema: application/json

Requested properties

One of
non-empty
name
string (resourcesetName) [ 1 .. 30 ] characters ^[a-zA-Z 0-9-_.&():]{1,30}$

The visible name of the resource set

resources
Array of strings (resourceOrder) [ items = 21 characters ^[a-zA-Z0-9]{21}$ ]

The existing resource ids, ordered as required.

Resources cannot be added or removed using this property, and the value must contain each of the existing resource ids exactly once.

Responses

Request samples

Content type
application/json
Example
{
  • "name": "string",
  • "resources": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "J3fkTezrmegh3kDT1V3KS",
  • "name": "string",
  • "state": "unpublished",
  • "resources": [
    ]
}

Delete Resource Set

This endpoint allows a resource set to be deleted. Only unpublished and depublished resource sets can be deleted.

Authorizations:
HCL Software ID
path Parameters
resourcesetId
string (resourcesetId) = 21 characters ^[a-zA-Z0-9]{21}$
Example: J3fkTezrmegh3kDT1V3KS

Resource Set identifier (immutable and globally unique)

header Parameters
If-Match
string

Allows 412 responses. See W3C If-Match header description.

Responses

Response samples

Content type
application/json
{
  • "code": "string",
  • "params": { },
  • "summary": "string"
}

API Tokens

This section contains APIs for managing API Tokens.

API Tokens allow long-lived offline access for installed products and partner applications.

Create API Token

This endpoint allows API tokens to be created.

Authorizations:
HCL Software ID
Request Body schema: application/json

Detail of the token to create

code
required
string (authcode) non-empty

An authorization code retrieved from HCL Software ID

label
required
string (tokenLabel) [ 1 .. 30 ] characters ^[a-zA-Z 0-9-_.&():]{1,30}$

A quick identifier for the token

description
string (tokenDescription) [ 3 .. 300 ] characters ^[\S ]{3,300}$

A longer description of where the token is used

account
required
string (tokenAccount) [ 20 .. 50 ] characters ^[a-zA-Z0-9-]{1,50}$

The id of the account that the token is associated with

Responses

Request samples

Content type
application/json
{
  • "code": "string",
  • "label": "string",
  • "description": "string",
  • "account": "dd941703-5808-417e-8566-eb17352daf8b"
}

Response samples

Content type
application/json
{
  • "refreshToken": "string",
  • "id": "ThiRqWwJj2PUVrzLavtB0",
  • "label": "string",
  • "description": "string",
  • "account": "dd941703-5808-417e-8566-eb17352daf8b",
  • "active": true,
  • "createdAt": "string",
  • "expiresAt": "string",
  • "lastUsedAt": "string"
}

List API Tokens

This endpoint allows API tokens to be listed.

Authorizations:
HCL Software ID

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

Exchange API Token

This endpoint allows an API Token for an Access Token (and replacement API Token)

Request Body schema: application/json

Request Body

refreshToken
required
string (tokenRefreshToken) [ 1 .. 100 ] characters ^(?:[A-Za-z0-9+/]{1-100})=?$

An secret token that can given to the /exchange endpoint later

Responses

Request samples

Content type
application/json
{
  • "refreshToken": "string"
}

Response samples

Content type
application/json
{
  • "refreshToken": "string",
  • "accessToken": "string",
  • "tokenType": "Bearer",
  • "expiresIn": 3600
}