Update Scenario
Update an existing scenario. Only scenarios belonging to the organization associated with the API key can be updated.
Authorization
bearerAuth Bearer token authentication for API access.
In: header
Path Parameters
The unique identifier of the scenario
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X PUT "https://api.sophiie.ai/v1/scenarios/{scenarioId}" \ -H "Content-Type: application/json" \ -d '{}'{
"scenario": {
"id": 42,
"name": "Pricing Inquiry",
"prompt": "When a customer asks about pricing, follow this scenario.",
"response": "I would be happy to help you with pricing information. Let me walk you through our options.",
"isActive": true,
"questions": [
{
"question": "Are you an existing customer?",
"answerOptions": [
{
"answer": "Yes",
"followUps": [
{
"question": "Can you tell me more about that?"
}
]
}
]
}
],
"outcome": {
"type": "continueCall",
"property1": null,
"property2": null
},
"tradeServiceId": null,
"createdAt": "2026-01-15T10:30:00.000Z",
"updatedAt": "2026-01-20T14:00:00.000Z"
}
}{
"success": false,
"message": "Invalid or expired token",
"error": {
"status": 401,
"message": "Invalid or expired token"
}
}{
"success": false,
"message": "Not found",
"error": {
"status": 404,
"message": "Not found"
}
}{
"success": false,
"message": "Conflict",
"error": {
"status": 409,
"message": "Conflict"
}
}{
"success": false,
"message": "Internal server error",
"error": {
"status": 500,
"message": "Internal server error"
}
}List Scenarios GET
Retrieve a paginated list of scenarios. Returns scenario data including name, prompt, response, questions, and outcome. Results are filtered by the organization associated with the API key.
Send SMS POST
Send an SMS message to a lead. The SMS will be associated with the organization of the API key. If messageThreadId is not provided, a new message thread and inquiry will be created.