curl --request PATCH \
--url https://pria.praxislxp.com/api/user/agents/workflows/{id} \
--header 'Content-Type: application/json' \
--header 'x-access-token: <api-key>' \
--data '
{
"name": "<string>",
"presetKey": "<string>",
"instruction": "<string>",
"enabled": true,
"schedule": {
"intervalMinutes": 123,
"timeOfDay": "08:00",
"dayOfWeek": 3,
"dayOfMonth": 16
}
}
'import requests
url = "https://pria.praxislxp.com/api/user/agents/workflows/{id}"
payload = {
"name": "<string>",
"presetKey": "<string>",
"instruction": "<string>",
"enabled": True,
"schedule": {
"intervalMinutes": 123,
"timeOfDay": "08:00",
"dayOfWeek": 3,
"dayOfMonth": 16
}
}
headers = {
"x-access-token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'x-access-token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
presetKey: '<string>',
instruction: '<string>',
enabled: true,
schedule: {intervalMinutes: 123, timeOfDay: '08:00', dayOfWeek: 3, dayOfMonth: 16}
})
};
fetch('https://pria.praxislxp.com/api/user/agents/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://pria.praxislxp.com/api/user/agents/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' => '<string>',
'presetKey' => '<string>',
'instruction' => '<string>',
'enabled' => true,
'schedule' => [
'intervalMinutes' => 123,
'timeOfDay' => '08:00',
'dayOfWeek' => 3,
'dayOfMonth' => 16
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-access-token: <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://pria.praxislxp.com/api/user/agents/workflows/{id}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"presetKey\": \"<string>\",\n \"instruction\": \"<string>\",\n \"enabled\": true,\n \"schedule\": {\n \"intervalMinutes\": 123,\n \"timeOfDay\": \"08:00\",\n \"dayOfWeek\": 3,\n \"dayOfMonth\": 16\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("x-access-token", "<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://pria.praxislxp.com/api/user/agents/workflows/{id}")
.header("x-access-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"presetKey\": \"<string>\",\n \"instruction\": \"<string>\",\n \"enabled\": true,\n \"schedule\": {\n \"intervalMinutes\": 123,\n \"timeOfDay\": \"08:00\",\n \"dayOfWeek\": 3,\n \"dayOfMonth\": 16\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://pria.praxislxp.com/api/user/agents/workflows/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["x-access-token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"presetKey\": \"<string>\",\n \"instruction\": \"<string>\",\n \"enabled\": true,\n \"schedule\": {\n \"intervalMinutes\": 123,\n \"timeOfDay\": \"08:00\",\n \"dayOfWeek\": 3,\n \"dayOfMonth\": 16\n }\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"workflow": {
"_id": "<string>",
"name": "<string>",
"presetKey": "<string>",
"presetName": "<string>",
"instruction": "<string>",
"enabled": true,
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"lastRunAt": "2023-11-07T05:31:56Z",
"lastRunOutcome": "<string>",
"lastSessionId": "<string>",
"schedule": {
"kind": "none",
"nextRunAt": "2023-11-07T05:31:56Z",
"retryAt": "2023-11-07T05:31:56Z",
"waitingReason": "<string>",
"status": "ready"
},
"available": true,
"missingCapabilities": [
"<string>"
],
"unavailableReason": "<string>",
"presetEnabled": true,
"presetExists": true,
"madeBy": "twin",
"toolGroups": [
"knowledge"
],
"model": "<string>"
}
}{
"success": false,
"code": "INVALID_NAME",
"message": "<string>"
}{
"success": false,
"code": "INVALID_NAME",
"message": "<string>"
}{
"success": false,
"code": "INVALID_NAME",
"message": "<string>"
}{
"success": false,
"code": "INVALID_NAME",
"message": "<string>"
}Update one of the caller's workflows.
Updates name, presetKey, instruction, enabled and schedule. For a
workflow made by the Digital Twin (madeBy: twin): delegated tokens
(a desktop agent’s PRIA_API_TOKEN, a scoped desktop token,
impersonation) get 403 TWIN_MANAGED; the agent cannot be changed
(403 TWIN_BINDING_FIXED);
instructions cannot be empty; the catalogue check is skipped and the
response carries the Twin availability note; the schedule limits
apply (interval of at least 60 minutes, at most 10 scheduled Twin
workflows per owner).
curl --request PATCH \
--url https://pria.praxislxp.com/api/user/agents/workflows/{id} \
--header 'Content-Type: application/json' \
--header 'x-access-token: <api-key>' \
--data '
{
"name": "<string>",
"presetKey": "<string>",
"instruction": "<string>",
"enabled": true,
"schedule": {
"intervalMinutes": 123,
"timeOfDay": "08:00",
"dayOfWeek": 3,
"dayOfMonth": 16
}
}
'import requests
url = "https://pria.praxislxp.com/api/user/agents/workflows/{id}"
payload = {
"name": "<string>",
"presetKey": "<string>",
"instruction": "<string>",
"enabled": True,
"schedule": {
"intervalMinutes": 123,
"timeOfDay": "08:00",
"dayOfWeek": 3,
"dayOfMonth": 16
}
}
headers = {
"x-access-token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'x-access-token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
presetKey: '<string>',
instruction: '<string>',
enabled: true,
schedule: {intervalMinutes: 123, timeOfDay: '08:00', dayOfWeek: 3, dayOfMonth: 16}
})
};
fetch('https://pria.praxislxp.com/api/user/agents/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://pria.praxislxp.com/api/user/agents/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' => '<string>',
'presetKey' => '<string>',
'instruction' => '<string>',
'enabled' => true,
'schedule' => [
'intervalMinutes' => 123,
'timeOfDay' => '08:00',
'dayOfWeek' => 3,
'dayOfMonth' => 16
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-access-token: <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://pria.praxislxp.com/api/user/agents/workflows/{id}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"presetKey\": \"<string>\",\n \"instruction\": \"<string>\",\n \"enabled\": true,\n \"schedule\": {\n \"intervalMinutes\": 123,\n \"timeOfDay\": \"08:00\",\n \"dayOfWeek\": 3,\n \"dayOfMonth\": 16\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("x-access-token", "<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://pria.praxislxp.com/api/user/agents/workflows/{id}")
.header("x-access-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"presetKey\": \"<string>\",\n \"instruction\": \"<string>\",\n \"enabled\": true,\n \"schedule\": {\n \"intervalMinutes\": 123,\n \"timeOfDay\": \"08:00\",\n \"dayOfWeek\": 3,\n \"dayOfMonth\": 16\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://pria.praxislxp.com/api/user/agents/workflows/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["x-access-token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"presetKey\": \"<string>\",\n \"instruction\": \"<string>\",\n \"enabled\": true,\n \"schedule\": {\n \"intervalMinutes\": 123,\n \"timeOfDay\": \"08:00\",\n \"dayOfWeek\": 3,\n \"dayOfMonth\": 16\n }\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"workflow": {
"_id": "<string>",
"name": "<string>",
"presetKey": "<string>",
"presetName": "<string>",
"instruction": "<string>",
"enabled": true,
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"lastRunAt": "2023-11-07T05:31:56Z",
"lastRunOutcome": "<string>",
"lastSessionId": "<string>",
"schedule": {
"kind": "none",
"nextRunAt": "2023-11-07T05:31:56Z",
"retryAt": "2023-11-07T05:31:56Z",
"waitingReason": "<string>",
"status": "ready"
},
"available": true,
"missingCapabilities": [
"<string>"
],
"unavailableReason": "<string>",
"presetEnabled": true,
"presetExists": true,
"madeBy": "twin",
"toolGroups": [
"knowledge"
],
"model": "<string>"
}
}{
"success": false,
"code": "INVALID_NAME",
"message": "<string>"
}{
"success": false,
"code": "INVALID_NAME",
"message": "<string>"
}{
"success": false,
"code": "INVALID_NAME",
"message": "<string>"
}{
"success": false,
"code": "INVALID_NAME",
"message": "<string>"
}Authorizations
JWT token passed in x-access-token header
Path Parameters
Body
Every field is optional; omitted fields keep their value. On a Twin row presetKey cannot change (403 TWIN_BINDING_FIXED; an empty string, as the row is projected, means unchanged) and instruction cannot be empty (400 INSTRUCTION_REQUIRED). Every successful update steps a server-side revision the Twin uses to detect concurrent edits.
12010032000Times are UTC. null clears the schedule (same as kind none). On Twin rows the interval must be at least 60 minutes and at most 10 Twin workflows per owner may have a schedule.
Show child attributes
Show child attributes
Was this page helpful?