Skip to content
Elara One docs
Flows

Save a flow

POST
/v1/merchant/flows

Authorization

tenantKeybearerAuth
headerX-Tenant-Key<token>

The public store key (pk_live_…). Required on every call.

headerAuthorizationBearer <token>

A customer token from POST /v1/auth/login, or a merchant API key, on routes that need one.

Header Parameters

X-Client-IP?string

Optional. IP address of the shopper (one IPv4/IPv6, no port, no list). Honoured only together with a valid X-Tenant-Secret; ignored otherwise. Used for rate limits and recorded with form submissions.

X-Tenant-Secret?string

Optional here. Server secret of the store: server-to-server only, never from a browser. Enables X-Client-IP.

Request Body

application/json
  1. body
handle*string
Match^[a-z0-9\-]+$
Lengthlength <= 64
name*string
Lengthlength <= 255
is_enabled?boolean
trigger*array<string>

{event, filters}: an event the engine knows, filters an object.

Items1 <= items
graph*array<string>

{nodes: [...]}: exactly one trigger node, next ids that exist, no cycles, and each action node's config valid for its config.action (the same checks as the flow editor). A send_email with recipient: order (service mail to the order address) is only allowed when trigger.event starts with order.. Errors come back in error.details keyed graph.<node id> or graph.<node id>.config.<key>.

Items1 <= items

Response Body

Success.

application/json
  1. response
data*
Example Request
curl -X POST 'https://api.elaraone.app/api/v1/merchant/flows' \  -H 'X-Tenant-Key: pk_live_…' \  -H 'X-Tenant-Secret: your-server-secret' \  -H 'Content-Type: application/json' \  -d '{  "handle": "string",  "name": "string",  "trigger": [    "string"  ],  "graph": [    "string"  ]}'
Example Response
{  "data": {    "id": 0,    "handle": "string",    "name": "string",    "trigger": {      "property1": null,      "property2": null    },    "graph": {      "property1": null,      "property2": null    },    "is_enabled": true,    "version": 0,    "created_at": "string",    "updated_at": "string"  }}