CONS3RT ReST API (24.6.0)

Download OpenAPI specification:Download

Introduction

Welcome to the CONS3RT API documentation.

The CONS3RT API allows you to manage Hosts and resources within your CONS3RT clouds in a programmatic way using conventional HTTP requests.The endpoints are flexible and powerful, providing capability to retrieve information or to execute actions.

All of the functionality in the CONS3RT user interface is also available through the API, allowing you to script the complex actions needed to support your use case.

The API documentation will provide an overview of the design and technology, followed by reference information about each supported endpoint.

HTTP Requests

Any tool that is fluent in HTTP can communicate with the API simply by requesting the correct URI. Requests must be made using the HTTPS protocol so that traffic is encrypted. The endpoints respond to different methods depending on the action required.

Method Usage
GET

For simple retrieval of information about your account, Hosts, Assets, or environment, you should use the GET method. The information you request will be returned to you as a JSON or XML object.

The attributes defined by the JSON object can be used to form additional requests. Any request using the GET method is read-only and will not affect any of the objects you are querying.

DELETE

To destroy a resource and remove it from your account and environment, the DELETE method should be used. This will remove the specified object if it is found. If it is not found, the operation will return a response indicating that the object was not found.

This idempotency means that you do not have to check for a resource's availability prior to issuing a delete command, the final state will be the same regardless of its existence.

PUT

To update the information about a resource in your account, the PUT method is available.

Like the DELETE Method, the PUT method is idempotent. It sets the state of the target using the provided values, regardless of their current values. Requests using the PUT method do not need to check the current attributes of the object.

POST

To create a new object, your request should specify the POST method.

The POST request includes all of the attributes necessary to create a new object. When you wish to create a new object, send a POST request to the target endpoint.

REST clients such as Postman or Insomnia allow you to make requests to the Twitter REST APIs using a well-designed visual interface. All you have to do is enter the endpoint’s HTTP method, URL, authentication, parameters, and JSON body to start making requests.

Response Codes

The standard API returns HTTP status codes in addition to JSON- or XML-based error codes and messages.

In the event of a problem, the status will contain the error code, while the body of the response will usually contain additional information about the problem that was encountered.

In general, if the status returned is in the 200 range, it indicates that the request was fulfilled successfully and that no error was encountered.

Return codes in the 400 range typically indicate that there was an issue with the request that was sent. Among other things, this could mean that you did not authenticate correctly, that you are requesting an action that you do not have authorization for, that the object you are requesting does not exist, or that your request is malformed.

If you receive a status in the 500 range, this generally indicates a server-side problem. This means that we are having an issue on our end and cannot fulfill your request currently.

Code Text Description
200 OK Success!
202 Accepted Request was successful, but it might take some time to complete
204 No Content Request succeeded and there is no content to return
304 Not Modified There was no new data to return.
400 Bad Request The request was invalid or cannot be otherwise served. An accompanying error message will explain further. Requests without authentication are considered invalid and will yield this response.
401 Unauthorized Missing or incorrect authentication credentials. This may also returned in other undefined circumstances.
403 Forbidden The request is understood, but it has been refused or access is not allowed. An accompanying error message will explain why.
404 Not Found The URI requested is invalid or the resource requested, such as a user, does not exist.
500 Internal Server Error Something is broken. This is usually a temporary error, for example in a high-load situation or if an endpoint is temporarily having issues.
502 Bad Gateway The site is down, or being upgraded.
503 Service Unavailable The servers are up, but overloaded with requests. Try again later.
504 Gateway timeout The servers are up, but the request couldn’t be serviced due to some failure within the internal stack. Try again later.

Parameters

There are two different ways to pass parameters in a request with the API.

When passing parameters to create or update an object, parameters should be passed as a JSON or XML object containing the defined attribute names and values. To identify the preferred format, you should specify what data type you are sending in the header. This is done by setting the Content-Type header to application/json or application/xml. This ensures that your request is interpreted correctly.

When passing parameters to filter a response on GET requests or on some discrete non-update actions, parameters can be passed using query attributes. In this case, the parameters are embedded into the URI by appending a ? to the end of the URI and then setting each attribute with an equal sign. Multiple attributes can be separated with a &.

Authentication

In order to interact with the CONS3RT API, you or the application you are developing must authenticate.

Authorization is handled through the use of a special HTTP header and, in some cases, a client certificate.

  • username - the username associated with your account [If a certificate is being used for authentication, this field can be omitted]
  • token - the registered rest api token for a user within a given project

You can generate a unique API token for each of your Projects by visiting the Security section of the web interface for your account.

The combination of your secret API token and client certificate or username functions as a complete authentication request. In effect, it acts as a substitute for a username and password pair.

Because of this, it is absolutely essential that you keep your API tokens secure. Upon generation, the web interface will only display each token a single time in order to prevent the token from being compromised.

Frequently Asked Questions

Do I need an API token?

Yes, access to this interface requires an API token. Please visit the settings page more information.

What authentication is required?

All API calls require an active user account, user credentials (username or certificate depending on the site rules) and an API token.

How should calls be formatted?

When using the rest api, all calls must include the following fields in the form of headers:

  • username - the user's account in CONS3RT [If a certificate is being used for authentication, this field can be omitted]
  • token - the registered rest api token for a user within a given project

A Content-Type header may have to be used to indicate the type of content being submitted in the body of the call, for example application/xml, application/json, text/plain

Similarly, an Accept header can be used to indicate the from in which data shall be returned from the call, for example application/xml, application/json

How should data be formatted?

All API calls that require data in their message body should be formatted in either JSON or XML format.

Is there a specification format file for the API?

Yes, an OpenAPI 3.0 file file describing the ReST API can be found at the top of this page.

Change Log

24.6.0
Modified Delete Team Service User Group Endpoint:

Delete Team Service User Group now takes a User Group ID instead of Team Service Type and Group Name: DELETE /api/teams/{teamId}/services/groups/{groupId}

Removed Admin Only Endpoints:

These endpoints were inaccessable to users and have been removed.

Removed Deprecated Endpoints:

Software Bundles Endpoints:

–Update Software Bundle State (PUT api/software/bundles/{id}/updatestate)

–Update Software Bundle Visibility Query (PUT api/software/bundles/{id}/updatevisibility)

–Update Software Asset Bundle (PUT api/software/bundles/{id}/update)

–Add Software Bundle Trusted Project (PUT api/software/bundles/{id}/addtrustedproject)

–Remove Software Bundle Trusted Project (PUT api/software/bundles/{id}/removetrustedproject)

Software Endpoints:

–Add Software Trusted Project (PUT api/software/{id}/addtrustedproject)

–Download Software (GET api/software/{id}/download)

–List Software Dependent Assets (GET api/software/{id}/dependent)

–Remove Software TrustedProject (PUT api/software/{id}/removetrustedproject)

–Update Software State (PUT api/software/{id}/updatestate)

–Update Software Visibility Query (PUT api/software/{id}/updatevisibility)

–Update Software Asset Impact Level (PUT api/software/{id}/impactlevel)

–Update Software Asset (PUT api/software/{id}/update)

–Update Software Instance Limit (PUT api/software/{id}/limit)

–Itar Restrict Software Asset (PUT api/software/{id}/setitar)

–Import Software Asset (POST api/software/import)

–Update Software Asset Content (PUT api/software/{id}/updatecontent)

System Endpoints:

–Add System Trusted Project (PUT api/systems/{id}/addtrustedproject)

–Remove System Trusted Project (PUT api/systems/{id}/removetrustedproject)

–Update System State (PUT api/systems/{id}/updatestate)

–Update System Visibility Query (PUT api/systems/{id}/updatevisibility)

–Update System (PUT api/systems/{id}/update)

–List System Dependent Assets (GET api/systems/{id}/dependent)

Test Asset Endpoints:

–Add Test Asset Trusted Project (PUT api/testassets/{id}/addtrustedproject)

–Download Test Asset (GET api/testassets/{id}/download)

–Remove Test Asset Trusted Project (PUT api/testassets/{id}/removetrustedproject)

–Update Test Asset State (PUT api/testassets/{id}/updatestate)

–Update Test Asset Visibility Query (PUT api/testassets/{id}/updatevisibility)

–Update Test Asset Impact Level (PUT api/testassets/{id}/impactlevel)

–Update Test Asset (PUT api/testassets/{id}/update)

–Itar Restrict Test Asset (PUT api/testassets/{id}/setitar)

–Import Test Asset (POST api/testassets/import)

–Update Test Asset Content (PUT api/testassets/{id}/updatecontent)

User Endpoints:

–Get Pending Users (GET api/users/pending)

24.4.0
Added Team Service Requests:

Add User to Team Service: PUT /api/teams/{teamId}/services/{serviceType}/{userId}

Removes User From Team Service: DELETE /api/teams/{teamId}/services/{serviceType}/{userId}

Add User to Team Service Group: PUT /api/teams/{teamId}/services/{serviceType}/groups/{userId}/{tsugId}

Removes User From Team Service Group: DELETE /api/teams/{teamId}/services/{serviceType}/groups/{userId}/{tsugId}

Create Team Service User Group: POST /api/teams/{teamId}/services/{serviceType}/groups/{groupName}

Delete Team Service User Group: DELETE /api/teams/{teamId}/services/{serviceType}/groups/{groupName}

Lists Groups for Team Service: GET /api/teams/{teamId}/services/{serviceType}/groups

Lists Team Services For Team: GET /api/teams/{teamId}/services

Lists Users for Team Service: GET /api/teams/{teamId}/services/{serviceType}/users

Retrieve Team Service: GET /api/teams/{teamId}/services/{tsId}

Retrieve Team Service User Group: GET /api/teams/{teamId}/services/groups/{tsugId}

Clouds

Teams can register the Cloud Resources that they pay for directly (e.g. an AWS account). Some networks may have connectivity or firewall restriction so please contact support if you want to make one of these connections.

Team Managers can create Cloudspaces if they directly own the Cloud, and they are able to create and manage networks, enable remote access and adjust performance parameters.

Teams can also control which projects can access which Cloudspaces and which templates should be made available.

Allocate Virtualization Realm

Adds a Virtualization Realm as part of the specified Cloud.

Since this call results in the construction of a new Virtualization Realm, it has financial implications and should not be used if the user is not prepared to incur the expense of construction and existence of the newly created Virtualization Realm.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of cloud

Request Body schema:
required

The virtualization realm allocation information

cloudSpaceName
required
string [ 1 .. 25 ] characters
maximumVirtualMachines
integer <int32>
cidr
required
string [ 10 .. 16 ] characters
numAvailabilityZones
integer <int32>
powerOnMaximumDelay
integer <int32> >= 0
powerOnMinimumDelay
integer <int32> >= 0
subtype
required
string
natImageId
required
string
natInstanceType
required
string

Responses

Request samples

Content type
Example
{
  • "cloudSpaceName": "string",
  • "maximumVirtualMachines": 0,
  • "cidr": "stringstri",
  • "numAvailabilityZones": 0,
  • "powerOnMaximumDelay": 0,
  • "powerOnMinimumDelay": 0,
  • "subtype": "AwsCloudSpaceRequest",
  • "natImageId": "string",
  • "natInstanceType": "string"
}

Response samples

Content type
application/json
{
  • "virtualizationRealmType": "Amazon",
  • "id": 0,
  • "name": "string",
  • "state": "ACTIVE"
}

De-allocate Virtualization Realm

Removes an existing Virtualization Realm from the specified Cloud and destroys the resources in the back-end.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of cloud

query Parameters
virtRealmId
required
string

ID of virtualization realm

Responses

Response samples

Content type
application/json
true

Assign Virtualization Realm-managing Team

Assigns the provided Team as a Manager of the Virtualization Realm belonging to the specified Cloud.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of cloud

virtualizationRealmId
required
string

ID of virtualization realm

query Parameters
teamId
required
integer <int32>

ID of team to assign

Responses

Response samples

Content type
application/json
true

Unassign Manager from Team

Removes the provided Team as a Manager of the Virtualization Realm belonging to the specified Cloud.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of cloud

virtualizationRealmId
required
string

ID of virtualization realm

query Parameters
teamId
required
integer <int32>

ID of team to unassign

Responses

Response samples

Content type
application/json
true

Retrieve Cloud

Returns a single Cloud by the given ID.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of cloud

Responses

Response samples

Content type
application/json
Example
{
  • "cloudType": "AwsCloud",
  • "id": 0,
  • "name": "string",
  • "state": "ACTIVE",
  • "description": "string",
  • "externalIpAddresses": [
    ],
  • "externalIpSource": "ON_DEMAND",
  • "features": {
    },
  • "gpuTypes": [
    ],
  • "updateReposString": "string",
  • "maximumImpactLevel": "NONE",
  • "networks": [
    ],
  • "owningTeam": {
    },
  • "templateVirtualizationRealm": {
    },
  • "virtualizationRealms": [
    ],
  • "subtype": "FullAwsCloud",
  • "accessKey": "string",
  • "natImageId": "string",
  • "natInstanceType": "string",
  • "ownerId": "string",
  • "regionName": "string"
}

Update Cloud Content

Updates the content of a single Cloud with the given ID.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of cloud

Request Body schema:

The modified Cloud data

name
required
string
description
string
externalIpAddresses
Array of strings unique
Array of objects (Network) unique
object (Network)
externalIpSource
required
string
Enum: "ON_DEMAND" "POOL"
object (CloudFeatures)
gpuTypes
Array of strings unique
Items Enum: "A40" "K80" "M10" "M60" "P4" "P40" "RTX8000" "T4" "V100D"
updateReposString
string
maximumImpactLevel
required
string
Enum: "NONE" "FEDRAMP_LOW" "FEDRAMP_MODERATE_DOD_LEVEL_2" "FEDRAMP_HIGH_DOD_LEVEL_4" "DOD_LEVEL_5" "DOD_LEVEL_6"
required
object (InputTeam)
state
string
Enum: "ACTIVE" "ENTERING_MAINTENANCE" "MAINTENANCE"
object (MinimalVirtualizationRealm)
subtype
required
string
accessKey
required
string
encryptionKeyIdentifier
string
ownerId
required
string
regionName
required
string
secretAccessKey
required
string

Responses

Request samples

Content type
Example
{
  • "name": "string",
  • "description": "string",
  • "externalIpAddresses": [
    ],
  • "additionalNetworks": [
    ],
  • "cons3rtNetwork": {
    },
  • "externalIpSource": "ON_DEMAND",
  • "features": {
    },
  • "gpuTypes": [
    ],
  • "updateReposString": "string",
  • "maximumImpactLevel": "NONE",
  • "owningTeam": {
    },
  • "state": "ACTIVE",
  • "templateVirtualizationRealm": {
    },
  • "subtype": "InputAwsCloud",
  • "accessKey": "string",
  • "encryptionKeyIdentifier": "string",
  • "ownerId": "string",
  • "regionName": "string",
  • "secretAccessKey": "string"
}

Response samples

Content type
application/json
true

Delete Cloud

Deletes the content of a single Cloud with the given ID.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of cloud

Responses

Response samples

Content type
application/json
true

Update Maintenance Mode

Updates the Maintenance status for a single Cloud by the given ID.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of cloud

query Parameters
enable
boolean

Enable or disable maintenance mode

Request Body schema:

The maintenance mode request, when enabling maintenance mode

endDate
integer <int32>
message
string
timeout
integer <int32>

Responses

Request samples

Content type
{
  • "endDate": 0,
  • "message": "string",
  • "timeout": 0
}

Response samples

Content type
application/json
true

Retrieve Cloud Resources

Returns the back-end resources for a single Cloud by the given ID.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of cloud

Responses

Response samples

Content type
application/json
Example
{
  • "natInstanceTypes": [
    ],
  • "subtype": "AwsCloudResources",
  • "availabilityZoneNames": [
    ],
  • "natImageNames": [
    ],
  • "regionNames": [
    ]
}

List Clouds

Returns a collection of the Clouds you manage.

Authorizations:
APIKeyHeaderUsername
query Parameters
maxresults
integer <int64>
Default: 40

Maximum number of results to return

page
integer <int64>
Default: 0

Requested page number

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create Cloud

Creates a single Cloud.

Cloud Authority To Operate (ATO) Consent.

Teams are allowed to register their own Clouds and to use the site capabilities to allocate Cloudspaces, configure security, and deploy Systems & Services and/or access them remotely. However, without a Memorandum of Understanding (MOU) or Memorandum of Agreement (MOA) with the site owner, customer-owned Clouds and Cloudspaces are not covered by the site Authority To Operate (ATO). Customers are responsible for compliance with all DoD security requirements for protecting and maintaining their systems.

By setting cloudATOConsent to true, the user acknowledges that - as a Team Manager - they a) are authorized to represent their organization, and b) they understand that their organization is responsible for all security and authorization to operate requirements for Systems deployed in their Cloudspaces.

Authorizations:
APIKeyHeaderUsername
query Parameters
cloudATOConsent
boolean
Default: false

Cloud ATO consent

Request Body schema:

The Cloud to create

name
required
string
description
string
externalIpAddresses
Array of strings unique
Array of objects (Network) unique
object (Network)
externalIpSource
required
string
Enum: "ON_DEMAND" "POOL"
object (CloudFeatures)
gpuTypes
Array of strings unique
Items Enum: "A40" "K80" "M10" "M60" "P4" "P40" "RTX8000" "T4" "V100D"
updateReposString
string
maximumImpactLevel
required
string
Enum: "NONE" "FEDRAMP_LOW" "FEDRAMP_MODERATE_DOD_LEVEL_2" "FEDRAMP_HIGH_DOD_LEVEL_4" "DOD_LEVEL_5" "DOD_LEVEL_6"
required
object (InputTeam)
state
string
Enum: "ACTIVE" "ENTERING_MAINTENANCE" "MAINTENANCE"
object (MinimalVirtualizationRealm)
subtype
required
string
accessKey
required
string
encryptionKeyIdentifier
string
ownerId
required
string
regionName
required
string
secretAccessKey
required
string

Responses

Request samples

