recipe save
native.recipe_saveSave a recipe from a full graph. Without recipe_id this makes a new recipe in this project (in an account chat, name made_in and made_in_host_id); with recipe_id and the expected_revision you read, it saves the next revision, and a stale expected_revision is refused. The graph is checked before it is saved and the refusal lists what to fix. Read the recipes skill's steps section for the step kinds and ports. Saving runs nothing and spends nothing. Reuse operation_id after an uncertain reply.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"work_id": "<work_id>",
"arguments": "<arguments>",
"expected_catalog_version": "<expected_catalog_version>",
"read_skills": "<read_skills>",
"request_key": "<request_key>"
},
"name": "native.recipe_save"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| work_id | Yes | ||
| arguments | Yes | ||
| read_skills | Yes | Exact required native skills and their dependencies, copied from the accepted session bootstrap's skills array. Include only entries in that array. General mcp.* guides and native.{studio}.instructions are guidance, not native skill proofs. | |
| request_key | Yes | ||
| publication_proposal_id | No | For native Social scheduling, the exact server-approved publication proposal. This identifier cannot confer approval by itself. | |
| expected_catalog_version | Yes | For a new session, read a studios/{studio}/native/{pack} child toolset and copy invocation.catalog_version from a native tool descriptor. Do not use the top-level library version. For calls in an existing session, use that session proposal's catalog_version. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||