List extraction jobs
curl --request GET \
--url https://api.trycactus.com/v1/extractions \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.trycactus.com/v1/extractions"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.trycactus.com/v1/extractions', 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.trycactus.com/v1/extractions",
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.trycactus.com/v1/extractions"
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.trycactus.com/v1/extractions")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.trycactus.com/v1/extractions")
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{
"object": "list",
"data": [
{
"id": "ext_01J9ZJYA",
"object": "extraction",
"status": "processing",
"documents": [
{
"document_id": "<string>",
"document_type": "offering_memorandum",
"schema_version": "rent_roll.v1",
"status": "processing",
"phase": "extracting",
"billed": {
"rate_code": "rent_roll",
"units": 1,
"amount_usd": "12.00"
},
"error": {
"code": "extraction_failed",
"reason": "document_too_large",
"message": "This document is too large to extract in one run. Splitting it into smaller files (for example, one sheet per file) should get it through. You were not charged for it."
}
}
],
"sandbox": true,
"created_at": "2023-11-07T05:31:56Z",
"billed_total_usd": "12.00",
"completed_at": "2023-11-07T05:31:56Z",
"elapsed_seconds": 42,
"poll_after_seconds": 15,
"result_url": "<string>"
}
],
"has_more": true,
"next_cursor": "<string>"
}Extractions
List extraction jobs
GET
/
v1
/
extractions
List extraction jobs
curl --request GET \
--url https://api.trycactus.com/v1/extractions \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.trycactus.com/v1/extractions"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.trycactus.com/v1/extractions', 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.trycactus.com/v1/extractions",
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.trycactus.com/v1/extractions"
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.trycactus.com/v1/extractions")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.trycactus.com/v1/extractions")
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{
"object": "list",
"data": [
{
"id": "ext_01J9ZJYA",
"object": "extraction",
"status": "processing",
"documents": [
{
"document_id": "<string>",
"document_type": "offering_memorandum",
"schema_version": "rent_roll.v1",
"status": "processing",
"phase": "extracting",
"billed": {
"rate_code": "rent_roll",
"units": 1,
"amount_usd": "12.00"
},
"error": {
"code": "extraction_failed",
"reason": "document_too_large",
"message": "This document is too large to extract in one run. Splitting it into smaller files (for example, one sheet per file) should get it through. You were not charged for it."
}
}
],
"sandbox": true,
"created_at": "2023-11-07T05:31:56Z",
"billed_total_usd": "12.00",
"completed_at": "2023-11-07T05:31:56Z",
"elapsed_seconds": 42,
"poll_after_seconds": 15,
"result_url": "<string>"
}
],
"has_more": true,
"next_cursor": "<string>"
}Authorizations
Partner API key issued by Cactus.
Query Parameters
Opaque cursor from a previous page's next_cursor.
Required range:
1 <= x <= 100Available options:
processing, completed, failed