Content type
Example
{
  • "name": "string",
  • "description": "string",
  • "externalIpAddresses": [
    ],
  • "additionalNetworks": [
    ],
  • "cons3rtNetwork": {
    },
  • "externalIpSource": "ON_DEMAND",
  • "features": {
    },
  • "gpuTypes": [
    ],
  • "updateReposString": "string",
  • "maximumImpactLevel": "NONE",
  • "owningTeam": {
    },
  • "state": "ACTIVE",
  • "templateVirtualizationRealm": {
    },
  • "subtype": "InputAwsCloud",
  • "accessKey": "string",
  • "encryptionKeyIdentifier": "string",
  • "ownerId": "string",
  • "regionName": "string",
  • "secretAccessKey": "string"
}

Response samples

Content type
application/json
"string"

Retrieve Default Network

Returns the default CONS3RT Network definition used by all Clouds.

Authorizations:
APIKeyHeaderUsername

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "isolated": true,
  • "boundaryIpAddress": "string",
  • "cidr": "stringstri",
  • "description": "string",
  • "dnatRules": [
    ],
  • "firewallRules": [
    ],
  • "networkFunction": "CONS3RT",
  • "name": "string"
}

List Edge Gateways

Returns a collection of the Edge Gateway IP addresses belonging to the specified Cloud.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of cloud

Responses

Response samples

Content type
application/json
[
  • "string"
]

List Virtualization Realms

Returns a collection of the Virtualization Realms belonging to the specified Cloud.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of cloud

query Parameters
maxresults
integer <int64>
Default: 40

Maximum number of results to return

page
integer <int64>
Default: 0

Requested page number

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Update Virtualization Realm

Updates the content of a single Virtualization Realm within the specified Cloud.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of cloud

query Parameters
virtRealmId
required
string

ID of virtualization realm

Request Body schema:
required

The modified virtualization realm information

virtualizationRealmType
string
accessPoint
string
accountId
required
string
cidr
required
string [ 10 .. 16 ] characters
defaultWindowsDomainName
string
description
required
string
id
integer <int32>
localStorageName
string
maximumNumCpus
integer <int32> >= 0
maximumNumGpus
integer <int32> >= 0
maximumRamInMegabytes
integer <int32> >= 0
maximumStorageInMegabytes
integer <int32> >= 0
maximumVirtualMachines
integer <int32> >= 0
name
required
string
password
required
string
powerOnDelayBase
integer <int64>
powerOnInitialDelayBase
integer <int32>
powerOnMaximumDelay
integer <int32> >= 0
powerOnMinimumDelay
integer <int32> >= 0
object (RemoteAccessConfig)
state
string
Enum: "ACTIVE" "ENTERING_MAINTENANCE" "INACTIVE" "MAINTENANCE" "PENDING" "REQUESTED" "RETIRED"
username
required
string
zoneCount
integer <int32>
region
required
string
vpcId
required
string

Responses

Request samples

Content type
Example
{
  • "virtualizationRealmType": "InputAwsVirtualizationRealm",
  • "accessPoint": "string",
  • "accountId": "string",
  • "cidr": "stringstri",
  • "defaultWindowsDomainName": "string",
  • "description": "string",
  • "id": 0,
  • "localStorageName": "string",
  • "maximumNumCpus": 0,
  • "maximumNumGpus": 0,
  • "maximumRamInMegabytes": 0,
  • "maximumStorageInMegabytes": 0,
  • "maximumVirtualMachines": 0,
  • "name": "string",
  • "password": "string",
  • "powerOnDelayBase": 0,
  • "powerOnInitialDelayBase": 0,
  • "powerOnMaximumDelay": 0,
  • "powerOnMinimumDelay": 0,
  • "remoteAccessConfig": {
    },
  • "state": "ACTIVE",
  • "username": "string",
  • "zoneCount": 0,
  • "region": "string",
  • "vpcId": "string"
}

Response samples

Content type
application/json
true

Register Virtualization Realm

Adds an existing Virtualization Realm as part of the specified Cloud

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of cloud

Request Body schema:
required

The virtualization realm registration information

virtualizationRealmType
required
string
name
required
string [ 3 .. 25 ] characters
description
string
accessPoint
string [ 7 .. 18 ] characters
activeAfterRegistration
boolean
additionalNetworkNames
Array of strings unique
cons3rtNetworkName
required
string
maximumNumCpus
integer <int32> >= 0
maximumNumGpus
integer <int32> >= 0
maximumRamInMegabytes
integer <int32> >= 0
maximumStorageInMegabytes
integer <int32> >= 0
maximumVirtualMachines
integer <int32> >= 0
powerOnMinimumDelay
integer <int32> >= 0
powerOnMaximumDelay
integer <int32> >= 0
password
required
string
powerOnInitialDelayBase
integer <int32> >= 0
primaryNetworkName
required
string
object (RemoteAccessConfig)
username
required
string
accountId
required
string
region
required
string
vpcId
required
string
userKeyName
string
required
object

Responses

Request samples

Content type
Example
{
  • "virtualizationRealmType": "AwsRegisterCloudSpaceRequest",
  • "name": "string",
  • "description": "string",
  • "accessPoint": "strings",
  • "activeAfterRegistration": true,
  • "additionalNetworkNames": [
    ],
  • "cons3rtNetworkName": "string",
  • "maximumNumCpus": 0,
  • "maximumNumGpus": 0,
  • "maximumRamInMegabytes": 0,
  • "maximumStorageInMegabytes": 0,
  • "maximumVirtualMachines": 0,
  • "powerOnMinimumDelay": 0,
  • "powerOnMaximumDelay": 0,
  • "password": "string",
  • "powerOnInitialDelayBase": 0,
  • "primaryNetworkName": "string",
  • "remoteAccessConfig": {
    },
  • "username": "string",
  • "accountId": "string",
  • "region": "string",
  • "vpcId": "string",
  • "userKeyName": "string",
  • "networkSecurityGroupMap": {
    }
}

Response samples

Content type
application/json
0
0

Unregister Virtualization Realm

Removes an existing Virtualization Realm from the specified Cloud.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of cloud

query Parameters
virtRealmId
required
string

ID of virtualization realm

Responses

Response samples

Content type
application/json
true

Update Impact Level

Updates the maximum Impact Level of the Cloud with the given ID.

If specified, this value will prevent Deployments containing Assets whose declared Impact Level is greater than the maximum allowed Impact Level from being run in this Virtualization Realm.

Maximum Impact Level can only be set to DOD_LEVEL_6 if allowed in the environment.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of cloud

query Parameters
maximumimpactlevel
required
string
Enum: "NONE" "FEDRAMP_LOW" "FEDRAMP_MODERATE_DOD_LEVEL_2" "FEDRAMP_HIGH_DOD_LEVEL_4" "DOD_LEVEL_5" "DOD_LEVEL_6"

The maximum impact level type.

Responses

Response samples

Content type
application/json
true

Assign Project

Provides members of the Project with access to the specified Virtualization Realm

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of virtualization realm

query Parameters
projectId
required
string

ID of project to assign

Responses

Response samples

Content type
application/json
0
0

Update Virtualization Realm

Updates the content of a single Virtualization Realm with the given ID.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of virtualization realm

Request Body schema:

The updated Virtualization Realm data

virtualizationRealmType
required
string
id
integer <int32>
Array of objects (InputVirtualizationRealmNetwork) = 1 items unique
cidr
required
string [ 10 .. 16 ] characters
object (InputVirtualizationRealmNetwork)
defaultWindowsDomainName
string
description
required
string
name
required
string
powerOnDelayBase
integer <int64>
powerOnInitialDelayBase
integer <int32>
powerOnMaximumDelay
integer <int32> >= 0
powerOnMinimumDelay
integer <int32> >= 0

Responses

Request samples

Content type
Example
{
  • "virtualizationRealmType": "InputVRAdminAwsVirtualizationRealm",
  • "id": 0,
  • "additionalNetworks": [
    ],
  • "cidr": "stringstri",
  • "cons3rtNetwork": {
    },
  • "defaultWindowsDomainName": "string",
  • "description": "string",
  • "name": "string",
  • "powerOnDelayBase": 0,
  • "powerOnInitialDelayBase": 0,
  • "powerOnMaximumDelay": 0,
  • "powerOnMinimumDelay": 0
}

Response samples

Content type
application/json
true

Virtualization Realms

A Virtualization Realm is the segment of the Cloud into which a user launches their Deployments.

A Team Manager can allocate one or more new Virtualization Realms within one of the Clouds that their Team owns.

Additionally, a CONS3RT-allocated Virtualization Realm include the following security features by default: Credentials, Virtualization Realm-specific Network, Firewalls, Network/Port Address Translation (NAT/PAT), Edge Gateways, and secure Remote Access (RDP, VNC, or SSH).

A Team Manager can enable additional Virtualization Realm security.

Each CONS3RT Virtualization Realm has two networks by default: the cons3rt-net for use by CONS3RT and the user-net, for use by the user.

List Networks

Returns a collection of the Networks in the specified Virtualization Realm.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of virtualization realm

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Allocate Network

Adds a Network to the specified Virtualization Realm.

Since this call results in the construction of a new, back-end Network it has financial implications and should not be used if the user is not prepared to incur the expense of construction and existence of the newly created Network.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of virtualization realm

Request Body schema:
required

The network allocation information

required
object (Network)
subtype
required
string
natInstanceType
required
string
natImageId
required
string

Responses

Request samples

Content type
Example
{
  • "network": {
    },
  • "subtype": "AddAwsNetworkRequest",
  • "natInstanceType": "string",
  • "natImageId": "string"
}

Response samples

Content type
application/json
{
  • "virtualizationRealmType": "Amazon",
  • "id": 0,
  • "name": "string",
  • "state": "ACTIVE"
}

List Projects

Returns a collection of the Projects allowed to access to the specified Virtualization Realm.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of virtualization realm

query Parameters
maxresults
integer <int64>
Default: 40

Maximum number of results to return

page
integer <int64>
Default: 0

Requested page number

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Assign Project

Provides members of the Project with access to the specified Virtualization Realm

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of virtualization realm

query Parameters
projectId
required
string

ID of project to assign

Responses

Response samples

Content type
application/json
0
0

Unassign Project

Revokes Project member access to the specified Virtualization Realm.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of virtualization realm

query Parameters
projectId
required
string

ID of project to unassign

Responses

Response samples

Content type
application/json
true

List Template Subscriptions

Returns a collection of the Template Subscriptions in the specified Virtualization Realm.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
integer <int32>

ID of virtualization realm

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create Template Subscription

Creates a Template Subscription in the specified Virtualization Realm.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
integer <int32>

ID of virtualization realm

query Parameters
registration_id
required
integer <int32>

ID of template registration

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "maxNumCpus": 0,
  • "maxRamInMegabytes": 0,
  • "state": "IN_DEVELOPMENT",
  • "subscribingVirtualizationRealm": {
    },
  • "templateRegistration": {
    },
  • "templateUuid": "294cf320-50fb-4b16-93b5-8b101f7bffe4"
}

Retrieve Network

Returns a single Network in the specified Virtualization Realm.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of virtualization realm

networkId
required
integer <int32>

ID of network

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "isolated": true,
  • "boundaryIpAddress": "string",
  • "cidr": "stringstri",
  • "description": "string",
  • "dnatRules": [
    ],
  • "firewallRules": [
    ],
  • "networkFunction": "CONS3RT",
  • "name": "string"
}

Delete Network

Removes an existing Network from the specified Virtualization Realm.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of virtualization realm

networkId
required
integer <int32>

ID of network

query Parameters
deallocate
boolean
Default: false

Attempt to delete all back-end resources

Responses

Response samples

Content type
application/json
true

Retrieve Template Subscription

Returns a single Template Subscription in the specified Virtualization Realm.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
integer <int32>

ID of virtualization realm

subscription_id
required
integer <int32>

ID of template subscription

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "maxNumCpus": 0,
  • "maxRamInMegabytes": 0,
  • "state": "IN_DEVELOPMENT",
  • "subscribingVirtualizationRealm": {
    },
  • "templateRegistration": {
    },
  • "templateUuid": "294cf320-50fb-4b16-93b5-8b101f7bffe4"
}

Update Template Subscription

Updates the Template Subscription for a single Virtualization Realm by the given ID.

Note: The state of a Template Subscription can only be set to OFFLINE or PUBLISHED.

Note: The limits of a Template subscription (CPU, RAM, etc.) cannot exceed the value included in the Registration.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
integer <int32>

ID of virtualization realm

subscription_id
required
integer <int32>

ID of template subscription

query Parameters
offline
boolean
Default: false

The desired template subscription state

Request Body schema:
required

The modified template subscription data

state
string
Enum: "IN_DEVELOPMENT" "CERTIFIED" "DEPRECATED" "RETIRED"
allowGpuUsage
boolean
maxNumCpus
integer <int32>
maxRamInMegabytes
integer <int32>

Responses

Request samples

Content type
{
  • "state": "IN_DEVELOPMENT",
  • "allowGpuUsage": true,
  • "maxNumCpus": 0,
  • "maxRamInMegabytes": 0
}

Response samples

Content type
application/json
true

Delete Template Subscription

Removes an existing Template Subscription from the specified Virtualization Realm.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
integer <int32>

ID of virtualization realm

subscription_id
required
integer <int32>

ID of template subscription

Responses

Response samples

Content type
application/json
true

Update Remote Access

Updates the Remote Access configuration for a single Virtualization Realm by the given ID.

Note: remoteAccessIpAddress cannot be updated if the Virtualization Realm's Remote Access is currently enabled.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of virtualization realm

Request Body schema:
required

The updated remote access configuration

id
integer <int32>
remoteAccessIpAddress
required
string
instanceType
required
string
Enum: "LARGE" "MEDIUM" "SMALL"
rdpProxyClientEnabled
boolean
remoteAccessHost
required
string
remoteAccessPort
required
integer <int32>
templateName
string

Responses

Request samples

Content type
{
  • "id": 0,
  • "remoteAccessIpAddress": "string",
  • "instanceType": "LARGE",
  • "rdpProxyClientEnabled": true,
  • "remoteAccessHost": "string",
  • "remoteAccessPort": 0,
  • "templateName": "string"
}

Response samples

Content type
application/json
true

Enable Remote Access

Enables Remote Access for a single Virtualization Realm by the given ID.

To do so, Remote Access must be configured for the Virtualization Realm.

If no instanceType is provided, the Instance Type will first attempt to use the value from the Virtualization Realm's Remote Access config.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of virtualization realm

query Parameters
instanceType
string
Enum: "LARGE" "MEDIUM" "SMALL"

Remote access server instance type

Responses

Response samples

Content type
application/json
true

Disable Remote Access

Disables Remote Access for a single Virtualization Realm by the given ID.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of virtualization realm

Responses

Response samples

Content type
application/json
true

Update Maintenance Mode

Updates the maintenance status for a single Virtualization Realm by the given ID.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of virtualization realm

query Parameters
enable
boolean

Enable or disable maintenance mode

Request Body schema:

The maintenance mode request, when enabling maintenance mode

endDate
integer <int32>
message
string
timeout
integer <int32>

Responses

Request samples

Content type
{
  • "endDate": 0,
  • "message": "string",
  • "timeout": 0
}

Response samples

Content type
application/json
true

List Deployment Runs

Returns a collection of the Deployment Runs launched into the specified Virtualization Realm.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of virtualization realm

query Parameters
search_type
required
string
Default: "SEARCH_ALL"
Enum: "SEARCH_ACTIVE" "SEARCH_ALL" "SEARCH_AVAILABLE" "SEARCH_COMPOSING" "SEARCH_DECOMPOSING" "SEARCH_INACTIVE" "SEARCH_PROCESSING" "SEARCH_SCHEDULED" "SEARCH_TESTING" "SEARCH_SCHEDULED_AND_ACTIVE"

Deployment run status type

maxresults
integer <int64>
Default: 40

Maximum number of results to return

page
integer <int64>
Default: 0

Requested page number

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve Metrics

Returns metric data for Deployment Runs launched into the specified Virtualization Realm.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of virtualization realm

query Parameters
start
required
integer <int64>

Interval start time, specified in seconds since epoch

end
required
integer <int64>

Interval end time, specified in seconds since epoch

interval
integer <int64>
Default: 1

Number of intervals

intervalUnit
string
Default: "HOURS"
Enum: "Nanos" "Micros" "Millis" "Seconds" "Minutes" "Hours" "HalfDays" "Days" "Weeks" "Months" "Years" "Decades" "Centuries" "Millennia" "Eras" "Forever"

Interval unit

Responses

Response samples

Content type
application/json
"string"

List Templates

Returns a collection of the Templates in the specified Virtualization Realm.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
integer <int32>

ID of virtualization realm

query Parameters
include_registrations
boolean
Default: true

Include templates registered to the virtualization realm

include_subscriptions
boolean
Default: false

Include templates subscribed to by the virtualization realm

Responses

Response samples

Content type
application/json
[
  • {
    }
]

List Unregistered Networks

Returns a collection of the unregistered, back-end Networks in the specified Virtualization Realm.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of virtualization realm

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve Virtual Machine Metrics

Returns metric data for Virtual Machines launched into the specified Virtualization Realm.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of virtualization realm

query Parameters
start
required
integer <int64>

Interval start time, specified in seconds since epoch

end
required
integer <int64>

Interval end time, specified in seconds since epoch

interval
integer <int64>
Default: 1

Number of intervals

intervalUnit
string
Default: "HOURS"
Enum: "Nanos" "Micros" "Millis" "Seconds" "Minutes" "Hours" "HalfDays" "Days" "Weeks" "Months" "Years" "Decades" "Centuries" "Millennia" "Eras" "Forever"

Interval unit

Responses

Response samples

Content type
application/json
"string"

Retrieve Virtualization Realm

Returns a single Virtualization Realm by the given ID.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of virtualization realm

Responses

Response samples

