Skip to main content
POST
/
v2
/
projects
/
{project_id}
/
export_records
/
url
Export Records Url
curl --request POST \
  --url https://api.galileo.ai/v2/projects/{project_id}/export_records/url \
  --header 'Content-Type: application/json' \
  --header 'Galileo-API-Key: <api-key>' \
  --data '
{
  "column_ids": [
    "<string>"
  ],
  "export_format": "jsonl",
  "redact": true,
  "file_name": "<string>",
  "export_computed_metrics_only": false,
  "log_stream_id": "<string>",
  "experiment_id": "<string>",
  "metrics_testing_id": "<string>",
  "filters": [
    {
      "column_id": "<string>",
      "value": "<string>",
      "operator": "eq",
      "type": "id"
    }
  ],
  "sort": {
    "column_id": "<string>",
    "ascending": true,
    "sort_type": "column"
  },
  "include_code_metric_metadata": false
}
'
import requests

url = "https://api.galileo.ai/v2/projects/{project_id}/export_records/url"

payload = {
    "column_ids": ["<string>"],
    "export_format": "jsonl",
    "redact": True,
    "file_name": "<string>",
    "export_computed_metrics_only": False,
    "log_stream_id": "<string>",
    "experiment_id": "<string>",
    "metrics_testing_id": "<string>",
    "filters": [
        {
            "column_id": "<string>",
            "value": "<string>",
            "operator": "eq",
            "type": "id"
        }
    ],
    "sort": {
        "column_id": "<string>",
        "ascending": True,
        "sort_type": "column"
    },
    "include_code_metric_metadata": False
}
headers = {
    "Galileo-API-Key": "<api-key>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
  method: 'POST',
  headers: {'Galileo-API-Key': '<api-key>', 'Content-Type': 'application/json'},
  body: JSON.stringify({
    column_ids: ['<string>'],
    export_format: 'jsonl',
    redact: true,
    file_name: '<string>',
    export_computed_metrics_only: false,
    log_stream_id: '<string>',
    experiment_id: '<string>',
    metrics_testing_id: '<string>',
    filters: [{column_id: '<string>', value: '<string>', operator: 'eq', type: 'id'}],
    sort: {column_id: '<string>', ascending: true, sort_type: 'column'},
    include_code_metric_metadata: false
  })
};

