curl --request POST \
--url https://api.qovery.com/environment/{environmentId}/agenticWorkflow \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"description": "",
"webhook_ip_allowlist": [],
"docker_fragment": "",
"enabled": true,
"mcp": "",
"outputs": [],
"project_repositories": [],
"agent_prompt": ""
}
'import requests
url = "https://api.qovery.com/environment/{environmentId}/agenticWorkflow"
payload = {
"name": "<string>",
"description": "",
"webhook_ip_allowlist": [],
"docker_fragment": "",
"enabled": True,
"mcp": "",
"outputs": [],
"project_repositories": [],
"agent_prompt": ""
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
description: '',
webhook_ip_allowlist: [],
docker_fragment: '',
enabled: true,
mcp: '',
outputs: [],
project_repositories: [],
agent_prompt: ''
})
};
fetch('https://api.qovery.com/environment/{environmentId}/agenticWorkflow', 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.qovery.com/environment/{environmentId}/agenticWorkflow",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'description' => '',
'webhook_ip_allowlist' => [
],
'docker_fragment' => '',
'enabled' => true,
'mcp' => '',
'outputs' => [
],
'project_repositories' => [
],
'agent_prompt' => ''
]),
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://api.qovery.com/environment/{environmentId}/agenticWorkflow"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"description\": \"\",\n \"webhook_ip_allowlist\": [],\n \"docker_fragment\": \"\",\n \"enabled\": true,\n \"mcp\": \"\",\n \"outputs\": [],\n \"project_repositories\": [],\n \"agent_prompt\": \"\"\n}")
req, _ := http.NewRequest("POST", 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.post("https://api.qovery.com/environment/{environmentId}/agenticWorkflow")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"description\": \"\",\n \"webhook_ip_allowlist\": [],\n \"docker_fragment\": \"\",\n \"enabled\": true,\n \"mcp\": \"\",\n \"outputs\": [],\n \"project_repositories\": [],\n \"agent_prompt\": \"\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.qovery.com/environment/{environmentId}/agenticWorkflow")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"description\": \"\",\n \"webhook_ip_allowlist\": [],\n \"docker_fragment\": \"\",\n \"enabled\": true,\n \"mcp\": \"\",\n \"outputs\": [],\n \"project_repositories\": [],\n \"agent_prompt\": \"\"\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z",
"name": "<string>",
"description": "<string>",
"webhook_ip_allowlist": [
"<string>"
],
"docker_fragment": "<string>",
"enabled": true,
"mcp": "<string>",
"outputs": [
{
"name": "<string>",
"url": "<string>",
"headers": [],
"instructions": ""
}
],
"model": {
"settings": "<string>"
},
"project_repositories": [
{
"url": "<string>",
"branch": "<string>",
"git_token_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
],
"agent_prompt": "<string>",
"governance": {
"host_allowlist": []
},
"webhook": {
"url": "<string>"
},
"updated_at": "2023-11-07T05:31:56Z"
}Create an agentic workflow
curl --request POST \
--url https://api.qovery.com/environment/{environmentId}/agenticWorkflow \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"description": "",
"webhook_ip_allowlist": [],
"docker_fragment": "",
"enabled": true,
"mcp": "",
"outputs": [],
"project_repositories": [],
"agent_prompt": ""
}
'import requests
url = "https://api.qovery.com/environment/{environmentId}/agenticWorkflow"
payload = {
"name": "<string>",
"description": "",
"webhook_ip_allowlist": [],
"docker_fragment": "",
"enabled": True,
"mcp": "",
"outputs": [],
"project_repositories": [],
"agent_prompt": ""
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
description: '',
webhook_ip_allowlist: [],
docker_fragment: '',
enabled: true,
mcp: '',
outputs: [],
project_repositories: [],
agent_prompt: ''
})
};
fetch('https://api.qovery.com/environment/{environmentId}/agenticWorkflow', 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.qovery.com/environment/{environmentId}/agenticWorkflow",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'description' => '',
'webhook_ip_allowlist' => [
],
'docker_fragment' => '',
'enabled' => true,
'mcp' => '',
'outputs' => [
],
'project_repositories' => [
],
'agent_prompt' => ''
]),
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://api.qovery.com/environment/{environmentId}/agenticWorkflow"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"description\": \"\",\n \"webhook_ip_allowlist\": [],\n \"docker_fragment\": \"\",\n \"enabled\": true,\n \"mcp\": \"\",\n \"outputs\": [],\n \"project_repositories\": [],\n \"agent_prompt\": \"\"\n}")
req, _ := http.NewRequest("POST", 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.post("https://api.qovery.com/environment/{environmentId}/agenticWorkflow")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"description\": \"\",\n \"webhook_ip_allowlist\": [],\n \"docker_fragment\": \"\",\n \"enabled\": true,\n \"mcp\": \"\",\n \"outputs\": [],\n \"project_repositories\": [],\n \"agent_prompt\": \"\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.qovery.com/environment/{environmentId}/agenticWorkflow")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"description\": \"\",\n \"webhook_ip_allowlist\": [],\n \"docker_fragment\": \"\",\n \"enabled\": true,\n \"mcp\": \"\",\n \"outputs\": [],\n \"project_repositories\": [],\n \"agent_prompt\": \"\"\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z",
"name": "<string>",
"description": "<string>",
"webhook_ip_allowlist": [
"<string>"
],
"docker_fragment": "<string>",
"enabled": true,
"mcp": "<string>",
"outputs": [
{
"name": "<string>",
"url": "<string>",
"headers": [],
"instructions": ""
}
],
"model": {
"settings": "<string>"
},
"project_repositories": [
{
"url": "<string>",
"branch": "<string>",
"git_token_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
],
"agent_prompt": "<string>",
"governance": {
"host_allowlist": []
},
"webhook": {
"url": "<string>"
},
"updated_at": "2023-11-07T05:31:56Z"
}Authorizations
JWT tokens should be used with OIDC account (human to machine). JWT tokens used by the Qovery console to communicate with the API have a TTL. Curl Example ' curl https://console.qovery.com/organization -H "Authorization: Bearer $qovery_token" '
Path Parameters
Environment ID
Body
name is case insensitive
CIDR ranges the incoming webhook request's source IP is checked against
Raw JSON blob describing the MCP servers configured for this workflow
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Response
Create agentic workflow
name is case insensitive
CIDR ranges the incoming webhook request's source IP is checked against
Raw JSON blob describing the MCP servers configured for this workflow
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Was this page helpful?