Content type
application/json
Example
{
  • "virtualizationRealmType": "FullAwsVirtualizationRealm",
  • "id": 0,
  • "name": "string",
  • "state": "ACTIVE",
  • "accessPoint": "string",
  • "accountId": "string",
  • "activeVirtualMachines": 0,
  • "networks": [
    ],
  • "adminUsers": [
    ],
  • "allocated": true,
  • "cloud": {
    },
  • "createdAt": 0,
  • "dateLastReachable": 0,
  • "description": "string",
  • "defaultWindowsDomainName": "string",
  • "localStorageName": "string",
  • "maximumImpactLevel": "NONE",
  • "maximumNumCpus": 0,
  • "maximumNumGpus": 0,
  • "maximumRamInMegabytes": 0,
  • "maximumStorageInMegabytes": 0,
  • "maximumVirtualMachines": 0,
  • "powerOnDelayBase": 0,
  • "powerOnInitialDelayBase": 0,
  • "powerOnMinimumDelay": 0,
  • "projects": [
    ],
  • "reachable": true,
  • "remoteAccessConfig": {
    },
  • "remoteAccessDeploymentId": 0,
  • "remoteAccessDeploymentRunStatus": "UNKNOWN",
  • "remoteAccessStatus": "ENABLING",
  • "supportedFeatures": [
    ],
  • "templateRegistrations": [
    ],
  • "templates": [
    ],
  • "templateSubscriptions": [
    ],
  • "updatedAt": 0,
  • "username": "string",
  • "zoneCount": 0,
  • "natImageId": "string",
  • "natInstanceType": "string",
  • "region": "string",
  • "securityGroupId": "string",
  • "virtualNetworkName": "string",
  • "vpcId": "string",
  • "vpcSubnetName": "string"
}

Update Virtualization Realm

Updates the content of a single Virtualization Realm with the given ID.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of virtualization realm

Request Body schema:

The updated Virtualization Realm data

virtualizationRealmType
required
string
id
integer <int32>
Array of objects (InputVirtualizationRealmNetwork) = 1 items unique
cidr
required
string [ 10 .. 16 ] characters
object (InputVirtualizationRealmNetwork)
defaultWindowsDomainName
string
description
required
string
name
required
string
powerOnDelayBase
integer <int64>
powerOnInitialDelayBase
integer <int32>
powerOnMaximumDelay
integer <int32> >= 0
powerOnMinimumDelay
integer <int32> >= 0

Responses

Request samples

Content type
Example
{
  • "virtualizationRealmType": "InputVRAdminAwsVirtualizationRealm",
  • "id": 0,
  • "additionalNetworks": [
    ],
  • "cidr": "stringstri",
  • "cons3rtNetwork": {
    },
  • "defaultWindowsDomainName": "string",
  • "description": "string",
  • "name": "string",
  • "powerOnDelayBase": 0,
  • "powerOnInitialDelayBase": 0,
  • "powerOnMaximumDelay": 0,
  • "powerOnMinimumDelay": 0
}

Response samples

Content type
application/json
true

Retrieve Virtualization Realm Resources

Returns the back-end resources for a single Virtualization Realm by the given ID.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of virtualization realm

Responses

Response samples

Content type
application/json
Example
{
  • "natInstanceTypes": [
    ],
  • "subtype": "AwsCloudResources",
  • "availabilityZoneNames": [
    ],
  • "natImageNames": [
    ],
  • "regionNames": [
    ]
}

List Virtualization Realms

Returns a collection of the Virtualization Realms that the user manages.

Authorizations:
APIKeyHeaderUsername
query Parameters
maxresults
integer <int64>
Default: 40

Maximum number of results to return

page
integer <int64>
Default: 0

Requested page number

Responses

Response samples

Content type
application/json
[
  • {
    }
]

List Template Registrations

Returns a collection of the Template Registrations in the specified Virtualization Realm.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
integer <int32>

ID of virtualization realm

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Refresh Template Cache

Forces the back-end Template data to be re-read in the specified Virtualization Realm.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
integer <int32>

ID of virtualization realm

Responses

Response samples

Content type
application/json
true

Register Template

Adds an existing back-end Template to the specified Virtualization Realm.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
integer <int32>

ID of virtualization realm

Request Body schema:

The template registration data

object (InputVirtualizationRealmClient)
required
object (InputCons3rtTemplateData)

Responses

Request samples

Content type
{
  • "client": {
    },
  • "templateData": {
    }
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "registeringVirtualizationRealm": {
    },
  • "state": "IN_DEVELOPMENT",
  • "subscriptions": [
    ],
  • "templateData": {
    },
  • "templateUuid": "294cf320-50fb-4b16-93b5-8b101f7bffe4",
  • "virtRealmsSharedTo": [
    ]
}

List Pending Subscriptions

Returns a collection of the pending Template Subscriptions in the specified Virtualization Realm.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
integer <int32>

ID of virtualization realm

Responses

Response samples

Content type
application/json
[
  • {
    }
]

List Unregistered Templates

Returns a collection of the unregistered, back-end Templates in the specified Virtualization Realm.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
integer <int32>

ID of virtualization realm

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Register Network

Adds an existing, back-end Network the specified Virtualization Realm.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of virtualization realm

networkIdentifier
required
string

Back-end network identifier

Responses

Response samples

Content type
application/json
true

Retrieve Template Registration

Returns a single Template Registration in the specified Virtualization Realm.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
integer <int32>

ID of virtualization realm

registration_id
required
integer <int32>

ID of template registration

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "registeringVirtualizationRealm": {
    },
  • "state": "IN_DEVELOPMENT",
  • "subscriptions": [
    ],
  • "templateData": {
    },
  • "templateUuid": "294cf320-50fb-4b16-93b5-8b101f7bffe4",
  • "virtRealmsSharedTo": [
    ]
}

Update Template Registration

Updates the Template Registration for a single Virtualization Realm by the given ID.

Note: The state of a Template Registration can only be set to OFFLINE or PUBLISHED.

Note: All fields in Template data are honored on update, therefore any configuration that is desired in the updated Registration should be provided.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
integer <int32>

ID of virtualization realm

registration_id
required
integer <int32>

ID of template registration

query Parameters
offline
boolean
Default: false

The desired template registration state

Request Body schema:
required

The modified template registration data

displayName
string
virtRealmTemplateName
required
string
operatingSystem
required
string
Enum: "AMAZON_LINUX_2022_X64" "AMAZON_LINUX_2023_X64" "AMAZON_LINUX_2_LATEST_X64" "AMAZON_LINUX_LATEST_X64" "CENTOS_6_X64" "CENTOS_7_X64" "CENTOS_8_X64" "CORE_OS_1221_X64" "F5_BIGIP_X64" "FEDORA_23_X64" "FEDORA_CORE_OS_X64" "FEDORA_LATEST_X64" "FORTISIEM" "GENERIC_LINUX_X64" "GENERIC_WINDOWS_X64" "KALI_ROLLING_X64" "ORACLE_LINUX_6_X64" "ORACLE_LINUX_7_X64" "ORACLE_LINUX_8_X64" "OS_X_10" "OS_X_11" "PALO_ALTO_NETWORKS_PAN_OS_X64" "RASPBIAN" "REDHAT_CORE_OS_X64" "RHEL_6_X64" "RHEL_7_ATOMIC_HOST" "RHEL_7_PPCLE" "RHEL_7_X64" "RHEL_8_X64" "RHEL_9_X64" "SOLARIS_11_X64" "UBUNTU_14_X64" "UBUNTU_16_X64" "UBUNTU_18_X64" "UBUNTU_20_X64" "UBUNTU_22_X64" "UBUNTU_CORE" "VYOS_1_1_X64" "VYOS_1_2_X64" "VYOS_1_3_X64" "VYOS_ROLLING_X64" "WINDOWS_10_X64" "WINDOWS_11_X64" "WINDOWS_7_X64" "WINDOWS_7_X86" "WINDOWS_8_X64" "WINDOWS_SERVER_2008_R2_X64" "WINDOWS_SERVER_2012_R2_X64" "WINDOWS_SERVER_2012_X64" "WINDOWS_SERVER_2016_X64" "WINDOWS_SERVER_2019_CORE_X64" "WINDOWS_SERVER_2019_X64" "WINDOWS_SERVER_2022_X64" "WINDOWS_SERVER_2022_CORE_X64" "WINDOWS_XP_X86"
cons3rtAgentInstalled
boolean
containerCapable
boolean
Array of objects (InputDiskForTemplate) unique
license
string
maxNumCpus
integer <int32>
maxRamInMegabytes
integer <int64>
note
string
packageManagementType
string
Enum: "APP_STORE" "APT_GET" "DNF" "DOCKER" "NONE" "PKGADD" "RPM_OSTREE" "SNAP" "YUM"
powerOnDelayOverride
integer <int32>
powerShellVersion
string
Enum: "NONE" "POWERSHELL_1_0" "POWERSHELL_2_0" "POWERSHELL_3_0" "POWERSHELL_4_0" "POWERSHELL_5_0" "POWERSHELL_6_0"
serviceManagementType
string
Enum: "SYSTEMD" "INITD" "LAUNCHD" "UNKNOWN" "UPDATE_RC" "UPSTART" "WINDOWS"
Array of objects (InputRemoteAccessTemplate) unique

Responses

Request samples

Content type
{
  • "displayName": "string",
  • "virtRealmTemplateName": "string",
  • "operatingSystem": "AMAZON_LINUX_2022_X64",
  • "cons3rtAgentInstalled": true,
  • "containerCapable": true,
  • "disks": [
    ],
  • "license": "string",
  • "maxNumCpus": 0,
  • "maxRamInMegabytes": 0,
  • "note": "string",
  • "packageManagementType": "APP_STORE",
  • "powerOnDelayOverride": 0,
  • "powerShellVersion": "NONE",
  • "serviceManagementType": "SYSTEMD",
  • "remoteAccessTemplates": [
    ]
}

Response samples

Content type
application/json
true

Delete Template Registration

Removes an existing Template Registration from the specified Virtualization Realm.

Note: Unregistering a Template will remove all subscriptions to the Template from other Virtualization Realms.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
integer <int32>

ID of virtualization realm

registration_id
required
integer <int32>

ID of template registration

Request Body schema:
required

The deletion settings

removeSubscriptions
required
boolean
object (InputVirtualizationRealmClient)

Responses

Request samples

Content type
{
  • "removeSubscriptions": true,
  • "client": {
    }
}

Response samples

Content type
application/json
true

Update State

Updates the active State for a single Virtualization Realm by the given ID.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of virtualization realm

query Parameters
activate
required
boolean

Activate or deactivate virtualization realm

Responses

Response samples

Content type
application/json
true

Share Template

Shares an existing Template Registration in the specified Virtualization Realm to the provided external Virtualization Realm(s).

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
integer <int32>

ID of virtualization realm

registration_id
required
integer <int32>

ID of template registration

query Parameters
target_realm_ids
required
Array of integers <int32> [ items <int32 > ]

ID(s) of external virtualization realms to share template registration with

Responses

Response samples

Content type
application/json
true

Unshare Template

Revokes access to a Template Registration in the specified Virtualization Realm by the provided external Virtualization Realm.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
integer <int32>

ID of virtualization realm

registration_id
required
integer <int32>

ID of template registration

query Parameters
target_realm_id
required
integer <int32>

ID of external virtualization realm to revoke template registration access for

Responses

Response samples

Content type
application/json
true

updateVirtualizationRealmReachability

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of virtualization realm

Responses

Response samples

Content type
true

Deployment Runs

When a user clicks Launch on one of their Deployments, they create a Deployment Run.

Once provisioned, a Deployment Run will allow a user to access any Assets within the Run, including Tests and Virtual Machines.

Assign Category to Run

Assigns the Category as a filter tag to the provided Deployment Run.

Altering the Category will affect future Run filtering.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of category

query Parameters
runid
required
string

ID of run to assign

Responses

Response samples

Content type
application/json
true

Unassign Category from deployment run

Removes the Category as a filter tag from the provided Run.

Altering the Category will affect future run filtering.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of category

query Parameters
runid
required
string

ID of run to unassign

Responses

Response samples

Content type
application/json
true

List Deployment Runs

Returns a collection of the Deployment Runs for a single Deployment.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of deployment

query Parameters
maxresults
integer <int64>
Default: 40

Maximum number of results to return

page
integer <int64>
Default: 0

Requested page number

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get Host Identity For User

Returns the deployment run host identity for the user, if one exists.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of deployment run

hostid
required
string

ID of host

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a host identity

Creates an identity for the deployment run host with access to the resources requested by the user

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of deployment run

hostid
required
string

ID of host

Request Body schema: */*
required

The cloud resources to be accessed by the host identity

Array
type
required
string
Value: "BUCKET"
name
string
identifier
required
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Delete host identity

Deletes the identity of a deployment run host.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of deployment run

hostid
required
string

ID of host

Responses

Response samples

Content type
application/json
true

Deletes identity for specified user

Deletes an identity for a user specified by name

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of deployment run

hostid
required
string

ID of host

username
required
string

Username of the identity to be deleted

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Download Report

Downloads a single Test Report for the specified Deployment Run.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of deployment run

query Parameters
file
string

Report file name

number
string

Report number

Responses

Download Host

Downloads a single Host Bundle for the specified Deployment Run.

Based on the background flag, the download will either be done in the foreground (false), background (true), or be determined by asset size (no value).

If the background flag is set to true (or no value for the background flag is provided), and the host is larger than the site threshold, it will be prepared for download in the background and an email with a link to retrieve the asset will be sent.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of deployment run

query Parameters
role
required
string

Name of host to bundle for download

background
boolean
Default: false

Force the download to happen in the background

Responses

Download RDP file for enabled host

Downloads the RDP file for connecting to the specified host.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of deployment run

hostid
required
string

ID of host

Responses

Response samples

Content type
application/json
true

Retrieve Deployment Run

Returns a single Deployment Run by the given ID.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of deployment run

Responses

Response samples

Content type
application/json
{
  • "categories": [
    ],
  • "creator": {
    },
  • "earliestStartTime": 0,
  • "endTime": 0,
  • "leaseTime": 0,
  • "estimatedReadyTime": 0,
  • "estimatedStartTime": 0,
  • "id": 0,
  • "logEntries": [
    ],
  • "message": "string",
  • "project": {
    },
  • "readyTime": 0,
  • "result": "string",
  • "startTime": 0,
  • "timeOfRequest": 0,
  • "canceled": true,
  • "deployedByVersion": "string",
  • "deployment": {
    },
  • "deploymentRunHosts": [
    ],
  • "properties": [
    ],
  • "deploymentRunStatus": "UNKNOWN",
  • "description": "string",
  • "fapStatus": "REQUESTED",
  • "hostSetName": "string",
  • "locked": true,
  • "name": "string",
  • "powerSchedule": {
    },
  • "recurringSchedule": {
    },
  • "schedulerStatusMessage": "string",
  • "targetState": "UNKNOWN_STATE",
  • "testError": true,
  • "testRuns": [
    ],
  • "retainedOnError": true,
  • "virtualizationRealm": {
    },
  • "deploymentRunResultType": "ERROR"
}

List Reports

Returns a collection of the Test Reports for a single Deployment Run.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of deployment run

Responses

Response samples

Content type
application/json
[
  • "string"
]

List Deployment Runs

Returns a collection of the user's relevant Deployment Runs matching a specified query.

Authorizations:
APIKeyHeaderUsername
query Parameters
search_type
required
string
Enum: "SEARCH_ACTIVE" "SEARCH_ALL" "SEARCH_AVAILABLE" "SEARCH_COMPOSING" "SEARCH_DECOMPOSING" "SEARCH_INACTIVE" "SEARCH_PROCESSING" "SEARCH_SCHEDULED" "SEARCH_TESTING" "SEARCH_SCHEDULED_AND_ACTIVE"

Deployment run status

in_project
boolean
Default: false

Include project runs

maxresults
integer <int64>
Default: 40

Maximum number of results to return

page
integer <int64>
Default: 0

Requested page number

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve Host

Returns the specified Host in the Deployment Run by the given ID.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of deployment run

hostid
required
string

ID of host

Responses

Response samples

Content type
application/json
{
  • "buildOrder": 0,
  • "createdPassword": "string",
  • "createdUsername": "string",
  • "defaultPassword": "string",
  • "defaultUsername": "string",
  • "disks": [
    ],
  • "fapStatus": "REQUESTED",
  • "gpuProfile": "A40_4Q",
  • "gpuType": "A40",
  • "hostActionInProcess": true,
  • "hostname": "string",
  • "id": 0,
  • "installations": [
    ],
  • "instanceTypeName": "string",
  • "nestedVirtualization": true,
  • "networkInterfaces": [
    ],
  • "numCpus": 0,
  • "physicalMachineDataOrTemplateUuid": "16f4a87f-108c-44da-b902-c9d9e4ac1dc1",
  • "physicalMachineOrTemplateName": "string",
  • "published": true,
  • "ram": 0,
  • "snapshotAvailable": true,
  • "snapshotDate": 0,
  • "systemModuleId": 0,
  • "systemModuleType": "Appliance",
  • "systemRole": "string",
  • "VirtualizationRealmStatus": "UNKNOWN",
  • "virtual": true,
  • "provisionable": true
}

List Host Access Logs

Returns a collection of the Host Access Logs for a single Deployment Run.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of deployment run

hostid
required
string

ID of host

query Parameters
maxresults
integer <int64>
Default: 40

Maximum number of results to return

page
integer <int64>
Default: 0

Requested page number

Responses

Response samples

Content type
application/json
[
  • {
    }
]

List available instance types for host

Returns a collection of available instance types for resizing a Deployment Run Host.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of deployment run

hostid
required
string

ID of host

Responses

Response samples

Content type
application/json
{
  • "bestMatches": [
    ],
  • "matches": [
    ]
}

Get Host Identities

Returns a collection of identities for the deployment run host

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of deployment run

hostid
required
string

ID of host

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Execute Host Action

Executes an action against the specified Host in the Deployment Run for the ID provided.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of deployment run

query Parameters
deploymentrunhostid
required
string

ID of host

action
required
string
Enum: "POWER_OFF" "POWER_ON" "REBOOT" "SHUTDOWN" "SUSPEND" "RESIZE" "CREATE_SNAPSHOT" "RESTORE_SNAPSHOT" "REMOVE_ALL_SNAPSHOTS" "ADD_DISK" "RESIZE_BOOT_DISK"

Action to perform

cpu
integer <int32> >= 0

Desired number of CPUs, if resizing host in a non instance type based virtualization realm

ram
integer <int32> >= 0

Desired amount of RAM in Mebibytes, if resizing host in a non instance type based virtualization realm

diskSizeMb
integer <int32>

The disk size in MB

instanceTypeName
string

The instance type name to resize to, if resizing host in an instance type based virtualization realm

Responses

Response samples

Content type
application/json
true

Publish Deployment Run

Publishes the specified Deployment as a Composition.

Consumers will be able to connect to the run, but will not be able to manage the composition.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of deployment run

Responses

Response samples

Content type
application/json
true

Unpublish Deployment Run

Unpublishes the specified Deployment as a Composition.

Consumers will no longer be able to connect to the run, and the run will no longer appear to consumers.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of deployment run

Responses

Response samples

Content type
application/json
true

Re-deploy Container Asset

Re-deploys the specified Container Asset installation on the single Host in the specified Deployment Run.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of deployment run

hostid
required
string

ID of host

query Parameters
installationid
required
string

ID of container asset installation

Request Body schema:

The updated Container Component definition

required
object (InputAsset)
id
integer <int32>
loadOrder
integer <int32> >= 0
subtype
required
string
required
object (InputContainerConfiguration)

Responses

Request samples

Content type
{
  • "asset": {
    },
  • "id": 0,
  • "loadOrder": 0,
  • "subtype": "InputContainerComponent",
  • "configuration": {
    }
}

Response samples

Content type
application/json
true

Redeploy Deployment Run Hosts

Requests the redeploy of one or more deployment run hosts.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of deployment run

Request Body schema: */*

