curl --request GET \
--url https://api.orion.file.ai/prod/v1/files/{fileId}/values \
--header 'x-api-key: <api-key>'import requests
url = "https://api.orion.file.ai/prod/v1/files/{fileId}/values"
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.orion.file.ai/prod/v1/files/{fileId}/values', 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.orion.file.ai/prod/v1/files/{fileId}/values",
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.orion.file.ai/prod/v1/files/{fileId}/values"
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.orion.file.ai/prod/v1/files/{fileId}/values")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.orion.file.ai/prod/v1/files/{fileId}/values")
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{
"values": {
"formValues": [
{
"id": "67ea5f20650d2fb5e33c1ffb",
"fileId": "7870a865-d560-4183-82c1-4b10e696e930_2",
"fileName": "7870a865-d560-4183-82c1-4b10e696e930_2.pdf",
"fileType": "application/pdf",
"createdAt": "2025-03-31T09:50:56.068Z",
"updatedAt": "2025-03-31T09:50:56.068Z",
"schemaRelationshipId": "67ea5f20650d2fb5e33c1ffb",
"schemaName": "Education Certificate",
"fields": [
{
"title": "Degree",
"type": "string",
"description": "The degree obtained by the individual",
"hidden": false,
"value": "Bachelor of Mathematics"
},
{
"title": "Department",
"type": "string",
"description": "The department where the degree was obtained",
"hidden": false,
"value": "Mathematics Department"
}
],
"metadata": {
"createdBy": "67ea5edb650d2fb5e33c1ff2",
"userId": "67ea5edb650d2fb5e33c1ff2",
"organizationId": "67ea5f20650d2fb5e33c1ffb",
"workspaceId": "67ea5f07650d2fb5e33c1ff4",
"uploadInfo": {
"senderEmail": "sender@example.com",
"emailSubject": "Invoice submission",
"apiRequestId": "API_abc123",
"zipRequestId": "zip-batch-001"
}
}
}
],
"count": 1,
"currentPage": 1
}
}Get file schema values by fileIds
Get file schema values by fileIds of the current organization and workspace.
This endpoint is paginated, you can use the page and limit query parameters to control the pagination.
For table/list fields with more than 100 rows, use includeFullTableData=true to retrieve all rows from S3 storage.
curl --request GET \
--url https://api.orion.file.ai/prod/v1/files/{fileId}/values \
--header 'x-api-key: <api-key>'import requests
url = "https://api.orion.file.ai/prod/v1/files/{fileId}/values"
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.orion.file.ai/prod/v1/files/{fileId}/values', 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.orion.file.ai/prod/v1/files/{fileId}/values",
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.orion.file.ai/prod/v1/files/{fileId}/values"
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.orion.file.ai/prod/v1/files/{fileId}/values")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.orion.file.ai/prod/v1/files/{fileId}/values")
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{
"values": {
"formValues": [
{
"id": "67ea5f20650d2fb5e33c1ffb",
"fileId": "7870a865-d560-4183-82c1-4b10e696e930_2",
"fileName": "7870a865-d560-4183-82c1-4b10e696e930_2.pdf",
"fileType": "application/pdf",
"createdAt": "2025-03-31T09:50:56.068Z",
"updatedAt": "2025-03-31T09:50:56.068Z",
"schemaRelationshipId": "67ea5f20650d2fb5e33c1ffb",
"schemaName": "Education Certificate",
"fields": [
{
"title": "Degree",
"type": "string",
"description": "The degree obtained by the individual",
"hidden": false,
"value": "Bachelor of Mathematics"
},
{
"title": "Department",
"type": "string",
"description": "The department where the degree was obtained",
"hidden": false,
"value": "Mathematics Department"
}
],
"metadata": {
"createdBy": "67ea5edb650d2fb5e33c1ff2",
"userId": "67ea5edb650d2fb5e33c1ff2",
"organizationId": "67ea5f20650d2fb5e33c1ffb",
"workspaceId": "67ea5f07650d2fb5e33c1ff4",
"uploadInfo": {
"senderEmail": "sender@example.com",
"emailSubject": "Invoice submission",
"apiRequestId": "API_abc123",
"zipRequestId": "zip-batch-001"
}
}
}
],
"count": 1,
"currentPage": 1
}
}Request Parameters
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| fileId | string | Yes | The ID of the file |
Query Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| includeFullTableData | boolean | No | false | Retrieve all rows of large table/list fields from S3 storage |
| page | number | No | 1 | Page number for pagination |
| limit | number | No | 100 | Number of items per page |
| sortBy | string | No | createdAt | Field to sort by |
| sortOrder | string | No | ASC | Sort direction (ASC or DESC) |
includeFullTableData=true to fetch every row from S3 storage — expect a larger
response and a slower call.Response Structure
The response nests pagination insidevalues:
{
"values": {
"formValues": [{ "id": "6a4bac981923768a61f47354" }],
"count": 12,
"currentPage": 1
}
}
cursor parameter is listed on this endpoint because it comes from the shared
pagination parameter set, but cursor pagination is not implemented here —
sending cursor is accepted and ignored, and you still get the page/limit
response. Use page and limit. See
Pagination for the endpoints that do support it.Updating these values
Theid of a formValues entry is the schemaValueId you pass to
PATCH /files/{fileId}/values to
change extracted field or table cell values.Authorizations
API key for authentication
Path Parameters
Query Parameters
Page number
1
Number of items per page
100
Field to sort by
"createdAt"
Sort direction
ASC, DESC "ASC"
Opaque pagination cursor. Provide the parameter (empty value for the first page) to switch to cursor pagination: the response becomes { data, pagination: { limit, nextCursor, hasMore } } with default limit 50 (max 100). Omit it entirely for legacy page/limit pagination. In cursor mode sortBy must be one of createdAt, updatedAt, _id, and cursors are bound to the sortBy/sortOrder they were minted with.
Response
The file schema values are retrieved
Show child attributes
Show child attributes