WriteDestructive

delete_card

Permanently deletes a card from a stack. Returns a preview of what will be removed unless confirm:true is passed.


Parameters

NameTypeRequiredDescription
outlineIdstring—Outline ID. Defaults to your own outline.
stackIdstringYesID of the stack containing the card.
cardIdstringYesID of the card to delete.
confirmboolean—Must be true to execute the deletion. Without it, returns a preview only.
ifUpdatedAtstring—Optional optimistic-concurrency guard: the outline updatedAt you last read (from get_profile or a previous write's response). If the outline changed since, the call fails with CONFLICT and nothing is written.

Response

Preview mode (confirm not passed)

FieldTypeWhat it means
previewtrueIndicates this was a dry run.
messagestringExplains that confirm:true is required to execute.
willDelete.stackIdstringStack the card will be removed from.
willDelete.stackTitlestringDisplay name of the stack.
willDelete.cardIdstringThe card that will be deleted.
willDelete.cardHeadingstringThe card's heading — lets you confirm you have the right card.

Executed (confirm:true passed)

FieldTypeWhat it means
outlineIdstringResolved outline ID.
deleted.stackIdstringStack the card was removed from.
deleted.cardIdstringThe card that was deleted.

Example

Preview

Request

json
{ "stackId": "stack_abc", "cardId": "card_xyz789" }

Response

json
{ "preview": true, "message": "This will permanently delete the card. Pass confirm:true to execute.", "willDelete": { "stackId": "stack_abc", "stackTitle": "Portfolio", "cardId": "card_xyz789", "cardHeading": "Brand Photography" } }

Execute

Request

json
{ "stackId": "stack_abc", "cardId": "card_xyz789", "confirm": true }

Response

json
{ "outlineId": "42", "deleted": { "stackId": "stack_abc", "cardId": "card_xyz789" } }

When to use

When the creator explicitly says to remove a card, or when you're cleaning up empty or redundant cards after a build pass. Always show the preview first and confirm with the creator before passing confirm:true.


Gotchas

Watch out

  • Without confirm:true, nothing is deleted — you always get a safe preview first. Use this to confirm with the creator.
  • Cannot delete the last card in a stack — returns a MIN_ROWS error. Delete the stack instead with delete_stack.
  • Deletion is permanent — there is no undo. Verify the cardHeading in the preview before confirming.
  • Deleting a card auto-logs a “rejected” curation event, which improves get_taste_fingerprint signals.