from datetime import datetime
from retab import Retab
client = Retab()
partitions = client.partitions.list(limit=20, order="desc")
for partition in partitions.data:
print(f"{partition.id}: {partition.file.filename}")
partitions = client.partitions.list(
from_date=datetime(2024, 1, 1),
to_date=datetime(2024, 12, 31),
limit=50,
)
import { Retab } from "@retab/node";
const client = new Retab({ apiKey: process.env.RETAB_API_KEY });
const partitions = await client.partitions.list({ limit: 20, order: "desc" });
for (const partition of partitions.data) {
console.log(`${partition.id}: ${partition.file.filename}`);
}
const ranged = await client.partitions.list({
fromDate: new Date("2024-01-01").toISOString(),
toDate: new Date("2024-12-31").toISOString(),
limit: 50,
});
package main
import (
"context"
"fmt"
"log"
"time"
retab "github.com/retab-dev/retab/clients/go"
)
func ptr[T any](v T) *T { return &v }
func main() {
ctx := context.Background()
client, err := retab.NewClient("")
if err != nil {
log.Fatal(err)
}
partitions, err := client.Partitions.List(ctx, &retab.PartitionsListParams{
PaginationParams: retab.PaginationParams{Limit: ptr(20), Order: ptr("desc")},
})
if err != nil {
log.Fatal(err)
}
for _, partition := range partitions.Data {
fmt.Printf("%s: %s\n", partition.ID, partition.File.Filename)
}
from := time.Date(2024, 1, 1, 0, 0, 0, 0, time.UTC)
to := time.Date(2024, 12, 31, 0, 0, 0, 0, time.UTC)
ranged, err := client.Partitions.List(ctx, &retab.PartitionsListParams{
PaginationParams: retab.PaginationParams{
Limit: ptr(50),
},
FromDate: ptr(from.Format("2006-01-02")),
ToDate: ptr(to.Format("2006-01-02")),
})
if err != nil {
log.Fatal(err)
}
fmt.Println(ranged)
}
require 'retab'
require 'date'
client = Retab::Client.new(api_key: ENV['RETAB_API_KEY'])
partitions = client.partitions.list(limit: 20, order: 'desc')
partitions.data.each do |partition|
puts "#{partition.id}: #{partition.file.filename}"
end
partitions = client.partitions.list(
from_date: DateTime.new(2024, 1, 1),
to_date: DateTime.new(2024, 12, 31),
limit: 50,
)
use retab::enums::PartitionsOrder;
use retab::resources::partitions::ListParams;
use retab::Retab;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = Retab::new(std::env::var("RETAB_API_KEY")?);
let partitions = client
.partitions()
.list(ListParams {
limit: Some(20),
order: Some(PartitionsOrder::Desc),
..Default::default()
})
.await?;
for partition in &partitions.data {
println!("{}: {}", partition.id, partition.file.filename);
}
let _ranged = client
.partitions()
.list(ListParams {
from_date: Some("2024-01-01".into()),
to_date: Some("2024-12-31".into()),
limit: Some(50),
..Default::default()
})
.await?;
Ok(())
}
<?php
require 'vendor/autoload.php';
use Retab\Client;
$client = new Client(apiKey: getenv('RETAB_API_KEY'));
$result = $client->partitions()->list();
print_r($result);
using Retab;
using RetabClient = Retab.Retab;
var apiKey = Environment.GetEnvironmentVariable("RETAB_API_KEY")!;
var client = new RetabClient(apiKey);
var result = await client.Partitions.ListAsync(new PartitionsListOptions());
Console.WriteLine(result);
import com.retab.RetabClient;
public final class Example {
public static void main(String[] args) throws Exception {
RetabClient client = new RetabClient(System.getenv("RETAB_API_KEY"));
var result = client.partitions().list(null, null, 10L, null, "invoice.pdf", null, null, null);
System.out.println(result);
}
}
curl -X GET \
'https://api.retab.com/v1/partitions?limit=20&order=desc' \
-H "Authorization: Bearer $RETAB_API_KEY"
curl -X GET \
'https://api.retab.com/v1/partitions?filename=invoice&from_date=2024-01-01&to_date=2024-12-31&limit=50' \
-H "Authorization: Bearer $RETAB_API_KEY"
{
"data": [
{
"id": "part_01G34H8J2K",
"file": {
"id": "file_6dd6eb00688ad8d1",
"filename": "invoice_batch.pdf",
"mime_type": "application/pdf"
},
"model": "retab-small",
"key": "invoice_number",
"instructions": "Return one chunk per invoice number and keep all pages for the same invoice together.",
"n_consensus": 3,
"allow_overlap": true,
"output": [
{ "key": "INV-001", "pages": [1, 2] },
{ "key": "INV-002", "pages": [3, 4] }
],
"consensus": {
"likelihoods": [
{ "key": 0.99, "pages": [0.99, 0.98] },
{ "key": 0.96, "pages": [0.95, 0.95] }
],
"choices": [
[
{ "key": "INV-001", "pages": [1, 2] },
{ "key": "INV-002", "pages": [3, 4] }
]
]
},
"usage": {
"credits": 3.0
},
"created_at": "2024-03-15T10:30:00Z"
}
],
"list_metadata": {
"before": null,
"after": "part_01G34H8J2K",
"total_count": 12
}
}
Partitions
List Partitions
List partitions.
Returns a paginated list of partitions for the authenticated environment, newest first
by default. Filter by filename prefix (case-insensitive) and by a created_at window
using from_date/to_date (YYYY-MM-DD). Page through results with before/after,
limit, and order.
GET
/
v1
/
partitions
from datetime import datetime
from retab import Retab
client = Retab()
partitions = client.partitions.list(limit=20, order="desc")
for partition in partitions.data:
print(f"{partition.id}: {partition.file.filename}")
partitions = client.partitions.list(
from_date=datetime(2024, 1, 1),
to_date=datetime(2024, 12, 31),
limit=50,
)
import { Retab } from "@retab/node";
const client = new Retab({ apiKey: process.env.RETAB_API_KEY });
const partitions = await client.partitions.list({ limit: 20, order: "desc" });
for (const partition of partitions.data) {
console.log(`${partition.id}: ${partition.file.filename}`);
}
const ranged = await client.partitions.list({
fromDate: new Date("2024-01-01").toISOString(),
toDate: new Date("2024-12-31").toISOString(),
limit: 50,
});
package main
import (
"context"
"fmt"
"log"
"time"
retab "github.com/retab-dev/retab/clients/go"
)
func ptr[T any](v T) *T { return &v }
func main() {
ctx := context.Background()
client, err := retab.NewClient("")
if err != nil {
log.Fatal(err)
}
partitions, err := client.Partitions.List(ctx, &retab.PartitionsListParams{
PaginationParams: retab.PaginationParams{Limit: ptr(20), Order: ptr("desc")},
})
if err != nil {
log.Fatal(err)
}
for _, partition := range partitions.Data {
fmt.Printf("%s: %s\n", partition.ID, partition.File.Filename)
}
from := time.Date(2024, 1, 1, 0, 0, 0, 0, time.UTC)
to := time.Date(2024, 12, 31, 0, 0, 0, 0, time.UTC)
ranged, err := client.Partitions.List(ctx, &retab.PartitionsListParams{
PaginationParams: retab.PaginationParams{
Limit: ptr(50),
},
FromDate: ptr(from.Format("2006-01-02")),
ToDate: ptr(to.Format("2006-01-02")),
})
if err != nil {
log.Fatal(err)
}
fmt.Println(ranged)
}
require 'retab'
require 'date'
client = Retab::Client.new(api_key: ENV['RETAB_API_KEY'])
partitions = client.partitions.list(limit: 20, order: 'desc')
partitions.data.each do |partition|
puts "#{partition.id}: #{partition.file.filename}"
end
partitions = client.partitions.list(
from_date: DateTime.new(2024, 1, 1),
to_date: DateTime.new(2024, 12, 31),
limit: 50,
)
use retab::enums::PartitionsOrder;
use retab::resources::partitions::ListParams;
use retab::Retab;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = Retab::new(std::env::var("RETAB_API_KEY")?);
let partitions = client
.partitions()
.list(ListParams {
limit: Some(20),
order: Some(PartitionsOrder::Desc),
..Default::default()
})
.await?;
for partition in &partitions.data {
println!("{}: {}", partition.id, partition.file.filename);
}
let _ranged = client
.partitions()
.list(ListParams {
from_date: Some("2024-01-01".into()),
to_date: Some("2024-12-31".into()),
limit: Some(50),
..Default::default()
})
.await?;
Ok(())
}
<?php
require 'vendor/autoload.php';
use Retab\Client;
$client = new Client(apiKey: getenv('RETAB_API_KEY'));
$result = $client->partitions()->list();
print_r($result);
using Retab;
using RetabClient = Retab.Retab;
var apiKey = Environment.GetEnvironmentVariable("RETAB_API_KEY")!;
var client = new RetabClient(apiKey);
var result = await client.Partitions.ListAsync(new PartitionsListOptions());
Console.WriteLine(result);
import com.retab.RetabClient;
public final class Example {
public static void main(String[] args) throws Exception {
RetabClient client = new RetabClient(System.getenv("RETAB_API_KEY"));
var result = client.partitions().list(null, null, 10L, null, "invoice.pdf", null, null, null);
System.out.println(result);
}
}
curl -X GET \
'https://api.retab.com/v1/partitions?limit=20&order=desc' \
-H "Authorization: Bearer $RETAB_API_KEY"
curl -X GET \
'https://api.retab.com/v1/partitions?filename=invoice&from_date=2024-01-01&to_date=2024-12-31&limit=50' \
-H "Authorization: Bearer $RETAB_API_KEY"
{
"data": [
{
"id": "part_01G34H8J2K",
"file": {
"id": "file_6dd6eb00688ad8d1",
"filename": "invoice_batch.pdf",
"mime_type": "application/pdf"
},
"model": "retab-small",
"key": "invoice_number",
"instructions": "Return one chunk per invoice number and keep all pages for the same invoice together.",
"n_consensus": 3,
"allow_overlap": true,
"output": [
{ "key": "INV-001", "pages": [1, 2] },
{ "key": "INV-002", "pages": [3, 4] }
],
"consensus": {
"likelihoods": [
{ "key": 0.99, "pages": [0.99, 0.98] },
{ "key": 0.96, "pages": [0.95, 0.95] }
],
"choices": [
[
{ "key": "INV-001", "pages": [1, 2] },
{ "key": "INV-002", "pages": [3, 4] }
]
]
},
"usage": {
"credits": 3.0
},
"created_at": "2024-03-15T10:30:00Z"
}
],
"list_metadata": {
"before": null,
"after": "part_01G34H8J2K",
"total_count": 12
}
}
List persisted partitions for your organization, with id-based pagination and optional filename / date filtering.
from datetime import datetime
from retab import Retab
client = Retab()
partitions = client.partitions.list(limit=20, order="desc")
for partition in partitions.data:
print(f"{partition.id}: {partition.file.filename}")
partitions = client.partitions.list(
from_date=datetime(2024, 1, 1),
to_date=datetime(2024, 12, 31),
limit=50,
)
import { Retab } from "@retab/node";
const client = new Retab({ apiKey: process.env.RETAB_API_KEY });
const partitions = await client.partitions.list({ limit: 20, order: "desc" });
for (const partition of partitions.data) {
console.log(`${partition.id}: ${partition.file.filename}`);
}
const ranged = await client.partitions.list({
fromDate: new Date("2024-01-01").toISOString(),
toDate: new Date("2024-12-31").toISOString(),
limit: 50,
});
package main
import (
"context"
"fmt"
"log"
"time"
retab "github.com/retab-dev/retab/clients/go"
)
func ptr[T any](v T) *T { return &v }
func main() {
ctx := context.Background()
client, err := retab.NewClient("")
if err != nil {
log.Fatal(err)
}
partitions, err := client.Partitions.List(ctx, &retab.PartitionsListParams{
PaginationParams: retab.PaginationParams{Limit: ptr(20), Order: ptr("desc")},
})
if err != nil {
log.Fatal(err)
}
for _, partition := range partitions.Data {
fmt.Printf("%s: %s\n", partition.ID, partition.File.Filename)
}
from := time.Date(2024, 1, 1, 0, 0, 0, 0, time.UTC)
to := time.Date(2024, 12, 31, 0, 0, 0, 0, time.UTC)
ranged, err := client.Partitions.List(ctx, &retab.PartitionsListParams{
PaginationParams: retab.PaginationParams{
Limit: ptr(50),
},
FromDate: ptr(from.Format("2006-01-02")),
ToDate: ptr(to.Format("2006-01-02")),
})
if err != nil {
log.Fatal(err)
}
fmt.Println(ranged)
}
require 'retab'
require 'date'
client = Retab::Client.new(api_key: ENV['RETAB_API_KEY'])
partitions = client.partitions.list(limit: 20, order: 'desc')
partitions.data.each do |partition|
puts "#{partition.id}: #{partition.file.filename}"
end
partitions = client.partitions.list(
from_date: DateTime.new(2024, 1, 1),
to_date: DateTime.new(2024, 12, 31),
limit: 50,
)
use retab::enums::PartitionsOrder;
use retab::resources::partitions::ListParams;
use retab::Retab;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = Retab::new(std::env::var("RETAB_API_KEY")?);
let partitions = client
.partitions()
.list(ListParams {
limit: Some(20),
order: Some(PartitionsOrder::Desc),
..Default::default()
})
.await?;
for partition in &partitions.data {
println!("{}: {}", partition.id, partition.file.filename);
}
let _ranged = client
.partitions()
.list(ListParams {
from_date: Some("2024-01-01".into()),
to_date: Some("2024-12-31".into()),
limit: Some(50),
..Default::default()
})
.await?;
Ok(())
}
<?php
require 'vendor/autoload.php';
use Retab\Client;
$client = new Client(apiKey: getenv('RETAB_API_KEY'));
$result = $client->partitions()->list();
print_r($result);
using Retab;
using RetabClient = Retab.Retab;
var apiKey = Environment.GetEnvironmentVariable("RETAB_API_KEY")!;
var client = new RetabClient(apiKey);
var result = await client.Partitions.ListAsync(new PartitionsListOptions());
Console.WriteLine(result);
import com.retab.RetabClient;
public final class Example {
public static void main(String[] args) throws Exception {
RetabClient client = new RetabClient(System.getenv("RETAB_API_KEY"));
var result = client.partitions().list(null, null, 10L, null, "invoice.pdf", null, null, null);
System.out.println(result);
}
}
curl -X GET \
'https://api.retab.com/v1/partitions?limit=20&order=desc' \
-H "Authorization: Bearer $RETAB_API_KEY"
curl -X GET \
'https://api.retab.com/v1/partitions?filename=invoice&from_date=2024-01-01&to_date=2024-12-31&limit=50' \
-H "Authorization: Bearer $RETAB_API_KEY"
{
"data": [
{
"id": "part_01G34H8J2K",
"file": {
"id": "file_6dd6eb00688ad8d1",
"filename": "invoice_batch.pdf",
"mime_type": "application/pdf"
},
"model": "retab-small",
"key": "invoice_number",
"instructions": "Return one chunk per invoice number and keep all pages for the same invoice together.",
"n_consensus": 3,
"allow_overlap": true,
"output": [
{ "key": "INV-001", "pages": [1, 2] },
{ "key": "INV-002", "pages": [3, 4] }
],
"consensus": {
"likelihoods": [
{ "key": 0.99, "pages": [0.99, 0.98] },
{ "key": 0.96, "pages": [0.95, 0.95] }
],
"choices": [
[
{ "key": "INV-001", "pages": [1, 2] },
{ "key": "INV-002", "pages": [3, 4] }
]
]
},
"usage": {
"credits": 3.0
},
"created_at": "2024-03-15T10:30:00Z"
}
],
"list_metadata": {
"before": null,
"after": "part_01G34H8J2K",
"total_count": 12
}
}
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Query Parameters
Required range:
1 <= x <= 100Available options:
asc, desc Available options:
pending, queued, in_progress, completed, failed, cancelled Response
Successful Response
⌘I