List Files
GET
/
v1
/
files
List Files
curl --request GET \
--url https://api.neosantara.xyz/v1/files \
--header 'x-api-key: <api-key>'import requests
url = "https://api.neosantara.xyz/v1/files"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.neosantara.xyz/v1/files', 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.neosantara.xyz/v1/files",
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: <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"
"net/http"
"io"
)
func main() {
url := "https://api.neosantara.xyz/v1/files"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
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.neosantara.xyz/v1/files")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.neosantara.xyz/v1/files")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"object": "<string>",
"data": [
{
"id": "<string>",
"object": "<string>",
"bytes": 123,
"created_at": 123,
"filename": "<string>",
"purpose": "<string>",
"status": "<string>",
"status_details": {}
}
],
"has_more": true
}List all files that belong to the authenticated user.
string
Filter files by purpose. If provided, only files with the specified purpose will be returned. Valid values:
batch, assistants, fine-tune.integer
default:"20"
The maximum number of files to return. Maximum value is determined by the API.
string
A cursor for pagination. Use the ID of the last file from the previous page to get the next page of results.
Returns
string
The object type, which is always
list.array
An array of file objects.
Show file object properties
Show file object properties
string
The unique identifier of the file.
string
The object type, always
file.integer
The size of the file in bytes.
integer
The Unix timestamp of when the file was created.
string
The name of the file.
string
The purpose of the file.
string
The current status of the file.
string or null
Additional status details.
boolean
Indicates whether there are more files available beyond this page.
Return Examples
Response 200
{
"object": "list",
"data": [
{
"id": "file-abc123",
"object": "file",
"bytes": 120000,
"created_at": 1699564800,
"filename": "batch_requests.jsonl",
"purpose": "batch",
"status": "uploaded",
"status_details": null
},
{
"id": "file-def456",
"object": "file",
"bytes": 85000,
"created_at": 1699564700,
"filename": "training_data.jsonl",
"purpose": "fine-tune",
"status": "uploaded",
"status_details": null
}
],
"has_more": false
}
Response 200 - Empty List
{
"object": "list",
"data": [],
"has_more": false
}
Last modified on December 7, 2025
⌘I
List Files
curl --request GET \
--url https://api.neosantara.xyz/v1/files \
--header 'x-api-key: <api-key>'import requests
url = "https://api.neosantara.xyz/v1/files"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.neosantara.xyz/v1/files', 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.neosantara.xyz/v1/files",
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: <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"
"net/http"
"io"
)
func main() {
url := "https://api.neosantara.xyz/v1/files"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
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.neosantara.xyz/v1/files")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.neosantara.xyz/v1/files")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"object": "<string>",
"data": [
{
"id": "<string>",
"object": "<string>",
"bytes": 123,
"created_at": 123,
"filename": "<string>",
"purpose": "<string>",
"status": "<string>",
"status_details": {}
}
],
"has_more": true
}