Open API v2 / CMS & Content / Workflows
Workflows
→
Every request needs a bearer token: Authorization: Bearer <token>. Base URL https://your-site.webinone.com. New to field types? See the type reference.
Retrieves a list of workflows by using a "where" filtering
Parameters
Wherestring · query
JSON filter expression. Combine operators ($eq, $contains, $gt, $in, …) with $and / $or.
Order_Bystring · query
Sort field. Prefix with - for descending; comma-separate for tie-breakers.
Semantic_Querystring · query
Natural-language search, ranked by relevance.
Min_Scorenumber · query
Lowest relevance score to include when using Semantic_Query.
Offsetinteger · query
Number of items to skip before returning results. Defaults to 0.
Limitinteger · query
Maximum number of items to return. Defaults to 100.
Response
Idinteger
Unique identifier. Technical record number in the database. Read-only.
Namestring · nullable
Name of the workflow short.
IsDefaultboolean
If true, this workflow is executed automatically for all entities of this type, unless other specific rules are specified. True: by default.
DisableSenderReplyToboolean · nullable
If true, the Reply-To address will be disabled in the sent message.
curl "https://your-site.webinone.com/api/v2/admin/workflows" \ -H "Authorization: Bearer <token>"
await fetch("https://your-site.webinone.com/api/v2/admin/workflows", { method: "GET", headers: { "Authorization": "Bearer <token>" } });
import requests requests.get( "https://your-site.webinone.com/api/v2/admin/workflows", headers={"Authorization": "Bearer <token>"} )
$client = new GuzzleHttp\Client(); $response = $client->request('GET', 'https://your-site.webinone.com/api/v2/admin/workflows', [ 'headers' => [ 'Authorization' => 'Bearer <token>' ] ]);
using var client = new HttpClient(); var request = new HttpRequestMessage(HttpMethod.Get, "https://your-site.webinone.com/api/v2/admin/workflows"); request.Headers.Add("Authorization", "Bearer <token>"); var response = await client.SendAsync(request);
Response · 200
{
"Items": [
{
"Id": 1,
"Name": "Example",
"IsDefault": false,
"DisableSenderReplyTo": false
}
],
"TotalItemsCount": 0
}Creates a new workflow
Body parameters
Namestringrequired
Name of the workflow.
EmailIdinteger
The template ID of the email that will be used.
DisableSenderReplyToboolean · nullable
If true, the Reply-To address will be disabled in the sent message.
Recipientsarray of stringsrequired
An array of strings specifying the recipients of the letter.ue, the Reply-To address will be disabled in the sent message.
Response
EmailIdinteger
The template ID of the email that will be used.
CreatedDateTimestring · date-time
Date and time of case creation in UTC. Read-only.
DisableSenderReplyToboolean · nullable
If true, the Reply-To address will be disabled in the sent message.
Recipientsarray of strings
An array of strings specifying the recipients of the letter.ue, the Reply-To address will be disabled in the sent message.
Idinteger
Unique identifier. Technical record number in the database. Read-only.
Namestring · nullable
Name of the workflow.
IsDefaultboolean
If true, this workflow is executed automatically for all entities of this type, unless other specific rules are specified. True: by default.
curl -X POST "https://your-site.webinone.com/api/v2/admin/workflows" \ -H "Authorization: Bearer <token>" \ -H "Content-Type: application/json" \ -d '{"Name":"Example","EmailId":1,"DisableSenderReplyTo":false,"Recipients":["string"]}'
await fetch("https://your-site.webinone.com/api/v2/admin/workflows", { method: "POST", headers: { "Authorization": "Bearer <token>", "Content-Type": "application/json" }, body: JSON.stringify({ "Name": "Example", "EmailId": 1, "DisableSenderReplyTo": false, "Recipients": [ "string" ] }) });
import requests requests.post( "https://your-site.webinone.com/api/v2/admin/workflows", headers={"Authorization": "Bearer <token>"}, json={ "Name": "Example", "EmailId": 1, "DisableSenderReplyTo": False, "Recipients": ["string"] } )
$client = new GuzzleHttp\Client(); $response = $client->request('POST', 'https://your-site.webinone.com/api/v2/admin/workflows', [ 'headers' => [ 'Authorization' => 'Bearer <token>', 'Content-Type' => 'application/json' ], 'json' => [ 'Name' => 'Example', 'EmailId' => 1, 'DisableSenderReplyTo' => false, 'Recipients' => ['string'] ] ]);
using var client = new HttpClient(); var request = new HttpRequestMessage(HttpMethod.Post, "https://your-site.webinone.com/api/v2/admin/workflows"); request.Headers.Add("Authorization", "Bearer <token>"); request.Content = new StringContent( "{\"Name\":\"Example\",\"EmailId\":1,\"DisableSenderReplyTo\":false,\"Recipients\":[\"string\"]}", Encoding.UTF8, "application/json"); var response = await client.SendAsync(request);
Response · 200
{
"EmailId": 1,
"CreatedDateTime": "2026-07-01T00: 00: 00Z",
"DisableSenderReplyTo": false,
"Recipients": [
"string"
],
"Id": 1,
"Name": "Example",
"IsDefault": false
}Retrieves a single workflow
Parameters
idinteger · pathrequired
Workflow id.
Response
EmailIdinteger
The template ID of the email that will be used.
CreatedDateTimestring · date-time
Date and time of case creation in UTC. Read-only.
DisableSenderReplyToboolean · nullable
If true, the Reply-To address will be disabled in the sent message.
Recipientsarray of strings
An array of strings specifying the recipients of the letter.ue, the Reply-To address will be disabled in the sent message.
Idinteger
Unique identifier. Technical record number in the database. Read-only.
Namestring · nullable
Name of the workflow.
IsDefaultboolean
If true, this workflow is executed automatically for all entities of this type, unless other specific rules are specified. True: by default.
curl "https://your-site.webinone.com/api/v2/admin/workflows/1" \ -H "Authorization: Bearer <token>"
await fetch("https://your-site.webinone.com/api/v2/admin/workflows/1", { method: "GET", headers: { "Authorization": "Bearer <token>" } });
import requests requests.get( "https://your-site.webinone.com/api/v2/admin/workflows/1", headers={"Authorization": "Bearer <token>"} )
$client = new GuzzleHttp\Client(); $response = $client->request('GET', 'https://your-site.webinone.com/api/v2/admin/workflows/1', [ 'headers' => [ 'Authorization' => 'Bearer <token>' ] ]);
using var client = new HttpClient(); var request = new HttpRequestMessage(HttpMethod.Get, "https://your-site.webinone.com/api/v2/admin/workflows/1"); request.Headers.Add("Authorization", "Bearer <token>"); var response = await client.SendAsync(request);
Response · 200
{
"EmailId": 1,
"CreatedDateTime": "2026-07-01T00: 00: 00Z",
"DisableSenderReplyTo": false,
"Recipients": [
"string"
],
"Id": 1,
"Name": "Example",
"IsDefault": false
}Updates an existing workflow
Parameters
idinteger · pathrequired
Existent workflow id.
Body parameters
Namestringrequired
Name of the workflow.
EmailIdinteger
The template ID of the email that will be used.
DisableSenderReplyToboolean · nullable
If true, the Reply-To address will be disabled in the sent message.
Recipientsarray of stringsrequired
An array of strings specifying the recipients of the letter.ue, the Reply-To address will be disabled in the sent message.
Response
Idinteger
Unique identifier. Technical record number in the database. Read-only.
Balancenumber
Any remaining value of the voucher(ie:if not used in full with previous order/s). For shop created vouchers, a link will be available here to the related customers Order)
Namestring
Name of the gift voucher.
Amountnumber
The total value of the gift voucher.
Enabledboolean
Uncheck this option to disable the item from being usable in the website shopping cart.
Currencystring · nullable
The currency in which you want the gift voucher created in.
OrderIdinteger
The order ID to which the certificate is linked (if it was purchased through the cart).
Typeenum
For shop created vouchers the value will be 'Via Shop'. Admin created vouchers will have a value of 'Manual'. This can not be edited.Possible values: ManualViaShop
Recipientobject
The person the voucher is issued to, holding their name, email, and personal message.
Namestring · nullable
Name of the recipient.
Emailstring · nullable
The recipient's email address.
Messagestring · nullable
Any personal message to the recipient.
curl -X PUT "https://your-site.webinone.com/api/v2/admin/workflows/1" \ -H "Authorization: Bearer <token>" \ -H "Content-Type: application/json" \ -d '{"Name":"Example","EmailId":1,"DisableSenderReplyTo":false,"Recipients":["string"]}'
await fetch("https://your-site.webinone.com/api/v2/admin/workflows/1", { method: "PUT", headers: { "Authorization": "Bearer <token>", "Content-Type": "application/json" }, body: JSON.stringify({ "Name": "Example", "EmailId": 1, "DisableSenderReplyTo": false, "Recipients": [ "string" ] }) });
import requests requests.put( "https://your-site.webinone.com/api/v2/admin/workflows/1", headers={"Authorization": "Bearer <token>"}, json={ "Name": "Example", "EmailId": 1, "DisableSenderReplyTo": False, "Recipients": ["string"] } )
$client = new GuzzleHttp\Client(); $response = $client->request('PUT', 'https://your-site.webinone.com/api/v2/admin/workflows/1', [ 'headers' => [ 'Authorization' => 'Bearer <token>', 'Content-Type' => 'application/json' ], 'json' => [ 'Name' => 'Example', 'EmailId' => 1, 'DisableSenderReplyTo' => false, 'Recipients' => ['string'] ] ]);
using var client = new HttpClient(); var request = new HttpRequestMessage(HttpMethod.Put, "https://your-site.webinone.com/api/v2/admin/workflows/1"); request.Headers.Add("Authorization", "Bearer <token>"); request.Content = new StringContent( "{\"Name\":\"Example\",\"EmailId\":1,\"DisableSenderReplyTo\":false,\"Recipients\":[\"string\"]}", Encoding.UTF8, "application/json"); var response = await client.SendAsync(request);
Response · 200
{
"Id": 1,
"Balance": 0,
"Name": "Example",
"Amount": 0,
"Enabled": false,
"Currency": "USD",
"OrderId": 1,
"Type": "Manual",
"Recipient": {
"Name": "Example",
"Email": "user@example.com",
"Message": "string"
}
}Deletes an existing workflow
Parameters
idinteger · pathrequired
Existent workflow id.
curl -X DELETE "https://your-site.webinone.com/api/v2/admin/workflows/1" \ -H "Authorization: Bearer <token>"
await fetch("https://your-site.webinone.com/api/v2/admin/workflows/1", { method: "DELETE", headers: { "Authorization": "Bearer <token>" } });
import requests requests.delete( "https://your-site.webinone.com/api/v2/admin/workflows/1", headers={"Authorization": "Bearer <token>"} )
$client = new GuzzleHttp\Client(); $response = $client->request('DELETE', 'https://your-site.webinone.com/api/v2/admin/workflows/1', [ 'headers' => [ 'Authorization' => 'Bearer <token>' ] ]);
using var client = new HttpClient(); var request = new HttpRequestMessage(HttpMethod.Delete, "https://your-site.webinone.com/api/v2/admin/workflows/1"); request.Headers.Add("Authorization", "Bearer <token>"); var response = await client.SendAsync(request);