The collection of deployment run host ids to redeploy

Array
idAsInteger
integer <int32>
id
required
string

Responses

Response samples

Content type
application/json
true

Relaunch Deployment Run

Launches a new Deployment Run with the same configuration as the specified Deployment Run.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of deployment run

Responses

Response samples

Content type
application/json
"string"

Release Deployment Run

Releases the Deployment Run for the ID provided.

If the user is an Administrator, the force flag is honored.

If the user is a non-Admin, the force flag is only honored in the event that a release request experiences an exception known to be resolved by a force.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of deployment run

query Parameters
force
boolean
Default: false

Force the release of this run

Responses

Response samples

Content type
application/json
true

Re-test Deployment Run

Re-executes all Tests in the specified Deployment Run.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of deployment run

Responses

Response samples

Content type
application/json
true

Update Lock

Update the Lock on a single Deployment Run with the given ID.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of deployment run

query Parameters
lock
required
boolean

The desired lock state

Responses

Response samples

Content type
application/json
true

Update Power Schedule

Updates the Power Schedule for a single Deployment Run with the given ID.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of deployment run

Request Body schema:

The desired power schedule

mode
required
string
Enum: "NONE" "ECO_MODE" "LOW_COST" "WEEKEND_SHUTDOWN" "CUSTOM"
weekdayEndTimeHour
integer <int32> [ 0 .. 23 ]
weekdayEndTimeMinutes
integer <int32> [ 0 .. 59 ]
weekdayStartTimeHour
integer <int32> [ 0 .. 23 ]
weekdayStartTimeMinutes
integer <int32> [ 0 .. 59 ]
weekendEndTimeHour
integer <int32> [ 0 .. 23 ]
weekendEndTimeMinutes
integer <int32> [ 0 .. 59 ]
weekendStartTimeHour
integer <int32> [ 0 .. 23 ]
weekendStartTimeMinutes
integer <int32> [ 0 .. 59 ]

Responses

Request samples

Content type
{
  • "mode": "NONE",
  • "weekdayEndTimeHour": 23,
  • "weekdayEndTimeMinutes": 59,
  • "weekdayStartTimeHour": 23,
  • "weekdayStartTimeMinutes": 59,
  • "weekendEndTimeHour": 23,
  • "weekendEndTimeMinutes": 59,
  • "weekendStartTimeHour": 23,
  • "weekendStartTimeMinutes": 59
}

Response samples

Content type
application/json
true

Retrieve Metrics

Returns metric data for Deployment Runs launched by members of the specified Project.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of project

query Parameters
start
required
integer <int64>

Interval start time, specified in seconds since epoch

end
required
integer <int64>

Interval end time, specified in seconds since epoch

interval
integer <int64>
Default: 1

Number of intervals

intervalUnit
string
Default: "HOURS"
Enum: "Nanos" "Micros" "Millis" "Seconds" "Minutes" "Hours" "HalfDays" "Days" "Weeks" "Months" "Years" "Decades" "Centuries" "Millennia" "Eras" "Forever"

Interval unit

Responses

Response samples

Content type
application/json
"string"

Templates

Within the System Builder, a Template provides the Operating System for the user's System Design.

List all Templates

Returns a collection of the user's available Templates matching a specified query.

Authorizations:
APIKeyHeaderUsername
query Parameters
virtualization_realm_id
required
integer <int32>

Virtualization Realm ID to filter by

include_registrations
boolean
Default: true

Include templates registered to this virtualization realm

include_subscriptions
boolean
Default: false

Include templates this virtualization realm is subscribed to

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Test Tools

CONS3RT Elastic Test provides a framework for getting test results with minimal effort from a selection of integrated Elastic Test Tools.

When a Deployment is launched, an Elastic Test Tool Virtual Machine is created in your Cloudspace.

Once the Deployment is ready, CONS3RT automatically executes the Test Asset on the test tool Virtual Machines.

Upon completion, the Test Results are stored with the Run, and the user will receive an email notification.

Get Active Registered Test Tools

Returns a collection of the active registered Test Tools associated with the current Environment.

Authorizations:
APIKeyHeaderUsername

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get Installed Test Tools

Returns a collection of the installed Test Tools associated with the current Environment.

Authorizations:
APIKeyHeaderUsername

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Compositions

A Composition is a way to publish Runs, Deployments, and Workstations for use in the Simplified Client.

Compositions can be published from Scenarios, Deployments, or Runs.

To publish a Composition, please ensure that the user has the necessary permissions to build Composite Assets and configure Deployment Runs.

Retrieve Composition

Returns a single Composition event by the given ID.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of composition to return

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "description": "string",
  • "deploymentRunOptions": {
    },
  • "project": {
    },
  • "scenario": {
    }
}

Update Composition

Updates the content of a single Composition with the given ID.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of Composition to update

Request Body schema:

The modified Composition definition

name
required
string
description
string
required
object (InputCompositionRunOptions)

Responses

Request samples

Content type
{
  • "name": "string",
  • "description": "string",
  • "deploymentRunOptions": {
    }
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "description": "string",
  • "deploymentRunOptions": {
    },
  • "project": {
    },
  • "scenario": {
    }
}

Delete Composition

Deletes a single Composition with the given ID.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of composition to delete

Responses

Response samples

Content type
application/json
true

List all Compositions

Returns a collection of the user's relevant Compositions matching a specified query.

Authorizations:
APIKeyHeaderUsername
query Parameters
maxresults
integer <int64>
Default: 40

Maximum number of results to return

page
integer <int64>
Default: 0

Requested page number

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Publish Deployment Run

Publishes the specified Deployment as a Composition.

Consumers will be able to connect to the run, but will not be able to manage the composition.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of deployment run

Responses

Response samples

Content type
application/json
true

Unpublish Deployment Run

Unpublishes the specified Deployment as a Composition.

Consumers will no longer be able to connect to the run, and the run will no longer appear to consumers.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of deployment run

Responses

Response samples

Content type
application/json
true

Publish Scenario

Publishes the specified Scenario as a Composition, with the provided Run Options for launching.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string
Request Body schema:

The composition definition used when launching the deployment

name
required
string
description
string
required
object (InputCompositionRunOptions)

Responses

Request samples

Content type
{
  • "name": "string",
  • "description": "string",
  • "deploymentRunOptions": {
    }
}

Response samples

Content type
application/json
"string"

Storage

Buckets for data and file storage.

Once created, storage buckets can be uploaded to and downloaded from by authenticated users and deployment runs.

Retrieve Storage Buckets

returns a storage bucket

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of bucket

Responses

Response samples

Content type
application/json
{
  • "cloudResourceVisibility": "OWNER",
  • "identifier": "string",
  • "name": "string",
  • "cloudId": 0,
  • "scanningDisabled": true
}

Update Storage Buckets

updates the configuration information for an existing bucket

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of bucket

Request Body schema:
required

The bucket creation information

cloudResourceVisibility
required
string
Enum: "OWNER" "OWNING_PROJECT_READ" "OWNING_PROJECT_WRITE" "TRUSTED_PROJECTS" "COMMUNITY"
identifier
string
name
required
string
cloudId
integer <int32>
scanningDisabled
boolean

Responses

Request samples

Content type
{
  • "cloudResourceVisibility": "OWNER",
  • "identifier": "string",
  • "name": "string",
  • "cloudId": 0,
  • "scanningDisabled": true
}

Response samples

Content type
application/json
{
  • "cloudResourceVisibility": "OWNER",
  • "identifier": "string",
  • "name": "string",
  • "cloudId": 0,
  • "scanningDisabled": true
}

Upload File to Bucket

Uploads a file to a bucket.

File must be submitted as multipart-form data, with a file element named "file" and a filename field

A "Connection: Keep-Alive" configuration may be needed for larger sized files, due to the time it takes to copy to the server.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of bucket

Request Body schema: multipart/form-data

The file object

file
Array of strings <binary> [ items <binary > ]
filename
string

Responses

Response samples

Content type
application/json
0
0

Delete Storage Buckets

Deletes an existing storage bucket by identifier

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of bucket

Responses

Response samples

Content type
application/json
true

List Bucket Contents

lists all files contents for an existing bucket

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of bucket

Responses

Response samples

Content type
application/json
"string"

List Storage Buckets

returns a collection of storage buckets

Authorizations:
APIKeyHeaderUsername
query Parameters
cloud
string

ID of the cloud

project
boolean
Default: false

Include project buckets

maxresults
integer <int64>
Default: 40

Maximum number of results to return

page
integer <int64>
Default: 0

Requested page number

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create Storage Bucket

Creates a storage bucket as defined by the user

Authorizations:
APIKeyHeaderUsername
Request Body schema:
required

The bucket creation information

cloudResourceVisibility
required
string
Enum: "OWNER" "OWNING_PROJECT_READ" "OWNING_PROJECT_WRITE" "TRUSTED_PROJECTS" "COMMUNITY"
identifier
string
name
required
string
cloudId
integer <int32>
scanningDisabled
boolean

Responses

Request samples

Content type
{
  • "cloudResourceVisibility": "OWNER",
  • "identifier": "string",
  • "name": "string",
  • "cloudId": 0,
  • "scanningDisabled": true
}

Response samples

Content type
application/json
"string"

Create upload code for bucket

Creates an upload code for the specified bucket, allowing one-time uploads to the destination

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of the bucket to publish a resource from

query Parameters
email
required
string

The email address to send the upload code to

Responses

Response samples

Content type
application/json
true

Download File From Bucket

Downloads the Asset in the form of a zip file. Download is only available for importable Asset types (i.e. Software, Test, and Container).

Based on the background flag, the download will be done in the foreground (false), background (true), or in a location as determined by Asset size (default).

If the background flag is set to true (or if no value for the background flag is provided), and the Asset is larger than the site threshold, the Asset will be prepared for download in the background.In that case, an email with a link to retrieve the Asset will be sent.If the Asset is larger than download threshold, it will be prepared for download in the background, and an email with a download link will be sent.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of bucket

query Parameters
fileName
required
string

The filename within the bucket to download

background
boolean
Default: false

Force the download to happen in the background

Responses

Response samples

Content type
application/json
true

List Clouds Available For Bucket Creation

returns a collection of clouds accessible to the user

Authorizations:
APIKeyHeaderUsername
query Parameters
maxresults
integer <int64>
Default: 40

Maximum number of results to return

page
integer <int64>
Default: 0

Requested page number

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Submit Bucket Resource to the Project's Submission Service

Publishes a resource in the specified bucket to the requested Submission Service.

The requested Project Submission Service will act as a template. Credentials provided when submitting to the Service will override the Project Submission Service's credentials. However, neither the Host nor Port of the Service can be overridden.

If the Service's endpoint is an SFTP Host, the Submission will only be able to override the remote path (i.e. if one has not already been defined in this default Submission Service).

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of the bucket to publish a resource from

submission_service_id
required
string

ID of project submission service

query Parameters
fileName
required
string

The filename within the bucket to download

Request Body schema:

Submission service override values

object (Credentials)
required
object (InputSubmissionEndpointForAssetSubmission)

Responses

Request samples

Content type
{
  • "credentials": {
    },
  • "submissionEndpoint": {
    }
}

Response samples

Content type
application/json
true

Deployments

A Deployment consists of a Scenario, an Elastic Test, and/or a user's Custom Properties.

Assign Trusted Project to Asset

Allows members of the provided Project to access the specified Asset.

The Asset must have a visibility set to TRUSTED_PROJECT for this to have any effect.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of asset

query Parameters
trustedid
required
string

ID of project to trust

Responses

Response samples

Content type
application/json
true

List all Dependent Assets

Returns a collection of the Composite Assets that include the specified Asset.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of asset

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Unassign Trusted Project from Asset

Removes the provided Project from the Asset's list of Trusted Projects.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of asset

query Parameters
trustedid
required
string

ID of project to untrust

Responses

Response samples

Content type
application/json
true

Update Asset

Updates the metadata of a single Asset with the given ID.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of asset

Request Body schema:

The modified Asset metadata

name
string
description
string
object (MetadataDocsLicense)

Responses

Request samples

Content type
{
  • "name": "string",
  • "description": "string",
  • "metadata": {
    }
}

Response samples

Content type
application/json
true

Update State

Updates the state of a single Asset with the given ID.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of asset to delete

query Parameters
state
required
string
Enum: "IN_DEVELOPMENT" "CERTIFIED" "DEPRECATED" "RETIRED"

The new asset state type

Responses

Response samples

Content type
application/json
true

Update Visibility

Updates the visibility of a single Asset with the given ID.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of asset to update

query Parameters
visibility
required
string
Enum: "OWNER" "OWNING_PROJECT" "TRUSTED_PROJECTS" "COMMUNITY"

The new asset visibility type

Responses

Response samples

Content type
application/json
true

Update Impact Level

Updates the Impact Level of a single Asset with the given ID.
<br

Maximum Impact Level can only be set to DOD_LEVEL_6 if allowed in the Environment.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of asset

query Parameters
impactlevel
required
string
Enum: "NONE" "FEDRAMP_LOW" "FEDRAMP_MODERATE_DOD_LEVEL_2" "FEDRAMP_HIGH_DOD_LEVEL_4" "DOD_LEVEL_5" "DOD_LEVEL_6"

The new asset impact level type.

Responses

Response samples

Content type
application/json
true

Update Instance Limit

Updates the instance limit of a single Asset with the given ID.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of asset

query Parameters
limit
required
integer <int64>

The new asset instance limit

Responses

Response samples

Content type
application/json
true

Update Offline Status

Updates the Offline Status of a single Asset with the given ID.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of asset to update

query Parameters
offline
boolean
Default: true

Set the asset status to offline

Responses

Response samples

Content type
application/json
true

List Recurring Schedules

Returns a collection of the active Recurring Schedules for a single Deployment.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of deployment

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Add Recurring Schedule

Adds the Recurring Schedule to a Deployment, creating a Deployment run with the given parameters at intervals specified by the Schedule.

Timezone must be provided as Java Timezone, and thus must take the form of "GMT + or - (hour)(hour)(min)(min)" Example: GMT-0700

The Schedule field must be provided in valid cron format: "(minute 0-59) (hour 0-23) (day of month 1-31) (month 1-12) (day of week 0-6, with 0 representing Sunday)

"*" is a wildcard that can replace any single entry, representing any or all of the possible entries (e.g. an hour of * means every hour).

Individual entries in the Schedule string can also be represented as ranges (e.g. day of month 4-17, would represent the 4th through the 17th of the month).

In addition, values can also be specified as comma lists (e.g. hours 1,4,6 would represent occurrences at the first, fourth, and sixth hour respectively).

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of deployment

Request Body schema:

The Recurring Schedule definition

timezone
required
string
schedule
required
string
maxIterations
integer <int32> >= 0
endDate
integer <int32>
required
object (InputDeploymentRunOptions)

Responses

Request samples

Content type
{
  • "timezone": "string",
  • "schedule": "string",
  • "maxIterations": 0,
  • "endDate": 0,
  • "deploymentRunOptions": {
    }
}

Response samples

Content type
application/json
true

Remove Recurring Schedule

Removes the provided Recurring Schedule from the Deployment.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of deployment

Responses

Response samples

Content type
application/json
true

Clone Deployment

Clones the specified Deployment to a new Deployment with the provided name.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of deployment

query Parameters
name
required
string

Name of the new deployment

Responses

Response samples

Content type
application/json
"string"

Create Deployment

Create a single Deplyoment.

All existing Assets used in creation must contain their Asset ID, while to-be-constructed Composite Assets must contain a valid Asset ID for each element contained.

Authorizations:
APIKeyHeaderUsername
Request Body schema:

The Deployment to create

name
string
object (InputMetadata)
Array of objects (InputScenarioFull) unique
Array of objects (InputTestBundle) unique

Responses

Request samples

Content type
No sample

Response samples

Content type
application/json
"string"

List Valid Virtualization Realms

Returns a collection of the available Virtualization Realms for launching the specified Deployment.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of deployment

Responses

Response samples

Content type
application/json
[
  • {
    }
]

List Bindings

Returns a collection of the possible Virtualization Realm bindings for a single Deployment.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of deployment

Request Body schema:

The deployment run options to use when launching the deployment

virtualizationRealmId
string
Array of objects (InputHostOption) [ 1 .. 2147483647 ] items unique

Responses

Request samples

Content type
{
  • "virtualizationRealmId": "string",
  • "hostOptions": [
    ]
}

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve Deployment

Returns a single Deployment by the given ID.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of deployment

Responses

Response samples

Content type
application/json
Example
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "offline": true,
  • "state": "IN_DEVELOPMENT",
  • "visibility": "OWNER",
  • "creator": {
    },
  • "owningProject": {
    },
  • "trustedProjects": [
    ],
  • "dependentAssetCount": 0,
  • "metadata": {
    },
  • "impactLevel": "NONE",
  • "categories": [
    ],
  • "subtype": "FullDeployment",
  • "recurringSchedules": [
    ],
  • "scenario": [
    ],
  • "testBundles": [
    ],
  • "deploymentHosts": [
    ]
}

Retrieve Metrics

Returns historical metric data for a single Deployment.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of deployment

Responses

Response samples

