Skip to content

Fold several steps into one text

POST
/v1/settings/steps/merge
curl --request POST \
--url https://beta-api.plune.ai/v1/settings/steps/merge \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "ids": [ "6f1c2b3a-0000-4000-8000-0000000000f1" ], "into": "Open the order and choose “Refund”." }'

Every live case carrying any step in ids has that action rewritten to into — the same per-case write as a rename, one transaction, one audit entry per case (D10). into need not exist yet: an existing row of that text is the survivor and keeps its note; else the first of ids is renamed in place. The other rows go with their links. An unknown id is a 404 before anything is written.

Media type application/json
object
ids
required

The steps that go. Their carriers are rewritten to into.

Array<string>
>= 1 items <= 100 items
into
required

The text every carrier ends up with. An existing step of that text is the survivor; else the first of ids is renamed in place and keeps its description.

string
>= 1 characters <= 1000 characters
Example
{
"ids": [
"6f1c2b3a-0000-4000-8000-0000000000f1"
],
"into": "Open the order and choose “Refund”."
}

The surviving step and how many cases were rewritten

Media type application/json
object
step
required

One row of the Steps Database: the text of an action as manual cases carry it, with how many live cases carry it. Rows are written on every save of a manual case — each * line under ## Steps becomes one — and by hand here.

object
id
required
string format: uuid
step
required

The action, trimmed. Unique within the project, case-sensitively.

string
>= 1 characters <= 1000 characters
description

A note for the author — what the step means, how to do it. Absent when there is none.

string
count
required

Live cases carrying the step. 0 for a step made by hand that no case uses yet, or orphaned by an edit.

integer
affected
required

Cases whose steps were rewritten — each got a version bump and an audit entry.

integer
merged

On a rename only: true when the new text already existed, so the step was folded into that row and step.id is the survivor’s, not the one patched.

boolean
Example
{
"step": {
"id": "6f1c2b3a-0000-4000-8000-0000000000f3",
"step": "Open the order and choose “Refund”.",
"count": 1
},
"affected": 0
}

Invalid body

Media type application/json
object
error
required
string
Example generated
{
"error": "example"
}

No / invalid token or session

One of ids is not a step of yours

Media type application/json
object
error
required
string
Example generated
{
"error": "example"
}

Rate-limited: either the per-route throttle or a tenant quota. Retry-After carries the seconds until the window rolls over.

Media type application/json
object
error
required
string
Example generated
{
"error": "example"
}
Retry-After
integer

Seconds until the window rolls over