Runner endpoint
Every published workflow exposes a runner URL. When the output node is a JSON Template, the runner returnsapplication/json instead of HTML or an image.
| Parameter | Type | Description |
|---|---|---|
workflowId | path | The workflow ID (visible in the workflow editor URL or integration modal) |
entrypointId | path | The entrypoint ID within the workflow |
rlvt-u | query | User identifier for personalisation. Can be an email, internal user ID, or the rlvt_tmpId anonymous cookie |
Response format
The response body is the resolved template data directly — no wrapper envelope. Static fields are returned as-is and dependency fields are replaced with real values from datasources:Content-Type header
The runner returnsContent-Type: application/json; charset=utf-8 for JSON Template output nodes.
HTTP status codes
| Status | Meaning |
|---|---|
| 200 | Workflow executed successfully. Body contains the JSON payload. |
| 204 | Workflow executed but no content was produced (e.g., all branches were empty). |
| 404 | Workflow not found or not published. |
Code examples
JavaScript (fetch)
React
Python
cURL
JSON Templates
What is a JSON Template?
A JSON Template is a reusable schema definition created in the Reelevant platform. It describes:- Definition — the JSON structure where each field is either
{ "type": "static", "value": ... }(fixed) or{ "type": "dependency", "variable": "..." }(resolved at runtime) - Variables — named slots that map to datasource values, matching the
variablenames in the definition
| Variable type | Behaviour | Example use case |
|---|---|---|
| Scalar | Resolves to a single value from the first datasource row | User’s name, a single product recommendation |
| Array | Resolves to an array of all values across datasource rows | List of recommended products, category names |
Template management API
JSON Templates are managed via the/workflows/json-templates REST API:
Publish-time validation
When you publish a workflow that uses JSON Template output nodes, the platform validates:- All JSON Template nodes in the workflow reference the same template ID — ensuring a consistent response shape across branches.
- The referenced template exists and belongs to your company.
Combining with other integration methods
The JSON API approach works alongside the Client-Side Script and Server-Side SDK:- Use the Server-Side SDK to call the runner from your backend and pass JSON data to your frontend via props or server state.
- Use the Client-Side Script for event tracking (impressions, clicks) alongside your JSON-powered UI.
- Call the runner directly from the browser with
fetch()if your use case is purely client-side.
Identity and personalisation
Therlvt-u query parameter drives personalisation. The value you pass determines which user profile the engine uses to select branches and resolve datasource queries.
For best results:
- Pass a stable user identifier (email, internal ID) when the user is logged in.
- Pass the
rlvt_tmpIdcookie value for anonymous visitors — this preserves continuity with client-side tracking. - The same identity system powers all Reelevant channels (email, web, push), so personalisation is consistent across touchpoints.