fetch('https://api.galileo.ai/v2/projects/{project_id}/export_records/url', 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.galileo.ai/v2/projects/{project_id}/export_records/url",
  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([
    'column_ids' => [
        '<string>'
    ],
    'export_format' => 'jsonl',
    'redact' => true,
    'file_name' => '<string>',
    'export_computed_metrics_only' => false,
    'log_stream_id' => '<string>',
    'experiment_id' => '<string>',
    'metrics_testing_id' => '<string>',
    'filters' => [
        [
                'column_id' => '<string>',
                'value' => '<string>',
                'operator' => 'eq',
                'type' => 'id'
        ]
    ],
    'sort' => [
        'column_id' => '<string>',
        'ascending' => true,
        'sort_type' => 'column'
    ],
    'include_code_metric_metadata' => false
  ]),
  CURLOPT_HTTPHEADER => [
    "Content-Type: application/json",
    "Galileo-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.galileo.ai/v2/projects/{project_id}/export_records/url"

	payload := strings.NewReader("{\n  \"column_ids\": [\n    \"<string>\"\n  ],\n  \"export_format\": \"jsonl\",\n  \"redact\": true,\n  \"file_name\": \"<string>\",\n  \"export_computed_metrics_only\": false,\n  \"log_stream_id\": \"<string>\",\n  \"experiment_id\": \"<string>\",\n  \"metrics_testing_id\": \"<string>\",\n  \"filters\": [\n    {\n      \"column_id\": \"<string>\",\n      \"value\": \"<string>\",\n      \"operator\": \"eq\",\n      \"type\": \"id\"\n    }\n  ],\n  \"sort\": {\n    \"column_id\": \"<string>\",\n    \"ascending\": true,\n    \"sort_type\": \"column\"\n  },\n  \"include_code_metric_metadata\": false\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("Galileo-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.galileo.ai/v2/projects/{project_id}/export_records/url")
  .header("Galileo-API-Key", "<api-key>")
  .header("Content-Type", "application/json")
  .body("{\n  \"column_ids\": [\n    \"<string>\"\n  ],\n  \"export_format\": \"jsonl\",\n  \"redact\": true,\n  \"file_name\": \"<string>\",\n  \"export_computed_metrics_only\": false,\n  \"log_stream_id\": \"<string>\",\n  \"experiment_id\": \"<string>\",\n  \"metrics_testing_id\": \"<string>\",\n  \"filters\": [\n    {\n      \"column_id\": \"<string>\",\n      \"value\": \"<string>\",\n      \"operator\": \"eq\",\n      \"type\": \"id\"\n    }\n  ],\n  \"sort\": {\n    \"column_id\": \"<string>\",\n    \"ascending\": true,\n    \"sort_type\": \"column\"\n  },\n  \"include_code_metric_metadata\": false\n}")
  .asString();
require 'uri'
require 'net/http'

url = URI("https://api.galileo.ai/v2/projects/{project_id}/export_records/url")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Galileo-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"column_ids\": [\n    \"<string>\"\n  ],\n  \"export_format\": \"jsonl\",\n  \"redact\": true,\n  \"file_name\": \"<string>\",\n  \"export_computed_metrics_only\": false,\n  \"log_stream_id\": \"<string>\",\n  \"experiment_id\": \"<string>\",\n  \"metrics_testing_id\": \"<string>\",\n  \"filters\": [\n    {\n      \"column_id\": \"<string>\",\n      \"value\": \"<string>\",\n      \"operator\": \"eq\",\n      \"type\": \"id\"\n    }\n  ],\n  \"sort\": {\n    \"column_id\": \"<string>\",\n    \"ascending\": true,\n    \"sort_type\": \"column\"\n  },\n  \"include_code_metric_metadata\": false\n}"

response = http.request(request)
puts response.read_body
{
  "url": "<string>",
  "url_expires_at": "2023-11-07T05:31:56Z",
  "file_name": "<string>",
  "content_type": "<string>"
}
{
  "detail": [
    {
      "loc": [
        "<string>"
      ],
      "msg": "<string>",
      "type": "<string>",
      "input": "<unknown>",
      "ctx": {}
    }
  ]
}

Authorizations

Galileo-API-Key
string
header
required

Path Parameters

project_id
string<uuid4>
required

Body

application/json

Request schema for exporting log records (sessions, traces, spans).

root_type
enum<string>
required

The root-level type of a logged step hierarchy.

Maps fine-grained StepType values to the three top-level categories used throughout the platform: session, trace, and span.

Available options:
session,
trace,
span
column_ids
string[] | null

Column IDs to include in the export. Applies only to CSV exports.

export_format
enum<string>
default:jsonl

Export format

Available options:
csv,
jsonl,
jsonl_flat
redact
boolean
default:true

Redact sensitive data

file_name
string | null

Optional filename for the exported file

export_computed_metrics_only
boolean
default:false

When true, export only enabled scorer metrics with computed values (success or roll_up). For session exports, omit entire sessions unless every enabled metric at session, trace, or span level is ready (success, roll_up, or not_applicable). Not supported with export_format=jsonl_flat (returns 422); use jsonl or csv instead.

log_stream_id
string<uuid4> | null

Log stream id associated with the traces.

experiment_id
string<uuid4> | null

Experiment id associated with the traces.

metrics_testing_id
string<uuid4> | null

Metrics testing id associated with the traces.

filters
(LogRecordsIDFilter · object | LogRecordsDateFilter · object | LogRecordsNumberFilter · object | LogRecordsBooleanFilter · object | LogRecordsCollectionFilter · object | LogRecordsTextFilter · object | LogRecordsFullyAnnotatedFilter · object)[]

Filters to apply on the export

sort
LogRecordsSortClause · object | null

Sort clause for the export. Defaults to native sort (created_at, id descending).

include_code_metric_metadata
boolean
default:false

If True, include per-row scorer metadata (the dict returned alongside the score by code-based scorers via the (score, metadata) tuple-return contract) on each MetricSuccess in the export. Off by default to keep payloads small for callers that don't need it.

Response

Successful Response

Response for an export written to object storage.

url
string
required
url_expires_at
string<date-time>
required
file_name
string
required
content_type
string
required