Get Sendflow Report Logs
curl --request GET \
--url https://api-ai.zixflow.com/api/data/sendflow/v1/reports/logs/{flowId} \
--header 'x-api-key: <x-api-key>' \
--header 'x-workspace-id: <x-workspace-id>'import requests
url = "https://api-ai.zixflow.com/api/data/sendflow/v1/reports/logs/{flowId}"
headers = {
"x-api-key": "<x-api-key>",
"x-workspace-id": "<x-workspace-id>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'x-api-key': '<x-api-key>', 'x-workspace-id': '<x-workspace-id>'}
};
fetch('https://api-ai.zixflow.com/api/data/sendflow/v1/reports/logs/{flowId}', 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-ai.zixflow.com/api/data/sendflow/v1/reports/logs/{flowId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <x-api-key>",
"x-workspace-id: <x-workspace-id>"
],
]);
$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-ai.zixflow.com/api/data/sendflow/v1/reports/logs/{flowId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<x-api-key>")
req.Header.Add("x-workspace-id", "<x-workspace-id>")
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-ai.zixflow.com/api/data/sendflow/v1/reports/logs/{flowId}")
.header("x-api-key", "<x-api-key>")
.header("x-workspace-id", "<x-workspace-id>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-ai.zixflow.com/api/data/sendflow/v1/reports/logs/{flowId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<x-api-key>'
request["x-workspace-id"] = '<x-workspace-id>'
response = http.request(request)
puts response.read_body{
"success": true,
"message": "Sendflow report logs retrieved successfully",
"data": [
{
"request_id": "8cf12de6-0504-41f9-b576-cbdb20b3e275",
"date": "2024-01-15T10:30:00Z",
"status": "Completed",
"delivery_status": "delivered",
"recipients": [
{
"id": "65f1a2b3c4d5e6f7a8b9c0d2",
"name": "Jane Doe",
"phone": "+15551234567",
"email": "jane@example.com"
}
]
}
],
"pagination": {
"size": 36,
"count": 20,
"pageSize": 20
}
}
{
"success": false,
"message": "Invalid flowId or query parameter"
}
{
"success": false,
"message": "Unauthorized. Please check your API key and workspace ID."
}
{
"success": false,
"message": "Too many requests, try again later!"
}
{
"success": false,
"message": "Internal server error. Please try again later."
}
Sendflow
Get Sendflow Report Logs
Returns paginated sendflow execution logs with execution status and delivery status
GET
/
api
/
data
/
sendflow
/
v1
/
reports
/
logs
/
{flowId}
Get Sendflow Report Logs
curl --request GET \
--url https://api-ai.zixflow.com/api/data/sendflow/v1/reports/logs/{flowId} \
--header 'x-api-key: <x-api-key>' \
--header 'x-workspace-id: <x-workspace-id>'import requests
url = "https://api-ai.zixflow.com/api/data/sendflow/v1/reports/logs/{flowId}"
headers = {
"x-api-key": "<x-api-key>",
"x-workspace-id": "<x-workspace-id>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'x-api-key': '<x-api-key>', 'x-workspace-id': '<x-workspace-id>'}
};
fetch('https://api-ai.zixflow.com/api/data/sendflow/v1/reports/logs/{flowId}', 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-ai.zixflow.com/api/data/sendflow/v1/reports/logs/{flowId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <x-api-key>",
"x-workspace-id: <x-workspace-id>"
],
]);
$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-ai.zixflow.com/api/data/sendflow/v1/reports/logs/{flowId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<x-api-key>")
req.Header.Add("x-workspace-id", "<x-workspace-id>")
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-ai.zixflow.com/api/data/sendflow/v1/reports/logs/{flowId}")
.header("x-api-key", "<x-api-key>")
.header("x-workspace-id", "<x-workspace-id>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-ai.zixflow.com/api/data/sendflow/v1/reports/logs/{flowId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<x-api-key>'
request["x-workspace-id"] = '<x-workspace-id>'
response = http.request(request)
puts response.read_body{
"success": true,
"message": "Sendflow report logs retrieved successfully",
"data": [
{
"request_id": "8cf12de6-0504-41f9-b576-cbdb20b3e275",
"date": "2024-01-15T10:30:00Z",
"status": "Completed",
"delivery_status": "delivered",
"recipients": [
{
"id": "65f1a2b3c4d5e6f7a8b9c0d2",
"name": "Jane Doe",
"phone": "+15551234567",
"email": "jane@example.com"
}
]
}
],
"pagination": {
"size": 36,
"count": 20,
"pageSize": 20
}
}
{
"success": false,
"message": "Invalid flowId or query parameter"
}
{
"success": false,
"message": "Unauthorized. Please check your API key and workspace ID."
}
{
"success": false,
"message": "Too many requests, try again later!"
}
{
"success": false,
"message": "Internal server error. Please try again later."
}
Description
This endpoint returns paginated Sendflow execution logs for a specific flow, including execution status and delivery status. You can filter by run status, date range, and a search term (request ID, phone, or email). Results are cached for 5 seconds for the same workspace and query.Headers
string
required
Your API key for authentication.
string
required
Your workspace ID for authentication.
Path Parameters
string
required
The unique identifier of the Sendflow.
Query Parameters
integer
default:"1"
Page number to return. Default is
1. Sample: 1.integer
default:"20"
Number of items to return per page. Default is
20. Sample: 20.string
Optional run status filter. If omitted, logs for all statuses are returned. Possible values:
Pending, Running, Completed, Failed, Stopped. Sample: Completed.string
Optional start of the date range in RFC3339 format (
YYYY-MM-DDTHH:mm:ssZ). If omitted, no lower date bound is applied. Sample: 2024-01-01T00:00:00Z.string
Optional end of the date range in RFC3339 format (
YYYY-MM-DDTHH:mm:ssZ). If omitted, no upper date bound is applied. Sample: 2024-01-31T00:00:00Z.string
Optional search term. Matches
request_id, phone, or email. If omitted, no search filter is applied. Sample: +1555.Response
boolean
Indicates whether the API call was successful.
string
Success or error message from the API.
array
An array of Sendflow execution log objects, each containing:
string
The unique request ID for this Sendflow run.
string
The date of the Sendflow execution.
string
The run status of the Sendflow execution. Possible values:
Pending, Running, Completed, Failed, Stopped.string
The message delivery status for this execution.
array
Recipients associated with this execution.
string
The profile ID of the recipient.
string
The name of the recipient.
string
The phone number of the recipient.
string
The email address of the recipient.
object
Pagination information containing:
integer
The total number of logs available.
integer
The number of logs returned in this response.
integer
The page size used for this request.
{
"success": true,
"message": "Sendflow report logs retrieved successfully",
"data": [
{
"request_id": "8cf12de6-0504-41f9-b576-cbdb20b3e275",
"date": "2024-01-15T10:30:00Z",
"status": "Completed",
"delivery_status": "delivered",
"recipients": [
{
"id": "65f1a2b3c4d5e6f7a8b9c0d2",
"name": "Jane Doe",
"phone": "+15551234567",
"email": "jane@example.com"
}
]
}
],
"pagination": {
"size": 36,
"count": 20,
"pageSize": 20
}
}
{
"success": false,
"message": "Invalid flowId or query parameter"
}
{
"success": false,
"message": "Unauthorized. Please check your API key and workspace ID."
}
{
"success": false,
"message": "Too many requests, try again later!"
}
{
"success": false,
"message": "Internal server error. Please try again later."
}