Security Services Platform API Operations Index

Security Services Platform API Operations Index

All available Security Services Platform API Operations

Alarms
POST
Filter Alarm Definitions

Retrieves a list of alarm definitions based on specified filter criteria. This endpoint supports filtering by feature names, severities, event types, and enabled status. The response includes detailed information about each matching alarm definition.

GET
Get Alarm Definitions By Id

Retrieves a single alarm definition using its unique identifier. Returns detailed configuration information about the alarm definition including its feature name, event type, severity, and other associated metadata.

POST
Update Alarm Definition

Update Alarm Definition

POST
Filter Alarm Instances

Get alarm instances based on filter criteria

POST
Update Alarm Instances States

Update the states of a list of alarm instances by IDs

GET
Get Alarm Instance By Id

Retrieves a single alarm instance using its unique identifier

POST
Get Alarm Counts By Category And Severity

When invoking this API, the Alarm instances are accounted for in a map where the key is a category, by default feature name, and the value contains counts by severity. When the optional FeatureName request parameter is specified, the resulting list will only include the feature names passed along with the instance counts by severity for those features.

Backup Restore
GET
Get Backup Config

Returns saved remote backup server (SFTP) settings used by Backup and Restore. 204 if none configured.

PUT
Update Backup Config

Saves remote backup server settings; include current _revision from GET when updating.

GET
Get Recurring Backup Config

Returns scheduled (recurring) backup policy. 204 if not configured.

PUT
Update Recurring Backup Config

Saves scheduled backup policy; set weekly or interval fields to match backup_schedule_type.

POST
Start Backup

Starts an on-demand backup; poll GET /backup/status/{id} using the id from the 202 response.

GET
Get Backup Status

Returns one backup job by id (from POST /backup or GET /backup/status).

GET
Get Backup Status History

Returns the backup status history. Results are always returned in chronologically reverse order, i.e., the latest backup status first. To get the latest backup status, set the page size to 1 without other query parameter. If there's no latest backup, then the call returns an empty list.

POST
Start Restore

Starts restore from backup_id; poll GET /restore/status/{id} using the id from the 202 response.

GET
Get Restore Status

Returns one restore job by id (from POST /restore or GET /restore/status).

GET
Get Restore Status History

Returns all restore status history. Results are always returned in chronologically reverse order, i.e., the latest restore status first.

Certificates
GET
Get Trust Rollout Status

Retrieves the current status of an active or recently completed certificate rotation workflow, including overall progress and per-vertical summary node counts.

When to use: Use this endpoint to get a high-level view of the certificate rotation. It returns the overall_status, progress_percent, and per-vertical summary counts (success/failed/pending nodes) for all participating platform components.

Notes:

  • This endpoint returns summary-level data only - node-level detail arrays (success_nodes, failed_nodes, pending_nodes) are empty. To retrieve node-level details for specific verticals or statuses, use POST /trust/trust-rollout-status with filter criteria.
  • When no rotation is active (or after calling DELETE), the response body will reflect an empty/reset state.
  • This endpoint is safe to poll during an active rotation. The progress_percent field is updated continuously and represents an approximate progress indicator.
  • The vertical_key values in the vertical_status array are the valid inputs for the vertical_names filter in POST /trust/trust-rollout-status.
POST
Filter Trust Rollout Status

Retrieves the certificate rotation status with node-level detail for specific verticals and/or node statuses. This is the primary endpoint for diagnosing rotation failures.

When to use: Use this endpoint after GET /trust/trust-rollout-status reveals that a rotation has COMPLETED_WITH_FAILURES or is still IN_ROTATION with pending nodes. Filter by vertical and status to retrieve the exact list of nodes (with error messages) that require attention.

Filter Behavior:

  • vertical_names: Restricts results to the specified verticals. Values must match the TrustRolloutStatusVerticalKey enum. Obtain valid values from vertical_key fields in GET /trust/trust-rollout-status.
  • include_status: Restricts node-level detail to nodes in the specified states (SUCCESS, FAILED, PENDING). Only matching nodes are populated in success_nodes, failed_nodes, or pending_nodes.
  • If the request body is omitted, the response is equivalent to GET /trust/trust-rollout-status (summary-level data, no node detail).

Important: Node-level detail is only available for certain verticals (e.g., BAREMETALSECURITY, SENSOR). Other verticals (NSX, AVI, SSP, LH) always return empty node arrays - their status is limited to START_SUCCESSFUL or FAILED_TO_START_ROTATION.

Chaining:

  1. Call GET /trust/trust-rollout-status to identify the overall status and which verticals have failed_node_count > 0 in their status_summary.
  2. Call this endpoint with those vertical keys and include_status: ["FAILED"] to retrieve node-level error details for remediation.

