Write
reorder_cards
Moves a card one position up or down within its stack. Clamps at edges — already at top or bottom returns a no-op, not an error.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| outlineId | string | — | Outline ID. Defaults to your own outline. |
| stackId | string | Yes | ID of the stack containing the card. |
| cardId | string | Yes | ID of the card to move. |
| direction | "up" | "down" | Yes | Move the card up or down within the stack. |
Response
Moved
| Field | Type | What it means |
|---|---|---|
| outlineId | string | Resolved outline ID. |
| moved.stackId | string | The stack the card was moved within. |
| moved.cardId | string | The card that was moved. |
| moved.direction | string | The direction it was moved. |
No-op (already at edge)
| Field | Type | What it means |
|---|---|---|
| outlineId | string | Resolved outline ID. |
| noOp | true | Indicates the card was already at the edge. |
| message | string | "Card is already at the top/bottom of the stack." |
Example
Request
json
{
"stackId": "stack_abc",
"cardId": "card_xyz789",
"direction": "up"
}Response
json
{
"outlineId": "42",
"moved": {
"stackId": "stack_abc",
"cardId": "card_xyz789",
"direction": "up"
}
}When to use
When the creator wants a specific card higher or lower in a stack, or when building a profile and you want to put the most important card first. Call reorder_cards once per move — to move a card multiple positions, call it multiple times.
Gotchas
Watch out
- This moves one step at a time, not to an absolute position. To move a card to the top, call it repeatedly until
noOp:trueis returned. - A
noOpresponse is not an error — the card is simply already at that edge. - Get
stackIdandcardIdfromlist_cardsfirst. - Reorder events are logged as taste signals — frequent reordering signals that sequencing matters to this creator (visible in
get_taste_fingerprint).