Interventions
View and manage AI-generated interventions. Interventions can originate from internal playbooks, manual creation, or external action recommendations. For actions dispatched to external platforms (loyalty, gamification, etc.), see the External Actions API.
List interventions
Authorization
bearerAuth API key (rt_live_... or rt_test_...)
In: header
Query Parameters
Response Body
application/json
curl -X GET "https://retivo.ai/api/interventions"{
"interventions": [
{
"id": "string",
"user_id": "string",
"playbook_id": "string",
"status": "string",
"channel": "string",
"message_body": "string",
"reasoning": "string",
"confidence": 0,
"planned_at": "string",
"approved_at": "string",
"sent_at": "string",
"delivered_at": "string",
"flagged": true,
"flag_reason": "string",
"quality_checks": null
}
]
}Create manual intervention
Authorization
bearerAuth API key (rt_live_... or rt_test_...)
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://retivo.ai/api/interventions" \ -H "Content-Type: application/json" \ -d '{ "user_id": "string", "playbook_id": "e39cab14-aab5-4314-9b89-b1a7cd7ab356", "channel": "email" }'{
"id": "string",
"status": "string",
"channel": "string",
"planned_at": "string"
}Approve intervention
Authorization
bearerAuth API key (rt_live_... or rt_test_...)
In: header
Path Parameters
Response Body
application/json
application/json
curl -X PUT "https://retivo.ai/api/interventions/int_abc123/approve"{
"id": "string",
"status": "string"
}{
"error": "string"
}Pause intervention
Authorization
bearerAuth API key (rt_live_... or rt_test_...)
In: header
Path Parameters
Response Body
application/json
application/json
curl -X PUT "https://retivo.ai/api/interventions/int_abc123/pause"{
"id": "string",
"status": "string"
}{
"error": "string"
}Reject intervention
Authorization
bearerAuth API key (rt_live_... or rt_test_...)
In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
curl -X PUT "https://retivo.ai/api/interventions/int_abc123/reject" \ -H "Content-Type: application/json" \ -d '{ "reason": "string" }'{
"id": "string",
"status": "string"
}{
"error": "string"
}Roll back a delivered intervention
Authorization
bearerAuth API key (rt_live_... or rt_test_...)
In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Reason for rollback
Response Body
application/json
application/json
curl -X PUT "https://retivo.ai/api/interventions/string/rollback" \ -H "Content-Type: application/json" \ -d '{}'{
"id": "string",
"status": "string"
}{
"error": "string"
}Flag intervention
Authorization
bearerAuth API key (rt_live_... or rt_test_...)
In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
curl -X PUT "https://retivo.ai/api/interventions/int_abc123/flag" \ -H "Content-Type: application/json" \ -d '{ "reason": "string" }'{
"id": "string",
"flagged": true
}{
"error": "string"
}Dry-run intervention decision
Authorization
bearerAuth API key (rt_live_... or rt_test_...)
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
curl -X POST "https://retivo.ai/api/interventions/dry-run" \ -H "Content-Type: application/json" \ -d '{ "user_id": "string" }'{
"dry_run": true,
"decision": {
"action": "string",
"playbook_id": "string",
"channel": "string",
"confidence": 0,
"reasoning": "string",
"reason": "string"
},
"rules": {
"property1": null,
"property2": null
},
"context": {
"lifecycle_stage": "string",
"activation_score": 0,
"risk_level": "string",
"matched_playbooks": 0
}
}{
"error": "string"
}