Content type
application/json
{
  • "deploymentId": "string",
  • "totalDeploymentRunDuration": 0,
  • "averageDeploymentRunDuration": 0,
  • "medianDeploymentRunDuration": 0,
  • "longestDeploymentRunDuration": 0,
  • "shortestDeploymentRunDuration": 0,
  • "totalDeploymentRuns": 0,
  • "totalDeploymentRunSuccess": 0,
  • "totalDeploymentRunError": 0,
  • "totalDeploymentRunCancel": 0,
  • "totalDeploymentRunUnknown": 0,
  • "totalVirtualMachines": 0
}

List Deployment Runs

Returns a collection of the Deployment Runs for a single Deployment.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of deployment

query Parameters
maxresults
integer <int64>
Default: 40

Maximum number of results to return

page
integer <int64>
Default: 0

Requested page number

Responses

Response samples

Content type
application/json
[
  • {
    }
]

List Deployments

Returns a collection of the user's relevant Deployments matching a specified query.

Authorizations:
APIKeyHeaderUsername
query Parameters
categoryids
Array of integers <int32> unique [ items <int32 > ]

Category ID(s) to filter by. Multiple categories can be provided with comma-separated strings.

maxresults
integer <int64>
Default: 40

Maximum number of results to return

page
integer <int64>
Default: 0

Requested page number

Responses

Response samples

Content type
application/json
[
  • {
    }
]

List all Deployments, including Project Assets

Returns a collection of all relevant Deployments matching a specified query, including those from the Project.

Authorizations:
APIKeyHeaderUsername
query Parameters
community
boolean
Default: false

Include community assets

categoryids
Array of integers <int32> unique [ items <int32 > ]

Category ID(s) to filter by. Multiple categories can be provided with comma-separated strings.

maxresults
integer <int64>
Default: 40

Maximum number of results to return

page
integer <int64>
Default: 0

Requested page number

Responses

Response samples

Content type
application/json
[
  • {
    }
]

List Virtualization Realm Networks

Returns a collection of the Networks that will be created for a single Deployment that has launched into the specified Virtualization Realm.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of deployment

virtualizationRealmId
required
string

ID of virtualization realm

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Launch Deployment

Launches a Deployment with Run Options.

Either provide a virtualizationRealmId or a virtualizationRealmBinding object to determine the Virtualization Realm to deploy into, and the template bindings to use (if specified).

Network interface objects must be provided for each desired network connection.

A root password can be set within the provided Deployment Run Options, which will override the password for all Hosts.

The override of Host passwords may fail due to template password complexity rules and should not be done without consideration.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of deployment

Request Body schema:

The deployment run options to use when launching the deployment

deploymentRunName
string
endState
required
string
Enum: "UNKNOWN_STATE" "SYSTEMS_BUILT" "SCENARIO_BUILT" "TESTS_EXECUTED_RESOURCES_RELEASED" "TESTS_EXECUTED_RESOURCES_RESERVED"
description
string
virtualizationRealmId
integer <int32>
locked
boolean
retainOnError
boolean
username
required
string
password
required
string
earliestStartTime
integer <int32>
endExisting
boolean
duration
integer <int64>
Array of objects (InputProperty) unique
Array of objects (InputHostOption) unique
object (PowerSchedule)
object (InputVirtualizationRealmBinding)
id
integer <int32>
debug
boolean
endDate
integer <int32>
windowsDomainName
string

Responses

Request samples

Content type
No sample

Response samples

Content type
application/json
{
  • "deploymentRunId": 0,
  • "message": "string"
}

List Run Options

Returns a collection of the previously used Run Options for a single Deployment.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of deployment

Responses

Response samples

Content type
application/json
[
  • {
    }
]

List Properties

Returns a collection of the Properties for a single Deployment.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of deployment

Responses

Response samples

Content type
application/json
[
  • {
    }
]

List Deployment Runs

Returns a collection of the user's relevant Deployment Runs matching a specified query.

Authorizations:
APIKeyHeaderUsername
query Parameters
search_type
required
string
Enum: "SEARCH_ACTIVE" "SEARCH_ALL" "SEARCH_AVAILABLE" "SEARCH_COMPOSING" "SEARCH_DECOMPOSING" "SEARCH_INACTIVE" "SEARCH_PROCESSING" "SEARCH_SCHEDULED" "SEARCH_TESTING" "SEARCH_SCHEDULED_AND_ACTIVE"

Deployment run status

in_project
boolean
Default: false

Include project runs

maxresults
integer <int64>
Default: 40

Maximum number of results to return

page
integer <int64>
Default: 0

Requested page number

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Clone System

Clones the specified System to a new System with the provided name.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of system

query Parameters
name
required
string

Name of the new system

Responses

Response samples

Content type
application/json
"string"

List Deployment Runs

Returns a collection of the Deployment Runs launched into the specified Virtualization Realm.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of virtualization realm

query Parameters
search_type
required
string
Default: "SEARCH_ALL"
Enum: "SEARCH_ACTIVE" "SEARCH_ALL" "SEARCH_AVAILABLE" "SEARCH_COMPOSING" "SEARCH_DECOMPOSING" "SEARCH_INACTIVE" "SEARCH_PROCESSING" "SEARCH_SCHEDULED" "SEARCH_TESTING" "SEARCH_SCHEDULED_AND_ACTIVE"

Deployment run status type

maxresults
integer <int64>
Default: 40

Maximum number of results to return

page
integer <int64>
Default: 0

Requested page number

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Scenarios

A Scenario consists of one or more Systems.

Optionally, a user can set up Configuration and Teardown Scripts for the Systems in a Scenario.

Assign Trusted Project to Asset

Allows members of the provided Project to access the specified Asset.

The Asset must have a visibility set to TRUSTED_PROJECT for this to have any effect.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of asset

query Parameters
trustedid
required
string

ID of project to trust

Responses

Response samples

Content type
application/json
true

List all Dependent Assets

Returns a collection of the Composite Assets that include the specified Asset.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of asset

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Unassign Trusted Project from Asset

Removes the provided Project from the Asset's list of Trusted Projects.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of asset

query Parameters
trustedid
required
string

ID of project to untrust

Responses

Response samples

Content type
application/json
true

Update Asset

Updates the metadata of a single Asset with the given ID.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of asset

Request Body schema:

The modified Asset metadata

name
string
description
string
object (MetadataDocsLicense)

Responses

Request samples

Content type
{
  • "name": "string",
  • "description": "string",
  • "metadata": {
    }
}

Response samples

Content type
application/json
true

Update State

Updates the state of a single Asset with the given ID.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of asset to delete

query Parameters
state
required
string
Enum: "IN_DEVELOPMENT" "CERTIFIED" "DEPRECATED" "RETIRED"

The new asset state type

Responses

Response samples

Content type
application/json
true

Update Visibility

Updates the visibility of a single Asset with the given ID.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of asset to update

query Parameters
visibility
required
string
Enum: "OWNER" "OWNING_PROJECT" "TRUSTED_PROJECTS" "COMMUNITY"

The new asset visibility type

Responses

Response samples

Content type
application/json
true

Update Impact Level

Updates the Impact Level of a single Asset with the given ID.
<br

Maximum Impact Level can only be set to DOD_LEVEL_6 if allowed in the Environment.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of asset

query Parameters
impactlevel
required
string
Enum: "NONE" "FEDRAMP_LOW" "FEDRAMP_MODERATE_DOD_LEVEL_2" "FEDRAMP_HIGH_DOD_LEVEL_4" "DOD_LEVEL_5" "DOD_LEVEL_6"

The new asset impact level type.

Responses

Response samples

Content type
application/json
true

Update Instance Limit

Updates the instance limit of a single Asset with the given ID.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of asset

query Parameters
limit
required
integer <int64>

The new asset instance limit

Responses

Response samples

Content type
application/json
true

Update Offline Status

Updates the Offline Status of a single Asset with the given ID.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of asset to update

query Parameters
offline
boolean
Default: true

Set the asset status to offline

Responses

Response samples

Content type
application/json
true

Clone Scenario

Clones the specified Scenario to a new Scenario with the provided name.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of scenario

query Parameters
name
required
string

Name of the new scenario

Responses

Response samples

Content type
application/json
"string"

Create Scenario

Creates a single Scenario.

All existing Assets used in creation must contain their Asset ID, while Composite Assets to be constructed must contain a valid Asset ID for each element contained.

Authorizations:
APIKeyHeaderUsername
Request Body schema:

The Scenario to create

name
string
Array of objects (InputScenarioHost) unique
object (InputConfiguration)
object (InputConfiguration)

Responses

Request samples

Content type
{
  • "name": "string",
  • "scenarioHosts": [
    ],
  • "prepareScenarioConfiguration": {
    },
  • "teardownScenarioConfiguration": {
    }
}

Response samples

Content type
application/json
"string"

List Bindings

Returns a collection of the possible Virtualization Realm bindings for a single scenario.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of scenario

query Parameters
virtualizationRealmId
integer <int32>

ID of preferred virtualization realm

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve Scenario

Returns a single Scenario by the given ID.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of scenario

Responses

Response samples

Content type
application/json
Example
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "offline": true,
  • "state": "IN_DEVELOPMENT",
  • "visibility": "OWNER",
  • "creator": {
    },
  • "owningProject": {
    },
  • "trustedProjects": [
    ],
  • "dependentAssetCount": 0,
  • "metadata": {
    },
  • "impactLevel": "NONE",
  • "categories": [
    ],
  • "subtype": "FullDeployment",
  • "recurringSchedules": [
    ],
  • "scenario": [
    ],
  • "testBundles": [
    ],
  • "deploymentHosts": [
    ]
}

List Scenarios

Returns a collection of the user's relevant Scenarios matching a specified query.

Authorizations:
APIKeyHeaderUsername
query Parameters
categoryids
Array of integers <int32> unique [ items <int32 > ]

Category ID(s) to filter by. Multiple categories can be provided with comma-separated strings.

maxresults
integer <int64>
Default: 40

Maximum number of results to return

page
integer <int64>
Default: 0

Requested page number

Responses

Response samples

Content type
application/json
[
  • {
    }
]

List all Scenarios, including Project Assets

Returns a collection of all relevant Scenarios matching a specified query, including those from the project.

Authorizations:
APIKeyHeaderUsername
query Parameters
community
boolean
Default: false

Include community assets

categoryids
Array of integers <int32> unique [ items <int32 > ]

Category ID(s) to filter by. Multiple categories can be provided with comma-separated strings.

maxresults
integer <int64>
Default: 40

Maximum number of results to return

page
integer <int64>
Default: 0

Requested page number

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Publish Scenario

Publishes the specified Scenario as a Composition, with the provided Run Options for launching.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string
Request Body schema:

The composition definition used when launching the deployment

name
required
string
description
string
required
object (InputCompositionRunOptions)

Responses

Request samples

Content type
{
  • "name": "string",
  • "description": "string",
  • "deploymentRunOptions": {
    }
}

Response samples

Content type
application/json
"string"

Launch Scenario

Launches a Deployment created from the specified Scenario, with the provided Run Options.

A root password can be set within the provided Deployment Run Options, which will override the password for all Hosts.

The override of Host passwords may fail due to template password complexity rules and should not be done without consideration.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of scenario

Request Body schema:

The deployment run options to use when launching the deployment

deploymentRunName
string
endState
required
string
Enum: "UNKNOWN_STATE" "SYSTEMS_BUILT" "SCENARIO_BUILT" "TESTS_EXECUTED_RESOURCES_RELEASED" "TESTS_EXECUTED_RESOURCES_RESERVED"
description
string
virtualizationRealmId
integer <int32>
locked
boolean
retainOnError
boolean
username
required
string
password
required
string
earliestStartTime
integer <int32>
endExisting
boolean
duration
integer <int64>
Array of objects (InputProperty) unique
Array of objects (InputHostOption) unique
object (PowerSchedule)
object (InputVirtualizationRealmBinding)
id
integer <int32>
debug
boolean
endDate
integer <int32>
windowsDomainName
string

Responses

Request samples

Content type
{
  • "deploymentRunName": "string",
  • "endState": "UNKNOWN_STATE",
  • "description": "string",
  • "virtualizationRealmId": 0,
  • "locked": true,
  • "retainOnError": true,
  • "username": "string",
  • "password": "string",
  • "earliestStartTime": 0,
  • "endExisting": true,
  • "duration": 0,
  • "properties": [
    ],
  • "hostOptions": [
    ],
  • "powerSchedule": {
    },
  • "virtRealmBinding": {
    },
  • "id": 0,
  • "debug": true,
  • "endDate": 0,
  • "windowsDomainName": "string"
}

Response samples

Content type
application/json
"string"

Create System

Creates a single System.

All existing Assets used in creation must contain their Asset ID.

Authorizations:
APIKeyHeaderUsername
Request Body schema:

The System to create

subtype
required
string
name
string
object (InputTemplateProfile)

Responses

Request samples

Content type
No sample

Response samples

Content type
application/json
"string"

Launch System

Launches a Deployment created from the specified System, with the provided Run Options.

A root password can be set within the provided Deployment Run Options, which will override the password for all Hosts.

The override of Host passwords may fail due to template password complexity rules and should not be done without consideration.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of system

Request Body schema:

The deployment run options to use when launching the deployment

deploymentRunName
string
endState
required
string
Enum: "UNKNOWN_STATE" "SYSTEMS_BUILT" "SCENARIO_BUILT" "TESTS_EXECUTED_RESOURCES_RELEASED" "TESTS_EXECUTED_RESOURCES_RESERVED"
description
string
virtualizationRealmId
integer <int32>
locked
boolean
retainOnError
boolean
username
required
string
password
required
string
earliestStartTime
integer <int32>
endExisting
boolean
duration
integer <int64>
Array of objects (InputProperty) unique
Array of objects (InputHostOption) unique
object (PowerSchedule)
object (InputVirtualizationRealmBinding)
id
integer <int32>
debug
boolean
endDate
integer <int32>
windowsDomainName
string

Responses

Request samples

Content type
{
  • "deploymentRunName": "string",
  • "endState": "UNKNOWN_STATE",
  • "description": "string",
  • "virtualizationRealmId": 0,
  • "locked": true,
  • "retainOnError": true,
  • "username": "string",
  • "password": "string",
  • "earliestStartTime": 0,
  • "endExisting": true,
  • "duration": 0,
  • "properties": [
    ],
  • "hostOptions": [
    ],
  • "powerSchedule": {
    },
  • "virtRealmBinding": {
    },
  • "id": 0,
  • "debug": true,
  • "endDate": 0,
  • "windowsDomainName": "string"
}

Response samples

Content type
application/json
"string"

Systems

CONS3RT allows a user to design a Virtual or Physical Host. Your System design will include....
An Operating System (OS), a specific OS template, or a physical device

Minimum number of CPUs

Minimum Memory (RAM) in GB

Minimum root volume disk size (up to 100 GB)

The number and size of additional disks

GPU requirements

Nested Virtualization requirements

Assign Trusted Project to Asset

Allows members of the provided Project to access the specified Asset.

The Asset must have a visibility set to TRUSTED_PROJECT for this to have any effect.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of asset

query Parameters
trustedid
required
string

ID of project to trust

Responses

Response samples

Content type
application/json
true

List all Dependent Assets

Returns a collection of the Composite Assets that include the specified Asset.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of asset

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Unassign Trusted Project from Asset

Removes the provided Project from the Asset's list of Trusted Projects.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of asset

query Parameters
trustedid
required
string

ID of project to untrust

Responses

Response samples

Content type
application/json
true

Update Asset

Updates the metadata of a single Asset with the given ID.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of asset

Request Body schema:

The modified Asset metadata

name
string
description
string
object (MetadataDocsLicense)

Responses

Request samples

Content type
{
  • "name": "string",
  • "description": "string",
  • "metadata": {
    }
}

Response samples

Content type
application/json
true

Update State

Updates the state of a single Asset with the given ID.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of asset to delete

query Parameters
state
required
string
Enum: "IN_DEVELOPMENT" "CERTIFIED" "DEPRECATED" "RETIRED"

The new asset state type

Responses

Response samples

Content type
application/json
true

Update Visibility

Updates the visibility of a single Asset with the given ID.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of asset to update

query Parameters
visibility
required
string
Enum: "OWNER" "OWNING_PROJECT" "TRUSTED_PROJECTS" "COMMUNITY"

The new asset visibility type

Responses

Response samples

Content type
application/json
true

Update Impact Level

Updates the Impact Level of a single Asset with the given ID.
<br

Maximum Impact Level can only be set to DOD_LEVEL_6 if allowed in the Environment.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of asset

query Parameters
impactlevel
required
string
Enum: "NONE" "FEDRAMP_LOW" "FEDRAMP_MODERATE_DOD_LEVEL_2" "FEDRAMP_HIGH_DOD_LEVEL_4" "DOD_LEVEL_5" "DOD_LEVEL_6"

The new asset impact level type.

Responses

Response samples

Content type
application/json
true

Update Instance Limit

Updates the instance limit of a single Asset with the given ID.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of asset

query Parameters
limit
required
integer <int64>

The new asset instance limit

Responses

Response samples

Content type
application/json
true

Update Offline Status

Updates the Offline Status of a single Asset with the given ID.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of asset to update

query Parameters
offline
boolean
Default: true

Set the asset status to offline

Responses

Response samples

Content type
application/json
true

Clone System

Clones the specified System to a new System with the provided name.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of system

query Parameters
name
required
string

Name of the new system

Responses

Response samples

Content type
application/json
"string"

Create Scenario from System

Creates a single-Host Scenario with the provided name from the specified System.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of system

query Parameters
name
required
string

Name of the new scenario

role
required
string

System role name in the new scenario

Responses

Response samples

Content type
application/json
true

Create Software Bundle

Creates a single Software Bundle from the Software Components of the specified System.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of system module

query Parameters
name
required
string

Name of the new software bundle