Notes:

  • Returns 400 if vertical_names contains values not in the TrustRolloutStatusVerticalKey enum, or if include_status contains values outside of SUCCESS, FAILED, PENDING.
  • Verticals not matching the filter are excluded entirely from the response.
DELETE
Clear Trust Rollout Status

Clears and permanently resets the certificate rotation rollout status, returning the system to an idle state. This corresponds to the "Clear Status" action in the SSP Trust Management UI.

When to use: Call this endpoint after the rotation workflow has reached a terminal overall_status (COMPLETED_SUCCESSFULLY or COMPLETED_WITH_FAILURES) and you have acknowledged the result. This resets the system so a new rotation can be tracked cleanly in the future.

Preconditions:

  • The workflow must NOT be actively running. If overall_status is IN_ROTATION, this call returns 400. Verify the current state with GET /trust/trust-rollout-status before calling this endpoint.

Side Effects:

  • All rollout status data is permanently deleted. Subsequent GET /trust/trust-rollout-status calls will return an empty/reset status object.
  • This does NOT reverse or undo any certificate changes made during the rotation.
  • This action is irreversible - cleared status cannot be recovered.
Cluster Monitor
GET
Get Feature Health

Retrieve hierarchical health status: Features -> Services -> Components.

Structure:

  • Features are high-level groupings (e.g., "intelligence", "analytics")
  • Services are feature components (e.g., "cluster-api")
  • Components are pods/deployments

Key points:

  • Overall platform status: UP, PARTIALLY_UP, DOWN
  • Aggregated from feature status
  • See API guide for when to use this vs other endpoints
GET
Get Platform Status

Retrieve complete cluster status: health, config, form factor, versions.

Returns:

  • Health metrics: CPU, memory, storage (1/5/15 min averages)
  • Config: cluster ID, name, node count, K8s version
  • Network metrics: transmit/receive rates
  • Form factor: current and desired, including transitions
  • Versions: product_version

Form factor transitions track scaling:

  • NOT_STARTED, IN_PROGRESS, COMPLETED, FAILED
  • Check message and job_name for details

See API guide for endpoint comparison and workflow.

GET
Get Services Status

Retrieve service health and resource metrics per category.

Service Categories: MESSAGING (message broker), ANALYTICS (analysis), DATA_STORAGE (storage), CONFIGURATION_DATABASE, PLATFORM_SERVICES, METRICS, BARE_METAL_SECURITY, AI_ASSISTANT_PLATFORM, AI_ASSISTANT_THREAT_DEFENSE

Per-service metrics:

  • health: UP, PARTIALLY_UP, DOWN (60-second cache)
  • cpu: [1min, 5min, 15min] averages in cores
  • memory, storage: current usage in GB
  • allocated_*: total available resources

Messaging service metrics:

  • byte_in_rate, byte_out_rate: Bytes/sec
  • request_rate: Messages produced/sec
Licensing Client Service
GET
List Licenses

List all licenses.

Platform Features
Security Content
PUT
Update Scs Config

Update the global configuration for the security content service. This includes the connectivity mode setting which controls connectivity to cloud services. The _revision field is required in the request payload. Obtain the current _revision by issuing a GET request first. If the provided _revision does not match the current revision, the request will be rejected with a 409 Conflict error. Note: If connectivity_mode_changeable is false, any attempt to modify the connectivity_mode field will be rejected with a 409 Conflict error. Check the connectivity_mode_changeable field in the GET response before attempting to update.

GET
Get Scs Config

Get the global configuration for the security content service. This includes the connectivity mode setting which controls connectivity to cloud services. The response includes the connectivity_mode_changeable field which indicates whether the connectivity mode can be modified. When false, the connectivity mode cannot be changed.

GET
Get Site Idps Config

Get the IDPS signature configuration for a specific site. Returns the assigned version and auto-update settings for the site.

PUT
Update Site Idps Config

Update IDPS signature configuration for a specific site. The configuration must already exist. Use POST to create a new configuration. The _revision field is required in the request payload. Obtain the current _revision by issuing a GET request first. If the provided _revision does not match the current revision, the request will be rejected with a 409 Conflict error.

POST
Create Site Idps Config

Create IDPS signature configuration for a specific site.

DELETE
Delete Site Idps Config

Delete the IDPS signature configuration for a specific site.

GET
Get Features Versions

Get the list of versions available for the feature types passed in feature_type query parameter. Currently supported feature types are GEO_IP, IDPS_SIGNATURE, IP_REPUTATION, URL_DB.

GET
Get Feature Info By Id And Version

Returns the feature download info for the feature type and feature version if exists else response with 404 response code will returned. To get the latest version, pass LATEST for feature_version query parameter for the feature type.

