Package Log Entries into a downloadable file
Starts packaging all log entries matching the given filters into a file on disk and returns immediately with the logsFileId of that file. Download the file via /v2.1/projects/{projectId}/logs/package/{logsFileId}/download once packaging has finished. Time ranges larger than one hour are queried in one-hour windows to keep the database load low. If an identical packaging request (same filters) is already in progress, the logsFileId of that packaging is returned instead of starting a new one. Packaged files expire after a configured retention time.
curl --request POST \
--url https://api-trial.cognigy.ai/new/v2.1/projects/{projectId}/logs/package \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"type": [
"<string>"
],
"userId": "<string>",
"flowName": "<string>",
"startDate": "2025-08-11T10:00:00.000Z",
"endDate": "2025-08-11T11:00:00.000Z"
}
'import requests
url = "https://api-trial.cognigy.ai/new/v2.1/projects/{projectId}/logs/package"
payload = {
"type": ["<string>"],
"userId": "<string>",
"flowName": "<string>",
"startDate": "2025-08-11T10:00:00.000Z",
"endDate": "2025-08-11T11:00:00.000Z"
}
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({
type: ['<string>'],
userId: '<string>',
flowName: '<string>',
startDate: '2025-08-11T10:00:00.000Z',
endDate: '2025-08-11T11:00:00.000Z'
})
};
fetch('https://api-trial.cognigy.ai/new/v2.1/projects/{projectId}/logs/package', 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-trial.cognigy.ai/new/v2.1/projects/{projectId}/logs/package",
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([
'type' => [
'<string>'
],
'userId' => '<string>',
'flowName' => '<string>',
'startDate' => '2025-08-11T10:00:00.000Z',
'endDate' => '2025-08-11T11:00:00.000Z'
]),
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-trial.cognigy.ai/new/v2.1/projects/{projectId}/logs/package"
payload := strings.NewReader("{\n \"type\": [\n \"<string>\"\n ],\n \"userId\": \"<string>\",\n \"flowName\": \"<string>\",\n \"startDate\": \"2025-08-11T10:00:00.000Z\",\n \"endDate\": \"2025-08-11T11:00:00.000Z\"\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-trial.cognigy.ai/new/v2.1/projects/{projectId}/logs/package")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"type\": [\n \"<string>\"\n ],\n \"userId\": \"<string>\",\n \"flowName\": \"<string>\",\n \"startDate\": \"2025-08-11T10:00:00.000Z\",\n \"endDate\": \"2025-08-11T11:00:00.000Z\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-trial.cognigy.ai/new/v2.1/projects/{projectId}/logs/package")
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 \"type\": [\n \"<string>\"\n ],\n \"userId\": \"<string>\",\n \"flowName\": \"<string>\",\n \"startDate\": \"2025-08-11T10:00:00.000Z\",\n \"endDate\": \"2025-08-11T11:00:00.000Z\"\n}"
response = http.request(request)
puts response.read_body{
"logsFileId": "<string>",
"taskId": "<string>"
}{
"type": "Unauthorized",
"title": "Unauthorized Error",
"status": 401,
"detail": "<string>",
"instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
"code": 401,
"traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
"details": {}
}{
"type": "Payment Required",
"title": "Payment Required Error",
"status": 402,
"detail": "Validation failed. Missing payload.",
"instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
"code": 402,
"traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
"details": {}
}{
"type": "Forbidden",
"title": "Forbidden Error",
"status": 403,
"detail": "<string>",
"instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
"code": 1000,
"traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
"details": {}
}{
"type": "Not Found",
"title": "Not Found Error",
"status": 404,
"detail": "<string>",
"instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
"code": 1000,
"traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
"details": {},
"logLevel": "error"
}{
"type": "Method Not Allowed",
"title": "Method Not Allowed Error",
"status": 405,
"detail": "<string>",
"instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
"code": 1000,
"traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
"details": {}
}{
"type": "Conflict",
"title": "Conflict Error",
"status": 409,
"detail": "<string>",
"instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
"code": 1004,
"traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
"details": {}
}{
"type": "Payload Too Large",
"title": "Payload Too Large Error",
"status": 413,
"detail": "<string>",
"instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
"code": 1000,
"traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
"details": {}
}{
"type": "Internal Server Error",
"title": "Internal Server Error",
"status": 500,
"detail": "<string>",
"instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
"code": 1000,
"traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
"details": {}
}{
"type": "Not Implemented",
"title": "Not Implemented Error",
"status": 501,
"detail": "<string>",
"instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
"code": 1009,
"traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
"details": {}
}{
"type": "Bad Gateway",
"title": "Bad Gateway Error",
"status": 502,
"detail": "<string>",
"instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
"code": 1000,
"traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
"details": {}
}{
"type": "Service Unavailable",
"title": "Service Unavailable Error",
"status": 503,
"detail": "<string>",
"instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
"code": 503,
"traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
"details": {}
}{
"type": "Gateway Timeout",
"title": "Gateway Timeout Error",
"status": 504,
"detail": "<string>",
"instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
"code": 1000,
"traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
"details": {}
}Authorizations
Supply the API Key in the HTTP-Header
Headers
The Accept header specifies the media type that the client expects in the response. Available options: application/json, application/hal+json, application/xml, text/xml, text/csv. The default value is application/json.
application/json, application/hal+json, application/xml, text/xml, text/csv Path Parameters
The unique identifier for the Project.
24^[a-z0-9]{24}$Body
Log levels to include (e.g. info, warning, error)
Filter by the user Id of the log entry
Filter by the Flow name of the log entry
The start date for filtering log entries (ISO 8601 format). If not provided, defaults to 1 hour before endDate.
"2025-08-11T10:00:00.000Z"
The end date for filtering log entries (ISO 8601 format). If not provided, defaults to the current time.
"2025-08-11T11:00:00.000Z"
curl --request POST \
--url https://api-trial.cognigy.ai/new/v2.1/projects/{projectId}/logs/package \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"type": [
"<string>"
],
"userId": "<string>",
"flowName": "<string>",
"startDate": "2025-08-11T10:00:00.000Z",
"endDate": "2025-08-11T11:00:00.000Z"
}
'import requests
url = "https://api-trial.cognigy.ai/new/v2.1/projects/{projectId}/logs/package"
payload = {
"type": ["<string>"],
"userId": "<string>",
"flowName": "<string>",
"startDate": "2025-08-11T10:00:00.000Z",
"endDate": "2025-08-11T11:00:00.000Z"
}
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({
type: ['<string>'],
userId: '<string>',
flowName: '<string>',
startDate: '2025-08-11T10:00:00.000Z',
endDate: '2025-08-11T11:00:00.000Z'
})
};
fetch('https://api-trial.cognigy.ai/new/v2.1/projects/{projectId}/logs/package', 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-trial.cognigy.ai/new/v2.1/projects/{projectId}/logs/package",
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([
'type' => [
'<string>'
],
'userId' => '<string>',
'flowName' => '<string>',
'startDate' => '2025-08-11T10:00:00.000Z',
'endDate' => '2025-08-11T11:00:00.000Z'
]),
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-trial.cognigy.ai/new/v2.1/projects/{projectId}/logs/package"
payload := strings.NewReader("{\n \"type\": [\n \"<string>\"\n ],\n \"userId\": \"<string>\",\n \"flowName\": \"<string>\",\n \"startDate\": \"2025-08-11T10:00:00.000Z\",\n \"endDate\": \"2025-08-11T11:00:00.000Z\"\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-trial.cognigy.ai/new/v2.1/projects/{projectId}/logs/package")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"type\": [\n \"<string>\"\n ],\n \"userId\": \"<string>\",\n \"flowName\": \"<string>\",\n \"startDate\": \"2025-08-11T10:00:00.000Z\",\n \"endDate\": \"2025-08-11T11:00:00.000Z\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-trial.cognigy.ai/new/v2.1/projects/{projectId}/logs/package")
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 \"type\": [\n \"<string>\"\n ],\n \"userId\": \"<string>\",\n \"flowName\": \"<string>\",\n \"startDate\": \"2025-08-11T10:00:00.000Z\",\n \"endDate\": \"2025-08-11T11:00:00.000Z\"\n}"
response = http.request(request)
puts response.read_body{
"logsFileId": "<string>",
"taskId": "<string>"
}{
"type": "Unauthorized",
"title": "Unauthorized Error",
"status": 401,
"detail": "<string>",
"instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
"code": 401,
"traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
"details": {}
}{
"type": "Payment Required",
"title": "Payment Required Error",
"status": 402,
"detail": "Validation failed. Missing payload.",
"instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
"code": 402,
"traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
"details": {}
}{
"type": "Forbidden",
"title": "Forbidden Error",
"status": 403,
"detail": "<string>",
"instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
"code": 1000,
"traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
"details": {}
}{
"type": "Not Found",
"title": "Not Found Error",
"status": 404,
"detail": "<string>",
"instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
"code": 1000,
"traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
"details": {},
"logLevel": "error"
}{
"type": "Method Not Allowed",
"title": "Method Not Allowed Error",
"status": 405,
"detail": "<string>",
"instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
"code": 1000,
"traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
"details": {}
}{
"type": "Conflict",
"title": "Conflict Error",
"status": 409,
"detail": "<string>",
"instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
"code": 1004,
"traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
"details": {}
}{
"type": "Payload Too Large",
"title": "Payload Too Large Error",
"status": 413,
"detail": "<string>",
"instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
"code": 1000,
"traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
"details": {}
}{
"type": "Internal Server Error",
"title": "Internal Server Error",
"status": 500,
"detail": "<string>",
"instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
"code": 1000,
"traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
"details": {}
}{
"type": "Not Implemented",
"title": "Not Implemented Error",
"status": 501,
"detail": "<string>",
"instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
"code": 1009,
"traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
"details": {}
}{
"type": "Bad Gateway",
"title": "Bad Gateway Error",
"status": 502,
"detail": "<string>",
"instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
"code": 1000,
"traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
"details": {}
}{
"type": "Service Unavailable",
"title": "Service Unavailable Error",
"status": 503,
"detail": "<string>",
"instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
"code": 503,
"traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
"details": {}
}{
"type": "Gateway Timeout",
"title": "Gateway Timeout Error",
"status": 504,
"detail": "<string>",
"instance": "/v2.0/flows/5ce7c2d833ea1e04d7e6c432",
"code": 1000,
"traceId": "api--f84324f4-98eb-4f02-abdd-375a2e6c3c1f",
"details": {}
}