Chanl

Validate Scenario

Check whether a scenario configuration is valid and ready for execution.

Validate Scenario

Validates a scenario's configuration -- confirms that all referenced personas, agents, and the scorecard exist and that the prompt is well-formed. Returns a list of errors if the scenario is not runnable.

Endpoint

POST /api/v1/scenarios/:id/validate

curl -X POST "https://api.chanl.ai/api/v1/scenarios/scenario_abc123/validate" \
  -H "Authorization: Bearer <access_token>"
const response = await fetch('https://api.chanl.ai/api/v1/scenarios/scenario_abc123/validate', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${accessToken}`,
  },
});
const data = await response.json();
import requests

response = requests.post(
    'https://api.chanl.ai/api/v1/scenarios/scenario_abc123/validate',
    headers={'Authorization': f'Bearer {access_token}'},
)
data = response.json()

Path Parameters

idstringrequired

The scenario ID (e.g., scenario_abc123).

Response

Response
{
  "success": true,
  "data": {
    "valid": true,
    "checks": {
      "personas": { "status": "pass", "count": 2 },
      "agents": { "status": "pass", "count": 1 },
      "scorecard": { "status": "pass" },
      "prompt": { "status": "pass" },
      "variables": { "status": "pass", "unresolved": [] }
    }
  }
}

When validation fails, the response includes details on each failing check:

Response
{
  "success": true,
  "data": {
    "valid": false,
    "checks": {
      "personas": { "status": "fail", "count": 0, "message": "At least one persona is required" },
      "agents": { "status": "pass", "count": 1 },
      "scorecard": { "status": "fail", "message": "Scorecard scorecard_999 not found" },
      "prompt": { "status": "pass" },
      "variables": { "status": "warn", "unresolved": ["charge_amount"] }
    },
    "errors": [
      "At least one persona is required",
      "Scorecard scorecard_999 not found"
    ],
    "warnings": [
      "Prompt variable 'charge_amount' has no default value and must be provided at execution time"
    ]
  }
}

Errors

StatusCodeDescription
401unauthorizedMissing or invalid access token
404not_foundScenario not found

On this page