Create a definition
curl --request POST \
--url https://api.getdialed.ai/v1/flows/definitions \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"inputs": [],
"name": "Nightly Five9 report sync",
"status": "active",
"steps": [],
"variables": [],
"version": 1,
"webhooks": []
}
'import requests
url = "https://api.getdialed.ai/v1/flows/definitions"
payload = {
"inputs": [],
"name": "Nightly Five9 report sync",
"status": "active",
"steps": [],
"variables": [],
"version": 1,
"webhooks": []
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
inputs: [],
name: 'Nightly Five9 report sync',
status: 'active',
steps: [],
variables: [],
version: 1,
webhooks: []
})
};
fetch('https://api.getdialed.ai/v1/flows/definitions', 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.getdialed.ai/v1/flows/definitions",
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([
'inputs' => [
],
'name' => 'Nightly Five9 report sync',
'status' => 'active',
'steps' => [
],
'variables' => [
],
'version' => 1,
'webhooks' => [
]
]),
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.getdialed.ai/v1/flows/definitions"
payload := strings.NewReader("{\n \"inputs\": [],\n \"name\": \"Nightly Five9 report sync\",\n \"status\": \"active\",\n \"steps\": [],\n \"variables\": [],\n \"version\": 1,\n \"webhooks\": []\n}")
req, _ := http.NewRequest("POST", 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.post("https://api.getdialed.ai/v1/flows/definitions")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"inputs\": [],\n \"name\": \"Nightly Five9 report sync\",\n \"status\": \"active\",\n \"steps\": [],\n \"variables\": [],\n \"version\": 1,\n \"webhooks\": []\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getdialed.ai/v1/flows/definitions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"inputs\": [],\n \"name\": \"Nightly Five9 report sync\",\n \"status\": \"active\",\n \"steps\": [],\n \"variables\": [],\n \"version\": 1,\n \"webhooks\": []\n}"
response = http.request(request)
puts response.read_body{
"id": "def_a1b2c3d4",
"inputs": [],
"name": "Nightly Five9 report sync",
"org_id": "org_a1b2c3d4",
"status": "active",
"steps": [],
"variables": [],
"version": 1,
"webhooks": []
}{
"detail": "Authentication required"
}{
"detail": "Admin role required"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}{
"detail": "Rate limit exceeded: 100 per 1 minute"
}Definitions
Create a definition
Create a flow definition. Admin only. Expressions in the definition body are validated at creation time; malformed expressions return 422.
POST
/
flows
/
definitions
Create a definition
curl --request POST \
--url https://api.getdialed.ai/v1/flows/definitions \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"inputs": [],
"name": "Nightly Five9 report sync",
"status": "active",
"steps": [],
"variables": [],
"version": 1,
"webhooks": []
}
'import requests
url = "https://api.getdialed.ai/v1/flows/definitions"
payload = {
"inputs": [],
"name": "Nightly Five9 report sync",
"status": "active",
"steps": [],
"variables": [],
"version": 1,
"webhooks": []
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
inputs: [],
name: 'Nightly Five9 report sync',
status: 'active',
steps: [],
variables: [],
version: 1,
webhooks: []
})
};
fetch('https://api.getdialed.ai/v1/flows/definitions', 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.getdialed.ai/v1/flows/definitions",
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([
'inputs' => [
],
'name' => 'Nightly Five9 report sync',
'status' => 'active',
'steps' => [
],
'variables' => [
],
'version' => 1,
'webhooks' => [
]
]),
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.getdialed.ai/v1/flows/definitions"
payload := strings.NewReader("{\n \"inputs\": [],\n \"name\": \"Nightly Five9 report sync\",\n \"status\": \"active\",\n \"steps\": [],\n \"variables\": [],\n \"version\": 1,\n \"webhooks\": []\n}")
req, _ := http.NewRequest("POST", 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.post("https://api.getdialed.ai/v1/flows/definitions")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"inputs\": [],\n \"name\": \"Nightly Five9 report sync\",\n \"status\": \"active\",\n \"steps\": [],\n \"variables\": [],\n \"version\": 1,\n \"webhooks\": []\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getdialed.ai/v1/flows/definitions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"inputs\": [],\n \"name\": \"Nightly Five9 report sync\",\n \"status\": \"active\",\n \"steps\": [],\n \"variables\": [],\n \"version\": 1,\n \"webhooks\": []\n}"
response = http.request(request)
puts response.read_body{
"id": "def_a1b2c3d4",
"inputs": [],
"name": "Nightly Five9 report sync",
"org_id": "org_a1b2c3d4",
"status": "active",
"steps": [],
"variables": [],
"version": 1,
"webhooks": []
}{
"detail": "Authentication required"
}{
"detail": "Admin role required"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}{
"detail": "Rate limit exceeded: 100 per 1 minute"
}Authorizations
APIKeyHeaderHTTPBearer
Body
application/json
Available options:
active, draft, archived 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
Successful Response
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Present when this flow was created for your account from a managed template, naming that template, the version it was created at and a digest of the content it started with. null for a flow you built yourself. Read-only — it is stamped when the flow is created and is not accepted when you create or update one.
Show child attributes
Show child attributes