Request Body schema: */*

Description of the new software bundle

string

Responses

Response samples

Content type
application/json
"string"

Create System

Creates a single System.

All existing Assets used in creation must contain their Asset ID.

Authorizations:
APIKeyHeaderUsername
Request Body schema:

The System to create

subtype
required
string
name
string
object (InputTemplateProfile)

Responses

Request samples

Content type
No sample

Response samples

Content type
application/json
"string"

Retrieve System

Returns a single System by the given ID.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of system

Responses

Response samples

Content type
application/json
No sample

List Systems

Returns a collection of the user's relevant Systems matching a specified query.

Authorizations:
APIKeyHeaderUsername
query Parameters
type
string
Enum: "APPLIANCE" "DEVICE" "PHYSICAL_HOST" "VIRTUAL_HOST" "INVALID"

System module type

categoryids
Array of integers <int32> unique [ items <int32 > ]

Category ID(s) to filter by. Multiple categories can be provided with comma-separated strings.

maxresults
integer <int64>
Default: 40

Maximum number of results to return

page
integer <int64>
Default: 0

Requested page number

Responses

Response samples

Content type
application/json
[
  • {
    }
]

List all Systems, including Project Assets

Returns a collection of all relevant Systems matching a specified query, including those from the Project.

Authorizations:
APIKeyHeaderUsername
query Parameters
type
string
Enum: "APPLIANCE" "DEVICE" "PHYSICAL_HOST" "VIRTUAL_HOST" "INVALID"

System module type

community
boolean
Default: false

Include community assets

categoryids
Array of integers <int32> unique [ items <int32 > ]

Category ID(s) to filter by. Multiple categories can be provided with comma-separated strings.

maxresults
integer <int64>
Default: 40

Maximum number of results to return

page
integer <int64>
Default: 0

Requested page number

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Launch System

Launches a Deployment created from the specified System, with the provided Run Options.

A root password can be set within the provided Deployment Run Options, which will override the password for all Hosts.

The override of Host passwords may fail due to template password complexity rules and should not be done without consideration.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of system

Request Body schema:

The deployment run options to use when launching the deployment

deploymentRunName
string
endState
required
string
Enum: "UNKNOWN_STATE" "SYSTEMS_BUILT" "SCENARIO_BUILT" "TESTS_EXECUTED_RESOURCES_RELEASED" "TESTS_EXECUTED_RESOURCES_RESERVED"
description
string
virtualizationRealmId
integer <int32>
locked
boolean
retainOnError
boolean
username
required
string
password
required
string
earliestStartTime
integer <int32>
endExisting
boolean
duration
integer <int64>
Array of objects (InputProperty) unique
Array of objects (InputHostOption) unique
object (PowerSchedule)
object (InputVirtualizationRealmBinding)
id
integer <int32>
debug
boolean
endDate
integer <int32>
windowsDomainName
string

Responses

Request samples

Content type
{
  • "deploymentRunName": "string",
  • "endState": "UNKNOWN_STATE",
  • "description": "string",
  • "virtualizationRealmId": 0,
  • "locked": true,
  • "retainOnError": true,
  • "username": "string",
  • "password": "string",
  • "earliestStartTime": 0,
  • "endExisting": true,
  • "duration": 0,
  • "properties": [
    ],
  • "hostOptions": [
    ],
  • "powerSchedule": {
    },
  • "virtRealmBinding": {
    },
  • "id": 0,
  • "debug": true,
  • "endDate": 0,
  • "windowsDomainName": "string"
}

Response samples

Content type
application/json
"string"

Replace Software Asset

Replaces the underlying Software Asset within the specified Software Component of the specified System.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of system module

query Parameters
componentid
required
string

ID of software component to modify

assetid
required
string

ID of desired software asset

Responses

Response samples

Content type
application/json
true

Update Software Component

Update a single Software Component of the specified System.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of system module

componentid
required
string

ID of software component to modify

Request Body schema:
required

The modified Software Component

required
object (InputAsset)
rebootDelay
integer <int32>
rebootRequired
boolean
id
integer <int32>
loadOrder
integer <int32> >= 0

Responses

Request samples

Content type
{
  • "asset": {
    },
  • "rebootDelay": 0,
  • "rebootRequired": true,
  • "id": 0,
  • "loadOrder": 0
}

Response samples

Content type
application/json
true

Update Software Components

Updates the Software Components of a System, including their individual Configurations.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of system module

Request Body schema:
required

The updated software components

Array
required
object (InputAsset)
rebootDelay
integer <int32>
rebootRequired
boolean
id
integer <int32>
loadOrder
integer <int32> >= 0

Responses

Request samples

Content type
[
  • {
    }
]

Response samples

Content type
application/json
true

Update Software Configuration

Updates the Software Component Configuration of a System to the provided set of Software Components, including their individual Configurations.

User must be an Administrator and System Module Software Components will be replaced with the set provided.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of system module

Request Body schema:
required

The updated software components

Array
required
object (InputAsset)
rebootDelay
integer <int32>
rebootRequired
boolean
id
integer <int32>
loadOrder
integer <int32> >= 0

Responses

Request samples

Content type
[
  • {
    }
]

Response samples

Content type
application/json
true

Updates Template Profile

Update the Template Profile of the specified System.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of system module

Request Body schema:
required

The modified Template Profile

virtRealmTemplateName
string
operatingSystem
string
Enum: "AMAZON_LINUX_2022_X64" "AMAZON_LINUX_2023_X64" "AMAZON_LINUX_2_LATEST_X64" "AMAZON_LINUX_LATEST_X64" "CENTOS_6_X64" "CENTOS_7_X64" "CENTOS_8_X64" "CORE_OS_1221_X64" "F5_BIGIP_X64" "FEDORA_23_X64" "FEDORA_CORE_OS_X64" "FEDORA_LATEST_X64" "FORTISIEM" "GENERIC_LINUX_X64" "GENERIC_WINDOWS_X64" "KALI_ROLLING_X64" "ORACLE_LINUX_6_X64" "ORACLE_LINUX_7_X64" "ORACLE_LINUX_8_X64" "OS_X_10" "OS_X_11" "PALO_ALTO_NETWORKS_PAN_OS_X64" "RASPBIAN" "REDHAT_CORE_OS_X64" "RHEL_6_X64" "RHEL_7_ATOMIC_HOST" "RHEL_7_PPCLE" "RHEL_7_X64" "RHEL_8_X64" "RHEL_9_X64" "SOLARIS_11_X64" "UBUNTU_14_X64" "UBUNTU_16_X64" "UBUNTU_18_X64" "UBUNTU_20_X64" "UBUNTU_22_X64" "UBUNTU_CORE" "VYOS_1_1_X64" "VYOS_1_2_X64" "VYOS_1_3_X64" "VYOS_ROLLING_X64" "WINDOWS_10_X64" "WINDOWS_11_X64" "WINDOWS_7_X64" "WINDOWS_7_X86" "WINDOWS_8_X64" "WINDOWS_SERVER_2008_R2_X64" "WINDOWS_SERVER_2012_R2_X64" "WINDOWS_SERVER_2012_X64" "WINDOWS_SERVER_2016_X64" "WINDOWS_SERVER_2019_CORE_X64" "WINDOWS_SERVER_2019_X64" "WINDOWS_SERVER_2022_X64" "WINDOWS_SERVER_2022_CORE_X64" "WINDOWS_XP_X86"
minNumCpus
required
integer <int32>
minRam
required
integer <int32>
vgpuRequired
boolean
requiresNestedVirtualization
boolean
Array of objects (InputDisk) unique
minBootDiskCapacity
integer <int32> [ 10000 .. 1000000 ]
remoteAccessRequired
boolean
virtRealmId
integer <int32>

Responses

Request samples

Content type
{
  • "virtRealmTemplateName": "string",
  • "operatingSystem": "AMAZON_LINUX_2022_X64",
  • "minNumCpus": 0,
  • "minRam": 0,
  • "vgpuRequired": true,
  • "requiresNestedVirtualization": true,
  • "additionalDisks": [
    ],
  • "minBootDiskCapacity": 10000,
  • "remoteAccessRequired": true,
  • "virtRealmId": 0
}

Response samples

Content type
application/json
true

Software Assets

A user can create their own Software Assets using the Software Asset Builder.

Assign Trusted Project to Asset

Allows members of the provided Project to access the specified Asset.

The Asset must have a visibility set to TRUSTED_PROJECT for this to have any effect.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of asset

query Parameters
trustedid
required
string

ID of project to trust

Responses

Response samples

Content type
application/json
true

Download Asset

Downloads the Asset in the form of a zip file. Download is only available for importable Asset types (i.e. Software, Test, and Container).

Based on the background flag, the download will be done in the foreground (false), background (true), or in a location as determined by Asset size (default).

If the background flag is set to true (or if no value for the background flag is provided), and the Asset is larger than the site threshold, the Asset will be prepared for download in the background.In that case, an email with a link to retrieve the Asset will be sent.If the Asset is larger than download threshold, it will be prepared for download in the background, and an email with a download link will be sent.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of asset

query Parameters
background
boolean
Default: false

Force the download to happen in the background

Responses

Response samples

Content type
application/json
true

Set Asset Export Restriction

Sets the Export Restriction of a single software asset, test asset or container asset with the given ID.

Export Restriction can only be set if the owning Project is an ITAR-restricted Project.

Setting an Export Restriction cannot be undone.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of asset

Responses

Response samples

Content type
application/json
true

List all Dependent Assets

Returns a collection of the Composite Assets that include the specified Asset.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of asset

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Unassign Trusted Project from Asset

Removes the provided Project from the Asset's list of Trusted Projects.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of asset

query Parameters
trustedid
required
string

ID of project to untrust

Responses

Response samples

Content type
application/json
true

Update Asset

Updates the metadata of a single Asset with the given ID.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of asset

Request Body schema:

The modified Asset metadata

name
string
description
string
object (MetadataDocsLicense)

Responses

Request samples

Content type
{
  • "name": "string",
  • "description": "string",
  • "metadata": {
    }
}

Response samples

Content type
application/json
true

Update Asset Content

Updates any part of the Asset that was provided, including the values described in the asset.properties file.

The 'Update Content' call is only available for importable Asset types (i.e. Software, Test, and Container).

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of asset

Request Body schema: multipart/form-data

The file object

file
Array of strings <binary> [ items <binary > ]
filename
string

Responses

Response samples

Content type
application/json
true

Update State

Updates the state of a single Asset with the given ID.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of asset to delete

query Parameters
state
required
string
Enum: "IN_DEVELOPMENT" "CERTIFIED" "DEPRECATED" "RETIRED"

The new asset state type

Responses

Response samples

Content type
application/json
true

Update Visibility

Updates the visibility of a single Asset with the given ID.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of asset to update

query Parameters
visibility
required
string
Enum: "OWNER" "OWNING_PROJECT" "TRUSTED_PROJECTS" "COMMUNITY"

The new asset visibility type

Responses

Response samples

Content type
application/json
true

Update Impact Level

Updates the Impact Level of a single Asset with the given ID.
<br

Maximum Impact Level can only be set to DOD_LEVEL_6 if allowed in the Environment.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of asset

query Parameters
impactlevel
required
string
Enum: "NONE" "FEDRAMP_LOW" "FEDRAMP_MODERATE_DOD_LEVEL_2" "FEDRAMP_HIGH_DOD_LEVEL_4" "DOD_LEVEL_5" "DOD_LEVEL_6"

The new asset impact level type.

Responses

Response samples

Content type
application/json
true

Update Instance Limit

Updates the instance limit of a single Asset with the given ID.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of asset

query Parameters
limit
required
integer <int64>

The new asset instance limit

Responses

Response samples

Content type
application/json
true

Update Offline Status

Updates the Offline Status of a single Asset with the given ID.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of asset to update

query Parameters
offline
boolean
Default: true

Set the asset status to offline

Responses

Response samples

Content type
application/json
true

Retrieve Software Asset

Returns a single Software Asset by the given ID.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of software asset

Responses

Response samples

Content type
application/json
Example
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "offline": true,
  • "state": "IN_DEVELOPMENT",
  • "visibility": "OWNER",
  • "creator": {
    },
  • "owningProject": {
    },
  • "trustedProjects": [
    ],
  • "dependentAssetCount": 0,
  • "metadata": {
    },
  • "impactLevel": "NONE",
  • "categories": [
    ],
  • "subtype": "FullDeployment",
  • "recurringSchedules": [
    ],
  • "scenario": [
    ],
  • "testBundles": [
    ],
  • "deploymentHosts": [
    ]
}

List Software Assets

Returns a collection of the user's relevant Software Assets matching a specified query.

Authorizations:
APIKeyHeaderUsername
query Parameters
type
string
Enum: "APPLICATION" "TEST_TOOL"

Software Asset type

categoryids
Array of integers <int32> unique [ items <int32 > ]

Category ID(s) to filter by. Multiple categories can be provided with comma-separated strings.

maxresults
integer <int64>
Default: 40

Maximum number of results to return

page
integer <int64>
Default: 0

Requested page number

Responses

Response samples

Content type
application/json
[
  • {
    }
]

List all Software Assets, including Project Assets

Returns a collection of all relevant Software Assets matching a specified query, including those from the Project.

Authorizations:
APIKeyHeaderUsername
query Parameters
type
string
Enum: "APPLICATION" "TEST_TOOL"

Software Asset type

community
boolean
Default: false

Include community assets

categoryids
Array of integers <int32> unique [ items <int32 > ]

Category ID(s) to filter by. Multiple categories can be provided with comma-separated strings.

maxresults
integer <int64>
Default: 40

Maximum number of results to return

page
integer <int64>
Default: 0

Requested page number

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Update Install Script

Updates the Software Asset Installation Script with the supplied data.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of software asset

Request Body schema: multipart/form-data

The file object

file
Array of strings <binary> [ items <binary > ]
filename
string

Responses

Response samples

Content type
application/json
true

Test Assets

CONS3RT allows users to import and modify Test Assets.

Assign Trusted Project to Asset

Allows members of the provided Project to access the specified Asset.

The Asset must have a visibility set to TRUSTED_PROJECT for this to have any effect.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of asset

query Parameters
trustedid
required
string

ID of project to trust

Responses

Response samples

Content type
application/json
true

Download Asset

Downloads the Asset in the form of a zip file. Download is only available for importable Asset types (i.e. Software, Test, and Container).

Based on the background flag, the download will be done in the foreground (false), background (true), or in a location as determined by Asset size (default).

If the background flag is set to true (or if no value for the background flag is provided), and the Asset is larger than the site threshold, the Asset will be prepared for download in the background.In that case, an email with a link to retrieve the Asset will be sent.If the Asset is larger than download threshold, it will be prepared for download in the background, and an email with a download link will be sent.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of asset

query Parameters
background
boolean
Default: false

Force the download to happen in the background

Responses

Response samples

Content type
application/json
true

Set Asset Export Restriction

Sets the Export Restriction of a single software asset, test asset or container asset with the given ID.

Export Restriction can only be set if the owning Project is an ITAR-restricted Project.

Setting an Export Restriction cannot be undone.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of asset

Responses

Response samples

Content type
application/json
true

List all Dependent Assets

Returns a collection of the Composite Assets that include the specified Asset.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of asset

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Unassign Trusted Project from Asset

Removes the provided Project from the Asset's list of Trusted Projects.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of asset

query Parameters
trustedid
required
string

ID of project to untrust

Responses

Response samples

Content type
application/json
true

Update Asset

Updates the metadata of a single Asset with the given ID.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of asset

Request Body schema:

The modified Asset metadata

name
string
description
string
object (MetadataDocsLicense)

Responses

Request samples

Content type
{
  • "name": "string",
  • "description": "string",
  • "metadata": {
    }
}

Response samples

Content type
application/json
true

Update Asset Content

Updates any part of the Asset that was provided, including the values described in the asset.properties file.

The 'Update Content' call is only available for importable Asset types (i.e. Software, Test, and Container).

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of asset

Request Body schema: multipart/form-data

The file object

file
Array of strings <binary> [ items <binary > ]
filename
string

Responses

Response samples

Content type
application/json
true

Update State

Updates the state of a single Asset with the given ID.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of asset to delete

query Parameters
state
required
string
Enum: "IN_DEVELOPMENT" "CERTIFIED" "DEPRECATED" "RETIRED"

The new asset state type

Responses

Response samples

Content type
application/json
true

Update Visibility

Updates the visibility of a single Asset with the given ID.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of asset to update

query Parameters
visibility
required
string
Enum: "OWNER" "OWNING_PROJECT" "TRUSTED_PROJECTS" "COMMUNITY"

The new asset visibility type

Responses

Response samples

Content type
application/json
true

Update Impact Level

Updates the Impact Level of a single Asset with the given ID.
<br

Maximum Impact Level can only be set to DOD_LEVEL_6 if allowed in the Environment.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of asset

query Parameters
impactlevel
required
string
Enum: "NONE" "FEDRAMP_LOW" "FEDRAMP_MODERATE_DOD_LEVEL_2" "FEDRAMP_HIGH_DOD_LEVEL_4" "DOD_LEVEL_5" "DOD_LEVEL_6"

The new asset impact level type.

Responses

Response samples

Content type
application/json
true

Update Instance Limit

Updates the instance limit of a single Asset with the given ID.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of asset

query Parameters
limit
required
integer <int64>

The new asset instance limit

Responses

Response samples

Content type
application/json
true

Update Offline Status

Updates the Offline Status of a single Asset with the given ID.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of asset to update

query Parameters
offline
boolean
Default: true

Set the asset status to offline

Responses

Response samples

Content type
application/json
true

Retrieve Test Asset

Returns a single Test Asset by the given ID.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of test asset

Responses

Response samples

Content type
application/json
Example
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "offline": true,
  • "state": "IN_DEVELOPMENT",
  • "visibility": "OWNER",
  • "creator": {
    },
  • "owningProject": {
    },
  • "trustedProjects": [
    ],
  • "dependentAssetCount": 0,
  • "metadata": {
    },
  • "impactLevel": "NONE",
  • "categories": [
    ],
  • "subtype": "FullDeployment",
  • "recurringSchedules": [
    ],
  • "scenario": [
    ],
  • "testBundles": [
    ],
  • "deploymentHosts": [
    ]
}

List Test Assets

Returns a collection of the user's relevant Test Assets matching a specified query.

Authorizations:
APIKeyHeaderUsername
query Parameters
type
string
Enum: "UNKNOWN" "NESSUS" "SCRIPT" "POWERSHELL" "MOCK"

Test Asset type

categoryids
Array of integers <int32> unique [ items <int32 > ]

Category ID(s) to filter by. Multiple categories can be provided with comma-separated strings.

maxresults
integer <int64>
Default: 40

Maximum number of results to return

page
integer <int64>
Default: 0

Requested page number

Responses

Response samples

Content type
application/json
[
  • {
    }
]

List all Test Assets, including Project Assets

Returns a collection of all relevant Test Assets matching a specified query, including those from the Project.

Authorizations:
APIKeyHeaderUsername
query Parameters
type
string
Enum: "UNKNOWN" "NESSUS" "SCRIPT" "POWERSHELL" "MOCK"

Test Asset type

community
boolean
Default: false

Include community assets

categoryids
Array of integers <int32> unique [ items <int32 > ]

Category ID(s) to filter by. Multiple categories can be provided with comma-separated strings.

maxresults
integer <int64>
Default: 40

Maximum number of results to return

page
integer <int64>
Default: 0

Requested page number

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Container Assets

Container Assets allow the user to make Container Images available to a user's Deployments in CONS3RT.

These Images can be internal Container Images or Images from a public registry.

Container Assets can be added to System Designs, and when managed by CONS3RT, Container Assets can be installed alongside other Asset types in a 'Hybrid' Deployment.

Assign Trusted Project to Asset

Allows members of the provided Project to access the specified Asset.

The Asset must have a visibility set to TRUSTED_PROJECT for this to have any effect.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of asset

query Parameters
trustedid
required
string

ID of project to trust

Responses

Response samples

Content type
application/json
true

Download Asset

Downloads the Asset in the form of a zip file. Download is only available for importable Asset types (i.e. Software, Test, and Container).

Based on the background flag, the download will be done in the foreground (false), background (true), or in a location as determined by Asset size (default).

If the background flag is set to true (or if no value for the background flag is provided), and the Asset is larger than the site threshold, the Asset will be prepared for download in the background.In that case, an email with a link to retrieve the Asset will be sent.If the Asset is larger than download threshold, it will be prepared for download in the background, and an email with a download link will be sent.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of asset

query Parameters
background
boolean
Default: false

Force the download to happen in the background

Responses

Response samples

Content type
application/json
true

Set Asset Export Restriction

Sets the Export Restriction of a single software asset, test asset or container asset with the given ID.

Export Restriction can only be set if the owning Project is an ITAR-restricted Project.

Setting an Export Restriction cannot be undone.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of asset

Responses

Response samples

Content type
application/json
true

List all Dependent Assets

Returns a collection of the Composite Assets that include the specified Asset.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of asset

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Unassign Trusted Project from Asset

Removes the provided Project from the Asset's list of Trusted Projects.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of asset

query Parameters
trustedid
required
string

ID of project to untrust

Responses

Response samples

Content type
application/json
true

Update Asset

Updates the metadata of a single Asset with the given ID.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of asset

Request Body schema:

The modified Asset metadata

name
string
description
string
object (MetadataDocsLicense)

Responses

Request samples

Content type
{
  • "name": "string",
  • "description": "string",
  • "metadata": {
    }
}

Response samples

Content type
application/json
true

Update Asset Content

Updates any part of the Asset that was provided, including the values described in the asset.properties file.

The 'Update Content' call is only available for importable Asset types (i.e. Software, Test, and Container).

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of asset

Request Body schema: multipart/form-data

The file object

file
Array of strings <binary> [ items <binary > ]
filename
string

Responses

Response samples

Content type
application/json
true

Update State

Updates the state of a single Asset with the given ID.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of asset to delete

query Parameters
state
required
string
Enum: "IN_DEVELOPMENT" "CERTIFIED" "DEPRECATED" "RETIRED"

The new asset state type

Responses

Response samples

Content type
application/json
true

Update Visibility

Updates the visibility of a single Asset with the given ID.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of asset to update

query Parameters
visibility
required
string
Enum: "OWNER" "OWNING_PROJECT" "TRUSTED_PROJECTS" "COMMUNITY"

The new asset visibility type

Responses

Response samples

Content type
application/json
true

Update Impact Level

Updates the Impact Level of a single Asset with the given ID.
<br

Maximum Impact Level can only be set to DOD_LEVEL_6 if allowed in the Environment.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of asset

query Parameters
impactlevel
required
string
Enum: "NONE" "FEDRAMP_LOW" "FEDRAMP_MODERATE_DOD_LEVEL_2" "FEDRAMP_HIGH_DOD_LEVEL_4" "DOD_LEVEL_5" "DOD_LEVEL_6"

The new asset impact level type.

Responses

Response samples

Content type
application/json
true

Update Instance Limit

Updates the instance limit of a single Asset with the given ID.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of asset

query Parameters
limit
required
integer <int64>

The new asset instance limit

Responses

Response samples

Content type
application/json
true

Update Offline Status

Updates the Offline Status of a single Asset with the given ID.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of asset to update

query Parameters
offline
boolean
Default: true

Set the asset status to offline

Responses

Response samples

Content type
application/json
true

Submit Bucket Resource to the Project's Submission Service

Publishes a resource in the specified bucket to the requested Submission Service.

The requested Project Submission Service will act as a template. Credentials provided when submitting to the Service will override the Project Submission Service's credentials. However, neither the Host nor Port of the Service can be overridden.

If the Service's endpoint is an SFTP Host, the Submission will only be able to override the remote path (i.e. if one has not already been defined in this default Submission Service).

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of the bucket to publish a resource from

submission_service_id
required
string

ID of project submission service

query Parameters
fileName
required
string

The filename within the bucket to download

Request Body schema:

Submission service override values

object (Credentials)
required
object (InputSubmissionEndpointForAssetSubmission)

Responses

Request samples

Content type
{
  • "credentials": {
    },
  • "submissionEndpoint": {
    }
}

Response samples

Content type
application/json
true

Retrieve Container Asset

Returns a single Container Asset event by the given ID.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of container to return

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "offline": true,
  • "state": "IN_DEVELOPMENT",
  • "visibility": "OWNER",
  • "creator": {
    },
  • "owningProject": {
    },
  • "trustedProjects": [
    ],
  • "dependentAssetCount": 0,
  • "metadata": {
    },
  • "impactLevel": "NONE",
  • "categories": [
    ],
  • "type": "DOCKER",
  • "imageFile": "string",
  • "ImageName": "string",
  • "imageTag": "string"
}

List all Containers

Returns a collection of the user's relevant Container Assets matching a specified query.

Authorizations:
APIKeyHeaderUsername
query Parameters
categoryids
Array of integers <int32> unique [ items <int32 > ]

Category ID(s) to filter by. Multiple categories can be provided with comma-separated strings.

maxresults
integer <int64>
Default: 40

Maximum number of results to return

page
integer <int64>
Default: 0

Requested page number

Responses

Response samples

Content type
application/json
[
  • {
    }
]

List all Containers, including Project Assets

Returns a collection of all relevant Container Assets matching a specified query, including those from the Project.

Authorizations:
APIKeyHeaderUsername
query Parameters
community
boolean
Default: false

Include community assets

categoryids
Array of integers <int32> unique [ items <int32 > ]

Category ID(s) to filter by. Multiple categories can be provided with comma-separated strings.

maxresults
integer <int64>
Default: 40

Maximum number of results to return

page
integer <int64>
Default: 0

Requested page number

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Submit Container to the Project's Submission Service

Publishes the Container Asset specified in the ID parameter to the requested Submission Service.

The requested Project Submission Service will act as a template. Credentials provided when submitting to the Service will override the Project Submission Service's credentials. However, neither the Host nor Port of the Service can be overridden.

If the Service's endpoint is an SFTP Host, the Submission will only be able to override the remote path (i.e. if one has not already been defined in this default Submission Service).

If the Service's endpoint is a Docker Registry, an image name and image tag for use in the destination Registry must be provided.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of Container Asset to publish

submission_service_id
required
string

ID of project submission service

Request Body schema:

Submission service override values

object (Credentials)
required
object (InputSubmissionEndpointForAssetSubmission)

Responses

Request samples

Content type
{
  • "credentials": {
    },
  • "submissionEndpoint": {
    }
}

Response samples

Content type
application/json
true

Software Bundles

Users can create Bundles of Software Assets called 'App Bundles' to install as a group on Systems.

Like Systems, App Bundles include reboot and a build order.

List Software Bundles

Returns a collection of the user's relevant Software Bundles matching a specified query.

Authorizations:
APIKeyHeaderUsername
query Parameters
categoryids
Array of integers <int32> unique [ items <int32 > ]

Category ID(s) to filter by. Multiple categories can be provided with comma-separated strings.

maxresults
integer <int64>
Default: 40

Maximum number of results to return

page
integer <int64>
Default: 0

Requested page number

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create Software Bundle

Create a single Software Bundle from the Software Components of the specified System Module.

Authorizations:
APIKeyHeaderUsername
query Parameters
systemId
required
string

ID of system module

name
required
string

Name of the new software bundle

Request Body schema: */*

