Retrieve a file
curl --request GET \
--url https://api.perceptron.inc/v1/files/{file_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.perceptron.inc/v1/files/{file_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.perceptron.inc/v1/files/{file_id}', 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.perceptron.inc/v1/files/{file_id}",
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.perceptron.inc/v1/files/{file_id}"
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.perceptron.inc/v1/files/{file_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.perceptron.inc/v1/files/{file_id}")
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{
"bytes": 123,
"created_at": 123,
"filename": "<string>",
"id": "<string>",
"object": "<string>",
"purpose": "vision"
}{
"error": {
"code": null,
"message": "Invalid API key",
"param": null,
"type": "authentication_error"
}
}{
"error": {
"code": null,
"message": "No such File object: file-missing",
"param": "id",
"type": "invalid_request_error"
}
}{
"error": {
"code": null,
"message": "The server had an error while processing your request.",
"param": null,
"type": "server_error"
}
}Retrieve File
Returns metadata for a single file (size, content type, purpose, etc.).
Use the /v1/files/{file_id}/content endpoint to download the bytes.
GET
/
v1
/
files
/
{file_id}
Retrieve a file
curl --request GET \
--url https://api.perceptron.inc/v1/files/{file_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.perceptron.inc/v1/files/{file_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.perceptron.inc/v1/files/{file_id}', 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.perceptron.inc/v1/files/{file_id}",
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.perceptron.inc/v1/files/{file_id}"
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.perceptron.inc/v1/files/{file_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.perceptron.inc/v1/files/{file_id}")
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{
"bytes": 123,
"created_at": 123,
"filename": "<string>",
"id": "<string>",
"object": "<string>",
"purpose": "vision"
}{
"error": {
"code": null,
"message": "Invalid API key",
"param": null,
"type": "authentication_error"
}
}{
"error": {
"code": null,
"message": "No such File object: file-missing",
"param": "id",
"type": "invalid_request_error"
}
}{
"error": {
"code": null,
"message": "The server had an error while processing your request.",
"param": null,
"type": "server_error"
}
}Return metadata (size, filename, purpose, creation time) for one file. For the bytes, use Retrieve File Content. Compatible with OpenAI’s Retrieve file endpoint.
Rate limit: 100 requests/min.
Authorizations
Bearer token authentication using your Perceptron API key
Path Parameters
The id of the file to retrieve.
Response
File metadata.
File size in bytes.
Unix timestamp (seconds) when the file was created.
Original file name.
File ID, e.g. file-abc123.
Always "file".
File purpose.
Available options:
vision, user_data Example:
"vision"