If SSP is in disconnected mode (see field CLOUD_CONNECTIVITY_MODE in SecurityContentConfig) then the response depends on configurations - automatic update and feature version mapping. When automatic update configuration takes precedence over feature version mapping and returns latest feature version. Latest version will be returned when both automatic update and feature version mapping is not set. When automatic update is disabled and feature version mapping is set, then the download info for the mapped version will be returned.

Latest version is determined based on the feature_updated_at timestamp. When VTIS provides an update timestamp for the feature, that is used as the authoritative sort key. When VTIS does not provide an update timestamp, the SSP processing time (when the feature was ingested) is used as a fallback. The feature version with the most recent feature_updated_at is returned as LATEST.

POST
Upload Mega Bundle

Upload a security content mega bundle archive file to security content store. After successful upload, a upload ID will be generated and returned. The status of the upload can be fetched using the ID. After the mega bundle is uploaded, the included features will be available through content APIs.

GET
List Mega Bundle

List of mega bundles. Optionally filter by bundle type.

GET
Get Mega Bundle

Get the mega bundle metadata.

DELETE
Delete Mega Bundle

Delete the mega bundle.

GET
Get Mega Bundle Status

Get the current processing status of an uploaded mega bundle. This endpoint provides information about upload status.

Site Service
GET
Retrieve All Sites

Retrieves all sites currently connected to the platform. By default, all site types (NSX_MANAGER, SSP and AVI) are returned, but query parameters can be used to filter the sites.

Notes:

  • If no sites are connected to the platform an empty list will be returned.
  • The platform does not store the username and password that were used to onboard the site, so these fields will always be returned empty.
POST
Onboard Site

This onboarding workflow includes initiating a connection to the site, running prechecks and onboarding the site. These actions are performed asynchronously. The state of the site can be checked by calling GET on the status_url returned in the response. Onboarding is completed when the current_state of the site is READY.

The desired_state property in the body of this request allows you control the workflow more granularly. Providing a desired_state of PREPARE will run the prechecks and then halt, preventing the site from actually being onboarded to the platform. Providing a desired_state of ONBOARD will run the prechecks, and if they pass, will start onboarding the site to the platform.

Once a site has been onboarded, use PUT /sites/{site-id} to take any needed actions, like reconnecting the site if it becomes disconnected.

Notes:

  • The credentials provided are one-time use to establish a connection. They are never stored or re-used.
GET
Get Site By Id

Retrieves a specific site onboarded to the platform by the site id provided. If the site does not exist on the platform, a 404 will be returned.

Notes:

  • The platform does not store the username and password that were used to onboard the site, so these fields will always be returned empty.
PUT
Update Site

Update an existing site to support actions like reconnecting. The platform will keep the site up to date as long as the site remains connected and healthy, thus, updating information on the site is not required. However, in the case of a connection being lost, update allows the site to be reconnected using provided credentials.

Notes:

  • The credentials provided are one-time use to re-establish the connection. They are never stored or re-used.
  • Connection Type Changes Not Allowed: You cannot change the connection type (DYNAMIC <-> STATIC) during a reconnect operation. The connection type must remain the same as it was during initial onboarding.
  • To Change Connection Type: You must first offboard the site, then onboard it again with the new connection type.
  • IP/Hostname Changes Allowed:
    • For DYNAMIC mode: You can change the hostname during reconnect.
    • For STATIC mode: You can change the host addresses (IPs/ports) during reconnect.
DELETE
Delete Site By Id

Deleting a site will asynchronously perform actions to remove references to this SSP instance on the site and, when finished successfully, delete the site from the platform.

If the connection between the site and the platform is not healthy, then the force parameter can be used. When force is true, the platform will attempt best-effort to remove references to this SSP instance from the site, but will ignore errors from the site. The result will be the removal of the site from the platform, but possibly references to the platform remaining on the site. This scenario can lead to errors when attempting to onboard the site to a new SSP. In this scenario, the force parameter will have to be used when onboarding the site.

During offboarding, the site enterprise admin username and password are required to allow SSP to delete certain artifacts that are specific to this platform.

Notes:

  • The credentials provided are one-time use and never stored or re-used.
  • The status of offboarding can be checked by calling GET /sites/{site-id}. Once offboarding is completed, the site will automatically be deleted, at which point calling GET /sites/{site-id} will return a 404. This signifies a successful offboard and deletion.
GET
Get Site Feature Settings

Retrieve the site settings for SSP features for a specific site. The settings here DO NOT show whether a feature is activate or inactive on the platform, they only reflect the configured feature settings for each feature for the specified site. There is no need to create these feature settings, they are created as part of the onboarding workflow for the site.

Notes:

  • Although all site feature settings are returned, not all of the settings are editable via API.
PUT
Update Site Feature Settings

Update the site settings for activated SSP features for a specific site. These settings are created and configured during the onboarding workflow. Configuring settings here DOES NOT control the deployment or undeployment of the feature on the platform, it only configures the feature settings for a feature for this specific site.