Description of the new software bundle

string

Responses

Response samples

Content type
application/json
"string"

List all Software Bundles, including Project Assets

Returns a collection of all relevant Software Bundles matching a specified query, including those from the Project.

Authorizations:
APIKeyHeaderUsername
query Parameters
community
boolean
Default: false

Include community assets

categoryids
Array of integers <int32> unique [ items <int32 > ]

Category ID(s) to filter by. Multiple categories can be provided with comma-separated strings.

maxresults
integer <int64>
Default: 40

Maximum number of results to return

page
integer <int64>
Default: 0

Requested page number

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve Software Bundle

Returns a single Software Bundle by the given ID.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of software bundle

Responses

Response samples

Content type
application/json
Example
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "offline": true,
  • "state": "IN_DEVELOPMENT",
  • "visibility": "OWNER",
  • "creator": {
    },
  • "owningProject": {
    },
  • "trustedProjects": [
    ],
  • "dependentAssetCount": 0,
  • "metadata": {
    },
  • "impactLevel": "NONE",
  • "categories": [
    ],
  • "subtype": "FullDeployment",
  • "recurringSchedules": [
    ],
  • "scenario": [
    ],
  • "testBundles": [
    ],
  • "deploymentHosts": [
    ]
}

Import

Users are able to import Assets into CONS3RT, including but not limited to, Software Apps and Elastic Test Tools.

Import a New Asset

Imports an Asset in the form of a zip file.

File must be submitted as multipart-form data, with a file element named "file" and a filename field containing a name that ends in ".zip"

A "Connection: Keep-Alive" configuration may be needed for larger sized files, due to the time it takes to copy to the server.

Authorizations:
APIKeyHeaderUsername
Request Body schema: multipart/form-data

The file object

file
Array of strings <binary> [ items <binary > ]
filename
string

Responses

Response samples

Content type
application/json
0
0

Teams

Each customer order is now mapped to a Team. The total capacity limits (e.g. RAM, CPU, storage, etc.), add-ons, features and expiration date are set per Team as part of the order on-boarding. At least one Team Manager will be assigned at that time. Team Managers can change the team name, add/remove other Managers and update the primary POC info.

Team Managers can create Cloudspaces if they directly own the Cloud, and they have control over their Cloudspace Resources. They are able to create and manage networks, enable remote access and adjust performance parameters. They can control which projects can access which Cloudspaces and which templates should be made available.

Assign Manager

Assigns the provided user as a Manager of the specified Team

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of team

query Parameters
username
required
string

Username of desired manager

Responses

Response samples

Content type
application/json
true

Unassign Manager from Team

Removes the provided user as a Manager from the specified Team.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of team

query Parameters
username
required
string

Username of manager to remove

Responses

Response samples

Content type
application/json
true

List Clouds

Returns a collection of the Clouds belonging to the specified Team.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of team

query Parameters
maxresults
integer <int64>
Default: 40

Maximum number of results to return

page
integer <int64>
Default: 0

Requested page number

Responses

Response samples

Content type
application/json
[
  • {
    }
]

List Virtualization Realms

Returns a collection of the Virtualization Realms belonging to the specified Team.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of team

query Parameters
maxresults
integer <int64>
Default: 40

Maximum number of results to return

page
integer <int64>
Default: 0

Requested page number

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve Team

Returns a single Team by the given ID.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of team

Responses

Response samples

Content type
application/json
{
  • "assetBypassScanningEnabled": true,
  • "availabilityZoneEnabled": true,
  • "bypassScanningEnabled": true,
  • "leadUser": {
    },
  • "emfaMode": "Disabled",
  • "gpuTypeMaximums": {
    },
  • "icon": "string",
  • "id": 0,
  • "logEntries": [
    ],
  • "managedVirtualizationRealms": [
    ],
  • "teamManagers": [
    ],
  • "maxAssets": 0,
  • "maxManagedVirtualizationRealms": 0,
  • "maxNumCpus": 0,
  • "maxNumGpus": 0,
  • "maxProjects": 0,
  • "maxRamInMegabytes": 0,
  • "maxSharedRemoteAccessSessions": 0,
  • "maxStorageInMegabytes": 0,
  • "maxUsers": 0,
  • "maxVirtualMachines": 0,
  • "name": "string",
  • "orderNumber": "string",
  • "ownedClouds": [
    ],
  • "ownedProjects": [
    ],
  • "contactInfo": {
    },
  • "private": true,
  • "rdpClientProxyEnabled": true,
  • "rdpClientSessionDuration": 0,
  • "snapshotEnabled": true,
  • "state": "ACTIVE",
  • "storageServiceCapacityInMegabytes": 0,
  • "teamGroup": "string",
  • "teamServices": [
    ],
  • "validUtil": 0
}

Update Project Limits

Updates the resource limits for the specified Project within the specified Team.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of team

project_id
required
string

ID of project

Request Body schema:
required

The desired project limits

object
maxNumCpus
required
integer <int32> >= 0
maxNumGpus
required
integer <int32> >= 0
maxRamInMegabytes
required
integer <int32> >= 0
maxStorageInMegabytes
required
integer <int32> >= 0
maxVirtualMachines
required
integer <int32> >= 0
validUntil
integer <int32>

Responses

Request samples

Content type
{
  • "gpuTypeMaximums": {
    },
  • "maxNumCpus": 0,
  • "maxNumGpus": 0,
  • "maxRamInMegabytes": 0,
  • "maxStorageInMegabytes": 0,
  • "maxVirtualMachines": 0,
  • "validUntil": 0
}

Response samples

Content type
application/json
true

Team Services

Add User to Team Service

Adds the provided user as a member of the specified Team Service.

Authorizations:
APIKeyHeaderUsername
path Parameters
teamId
required
integer <int32>

ID of team

serviceType
required
string
Enum: "AtlassianBitbucket" "AtlassianConfluence" "AtlassianJira" "AtlassianJiraAssetManagement" "AtlassianJiraServiceManagement" "GitlabPremium" "GitlabUltimate" "Mattermost" "ProvisioningUser"
userId
required
integer <int32>

ID of user

Responses

Response samples

Content type
application/json
true

Remove User From Team Service

Removes the provided user as a member of the specified Team Service.

Authorizations:
APIKeyHeaderUsername
path Parameters
teamId
required
integer <int32>

ID of team

serviceType
required
string
Enum: "AtlassianBitbucket" "AtlassianConfluence" "AtlassianJira" "AtlassianJiraAssetManagement" "AtlassianJiraServiceManagement" "GitlabPremium" "GitlabUltimate" "Mattermost" "ProvisioningUser"
userId
required
integer <int32>

ID of user

Responses

Response samples

Content type
application/json
true

Add User to Team Service User Group

Adds the provided user as a member of the specified Team Service User Group.

Authorizations:
APIKeyHeaderUsername
path Parameters
teamId
required
integer <int32>

ID of team

serviceType
required
string
Enum: "AtlassianBitbucket" "AtlassianConfluence" "AtlassianJira" "AtlassianJiraAssetManagement" "AtlassianJiraServiceManagement" "GitlabPremium" "GitlabUltimate" "Mattermost" "ProvisioningUser"
userId
required
integer <int32>

ID of user

tsugId
required
integer <int32>

ID of user group

Responses

Response samples

Content type
application/json
true

Remove User From Team Service User Group

Removes the provided user as a member of the specified Team Service User Group.

Authorizations:
APIKeyHeaderUsername
path Parameters
teamId
required
integer <int32>

ID of team

serviceType
required
string
Enum: "AtlassianBitbucket" "AtlassianConfluence" "AtlassianJira" "AtlassianJiraAssetManagement" "AtlassianJiraServiceManagement" "GitlabPremium" "GitlabUltimate" "Mattermost" "ProvisioningUser"
userId
required
integer <int32>

ID of user

tsugId
required
integer <int32>

ID of user group

Responses

Response samples

Content type
application/json
true

Create Team Service User Group

Creates a single Team Service User Group.

Authorizations:
APIKeyHeaderUsername
path Parameters
teamId
required
integer <int32>

ID of team

serviceType
required
string
Enum: "AtlassianBitbucket" "AtlassianConfluence" "AtlassianJira" "AtlassianJiraAssetManagement" "AtlassianJiraServiceManagement" "GitlabPremium" "GitlabUltimate" "Mattermost" "ProvisioningUser"
groupName
required
string

User group name

Responses

Response samples

Content type
application/json
"string"

Delete Team Service User Group by ID

Deletes a Team Service User Group by ID from specified team.

Authorizations:
APIKeyHeaderUsername
path Parameters
teamId
required
integer <int32>

ID of team

groupId
required
integer <int32>

User group ID

Responses

Response samples

Content type
application/json
true

List User Groups for Team Service

Lists all User Groups for a specified Team Service.

Authorizations:
APIKeyHeaderUsername
path Parameters
serviceType
required
string
Enum: "AtlassianBitbucket" "AtlassianConfluence" "AtlassianJira" "AtlassianJiraAssetManagement" "AtlassianJiraServiceManagement" "GitlabPremium" "GitlabUltimate" "Mattermost" "ProvisioningUser"
teamId
required
integer <int32>

ID of team

Responses

Response samples

Content type
application/json
[
  • {
    }
]

List Team Services for Team

Lists all Team Services for a specified Team.

Authorizations:
APIKeyHeaderUsername
path Parameters
teamId
required
integer <int32>

ID of team

Responses

Response samples

Content type
application/json
Example
{
  • "serviceType": "AtlassianBitbucket",
  • "active": true,
  • "description": "string",
  • "id": 0,
  • "key": "string",
  • "name": "string",
  • "numLicenses": 0,
  • "team": {
    },
  • "bitbucketProjectId": 0,
  • "bitbucketProjectKey": "string"
}

