Search available simulation templates
Returns the list of pre-built infrastructure scenario templates. Scenarios define a complete simulation configuration (resources, traffic, connections) that can be loaded directly into a new simulation via the browser UI or the API.
Optional filters narrow the catalog by provider, category, and difficulty. Omit all filters to receive the complete, unfiltered scenario catalog. Category matching is case-insensitive.
No authentication required.
Request
- Base URL: https://www.cloudworldmodel.ai/api
- URL: https://www.cloudworldmodel.ai/api/scenarios
- Auth: none required
Query parameters
Return scenarios containing resources from this cloud provider.
Return scenarios in this category. Matching is case-insensitive. Supported catalog categories are cost, failure, networking, reliability, and scaling.
Return scenarios at this difficulty level.
Response
Array of scenario templates
Example response
[
{
"id": "github-inspired-cascading-retry-storm",
"title": "GitHub-Inspired Cascading Retry Storm (Unofficial)",
"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
}
}
],
"duration": "~25 min",
"category": "reliability",
"resilienceConfig": {
"dependencies": [
{
"id": "web-to-db",
"sourceId": "web-1",
"targetId": "db-1",
"requestRatio": 1,
"authDependencyId": "gateway-to-token-service",
"retryPolicy": {
"maxRetries": 3,
"backoffMs": 100,
"backoffMultiplier": 2,
"jitterRatio": 0.1,
"timeoutMs": 2000,
"retryBudgetRatio": 2,
"retryBudgetRps": 1000,
"retryActorId": "gateway_optimistic_retries"
},
"capacity": {
"maxRps": 10000,
"maxConcurrent": 200,
"meanServiceTimeMs": 100
},
"protection": {
"circuitBreaker": {
"failureRateThreshold": 0.5,
"minimumRequests": 20,
"openSteps": 3,
"halfOpenMaxRequests": 10
},
"rateLimitRps": 5000
}
}
],
"scheduledFaults": [
{
"id": "db-capacity-fault",
"targetResourceId": "db-1",
"dependencyId": "web-to-db",
"startStep": 5,
"endStep": 15,
"capacityPercent": 30,
"maxConcurrent": 5,
"addedLatencyMs": 500,
"errorRate": 0.3,
"trafficMultiplier": 2.25
}
],
"maxCascadeDepth": 4,
"maxGeneratedRps": 100000,
"maxStepWork": 512
},
"protectedResilienceConfig": {
"dependencies": [
{
"id": "web-to-db",
"sourceId": "web-1",
"targetId": "db-1",
"requestRatio": 1,
"authDependencyId": "gateway-to-token-service",
"retryPolicy": {
"maxRetries": 3,
"backoffMs": 100,
"backoffMultiplier": 2,
"jitterRatio": 0.1,
"timeoutMs": 2000,
"retryBudgetRatio": 2,
"retryBudgetRps": 1000,
"retryActorId": "gateway_optimistic_retries"
},
"capacity": {
"maxRps": 10000,
"maxConcurrent": 200,
"meanServiceTimeMs": 100
},
"protection": {
"circuitBreaker": {
"failureRateThreshold": 0.5,
"minimumRequests": 20,
"openSteps": 3,
"halfOpenMaxRequests": 10
},
"rateLimitRps": 5000
}
}
],
"scheduledFaults": [
{
"id": "db-capacity-fault",
"targetResourceId": "db-1",
"dependencyId": "web-to-db",
"startStep": 5,
"endStep": 15,
"capacityPercent": 30,
"maxConcurrent": 5,
"addedLatencyMs": 500,
"errorRate": 0.3,
"trafficMultiplier": 2.25
}
],
"maxCascadeDepth": 4,
"maxGeneratedRps": 100000,
"maxStepWork": 512
}
}
]Changes
No recorded changes to this operation across all 1 revision of this API.