Optimize & Predict

Validate infrastructure against a traffic forecast

Tests whether current infrastructure can handle a predicted traffic pattern. Returns validation results with bottlenecks and recommendations.

When a webhookUrl is provided, the following payload is POSTed to that URL when the job completes (example shown for the AWS EC2 validation request above):

{
  "event": "prediction.completed",
  "jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "jobType": "prediction_validation",
  "status": "completed",
  "completedAt": "2025-11-23T10:35:00Z",
  "data": {
    "validationResult": {
      "passed": false,
      "summary": "Infrastructure will fail under peak load due to CPU saturation",
      "peakMetrics": {
        "timestamp": 60,
        "traffic": 12000,
        "cpuUsage": 98,
        "latencyP95": 820,
        "errorRate": 8.4,
        "costPerHour": 3.20
      },
      "bottlenecksDetected": [
        "CPU saturation at 98%",
        "Error rate exceeds 5%"
      ],
      "failurePoints": [
        { "timestamp": 55, "traffic": 10500, "reason": "CPU saturation" }
      ],
      "recommendations": [
        "Scale out to 5 instances before peak",
        "Increase CPU threshold to 75%"
      ]
    }
  }
}

The request is signed with HMAC-SHA256; verify the X-Webhook-Signature header against your webhookSecret before processing the payload.

post/predictions/validate

Request

  • Base URL: https://www.cloudworldmodel.ai/api
  • URL: https://www.cloudworldmodel.ai/api/predictions/validate
  • Auth: one of:
    • HTTP bearer
    • API key in header X-PAYMENT
    • API key in header PAYMENT-SIGNATURE

Request body

simulationIdstring required

ID of simulation to test

testStepsinteger

Number of simulation steps to run

webhookUrlstring uri

Optional HTTPS URL to receive webhook notification when job completes

webhookSecretstring

Optional secret for HMAC-SHA256 webhook signature verification

Example request

{
  "simulationId": "sim-abc123",
  "trafficForecast": {
    "name": "Peak Traffic Test",
    "dataPoints": [
      {
        "timestamp": 0,
        "rps": 2000,
        "label": "Baseline"
      },
      {
        "timestamp": 60,
        "rps": 12000,
        "label": "Peak"
      }
    ]
  },
  "testSteps": 100
}

Response

Validation job accepted

messagestring

Example response

{
  "job": {
    "type": "validation"
  },
  "message": "Validation job started. Poll /predictions/jobs/{id} for status."
}

Changes

No recorded changes to this operation across all 1 revision of this API.