Notes:

  • Although all site feature settings are returned, not all of the settings are editable via API.
Telemetry
GET
Get Telemetry Config

Get telemetry config information.

PUT
Update Telemetry Config

Updated telemetry config information.

GET
Get Telemetry Data

This API exports all the aggregated telemetries in the specified format.

Upgrade
GET
Get Upgrade Coordinator Feature Configuration

Retrieves the deployment configuration metadata for the Upgrade Coordinator. This includes the target version, revision number, the user who initiated the deployment, and the creation timestamp.

PUT
Update Upgrade Coordinator Feature Configuration

Modifies the deployment configuration for the Upgrade Coordinator. Use this operation to update specific deployment parameters, such as the target upgrade version and the configuration revision.

GET
Get Upgrade Coordinator Feature Configuration Status

Retrieves the comprehensive configuration status of the Upgrade Coordinator. This includes deployment configuration details (such as status, revision, the user who initiated the deployment, and the creation timestamp), alongside execution metrics including the overall status, precheck results, and current progress.

GET
List Upgrade Steps

Retrieves the list of all available pre-checks and upgrade step definitions. This endpoint provides visibility into the upgrade workflow phases and pre-checks validations that will be executed, enabling the UI to display the upgrade process to the user before execution.

The steps are listed in the order they will be executed during the upgrade process. This endpoint returns step definitions only, not execution status. To retrieve execution status and progress, use GET /upgrade/status.

POST
Trigger Upgrade

Executes the SSP upgrade operation asynchronously based on the specified action. Returns immediately with a status URL; use GET /upgrade/status to monitor progress.

Supported actions:

PRECHECKS_ONLY: Runs only pre-upgrade validation checks without performing the upgrade. This operation is idempotent and non-disruptive; it can be safely run on a live production system to assess readiness before a maintenance window. PRECHECKS_ONLY is only allowed when the upgrade status is NOT_STARTED. Only one pre-checks operation can run at a time.

START: Runs pre-checks followed by the full upgrade. This is the standard upgrade flow. START is only allowed when the upgrade status is NOT_STARTED. Requires a scheduled maintenance window as the system may experience downtime during the upgrade. Ensure a backup is taken before initiating. Do not interrupt the upgrade process once initiated.

CONTINUE: Starts the upgrade without running pre-checks. CONTINUE is only allowed when the upgrade status is NOT_STARTED and pre-checks have completed successfully, returns an error for any other state.

RETRY: Resumes the upgrade workflow from the failed step. Already completed upgrade steps are skipped automatically. RETRY is only allowed when the upgrade status is FAILED, which means pre-checks have already passed. If pre-checks failed, use START again.

Recommended workflow:

  1. Deploy the upgrade coordinator via the LCM feature deploy API (PUT /lcm/features/UPGRADE_COORDINATOR with action DEPLOY).
  2. Check available versions (GET /upgrade/available-versions).
  3. Run pre-checks (POST /upgrade?action=PRECHECKS_ONLY) and review results (GET /upgrade/status).
  4. During a maintenance window, start the upgrade (POST /upgrade?action=START or POST /upgrade?action=CONTINUE if pre-checks already passed), and monitor progress (GET /upgrade/status).
  5. If upgrade fails, address the issue and retry (POST /upgrade?action=RETRY).
  6. Review upgrade history (GET /upgrade/history) after completion.
  7. Undeploy the upgrade coordinator via the LCM feature undeploy API (PUT /lcm/features/UPGRADE_COORDINATOR with action UNDEPLOY).
GET
Get Upgrade Status

Retrieves real-time status and detailed progress information for the upgrade operation. This endpoint provides visibility into upgrade execution with granular reporting for each upgrade phase.

Poll this endpoint at regular intervals while upgrade is in progress.

Upon completion, verify that overall_status is SUCCESS before proceeding with the LCM feature undeploy API to uninstall the upgrade coordinator. If status is FAILED, examine the steps array for the failed step to identify root cause or connect with VMware Support for assistance.

If no upgrade has been initiated, the response indicates NOT_STARTED status.

GET
Get Upgrade Available Versions

Returns the currently deployed SSP version and the list of versions available for upgrade. The versions_for_upgrade list is sorted in descending order with the latest version first and contains only versions strictly greater than the currently deployed version. The list may be empty if no newer versions are available.

This API is served directly by the cluster-api service and is accessible even when upgrade-service is not running.

GET
Get Upgrade History

Returns the complete list of SSP upgrade attempts. Each entry records an upgrade attempt with its versions, status, and timing metadata. Returns an empty list if no upgrades have been attempted (e.g. fresh deployments).

This API is served directly by the cluster-api service and is accessible even when upgrade-service is not running.