Write
add_stack
Appends a new section (stack) with one blank card to an outline, returning the new stack's ID and title.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| outlineId | string | — | The numeric ID of the outline to add the stack to. Omit to default to the authenticated creator's own outline. |
| title | string | — | Display title for the new stack. If omitted, auto-generated as ‘Stack N’ where N is the new stack's 1-based position. |
Response
| Field | Type | What it means |
|---|---|---|
| outlineId | string | The numeric ID (as a string) of the outline that was modified. |
| stack | object | The newly created stack's metadata. |
| stack.stackId | string | Stable unique ID for the new stack — use this in subsequent add_card, update_card, reorder_cards, or delete_stack calls. |
| stack.title | string | The title that was set on the new stack, either from the title param or the auto-generated 'Stack N' default. |
Example
Request
json
{
"title": "Editorial Work"
}Response
json
{
"outlineId": "42",
"stack": {
"stackId": "stk_a3f9b2c1",
"title": "Editorial Work"
}
}When to use
Call add_stack at the start of a new content section — after running get_guidance to choose a structure template and before calling add_card to fill the section with cards. Do not call it speculatively; each call immediately writes a new stack to the outline.
Gotchas
Watch out
- The new stack always contains exactly one blank card — you still need to call
add_cardorupdate_cardto populate it before publishing. outlineIdis optional but defaults to the authenticated creator's own outline — omit it when building a creator's own profile; pass it only when the agent is operating on a different outline it has access to.- Title override is applied client-side after
addStack()generates the auto-name — if you pass an empty string it will be accepted as the title, not treated as omitted. - The response is wrapped in MCP content arrays (
content[0].textis the JSON string) — parsetextbefore accessingoutlineIdorstack.