Run multiple RL actions in a single request
Executes up to 30 actions sequentially in a single HTTP round-trip, advancing the simulation by one step per action. Stops early and returns partial results if the episode ends (done: true) before all actions are processed.
Rate limiting: Each action in the batch counts as one call against the 5 000 req/hr RL training quota. A batch of 30 actions consumes 30 quota units. If the quota is exhausted mid-batch, the endpoint returns 429 with a Retry-After header indicating how many seconds remain until the window resets.
Idle TTL: The last successful batch-step call resets the environment's 2-hour idle timer, the same as a single step call.
Request
- Base URL: https://www.cloudworldmodel.ai/api
- URL: https://www.cloudworldmodel.ai/api/rl/environments/{environmentId}/batch-step
- Auth: one of:
- HTTP bearer
- API key in header X-PAYMENT
- API key in header PAYMENT-SIGNATURE
Path parameters
ID of the RL environment
Request body
Example request
{
"steps": [
{
"action": {
"parameters": {
"cpuThreshold": 70,
"throughputThreshold": 75,
"latencyThreshold": 180
}
}
}
]
}Response
Batch steps executed successfully
Example response
{
"results": [
{
"obs": {
"rps": 1620,
"cpu_util": 0.582,
"instances": 3,
"traffic": 1620,
"currentTime": 15,
"tick_seconds": 60,
"unmodeled_dimensions_active": true,
"warmup_factor": 0.5,
"routedRps_per_node": 583.3,
"unavailable_node_count": 1
},
"metrics": {
"cost_usd_hr": 1.08,
"latency_p95": 104,
"error_rate": 0.003,
"uptime": 0.997,
"connection_pressure": 1.25,
"compute": [
{
"warmup_factor": 0.5,
"warmup_steps_remaining": 2
}
],
"error_breakdown": {
"db_failure": 24
},
"ttft_p50_ms": 245,
"decode_tokens_per_sec": 3840
},
"resources": [
{
"id": "ec2-1",
"type": "compute",
"name": "Web Server 1",
"provider": "aws",
"location": {
"regionKey": "us-east-2"
},
"characteristics": {
"workload": "crud",
"appRuntime": "node",
"appWorkerCount": 2,
"appDbPoolSize": 250,
"workloadDatabaseVersion": "8.0",
"workloadDatabaseEngine": "mysql",
"rdsSqlServerBilling": {
"instanceClass": "db.t3.micro",
"storageType": "gp2",
"allocatedStorageGiB": 20,
"durationHours": 480,
"sustainedCpuPercent": 43
},
"serviceFamily": "ec2",
"containerCpu": 0.5,
"containerMemoryGiB": 1,
"runtimeMemoryProfile": {
"workingSetGiB": 0.78125
},
"concurrency": 80,
"requestDurationSeconds": 0.25,
"requestServingTargetUtilizationPct": 70,
"billingState": "stopped",
"size": "m5.large",
"instanceType": "t3.medium",
"ocpus": 4,
"maxThroughput": 2000,
"capacityRps": 100,
"baseLatency": 3,
"maxConnections": 800,
"capacityGB": 500,
"maxIops": 3000,
"inferenceMode": true,
"accelerator": "a10g",
"managedComputePlatform": "nvidia-dgx-cloud",
"openshiftOffering": "rosa-hcp",
"topology": {
"intraNode": "nvlink-nvswitch",
"interNode": "infiniband"
},
"intraNode": "nvlink-nvswitch",
"interNode": "infiniband",
"includesControlPlane": true,
"bundledNetworking": true,
"trainingMode": true,
"tokensPerRequest": 500,
"inputTokensPerRequest": 1000,
"cacheHitRate": 0.85,
"cacheableRequestShare": 0.75,
"asynchronousRequestShare": 0.15,
"queueConsumerCount": 4,
"queueDrainRatePerConsumerRps": 125,
"queueCapacityMessages": 20000,
"queueSimulationStepSeconds": 1,
"autoscaling": true,
"maxInstances": 5,
"minInstances": 2,
"scaleOutCpuThreshold": 60,
"scaleInCpuThreshold": 25,
"nodeCount": 2,
"workerVcpu": 4,
"minNodes": 2,
"maxNodes": 10,
"perNodeRate": 3.2,
"pricingModel": "on-demand",
"nodePools": [
{
"name": "general",
"nodeCount": 2,
"workerVcpu": 8,
"minNodes": 2,
"maxNodes": 10,
"perNodeRate": 0.096,
"maxThroughput": 10000
}
],
"streamShardsCount": 4,
"streamWriteRps": 3500,
"eventNotificationsEnabled": true,
"partitionCount": 8,
"streamPartitions": 4,
"partitionWriteRps": 5000,
"warmupSteps": 5,
"warmupSeverity": 0.8
},
"routedRps": 15,
"availabilityState": "available",
"isRoutable": true,
"failureParkStepsRemaining": 3,
"recoveryPolicy": {
"criticalCpuThreshold": 75,
"criticalSteps": 2,
"warningCpuThreshold": 60,
"warningSteps": 1,
"failureParkSteps": 2
}
}
]
}
]
}Changes
No recorded changes to this operation across all 1 revision of this API.