To integrate Replit with Trend Micro Cloud One, store your API key in Replit Secrets (lock icon π) and call the Cloud One REST API from your Node.js or Python backend to query workload security policies, scan containers for vulnerabilities, and retrieve threat intelligence reports. Cloud One is Trend Micro's cloud-native security platform covering workload protection, container security, and conformity checks. Deploy as Autoscale for on-demand security API calls.
Automate Cloud Security Checks with Replit and Trend Micro Cloud One
Trend Micro Cloud One is a cloud-native security platform that combines workload protection, container security, file storage scanning, network security, and conformity checking into a unified service accessible via REST APIs. For development teams using Replit, the Cloud One API enables security automation that would otherwise require manual dashboard checks β pulling vulnerability findings, verifying policy compliance, and triggering scans directly from code.
The most practical integration patterns center on DevSecOps workflows: checking container image scan results before deploying to production, querying workload security status for servers in your environment, and pulling Conformity results to verify your cloud infrastructure meets your security baselines. Your Replit backend can aggregate these results and feed them into Slack alerts, CI/CD pipeline gates, or custom security dashboards for your team.
Cloud One's API uses consistent authentication across its services β a single API key covers all Cloud One modules (Workload Security, Container Security, Conformity, File Storage Security). The API key is included in every request as an Authorization header. Because this key grants broad access to your security configuration and findings, it must be protected in Replit Secrets and never exposed in frontend code or committed to version control.
Integration method
Trend Micro Cloud One exposes REST APIs for each of its security services (Workload Security, Container Security, Conformity, File Storage Security). Your Replit backend authenticates using an API key included as an Authorization header, then calls endpoints to query security policies, retrieve threat findings, trigger scans, and pull compliance reports. All API calls must originate from your Replit server to protect the API key, and results can be forwarded to alerting systems, dashboards, or CI/CD pipelines.
Prerequisites
- A Replit account with a Node.js or Python Repl ready
- A Trend Micro Cloud One account (trial available at cloudone.trendmicro.com)
- A Cloud One API key generated in Cloud One console under Administration > API Keys
- Access to at least one Cloud One service (Workload Security, Container Security, or Conformity)
- Basic understanding of REST APIs and JSON responses
Step-by-step guide
Generate a Cloud One API Key and Store it in Replit Secrets
Generate a Cloud One API Key and Store it in Replit Secrets
Log into your Trend Micro Cloud One account at cloudone.trendmicro.com. Navigate to the Administration section using the gear icon in the top-right corner, then select 'API Keys' from the left menu. Click 'New' to create a new API key. Give it a descriptive name like 'replit-integration' and select the appropriate role β for read-only security monitoring, choose a role with read permissions only; for automation that triggers scans or updates policies, you may need a role with write permissions as well. Cloud One will display the API key value once. Copy it immediately before closing the dialog, as the key cannot be retrieved again. If you lose it, you will need to delete it and create a new one. In Replit, click the lock icon (π) in the left sidebar to open the Secrets pane. Add the following secrets: CLOUDONE_API_KEY: your full Cloud One API key string. CLOUDONE_REGION: the Cloud One region for your account (e.g., 'us-1', 'trend-us-1', 'gb-1', 'au-1'). Check your Cloud One URL to identify your region β it is part of the subdomain. The Cloud One API base URL follows the pattern https://workloadsecurity.{region}.cloudone.trendmicro.com/api for Workload Security and https://conformity.{region}.cloudone.trendmicro.com/api for Conformity. Each Cloud One service has its own base URL. All accept the same API key in the Authorization header as 'ApiKey YOUR_KEY'.
1// verify-cloudone-secrets.js2const axios = require('axios');34const API_KEY = process.env.CLOUDONE_API_KEY;5const REGION = process.env.CLOUDONE_REGION || 'us-1';67if (!API_KEY) {8 console.error('CLOUDONE_API_KEY not found in Replit Secrets (lock icon π).');9 process.exit(1);10}1112async function testConnection() {13 // Test using the Workload Security API info endpoint14 const resp = await axios.get(15 `https://workloadsecurity.${REGION}.cloudone.trendmicro.com/api/apikeys/current`,16 {17 headers: {18 'Authorization': `ApiKey ${API_KEY}`,19 'api-version': 'v1',20 'Content-Type': 'application/json'21 }22 }23 );24 console.log('Cloud One API connection OK');25 console.log('API key name:', resp.data.name);26 console.log('Role ID:', resp.data.roleID);27}2829testConnection().catch(err => {30 console.error('Connection failed:', err.response?.status, err.response?.data || err.message);31 if (err.response?.status === 401) console.error('Check CLOUDONE_API_KEY in Replit Secrets.');32});Pro tip: Create separate API keys for different Replit environments (development, production) and assign minimum required permissions to each. If a key is compromised, you can revoke it without affecting other integrations. Role-based access control in Cloud One lets you restrict API keys to specific services and operations.
Expected result: The verification script prints 'Cloud One API connection OK' with your API key name and role ID, confirming the credentials are valid.
Query Workload Security Computer Status
Query Workload Security Computer Status
Cloud One Workload Security protects servers (called 'computers' in the API) with anti-malware, intrusion prevention, integrity monitoring, and web reputation modules. The Workload Security API lets you query the status of all protected computers, retrieve policy assignments, and check for unresolved security events. The base endpoint for Workload Security is https://workloadsecurity.{region}.cloudone.trendmicro.com/api. All Workload Security API requests require the api-version header set to 'v1' in addition to the Authorization header. This is a Cloud One-specific requirement β missing the api-version header results in a 400 error. To list all computers: GET /computers returns a paginated list with status information for each protected server. Each computer object includes its hostname, the policy assigned to it, the status of each protection module (anti-malware, IPS, firewall, integrity monitoring), and any active alert counts. For computers with issues, the object includes fields like antiMalwareState and intrusionPreventionState set to values like 'warning' or 'error'. Filter computers by status to focus on those needing attention. The API supports search parameters β pass searchCriteria to filter by hostName, policyID, or component status. For a security monitoring dashboard, pull all computers and group them by protection status to give your team a quick overview of coverage.
1# workload_security.py β Query Cloud One Workload Security (Python)2import os3import requests4from flask import Flask, jsonify56API_KEY = os.environ['CLOUDONE_API_KEY']7REGION = os.environ.get('CLOUDONE_REGION', 'us-1')8WS_BASE = f'https://workloadsecurity.{REGION}.cloudone.trendmicro.com/api'910HEADERS = {11 'Authorization': f'ApiKey {API_KEY}',12 'api-version': 'v1',13 'Content-Type': 'application/json'14}1516def get_computers(max_items=100):17 """List all computers protected by Cloud One Workload Security."""18 resp = requests.get(19 f'{WS_BASE}/computers',20 headers=HEADERS,21 params={'expand': 'antiMalware,intrusionPrevention,integrityMonitoring', 'maxItems': max_items}22 )23 resp.raise_for_status()24 return resp.json().get('computers', [])2526def get_computers_with_alerts():27 """Return only computers that have active security alerts."""28 computers = get_computers()29 return [c for c in computers if c.get('alarmStatus') == 'error' or c.get('tasks')]3031def summarize_protection_status(computers):32 """Group computers by protection status."""33 summary = {'protected': 0, 'warning': 0, 'error': 0, 'unmanaged': 0}34 for c in computers:35 state = c.get('computerStatus', {}).get('agentStatus', 'unmanaged').lower()36 if state in summary:37 summary[state] += 138 else:39 summary['unmanaged'] += 140 return summary4142app = Flask(__name__)4344@app.route('/api/security/computers')45def list_computers():46 computers = get_computers()47 return jsonify({48 'total': len(computers),49 'summary': summarize_protection_status(computers),50 'computers': [{51 'id': c.get('ID'),52 'hostname': c.get('hostName', 'unknown'),53 'status': c.get('computerStatus', {}).get('agentStatus'),54 'alarmStatus': c.get('alarmStatus')55 } for c in computers]56 })5758@app.route('/api/security/alerts')59def computers_with_alerts():60 computers = get_computers_with_alerts()61 return jsonify({62 'count': len(computers),63 'computers': [{'id': c.get('ID'), 'hostname': c.get('hostName')} for c in computers]64 })6566if __name__ == '__main__':67 app.run(host='0.0.0.0', port=3000)Pro tip: Use the 'expand' query parameter to include protection module details in the computer list response. Without it, you get basic computer info only and would need a separate API call per computer to get anti-malware and IPS status β the expand parameter gets everything in one request.
Expected result: GET /api/security/computers returns a JSON summary of all protected servers grouped by status. GET /api/security/alerts lists only computers with active alarm states.
Query Cloud One Conformity for Compliance Results
Query Cloud One Conformity for Compliance Results
Cloud One Conformity continuously checks your cloud infrastructure (AWS, Azure, GCP) against security and compliance rules including CIS Benchmarks, PCI DSS, HIPAA, and custom rules. The Conformity API lets you retrieve check results, filter by account, service, severity, and rule, and export findings for compliance reporting. The Conformity API base URL is https://conformity.{region}.cloudone.trendmicro.com/api. Unlike Workload Security, Conformity does not require the api-version header. The main endpoint for findings is GET /checks, which returns a paginated list of check results. Each check result includes the rule ID, resource ARN, region, service, status (FAILURE, SUCCESS, ERROR), risk level (VERY_HIGH, HIGH, MEDIUM, LOW, INFORMATIONAL), and a message describing the finding. Filter findings to FAILURE status and HIGH or VERY_HIGH risk level to surface the most important issues. The API supports compound filters: filter[status]=FAILURE&filter[risk-level]=HIGH will return only high-risk failed checks. You can also filter by AWS account ID (filter[accountIds]) or by compliance rule set (filter[ruleSetIds]) to scope results to specific environments or frameworks. For automated compliance reporting, store your Cloud One account IDs in Replit Secrets and build a scheduled Replit job (Scheduled deployment) that pulls weekly findings, generates a summary, and distributes it to your security team.
1// conformity.js β Cloud One Conformity compliance checks (Node.js)2const axios = require('axios');3const express = require('express');45const API_KEY = process.env.CLOUDONE_API_KEY;6const REGION = process.env.CLOUDONE_REGION || 'us-1';7const CONF_BASE = `https://conformity.${REGION}.cloudone.trendmicro.com/api`;89const conformity = axios.create({10 baseURL: CONF_BASE,11 headers: {12 'Authorization': `ApiKey ${API_KEY}`,13 'Content-Type': 'application/vnd.api+json'14 }15});1617async function getFailedChecks(accountId, riskLevel = 'HIGH', maxItems = 100) {18 const resp = await conformity.get('/checks', {19 params: {20 'filter[accountIds]': accountId,21 'filter[statuses]': 'FAILURE',22 'filter[riskLevels]': riskLevel,23 'page[size]': maxItems24 }25 });26 return resp.data.data || [];27}2829async function getAccountList() {30 const resp = await conformity.get('/accounts');31 return resp.data.data || [];32}3334const app = express();3536// GET /api/conformity/accounts β list all connected cloud accounts37app.get('/api/conformity/accounts', async (req, res) => {38 try {39 const accounts = await getAccountList();40 res.json({41 count: accounts.length,42 accounts: accounts.map(a => ({43 id: a.id,44 name: a.attributes?.name,45 provider: a.attributes?.provider,46 status: a.attributes?.status47 }))48 });49 } catch (err) {50 res.status(500).json({ error: err.response?.data || err.message });51 }52});5354// GET /api/conformity/checks?accountId=xxx&risk=HIGH β get failed checks55app.get('/api/conformity/checks', async (req, res) => {56 const { accountId, risk = 'HIGH' } = req.query;57 if (!accountId) return res.status(400).json({ error: 'accountId required' });58 try {59 const checks = await getFailedChecks(accountId, risk);60 const summary = checks.reduce((acc, c) => {61 const service = c.attributes?.service || 'Unknown';62 acc[service] = (acc[service] || 0) + 1;63 return acc;64 }, {});65 res.json({ totalFailed: checks.length, byService: summary, checks: checks.slice(0, 20) });66 } catch (err) {67 res.status(500).json({ error: err.response?.data || err.message });68 }69});7071app.listen(3000, '0.0.0.0', () => console.log('Cloud One Conformity API running'));72Pro tip: Conformity API responses use JSON:API format (with 'data', 'attributes', 'relationships' structure) rather than plain JSON. Access attributes via check.attributes.ruleId and check.attributes.message rather than check.ruleId directly.
Expected result: GET /api/conformity/accounts returns your connected cloud accounts. GET /api/conformity/checks?accountId=xxx returns the count of HIGH severity failed checks grouped by AWS service.
Build a Unified Security Status API
Build a Unified Security Status API
Combine data from multiple Cloud One APIs into a single security health endpoint that your monitoring tools or dashboards can query. A unified endpoint reduces the number of external API calls your frontend needs to make and lets you apply business logic (e.g., overall status = 'red' if any critical findings exist) in one place. The unified status endpoint can aggregate: total protected computers and those with alerts (from Workload Security), high-severity failed compliance checks (from Conformity), and any other Cloud One services you use. Return a single JSON document with an overall health status and breakdowns by service. For performance, make the Cloud One API calls concurrently using Promise.all (Node.js) or asyncio.gather (Python) rather than sequentially. Cache the results for 5-15 minutes since security status does not change second-by-second β this is especially important if you have a dashboard polling this endpoint. Deploy as Replit Autoscale for a stateless monitoring API that scales with traffic, or as Reserved VM if you need guaranteed uptime for security alerting. Replit's dynamic IP addresses mean you cannot whitelist a specific IP on Cloud One's side β the API key in the Authorization header is the authentication mechanism.
1# unified_security.py β Combined Cloud One security status API (Python)2import os3import time4import asyncio5import aiohttp6from flask import Flask, jsonify78API_KEY = os.environ['CLOUDONE_API_KEY']9REGION = os.environ.get('CLOUDONE_REGION', 'us-1')1011WS_BASE = f'https://workloadsecurity.{REGION}.cloudone.trendmicro.com/api'12CONF_BASE = f'https://conformity.{REGION}.cloudone.trendmicro.com/api'1314# Simple in-memory cache15_cache = {}16CACHE_TTL = 600 # 10 minutes1718def get_cached(key):19 entry = _cache.get(key)20 if entry and time.time() - entry['ts'] < CACHE_TTL:21 return entry['data']22 return None2324def set_cached(key, data):25 _cache[key] = {'data': data, 'ts': time.time()}2627async def fetch_ws_summary(session):28 async with session.get(29 f'{WS_BASE}/computers',30 headers={'Authorization': f'ApiKey {API_KEY}', 'api-version': 'v1'},31 params={'maxItems': 500}32 ) as resp:33 data = await resp.json()34 computers = data.get('computers', [])35 alerts = sum(1 for c in computers if c.get('alarmStatus') == 'error')36 return {'total_computers': len(computers), 'computers_with_alerts': alerts}3738async def fetch_conformity_summary(session, account_id):39 async with session.get(40 f'{CONF_BASE}/checks',41 headers={'Authorization': f'ApiKey {API_KEY}', 'Content-Type': 'application/vnd.api+json'},42 params={'filter[accountIds]': account_id, 'filter[statuses]': 'FAILURE',43 'filter[riskLevels]': 'VERY_HIGH,HIGH', 'page[size]': 1}44 ) as resp:45 data = await resp.json()46 total = data.get('meta', {}).get('total', len(data.get('data', [])))47 return {'high_severity_failures': total}4849app = Flask(__name__)5051@app.route('/api/security/status')52def security_status():53 account_id = os.environ.get('CLOUDONE_ACCOUNT_ID', '')54 cached = get_cached('status')55 if cached:56 cached['from_cache'] = True57 return jsonify(cached)5859 async def gather():60 async with aiohttp.ClientSession() as session:61 tasks = [fetch_ws_summary(session)]62 if account_id:63 tasks.append(fetch_conformity_summary(session, account_id))64 results = await asyncio.gather(*tasks, return_exceptions=True)65 return results6667 results = asyncio.run(gather())68 ws = results[0] if not isinstance(results[0], Exception) else {'error': str(results[0])}69 conf = results[1] if len(results) > 1 and not isinstance(results[1], Exception) else {}7071 overall = 'healthy'72 if ws.get('computers_with_alerts', 0) > 0 or conf.get('high_severity_failures', 0) > 0:73 overall = 'needs_attention'7475 status = {'overall': overall, 'workload_security': ws, 'conformity': conf}76 set_cached('status', status)77 return jsonify(status)7879if __name__ == '__main__':80 app.run(host='0.0.0.0', port=3000)Pro tip: Add CLOUDONE_ACCOUNT_ID to Replit Secrets if you want Conformity results. This is the Conformity account ID (a UUID visible in the Conformity console URL), not your AWS account number. If left empty, the unified endpoint returns only Workload Security data.
Expected result: GET /api/security/status returns a combined JSON object with workload security computer counts and alerts, high-severity Conformity failures, and an overall health status of 'healthy' or 'needs_attention'.
Common use cases
Container Security Scan Status Checker
Build a Replit endpoint that queries Cloud One Container Security for the latest image scan results for your container registry. Before a deployment proceeds, your CI/CD pipeline calls this endpoint to check whether the target image has any critical or high severity vulnerabilities, blocking the deploy if findings exceed your risk threshold.
Build a Node.js API endpoint that queries Trend Micro Cloud One Container Security for image scan results and returns whether the image passes or fails a configurable vulnerability threshold.
Copy this prompt to try it in Replit
Cloud Infrastructure Conformity Report
Use the Cloud One Conformity API to retrieve compliance check results for your AWS, Azure, or GCP infrastructure. Your Replit backend pulls failed checks filtered by severity and rule set (e.g., CIS benchmarks), formats them into a Markdown report, and sends a weekly digest to your security Slack channel.
Create a Python script that queries Cloud One Conformity for failed checks in your AWS account, filters by HIGH severity, and posts a summary to Slack with rule names and affected resources.
Copy this prompt to try it in Replit
Workload Security Policy Dashboard
Query the Cloud One Workload Security API to retrieve the protection status of all servers in your environment β anti-malware status, intrusion prevention, integrity monitoring. Build a simple Express API that exposes this data for a security status dashboard, highlighting any computers that are offline, unprotected, or have unresolved alerts.
Build a Flask API that queries Trend Micro Cloud One Workload Security for all computers and their protection module status, returning a summary of any computers with active security alerts or disabled protection.
Copy this prompt to try it in Replit
Troubleshooting
401 Unauthorized response with 'invalid API key' message on every request
Cause: The CLOUDONE_API_KEY in Replit Secrets is missing, incorrect, or the API key has been revoked in the Cloud One console. Also occurs if the Authorization header format is wrong β Cloud One requires 'ApiKey YOUR_KEY', not 'Bearer YOUR_KEY'.
Solution: Open Replit Secrets (lock icon π) and re-enter CLOUDONE_API_KEY. Verify the key is active in Cloud One Administration > API Keys. Ensure the header is constructed as `Authorization: ApiKey ${process.env.CLOUDONE_API_KEY}` β note 'ApiKey' not 'Bearer'.
1// Correct authorization header format for Cloud One2const headers = {3 'Authorization': `ApiKey ${process.env.CLOUDONE_API_KEY}`, // 'ApiKey', not 'Bearer'4 'api-version': 'v1', // Required for Workload Security5 'Content-Type': 'application/json'6};400 Bad Request from Workload Security API with 'api-version header is required' message
Cause: The Workload Security API requires an 'api-version' header set to 'v1' on every request. This is a Cloud One-specific requirement not needed by most REST APIs, and it is easy to overlook.
Solution: Add 'api-version': 'v1' to the headers of all Workload Security API requests. This header is specific to the Workload Security service β Conformity and other Cloud One services do not require it.
1// Always include api-version for Workload Security endpoints2const wsHeaders = {3 'Authorization': `ApiKey ${process.env.CLOUDONE_API_KEY}`,4 'api-version': 'v1', // REQUIRED for Workload Security5 'Content-Type': 'application/json'6};Conformity API returns empty checks array even though failed checks are visible in the web console
Cause: The filter parameters use the wrong format, or the account ID passed is the AWS account number (12-digit number) rather than the Cloud One Conformity account ID (UUID). Conformity account IDs are UUIDs assigned by Cloud One.
Solution: Call GET /accounts first to retrieve your Cloud One Conformity account IDs. These are UUIDs like '123e4567-e89b-12d3-a456-426614174000' β they are visible in the Conformity console URL when viewing an account. Store this UUID in Replit Secrets as CLOUDONE_ACCOUNT_ID.
1// Fetch account IDs from Conformity to find the correct UUID2const resp = await conformity.get('/accounts');3resp.data.data.forEach(a => {4 console.log(`Account: ${a.attributes.name}, ID: ${a.id}, Provider: ${a.attributes.provider}`);5});Connection timeout or ECONNREFUSED when calling Cloud One APIs from Replit
Cause: The CLOUDONE_REGION secret contains the wrong region code, causing requests to go to a non-existent endpoint. Cloud One region codes follow formats like 'us-1', 'gb-1', 'au-1', 'de-1' β not standard AWS region names.
Solution: Check your Cloud One console URL β the region is embedded in the subdomain. For example, if your console is at 'us-1.cloudone.trendmicro.com', your region is 'us-1'. Update CLOUDONE_REGION in Replit Secrets to the exact region code from your console URL.
1// Log the full API URL to verify the region is correct2console.log('WS API base:', `https://workloadsecurity.${process.env.CLOUDONE_REGION}.cloudone.trendmicro.com/api`);3console.log('Conformity base:', `https://conformity.${process.env.CLOUDONE_REGION}.cloudone.trendmicro.com/api`);Best practices
- Store CLOUDONE_API_KEY and CLOUDONE_REGION in Replit Secrets (lock icon π) β your API key grants broad access to your security configuration and must never appear in code or logs
- Create minimum-privilege API keys with read-only roles for monitoring integrations β reserve write-permission keys for automation workflows that actually need to modify policies
- Always include the 'api-version: v1' header for Workload Security API requests β it is required and its absence causes a 400 error that looks misleadingly like an authentication failure
- Cache Cloud One API responses for 5-15 minutes since security status changes slowly β this prevents excessive API usage and keeps response times fast for dashboard queries
- Use concurrent API calls (Promise.all in Node.js, asyncio.gather in Python) when aggregating data from multiple Cloud One services β sequential calls multiply the latency unnecessarily
- Deploy as Replit Autoscale for on-demand security data endpoints; use a Scheduled deployment for periodic compliance report generation and distribution
- Use Conformity account IDs (Cloud One UUIDs) rather than AWS account numbers when filtering Conformity checks β they look similar but the API rejects AWS account numbers
- Rotate API keys periodically and delete unused keys in Cloud One Administration β if a Replit project is archived, revoke its associated Cloud One API key immediately
Alternatives
McAfee/Trellix focuses on endpoint security and threat intelligence, making it the better choice if your primary concern is protecting end-user devices rather than cloud workloads.
LastPass is a password management platform for team credential security β useful alongside Trend Micro Cloud One but addresses identity security rather than workload and infrastructure protection.
Auth0 handles application identity and authentication security, complementing Cloud One's infrastructure security focus rather than replacing it.
Frequently asked questions
How do I connect Replit to Trend Micro Cloud One?
Add your CLOUDONE_API_KEY and CLOUDONE_REGION to Replit Secrets (lock icon π), then call the Cloud One REST API from your Node.js or Python backend using an 'Authorization: ApiKey YOUR_KEY' header. Different Cloud One services (Workload Security, Conformity, Container Security) have separate base URLs, all following the pattern https://{service}.{region}.cloudone.trendmicro.com/api.
Does Replit work with Trend Micro Cloud One?
Yes. Trend Micro Cloud One exposes REST APIs for all its security services that any HTTP client can call. Your Replit backend authenticates with an API key and can query security status, retrieve compliance findings, and trigger operations β all without any Cloud One SDK required.
How do I store my Cloud One API key in Replit?
Click the lock icon (π) in the Replit sidebar to open Secrets, then add CLOUDONE_API_KEY with your API key value. Access it in Node.js as process.env.CLOUDONE_API_KEY and in Python as os.environ['CLOUDONE_API_KEY']. Also add CLOUDONE_REGION with your region code (e.g., 'us-1').
What is the difference between Trend Micro Cloud One and McAfee for Replit integration?
Cloud One is focused on securing cloud infrastructure, containers, and workloads β it is designed for DevSecOps teams building cloud-native applications. McAfee (now Trellix) focuses primarily on endpoint security for desktop and server environments. If you are protecting cloud-native apps and container deployments, Cloud One is the more relevant integration.
Can I use Trend Micro Cloud One with Replit for free?
Trend Micro Cloud One is a paid platform, though a free trial is available. The Replit side of the integration has no additional cost beyond your normal Replit plan β only the Cloud One subscription is required.
Why do Workload Security API calls require an 'api-version' header?
The 'api-version: v1' header is a Cloud One Workload Security-specific requirement that identifies which version of the API your client is designed for. This allows Trend Micro to evolve the API while maintaining backward compatibility. Other Cloud One services like Conformity do not require this header, but Workload Security returns a 400 error without it.
Talk to an Expert
Our team has built 600+ apps. Get personalized help with your project.
Book a free consultation