List flow members
curl --request GET \
--url https://api.tented.ai/v1/email-flows/{flowId}/members \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.tented.ai/v1/email-flows/{flowId}/members"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.tented.ai/v1/email-flows/{flowId}/members', 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.tented.ai/v1/email-flows/{flowId}/members",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <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"
"net/http"
"io"
)
func main() {
url := "https://api.tented.ai/v1/email-flows/{flowId}/members"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.tented.ai/v1/email-flows/{flowId}/members")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.tented.ai/v1/email-flows/{flowId}/members")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"members": [
{
"membership_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"contact_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"contact_name": "<string>",
"contact_email": "<string>",
"run_status": "in_flow",
"status": "active",
"status_label": "<string>",
"entered_at": "2023-11-07T05:31:56Z",
"current_step_id": "<string>",
"current_step_label": "<string>",
"waiting_until": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z",
"dropped_at": "2023-11-07T05:31:56Z",
"exited_at": "2023-11-07T05:31:56Z",
"drop_reason": "<string>",
"failure_count": 123,
"last_error": "<string>",
"steps": [
{
"step_id": "<string>",
"node_type": "<string>",
"executed_at": "2023-11-07T05:31:56Z"
}
]
}
],
"pagination": {
"page": 123,
"limit": 123,
"total": 123,
"totalPages": 123
}
}{
"error": "<string>",
"error_code": "<string>",
"message": "<string>",
"code": "<string>",
"details": {},
"limit": 123,
"current": 123
}{
"error": "<string>",
"error_code": "<string>",
"message": "<string>",
"code": "<string>",
"details": {},
"limit": 123,
"current": 123
}{
"error": "<string>",
"error_code": "<string>",
"message": "<string>",
"code": "<string>",
"details": {},
"limit": 123,
"current": 123
}Triggered Flows
List flow members
GET
/
v1
/
email-flows
/
{flowId}
/
members
List flow members
curl --request GET \
--url https://api.tented.ai/v1/email-flows/{flowId}/members \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.tented.ai/v1/email-flows/{flowId}/members"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.tented.ai/v1/email-flows/{flowId}/members', 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.tented.ai/v1/email-flows/{flowId}/members",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <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"
"net/http"
"io"
)
func main() {
url := "https://api.tented.ai/v1/email-flows/{flowId}/members"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.tented.ai/v1/email-flows/{flowId}/members")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.tented.ai/v1/email-flows/{flowId}/members")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"members": [
{
"membership_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"contact_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"contact_name": "<string>",
"contact_email": "<string>",
"run_status": "in_flow",
"status": "active",
"status_label": "<string>",
"entered_at": "2023-11-07T05:31:56Z",
"current_step_id": "<string>",
"current_step_label": "<string>",
"waiting_until": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z",
"dropped_at": "2023-11-07T05:31:56Z",
"exited_at": "2023-11-07T05:31:56Z",
"drop_reason": "<string>",
"failure_count": 123,
"last_error": "<string>",
"steps": [
{
"step_id": "<string>",
"node_type": "<string>",
"executed_at": "2023-11-07T05:31:56Z"
}
]
}
],
"pagination": {
"page": 123,
"limit": 123,
"total": 123,
"totalPages": 123
}
}{
"error": "<string>",
"error_code": "<string>",
"message": "<string>",
"code": "<string>",
"details": {},
"limit": 123,
"current": 123
}{
"error": "<string>",
"error_code": "<string>",
"message": "<string>",
"code": "<string>",
"details": {},
"limit": 123,
"current": 123
}{
"error": "<string>",
"error_code": "<string>",
"message": "<string>",
"code": "<string>",
"details": {},
"limit": 123,
"current": 123
}Authorizations
Workspace API key, e.g. Authorization: Bearer tented_.... Create keys in Workspace Settings → API Keys.
Path Parameters
Flow ID.
Query Parameters
Filter by membership state.
Available options:
any, active, waiting, completed, dropped Filter by run outcome.
Available options:
any, in_flow, completed, failed, exited_flow Only members that entered at or after this time.
Only members that entered at or before this time.
Only members that exited at or after this time.
Only members that exited at or before this time.
Page number, starting at 1. Page number (1-based).
Required range:
x >= 1Results per page (1–100). Page size.
Required range:
1 <= x <= 100