List Definitions
curl --request POST \
--url https://api.velt.dev/v2/workflow/definitions/list \
--header 'Content-Type: application/json' \
--header 'x-velt-api-key: <x-velt-api-key>' \
--header 'x-velt-auth-token: <x-velt-auth-token>' \
--data '
{
"data": {
"pageSize": 123,
"cursor": 123
}
}
'import requests
url = "https://api.velt.dev/v2/workflow/definitions/list"
payload = { "data": {
"pageSize": 123,
"cursor": 123
} }
headers = {
"x-velt-api-key": "<x-velt-api-key>",
"x-velt-auth-token": "<x-velt-auth-token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-velt-api-key': '<x-velt-api-key>',
'x-velt-auth-token': '<x-velt-auth-token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({data: {pageSize: 123, cursor: 123}})
};
fetch('https://api.velt.dev/v2/workflow/definitions/list', 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.velt.dev/v2/workflow/definitions/list",
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([
'data' => [
'pageSize' => 123,
'cursor' => 123
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-velt-api-key: <x-velt-api-key>",
"x-velt-auth-token: <x-velt-auth-token>"
],
]);
$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.velt.dev/v2/workflow/definitions/list"
payload := strings.NewReader("{\n \"data\": {\n \"pageSize\": 123,\n \"cursor\": 123\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-velt-api-key", "<x-velt-api-key>")
req.Header.Add("x-velt-auth-token", "<x-velt-auth-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.velt.dev/v2/workflow/definitions/list")
.header("x-velt-api-key", "<x-velt-api-key>")
.header("x-velt-auth-token", "<x-velt-auth-token>")
.header("Content-Type", "application/json")
.body("{\n \"data\": {\n \"pageSize\": 123,\n \"cursor\": 123\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.velt.dev/v2/workflow/definitions/list")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-velt-api-key"] = '<x-velt-api-key>'
request["x-velt-auth-token"] = '<x-velt-auth-token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"data\": {\n \"pageSize\": 123,\n \"cursor\": 123\n }\n}"
response = http.request(request)
puts response.read_body{
"result": {
"items": [],
"nextCursor": null
}
}
Definitions
List Definitions
POST
/
v2
/
workflow
/
definitions
/
list
List Definitions
curl --request POST \
--url https://api.velt.dev/v2/workflow/definitions/list \
--header 'Content-Type: application/json' \
--header 'x-velt-api-key: <x-velt-api-key>' \
--header 'x-velt-auth-token: <x-velt-auth-token>' \
--data '
{
"data": {
"pageSize": 123,
"cursor": 123
}
}
'import requests
url = "https://api.velt.dev/v2/workflow/definitions/list"
payload = { "data": {
"pageSize": 123,
"cursor": 123
} }
headers = {
"x-velt-api-key": "<x-velt-api-key>",
"x-velt-auth-token": "<x-velt-auth-token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-velt-api-key': '<x-velt-api-key>',
'x-velt-auth-token': '<x-velt-auth-token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({data: {pageSize: 123, cursor: 123}})
};
fetch('https://api.velt.dev/v2/workflow/definitions/list', 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.velt.dev/v2/workflow/definitions/list",
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([
'data' => [
'pageSize' => 123,
'cursor' => 123
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-velt-api-key: <x-velt-api-key>",
"x-velt-auth-token: <x-velt-auth-token>"
],
]);
$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.velt.dev/v2/workflow/definitions/list"
payload := strings.NewReader("{\n \"data\": {\n \"pageSize\": 123,\n \"cursor\": 123\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-velt-api-key", "<x-velt-api-key>")
req.Header.Add("x-velt-auth-token", "<x-velt-auth-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.velt.dev/v2/workflow/definitions/list")
.header("x-velt-api-key", "<x-velt-api-key>")
.header("x-velt-auth-token", "<x-velt-auth-token>")
.header("Content-Type", "application/json")
.body("{\n \"data\": {\n \"pageSize\": 123,\n \"cursor\": 123\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.velt.dev/v2/workflow/definitions/list")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-velt-api-key"] = '<x-velt-api-key>'
request["x-velt-auth-token"] = '<x-velt-auth-token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"data\": {\n \"pageSize\": 123,\n \"cursor\": 123\n }\n}"
response = http.request(request)
puts response.read_body{
"result": {
"items": [],
"nextCursor": null
}
}
Use this API to paginate through active (non-tombstoned) workflow definitions, ordered by
Each
updatedAt DESC.
Endpoint
POST https://api.velt.dev/v2/workflow/definitions/list
Headers
string
required
Your API key.
string
required
Your Auth Token.
Body
Params
object
required
Show properties
Show properties
integer
1–500. Default 50.
integer
The previous response’s
nextCursor (last item’s updatedAt epoch ms).List Definitions does not accept organizationId or documentId filters. Every active definition in the workspace is returned, ordered by updatedAt DESC, regardless of each definition’s scope. To narrow by scope, filter the returned DefinitionView.scope client-side.Requires a Firestore composite index (
status ASC, updatedAt DESC). The first list call after deploy may surface a one-time index-create URL.Example Requests
List the first page
{
"data": {
"pageSize": 50
}
}
Paginate
{
"data": {
"pageSize": 50,
"cursor": 1714300000000
}
}
Response
Success Response
{
"result": {
"items": [
{
"definitionId": "marketing-copy-approval",
"name": "Marketing copy approval",
"description": null,
"version": 1,
"scope": { "level": "apiKey", "organizationId": null, "documentId": null },
"nodes": [
{ "nodeId": "agent-draft", "type": "agent", "config": { "agentId": "copy-agent-v1", "urlPath": "documentUrl" } }
],
"edges": [],
"groups": null,
"compiled": { "forwardEdges": [], "loops": [] },
"triggers": null,
"tags": null,
"custom": null,
"createdAt": 1731432000000,
"updatedAt": 1731432000000,
"status": "active"
}
],
"nextCursor": null
}
}
DefinitionView row includes the read-only compiled block (compiled.forwardEdges + compiled.loops) alongside the authored edges. See Get Definition for the compiled schema.
Failure Response
{
"error": {
"message": "ERROR_MESSAGE",
"status": "INVALID_ARGUMENT"
}
}
{
"result": {
"items": [],
"nextCursor": null
}
}
Was this page helpful?
⌘I

