Add a step by hand
const url = 'https://beta-api.plune.ai/v1/settings/steps';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"step":"Log in as the shop owner.","description":"The owner account of the demo shop; its credentials are in the team vault."}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://beta-api.plune.ai/v1/settings/steps \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "step": "Log in as the shop owner.", "description": "The owner account of the demo shop; its credentials are in the team vault." }'A row no case carries yet — count: 0 — so it is offered by the autocomplete before anyone writes it into a case. The text is trimmed; the same text again is a 409 that carries the existing row, so a form can jump to it.
Authorizations
Section titled “Authorizations ”Request Body required
Section titled “Request Body required ”object
Example
{ "step": "Log in as the shop owner.", "description": "The owner account of the demo shop; its credentials are in the team vault."}Responses
Section titled “ Responses ”Created
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
The action, trimmed. Unique within the project, case-sensitively.
A note for the author — what the step means, how to do it. Absent when there is none.
Live cases carrying the step. 0 for a step made by hand that no case uses yet, or orphaned by an edit.
Example
{ "id": "6f1c2b3a-0000-4000-8000-0000000000f1", "step": "Log in as the shop owner.", "description": "The owner account of the demo shop; its credentials are in the team vault.", "count": 0}Invalid body — an empty step, or one over 1 000 bytes
object
Example generated
{ "error": "example"}No / invalid token or session
The project already has that step — the answer carries it
object
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
The action, trimmed. Unique within the project, case-sensitively.
A note for the author — what the step means, how to do it. Absent when there is none.
Live cases carrying the step. 0 for a step made by hand that no case uses yet, or orphaned by an edit.
Example
{ "error": "step 'Log in as the shop owner.' already exists", "step": { "id": "6f1c2b3a-0000-4000-8000-0000000000f1", "step": "Log in as the shop owner.", "description": "The owner account of the demo shop; its credentials are in the team vault.", "count": 0 }}Rate-limited: either the per-route throttle or a tenant quota. Retry-After carries the seconds until the window rolls over.
object
Example generated
{ "error": "example"}Headers
Section titled “Headers ”Seconds until the window rolls over