Update Workflow
Update an existing workflow.
curl --request PUT \
--url https://public.api.serval.com/v2/workflows/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"description": "<string>",
"requireFormConfirmation": true,
"content": "<string>",
"isPublished": true,
"tagIds": {
"ids": [
"<string>"
]
},
"showInServiceCatalog": true,
"serviceCatalogDescription": "<string>"
}
'import requests
url = "https://public.api.serval.com/v2/workflows/{id}"
payload = {
"name": "<string>",
"description": "<string>",
"requireFormConfirmation": True,
"content": "<string>",
"isPublished": True,
"tagIds": { "ids": ["<string>"] },
"showInServiceCatalog": True,
"serviceCatalogDescription": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
description: '<string>',
requireFormConfirmation: true,
content: '<string>',
isPublished: true,
tagIds: {ids: ['<string>']},
showInServiceCatalog: true,
serviceCatalogDescription: '<string>'
})
};
fetch('https://public.api.serval.com/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://public.api.serval.com/v2/workflows/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'description' => '<string>',
'requireFormConfirmation' => true,
'content' => '<string>',
'isPublished' => true,
'tagIds' => [
'ids' => [
'<string>'
]
],
'showInServiceCatalog' => true,
'serviceCatalogDescription' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://public.api.serval.com/v2/workflows/{id}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"requireFormConfirmation\": true,\n \"content\": \"<string>\",\n \"isPublished\": true,\n \"tagIds\": {\n \"ids\": [\n \"<string>\"\n ]\n },\n \"showInServiceCatalog\": true,\n \"serviceCatalogDescription\": \"<string>\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.put("https://public.api.serval.com/v2/workflows/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"requireFormConfirmation\": true,\n \"content\": \"<string>\",\n \"isPublished\": true,\n \"tagIds\": {\n \"ids\": [\n \"<string>\"\n ]\n },\n \"showInServiceCatalog\": true,\n \"serviceCatalogDescription\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://public.api.serval.com/v2/workflows/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"requireFormConfirmation\": true,\n \"content\": \"<string>\",\n \"isPublished\": true,\n \"tagIds\": {\n \"ids\": [\n \"<string>\"\n ]\n },\n \"showInServiceCatalog\": true,\n \"serviceCatalogDescription\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "<string>",
"teamId": "<string>",
"name": "<string>",
"description": "<string>",
"requireFormConfirmation": true,
"content": "<string>",
"isPublished": true,
"hasUnpublishedChanges": true,
"tagIds": [
"<string>"
],
"showInServiceCatalog": true,
"serviceCatalogDescription": "<string>",
"scopedId": "<string>",
"folderId": "<string>"
}
}{
"message": "<string>",
"detail": {
"type": "<string>",
"value": "<string>",
"debug": {}
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
The ID of the workflow.
Body
The name of the workflow.
A description of the workflow.
Whether the workflow requires form confirmation. Omit to leave unchanged.
The content/code of the workflow.
Whether the workflow is published. Set to true to publish the workflow.
The workflow's replacement set of tags: when present, the workflow ends up with exactly the given tag ids (an empty set clears every tag). Omit to leave tags unchanged.
Show child attributes
Show child attributes
Whether to list this workflow in the Service Catalog. Omit to leave unchanged.
Description shown at the top of the Service Catalog run form. Omit to leave unchanged; send an empty string to clear it.
Response
Success
The updated workflow.
Show child attributes
Show child attributes
Was this page helpful?
curl --request PUT \
--url https://public.api.serval.com/v2/workflows/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"description": "<string>",
"requireFormConfirmation": true,
"content": "<string>",
"isPublished": true,
"tagIds": {
"ids": [
"<string>"
]
},
"showInServiceCatalog": true,
"serviceCatalogDescription": "<string>"
}
'import requests
url = "https://public.api.serval.com/v2/workflows/{id}"
payload = {
"name": "<string>",
"description": "<string>",
"requireFormConfirmation": True,
"content": "<string>",
"isPublished": True,
"tagIds": { "ids": ["<string>"] },
"showInServiceCatalog": True,
"serviceCatalogDescription": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
description: '<string>',
requireFormConfirmation: true,
content: '<string>',
isPublished: true,
tagIds: {ids: ['<string>']},
showInServiceCatalog: true,
serviceCatalogDescription: '<string>'
})
};
fetch('https://public.api.serval.com/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://public.api.serval.com/v2/workflows/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'description' => '<string>',
'requireFormConfirmation' => true,
'content' => '<string>',
'isPublished' => true,
'tagIds' => [
'ids' => [
'<string>'
]
],
'showInServiceCatalog' => true,
'serviceCatalogDescription' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://public.api.serval.com/v2/workflows/{id}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"requireFormConfirmation\": true,\n \"content\": \"<string>\",\n \"isPublished\": true,\n \"tagIds\": {\n \"ids\": [\n \"<string>\"\n ]\n },\n \"showInServiceCatalog\": true,\n \"serviceCatalogDescription\": \"<string>\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.put("https://public.api.serval.com/v2/workflows/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"requireFormConfirmation\": true,\n \"content\": \"<string>\",\n \"isPublished\": true,\n \"tagIds\": {\n \"ids\": [\n \"<string>\"\n ]\n },\n \"showInServiceCatalog\": true,\n \"serviceCatalogDescription\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://public.api.serval.com/v2/workflows/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"requireFormConfirmation\": true,\n \"content\": \"<string>\",\n \"isPublished\": true,\n \"tagIds\": {\n \"ids\": [\n \"<string>\"\n ]\n },\n \"showInServiceCatalog\": true,\n \"serviceCatalogDescription\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "<string>",
"teamId": "<string>",
"name": "<string>",
"description": "<string>",
"requireFormConfirmation": true,
"content": "<string>",
"isPublished": true,
"hasUnpublishedChanges": true,
"tagIds": [
"<string>"
],
"showInServiceCatalog": true,
"serviceCatalogDescription": "<string>",
"scopedId": "<string>",
"folderId": "<string>"
}
}{
"message": "<string>",
"detail": {
"type": "<string>",
"value": "<string>",
"debug": {}
}
}
