Create a new decision
Use this when a user says: 'help me decide whether to...' or 'I need to make a decision about...'. Creates a new decision brief that can then be developed via /interview and /analyze.
/v1/decisionsAPI key in dc_live_... / dc_test_... format, from /settings/api-keys.
In: header
A short, clear title for the decision being made (5-10 words).
1 <= length <= 200The full background for this decision: what's being decided, why, and any constraints or stakeholders already known. Optional — if the context isn't known yet, omit this and use interview_next_question followed by synthesize_context to build it up conversationally instead.
length <= 20000Optional. If omitted, the caller should use list_frameworks/GET /v1/frameworks guidance to pick one, or default to DACI for simple tactical decisions.
"DACI" | "SPADE" | "helix"Optional. An id from list_use_cases/GET /v1/use-cases. When set, interview_next_question uses that use case's guiding questions instead of a generic prompt for a more targeted conversation. Some use cases require a Pro/Beta subscription.
Response Body
curl -X POST "https://api.deecee.ai/v1/decisions" \ -H "Content-Type: application/json" \ -d '{ "decision_title": "string" }'{
"success": true,
"data": {
"decision_id": "string",
"title": "string",
"framework": "DACI",
"status": "string",
"created_at": "2019-08-24T14:15:22Z"
}
}{
"success": false,
"error": "string",
"code": "string"
}{
"success": false,
"error": "string",
"code": "string"
}{
"success": false,
"error": "string",
"code": "string"
}{
"success": false,
"error": "string",
"code": "string"
}Ask the AI to revise a completed stage (does not save)
Returns a job_id — poll GET /v1/jobs/{id} for original_content and revised_content. Does NOT modify the decision: show the revision to the user, then commit it (as-is or edited) via POST /v1/decisions/{id}/refine/apply.
Synthesize a decision context from the interview conversation
Call once interview_next_question has gathered enough signal. Synthesizes a coherent context from the conversation and saves it to the decision. Also attempts to classify the conversation against the existing use-case catalog for parity/analytics — falls back to a synthetic id if nothing matches well, without forcing the interview into that template's shape.