curl --request PATCH \
--url https://api.range.org/v2/workflows/{id} \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"name": "CADOC 5711 - Range Brasil Ltda",
"channel_id": "3f7e2d1a-9c4b-4e5f-8a6d-1b2c3d4e5f6a",
"recipients": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"enabled": true,
"cadence": "daily",
"formats": [
"xml"
],
"fields": {
"cnpj": "99999999"
}
}
'import requests
url = "https://api.range.org/v2/workflows/{id}"
payload = {
"name": "CADOC 5711 - Range Brasil Ltda",
"channel_id": "3f7e2d1a-9c4b-4e5f-8a6d-1b2c3d4e5f6a",
"recipients": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"],
"enabled": True,
"cadence": "daily",
"formats": ["xml"],
"fields": { "cnpj": "99999999" }
}
headers = {
"X-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'CADOC 5711 - Range Brasil Ltda',
channel_id: '3f7e2d1a-9c4b-4e5f-8a6d-1b2c3d4e5f6a',
recipients: ['3c90c3cc-0d44-4b50-8888-8dd25736052a'],
enabled: true,
cadence: 'daily',
formats: ['xml'],
fields: {cnpj: '99999999'}
})
};
fetch('https://api.range.org/v2/workflows/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.range.org/v2/workflows/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'CADOC 5711 - Range Brasil Ltda',
'channel_id' => '3f7e2d1a-9c4b-4e5f-8a6d-1b2c3d4e5f6a',
'recipients' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'enabled' => true,
'cadence' => 'daily',
'formats' => [
'xml'
],
'fields' => [
'cnpj' => '99999999'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-KEY: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.range.org/v2/workflows/{id}"
payload := strings.NewReader("{\n \"name\": \"CADOC 5711 - Range Brasil Ltda\",\n \"channel_id\": \"3f7e2d1a-9c4b-4e5f-8a6d-1b2c3d4e5f6a\",\n \"recipients\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"enabled\": true,\n \"cadence\": \"daily\",\n \"formats\": [\n \"xml\"\n ],\n \"fields\": {\n \"cnpj\": \"99999999\"\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("X-API-KEY", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.range.org/v2/workflows/{id}")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"CADOC 5711 - Range Brasil Ltda\",\n \"channel_id\": \"3f7e2d1a-9c4b-4e5f-8a6d-1b2c3d4e5f6a\",\n \"recipients\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"enabled\": true,\n \"cadence\": \"daily\",\n \"formats\": [\n \"xml\"\n ],\n \"fields\": {\n \"cnpj\": \"99999999\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.range.org/v2/workflows/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["X-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"CADOC 5711 - Range Brasil Ltda\",\n \"channel_id\": \"3f7e2d1a-9c4b-4e5f-8a6d-1b2c3d4e5f6a\",\n \"recipients\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"enabled\": true,\n \"cadence\": \"daily\",\n \"formats\": [\n \"xml\"\n ],\n \"fields\": {\n \"cnpj\": \"99999999\"\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "9b2f7c61-2d4e-4a8b-9f10-3c5d7e9a1b2c",
"name": "CADOC 5711 - Range Brasil Ltda",
"recipients": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"enabled": true,
"cadence": "daily",
"formats": [
"<string>"
],
"fields": {
"cnpj": "99999999"
},
"created_at": "2026-08-25T00:00:00.000Z",
"updated_at": "2026-08-25T00:00:00.000Z",
"state": "active",
"last_run": {
"id": "1f0c8b3a-5d6e-4f70-8192-a3b4c5d6e7f8",
"execution_status": "queued",
"delivery_status": "not_required",
"created_at": "2026-09-01T02:59:00.000Z"
},
"updated_by": "user_123",
"backfill_summary": "<string>"
}Update, enable, or disable a workflow instance
Partial update of one instance. Omitted fields keep their stored value; fields is merged into the stored fields. Disable by sending enabled=false. recipients replaces selected channels; [] clears them and omission preserves them. The template of an instance cannot change.
curl --request PATCH \
--url https://api.range.org/v2/workflows/{id} \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"name": "CADOC 5711 - Range Brasil Ltda",
"channel_id": "3f7e2d1a-9c4b-4e5f-8a6d-1b2c3d4e5f6a",
"recipients": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"enabled": true,
"cadence": "daily",
"formats": [
"xml"
],
"fields": {
"cnpj": "99999999"
}
}
'import requests
url = "https://api.range.org/v2/workflows/{id}"
payload = {
"name": "CADOC 5711 - Range Brasil Ltda",
"channel_id": "3f7e2d1a-9c4b-4e5f-8a6d-1b2c3d4e5f6a",
"recipients": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"],
"enabled": True,
"cadence": "daily",
"formats": ["xml"],
"fields": { "cnpj": "99999999" }
}
headers = {
"X-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'CADOC 5711 - Range Brasil Ltda',
channel_id: '3f7e2d1a-9c4b-4e5f-8a6d-1b2c3d4e5f6a',
recipients: ['3c90c3cc-0d44-4b50-8888-8dd25736052a'],
enabled: true,
cadence: 'daily',
formats: ['xml'],
fields: {cnpj: '99999999'}
})
};
fetch('https://api.range.org/v2/workflows/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.range.org/v2/workflows/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'CADOC 5711 - Range Brasil Ltda',
'channel_id' => '3f7e2d1a-9c4b-4e5f-8a6d-1b2c3d4e5f6a',
'recipients' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
],
'enabled' => true,
'cadence' => 'daily',
'formats' => [
'xml'
],
'fields' => [
'cnpj' => '99999999'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-KEY: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.range.org/v2/workflows/{id}"
payload := strings.NewReader("{\n \"name\": \"CADOC 5711 - Range Brasil Ltda\",\n \"channel_id\": \"3f7e2d1a-9c4b-4e5f-8a6d-1b2c3d4e5f6a\",\n \"recipients\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"enabled\": true,\n \"cadence\": \"daily\",\n \"formats\": [\n \"xml\"\n ],\n \"fields\": {\n \"cnpj\": \"99999999\"\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("X-API-KEY", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.range.org/v2/workflows/{id}")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"CADOC 5711 - Range Brasil Ltda\",\n \"channel_id\": \"3f7e2d1a-9c4b-4e5f-8a6d-1b2c3d4e5f6a\",\n \"recipients\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"enabled\": true,\n \"cadence\": \"daily\",\n \"formats\": [\n \"xml\"\n ],\n \"fields\": {\n \"cnpj\": \"99999999\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.range.org/v2/workflows/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["X-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"CADOC 5711 - Range Brasil Ltda\",\n \"channel_id\": \"3f7e2d1a-9c4b-4e5f-8a6d-1b2c3d4e5f6a\",\n \"recipients\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ],\n \"enabled\": true,\n \"cadence\": \"daily\",\n \"formats\": [\n \"xml\"\n ],\n \"fields\": {\n \"cnpj\": \"99999999\"\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "9b2f7c61-2d4e-4a8b-9f10-3c5d7e9a1b2c",
"name": "CADOC 5711 - Range Brasil Ltda",
"recipients": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"enabled": true,
"cadence": "daily",
"formats": [
"<string>"
],
"fields": {
"cnpj": "99999999"
},
"created_at": "2026-08-25T00:00:00.000Z",
"updated_at": "2026-08-25T00:00:00.000Z",
"state": "active",
"last_run": {
"id": "1f0c8b3a-5d6e-4f70-8192-a3b4c5d6e7f8",
"execution_status": "queued",
"delivery_status": "not_required",
"created_at": "2026-09-01T02:59:00.000Z"
},
"updated_by": "user_123",
"backfill_summary": "<string>"
}Authorizations
Authorization method required to allow user to access the api endpoints.
Path Parameters
Workflow instance id (uuid).
"550e8400-e29b-41d4-a716-446655440000"
Body
Shown in the sidebar and run list. One per regulated entity.
1 - 120"CADOC 5711 - Range Brasil Ltda"
Optional single delivery channel ID. Prefer recipients for multiple destinations; if both are supplied their IDs are combined. On PATCH, channel_id alone replaces every stored selection.
"3f7e2d1a-9c4b-4e5f-8a6d-1b2c3d4e5f6a"
Optional delivery channel IDs; create without destinations and configure them later. Omit on PATCH to preserve selections; [] clears them. Selected channels receive eligible stored output.
Set false to keep the instance configured but paused.
true
Defaults to the template cadence.
daily, weekly, monthly, quarterly, annual, manual, event "daily"
Output formats; must be allowed by the template. Defaults to every allowed format.
["xml"]
Template-declared fields, validated against field_schema. Required fields must be present on create. PATCH merges top-level fields; stablecoin_overrides replaces the whole map, and {} clears it. CADOC 5711 accounting switches default to false. Override keys use exact, case-sensitive network|denom identity.
Show child attributes
Show child attributes
{ "cnpj": "99999999" }
Response
"9b2f7c61-2d4e-4a8b-9f10-3c5d7e9a1b2c"
"CADOC 5711 - Range Brasil Ltda"
true
daily, weekly, monthly, quarterly, annual, manual, event Show child attributes
Show child attributes
{ "cnpj": "99999999" }
"2026-08-25T00:00:00.000Z"
"2026-08-25T00:00:00.000Z"
Derived from enabled and the most recent run: a disabled instance is always paused.
active, paused, running, failed, delivery_failed The most recent run, or null if the instance never ran.
Show child attributes
Show child attributes
Authenticated user ID or API-key fingerprint for new mutations. Historical values are retained unchanged.
"user_123"
Present on a redemption monitor. One sentence recording how many redemptions were already past their deadline when monitoring started and were stored without a case.
Was this page helpful?