List Users for Team Service

Lists the users of a specified Team Service.

Authorizations:
APIKeyHeaderUsername
path Parameters
teamId
required
integer <int32>

ID of team

serviceType
required
string
Enum: "AtlassianBitbucket" "AtlassianConfluence" "AtlassianJira" "AtlassianJiraAssetManagement" "AtlassianJiraServiceManagement" "GitlabPremium" "GitlabUltimate" "Mattermost" "ProvisioningUser"

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve Team Service

Returns a single Team Service by the given ID.

Authorizations:
APIKeyHeaderUsername
path Parameters
tsId
required
integer <int32>

ID of team service

teamId
required
integer <int32>

ID of team

Responses

Response samples

Content type
application/json
Example
{
  • "serviceType": "AtlassianBitbucket",
  • "active": true,
  • "description": "string",
  • "id": 0,
  • "key": "string",
  • "name": "string",
  • "numLicenses": 0,
  • "team": {
    },
  • "bitbucketProjectId": 0,
  • "bitbucketProjectKey": "string"
}

Retrieve Team Service User Group

Returns a Team Service User Group by the given ID.

Authorizations:
APIKeyHeaderUsername
path Parameters
teamId
required
integer <int32>

ID of team

tsugId
required
integer <int32>

ID of user group

Responses

Response samples

Content type
application/json
{
  • "createdBySystem": true,
  • "displayName": "string",
  • "id": 0,
  • "name": "string",
  • "teamService": {
    },
  • "users": [
    ],
  • "userCount": 0
}

Projects

Projects are the primary groupings of users and resources at the application level.

Projects are now managed by a Team, and each Team can have one or more Projects.

Team Managers can create additional Projects up to the limits of their package.

Any user on the site can see the name & description of Projects, and they can request to join unless the Project is set to private, in which case no one will see it.

List Members

Returns a collection of the users that are members of the specified Project.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of project

query Parameters
membershipState
string
Enum: "REQUESTED" "ACTIVE" "BLOCKED" "DELETED" "INACTIVE"

Project membership state type

role
string
Enum: "ADMINISTRATOR" "ASSET_RESTORER" "STATUS_READER" "UI_MACHINE" "TEST_TOOL" "MEMBER" "CONSUMER" "STANDARD" "SOFTWARE_DEVELOPER" "TEST_DEVELOPER" "ASSET_SHARER" "ASSET_PROMOTER" "POWER_SCHEDULE_UPDATER" "PROJECT_OWNER" "PROJECT_MANAGER" "PROJECT_MODERATOR" "REMOTE_ACCESS" "MAESTRO_MACHINE" "FAP_MACHINE" "SCHEDULER_MACHINE" "CONS3RT_MACHINE" "SOURCEBUILDER_MACHINE" "SYSTEM_ASSET_IMPORTER" "ASSET_CERTIFIER" "ASSET_UPLOADER" "DASHBOARD_MACHINE" "IDAM_MACHINE" "COLLABTOOL_MACHINE"

Project member role type

name
string

User name to search for

maxresults
integer <int64>
Default: 40

Maximum number of results to return

page
integer <int64>
Default: 0

Requested page number

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Assign Project Member

Assigns the provided user as a member of the specified Project.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of project

query Parameters
username
required
string

Username of desired member

Responses

Response samples

Content type
application/json
true

Unassign Member from Project

Removes the provided member from the specified Project.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of project

query Parameters
username
required
string

Username of desired member

Responses

Response samples

Content type
application/json
true

Assign Role to Member

Assigns the provided role to the specified member of the Project.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of project

query Parameters
username
required
string

Username of project member

role
required
string
Enum: "ADMINISTRATOR" "ASSET_RESTORER" "STATUS_READER" "UI_MACHINE" "TEST_TOOL" "MEMBER" "CONSUMER" "STANDARD" "SOFTWARE_DEVELOPER" "TEST_DEVELOPER" "ASSET_SHARER" "ASSET_PROMOTER" "POWER_SCHEDULE_UPDATER" "PROJECT_OWNER" "PROJECT_MANAGER" "PROJECT_MODERATOR" "REMOTE_ACCESS" "MAESTRO_MACHINE" "FAP_MACHINE" "SCHEDULER_MACHINE" "CONS3RT_MACHINE" "SOURCEBUILDER_MACHINE" "SYSTEM_ASSET_IMPORTER" "ASSET_CERTIFIER" "ASSET_UPLOADER" "DASHBOARD_MACHINE" "IDAM_MACHINE" "COLLABTOOL_MACHINE"

Project role to add

Responses

Response samples

Content type
application/json
true

Unassign Role from Member

Removes the provided Role from the specified member of the Project.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of project

query Parameters
username
required
string

Username of project member

role
required
string
Enum: "ADMINISTRATOR" "ASSET_RESTORER" "STATUS_READER" "UI_MACHINE" "TEST_TOOL" "MEMBER" "CONSUMER" "STANDARD" "SOFTWARE_DEVELOPER" "TEST_DEVELOPER" "ASSET_SHARER" "ASSET_PROMOTER" "POWER_SCHEDULE_UPDATER" "PROJECT_OWNER" "PROJECT_MANAGER" "PROJECT_MODERATOR" "REMOTE_ACCESS" "MAESTRO_MACHINE" "FAP_MACHINE" "SCHEDULER_MACHINE" "CONS3RT_MACHINE" "SOURCEBUILDER_MACHINE" "SYSTEM_ASSET_IMPORTER" "ASSET_CERTIFIER" "ASSET_UPLOADER" "DASHBOARD_MACHINE" "IDAM_MACHINE" "COLLABTOOL_MACHINE"

Project role to remove

Responses

Response samples

Content type
application/json
true

List Submission Services

Returns a collection of the available Submission Services for the specified Project.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of project

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Add Submission Service

Adds a new Submission Service to the list of available services for the specified Project.

This Submission Service will act as a template for all Project members submitting to the Service. Members will be able to override the credentials used when submitting to this Service, but will not be able to override the Host or Port of the Service.

If the Service's endpoint is an SFTP host, a submitting member will only be able to override the remote path if one has not already been defined in this default Submission Service.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of project

Request Body schema:
required

The submission service

enabled
boolean
object (Credentials)
required
object (InputSubmissionEndpointForProject)

Responses

Request samples

Content type
{
  • "enabled": true,
  • "credentials": {
    },
  • "submissionEndpoint": {
    }
}

Response samples

Content type
application/json
true

Assign Trusted Project to Project

Adds the target Project as a Trusted Partner of the specified Project.

Doing so makes the target Project eligible to be selected as trusted when sharing certain Assets.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of project

query Parameters
trustedid
required
string

ID of trusted project

Responses

Response samples

Content type
application/json
true

List Joined Projects

Returns a collection of the user's relevant Projects matching a specified query.

Authorizations:
APIKeyHeaderUsername
query Parameters
maxresults
integer <int64>
Default: 40

Maximum number of results to return

page
integer <int64>
Default: 0

Requested page number

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a Project

Creates a single Project.

Authorizations:
APIKeyHeaderUsername
Request Body schema:

The Project to create

name
required
string
description
string
itarRestricted
boolean
object (InputTeam)
required
object (ProjectLimits)
defaultRole
string
Enum: "ADMINISTRATOR" "ASSET_RESTORER" "STATUS_READER" "UI_MACHINE" "TEST_TOOL" "MEMBER" "CONSUMER" "STANDARD" "SOFTWARE_DEVELOPER" "TEST_DEVELOPER" "ASSET_SHARER" "ASSET_PROMOTER" "POWER_SCHEDULE_UPDATER" "PROJECT_OWNER" "PROJECT_MANAGER" "PROJECT_MODERATOR" "REMOTE_ACCESS" "MAESTRO_MACHINE" "FAP_MACHINE" "SCHEDULER_MACHINE" "CONS3RT_MACHINE" "SOURCEBUILDER_MACHINE" "SYSTEM_ASSET_IMPORTER" "ASSET_CERTIFIER" "ASSET_UPLOADER" "DASHBOARD_MACHINE" "IDAM_MACHINE" "COLLABTOOL_MACHINE"
object (ProjectFeatures)
isPrivate
boolean

Responses

Request samples

Content type
{
  • "name": "string",
  • "description": "string",
  • "itarRestricted": true,
  • "owningTeam": {
    },
  • "limits": {
    },
  • "defaultRole": "ADMINISTRATOR",
  • "features": {
    },
  • "isPrivate": true
}

Response samples

Content type
application/json
"string"

Create Project Token

Creates a project token

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of project

Responses

Response samples

Content type
application/json
"string"

Retrieve Project

Returns a single Project by the given ID.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of project

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "itarRestricted": true,
  • "activeMemberCount": 0,
  • "createdAt": 0,
  • "defaultPowerSchedule": {
    },
  • "defaultRole": "ADMINISTRATOR",
  • "defaultVirtualizationRealm": {
    },
  • "description": "string",
  • "features": {
    },
  • "itarComment": "string",
  • "limits": {
    },
  • "totalMemberCount": 0,
  • "owningTeam": {
    },
  • "isPrivate": true,
  • "trustedProjects": [
    ],
  • "resourceUsage": {
    },
  • "submissionServices": [
    ],
  • "updatedAt": 0,
  • "members": [
    ],
  • "virtualizationRealms": [
    ]
}

Update Project

Updates the content of a single Project with the given ID.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of project

Request Body schema:

The modified Project

name
required
string
description
string
defaultRole
string
Enum: "ADMINISTRATOR" "ASSET_RESTORER" "STATUS_READER" "UI_MACHINE" "TEST_TOOL" "MEMBER" "CONSUMER" "STANDARD" "SOFTWARE_DEVELOPER" "TEST_DEVELOPER" "ASSET_SHARER" "ASSET_PROMOTER" "POWER_SCHEDULE_UPDATER" "PROJECT_OWNER" "PROJECT_MANAGER" "PROJECT_MODERATOR" "REMOTE_ACCESS" "MAESTRO_MACHINE" "FAP_MACHINE" "SCHEDULER_MACHINE" "CONS3RT_MACHINE" "SOURCEBUILDER_MACHINE" "SYSTEM_ASSET_IMPORTER" "ASSET_CERTIFIER" "ASSET_UPLOADER" "DASHBOARD_MACHINE" "IDAM_MACHINE" "COLLABTOOL_MACHINE"
isPrivate
boolean

Responses

Request samples

Content type
{
  • "name": "string",
  • "description": "string",
  • "defaultRole": "ADMINISTRATOR",
  • "isPrivate": true
}

Response samples

Content type
application/json
true

Delete Project

Deletes a single Project with the given ID.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of project

query Parameters
force
boolean
Default: false

Delete all dependencies

Responses

Response samples

Content type
application/json
true

Retrieve Metrics

Returns metric data for Deployment Runs launched by members of the specified Project.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of project

query Parameters
start
required
integer <int64>

Interval start time, specified in seconds since epoch

end
required
integer <int64>

Interval end time, specified in seconds since epoch

interval
integer <int64>
Default: 1

Number of intervals

intervalUnit
string
Default: "HOURS"
Enum: "Nanos" "Micros" "Millis" "Seconds" "Minutes" "Hours" "HalfDays" "Days" "Weeks" "Months" "Years" "Decades" "Centuries" "Millennia" "Eras" "Forever"

Interval unit

Responses

Response samples

Content type
application/json
"string"

List Virtualization Realms

Returns a collection of the Virtualization Realms accessible by the specified Project.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of project

Responses

Response samples

Content type
application/json
[
  • {
    }
]

List Unjoined Projects

Returns a collection of public Projects the user has not joined.

Authorizations:
APIKeyHeaderUsername
query Parameters
maxresults
integer <int64>
Default: 40

Maximum number of results to return

page
integer <int64>
Default: 0

Requested page number

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve Virtual Machine Metrics

Returns metric data for Virtual Machines launched by members of the specified Project.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of project

query Parameters
start
required
integer <int64>

Interval start time, specified in seconds since epoch

end
required
integer <int64>

Interval end time, specified in seconds since epoch

interval
integer <int64>
Default: 1

Number of intervals

intervalUnit
string
Default: "HOURS"
Enum: "Nanos" "Micros" "Millis" "Seconds" "Minutes" "Hours" "HalfDays" "Days" "Weeks" "Months" "Years" "Decades" "Centuries" "Millennia" "Eras" "Forever"

Interval unit

Responses

Response samples

Content type
application/json
"string"

Update Submission Service

Updates an existing Submission Service in the specified Project.

This Submission Service will act as a template for all Project members submitting to the Service. Members will be able to override the credentials used when submitting to this Service, but will not be able to override the Host or Port of the Service.

If the Service's endpoint is an SFTP Host, a submitting member will only be able to override the remote path if one has not already been defined in this default Submission Service.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of project

submission_service_id
required
string

ID of submission service

Request Body schema:
required

The submission service

enabled
boolean
object (Credentials)
required
object (InputSubmissionEndpointForProject)

Responses

Request samples

Content type
{
  • "enabled": true,
  • "credentials": {
    },
  • "submissionEndpoint": {
    }
}

Response samples

Content type
application/json
true

Remove Submission Service

Removes the provided Submission Service from the list of available Services for the specified Project.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of project

submission_service_id
required
string

ID of submission service

Responses

Response samples

Content type
application/json
true

Unassign Trusted Project from Project

Removes the target Project from the specified Project's list of Trusted Partners.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of project

query Parameters
trustedid
required
string

ID of trusted project

Responses

Response samples

Content type
application/json
true

Create Invitation Code

Creates an Invitation Code to be used by a new user at the time of creation to automatically associate them with the specified Project.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of project

query Parameters
email
required
string

Email address of invitee

Responses

Response samples

Content type
application/json
"string"

Update Default Power Schedule

Updates the default Power Schedule for Deployment Runs launched by members of the specified Project.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of project

Request Body schema:

The desired power schedule

mode
required
string
Enum: "NONE" "ECO_MODE" "LOW_COST" "WEEKEND_SHUTDOWN" "CUSTOM"
weekdayEndTimeHour
integer <int32> [ 0 .. 23 ]
weekdayEndTimeMinutes
integer <int32> [ 0 .. 59 ]
weekdayStartTimeHour
integer <int32> [ 0 .. 23 ]
weekdayStartTimeMinutes
integer <int32> [ 0 .. 59 ]
weekendEndTimeHour
integer <int32> [ 0 .. 23 ]
weekendEndTimeMinutes
integer <int32> [ 0 .. 59 ]
weekendStartTimeHour
integer <int32> [ 0 .. 23 ]
weekendStartTimeMinutes
integer <int32> [ 0 .. 59 ]

Responses

Request samples

Content type
{
  • "mode": "NONE",
  • "weekdayEndTimeHour": 23,
  • "weekdayEndTimeMinutes": 59,
  • "weekdayStartTimeHour": 23,
  • "weekdayStartTimeMinutes": 59,
  • "weekendEndTimeHour": 23,
  • "weekendEndTimeMinutes": 59,
  • "weekendStartTimeHour": 23,
  • "weekendStartTimeMinutes": 59
}

Response samples

Content type
application/json
true

Update Default Virtualization Realm

Updates the default Virtualization Realm for the specified Project.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of project

query Parameters
virtualizationrealmid
required
string

ID of virtualization realm

Responses

Response samples

Content type
application/json
true

Set Asset Export Restriction

Sets the Export Restriction of Assets created within the specified Project.

Once a Project is labeled as ITAR-restricted, this cannot be changed.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of project

query Parameters
message
string

Additional information about the export restriction

Responses

Response samples

Content type
application/json
true

Users

List all Users

Returns a collection of the users

Authorizations:
APIKeyHeaderUsername
query Parameters
state
string
Enum: "REQUESTED" "ACTIVE" "INACTIVE"

The users state, if a state is not provided users in all states will be returned

createdbefore
integer <int64>

Date (seconds since epoch) to filter on

createdafter
integer <int64>

Date (seconds since epoch) to filter on

maxresults
integer <int64>
Default: 40

Maximum number of results to return

page
integer <int64>
Default: 0

Requested page number

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a new user

Creates a new user with the supplied data

Authorizations:
APIKeyHeaderUsername
Request Body schema:

The User definition

username
required
string
email
required
string
firstname
required
string
lastname
required
string

Responses

Request samples

Content type
{
  • "username": "string",
  • "email": "string",
  • "firstname": "string",
  • "lastname": "string"
}

Response samples

Content type
application/json
true

Categories

Categories are used to organize and filter a user's Assets.

Assign Category to Asset

Assigns the Category as a filter tag to the provided Asset.

Altering the Category will affect future Asset filtering.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of category

query Parameters
assetid
required
string

ID of asset to assign

Responses

Response samples

Content type
application/json
true

Unassign Category from Asset

Removes the Category as a filter tag from the provided Asset.

Altering the Category will affect future Asset filtering.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of category

query Parameters
assetid
required
string

ID of asset to unassign

Responses

Response samples

Content type
application/json
true

Assign Category to Run

Assigns the Category as a filter tag to the provided Deployment Run.

Altering the Category will affect future Run filtering.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of category

query Parameters
runid
required
string

ID of run to assign

Responses

Response samples

Content type
application/json
true

Unassign Category from deployment run

Removes the Category as a filter tag from the provided Run.

Altering the Category will affect future run filtering.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of category

query Parameters
runid
required
string

ID of run to unassign

Responses

Response samples

Content type
application/json
true

List all Categories

Returns a collection of the currently available Categories.

Authorizations:
APIKeyHeaderUsername

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get Category

Gets the content of a single Category with the given ID.

Authorizations:
APIKeyHeaderUsername
path Parameters
id
required
string

ID of Category to get

Request Body schema:

The gotten Category definition

disruptive
boolean
hidden
boolean
id
integer <int32>
name
required
string
object (InputParentCategory)

Responses

Request samples

Content type
{
  • "disruptive": true,
  • "hidden": true,
  • "id": 0,
  • "name": "string",
  • "parent": {
    }
}

Response samples

Content type
application/json
{
  • "disruptive": true,
  • "editable": true,
  • "hidden": true,
  • "id": 0,
  • "name": "string",
  • "parent": {
    },
  • "subcategories": [
    ]
}