CAIN-42 CAIN Studio

API reference · CAIN Planner

Create Plan

POST /fabric/plans

Last reviewed 2026-10-02

POST /fabric/plans

Create a new plan.

Request body

PlanCreateRequest (required)

FieldTypeMeaning
goal requiredstring
intent requiredstring
principalstring or null
agent_idstring or null
modestringdefault "BALANCED"
available_skillsarray of object or nulldefault []
relevant_memoriesarray of object or nulldefault []
available_toolsarray of string or nulldefault []
available_resourcesarray of string or nulldefault []
policy_contextobject or nulldefault {}
governance_contextobject or nulldefault {}
budgetobject or nulldefault {}
risk_contextobject or nulldefault {}
constraintsarray of object or nulldefault []
deadlinesobject or nulldefault {}
approval_requirementsarray of string or nulldefault []
trajectory_contextobject or nulldefault {}
previous_failed_plansarray of string or nulldefault []
previous_successful_plansarray of string or nulldefault []
optimizationmap of string to boolean or nulldefault {}
ttl_secondsintegerdefault 3600

Responses

StatusMeaningBody
200Successful ResponseJSON
422Validation ErrorHTTPValidationError
401No key, or a key that is not validJSON detail
429Rate limit for your plan reached; retry after the Retry-After secondsJSON detail

Try it

This call changes data in the account the key belongs to.

The request goes from your browser straight to this site. Your key is not stored unless you tick the box, and then only in this tab's session storage.

Code

curl -sS -X POST 'https://cainstudio.online/fabric/plans' \
  -H "X-API-Key: $CAIN_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{"goal": "goal", "intent": "intent", "mode": "BALANCED", "available_skills": [], "relevant_memories": [], "available_tools": [], "available_resources": [], "policy_context": {}, "governance_context": {}, "budget": {}, "risk_context": {}, "constraints": [], "deadlines": {}, "approval_requirements": [], "trajectory_context": {}, "previous_failed_plans": [], "previous_successful_plans": [], "optimization": {}, "ttl_seconds": 3600}'

Schemas used

HTTPValidationError · PlanCreateRequest · ValidationError

← List Plans · all 19 CAIN Planner calls · Generate Candidates →

Try CAIN-42 on your own agents

Create a free account and every new account starts with a 7-day trial of the full platform. Or try the sandbox first, with no account at all.

Create a free account →  ·  Try the sandbox  ·  See the whole ecosystem