Library
Read extracted document text and a citation range
Requires current full-content Library document authority; Drive sources additionally recheck provider ownership. Source reads use immutable version and content hashes. The projection must be ready and match its immutable source. Supply start and end together for an optional byte range no longer than16000 bytes. Range must be within text and cannot split a UTF-8 character. The full text is still returned along with before/quote/after.
GET
/
admin
/
workspace-library
/
documents
/
{document}
/
projections
/
{projection}
Read extracted document text and a citation range
curl --request GET \
--url https://api.gratona.com/v1/admin/workspace-library/documents/{document}/projections/{projection} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.gratona.com/v1/admin/workspace-library/documents/{document}/projections/{projection}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.gratona.com/v1/admin/workspace-library/documents/{document}/projections/{projection}', 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.gratona.com/v1/admin/workspace-library/documents/{document}/projections/{projection}",
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.gratona.com/v1/admin/workspace-library/documents/{document}/projections/{projection}"
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.gratona.com/v1/admin/workspace-library/documents/{document}/projections/{projection}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gratona.com/v1/admin/workspace-library/documents/{document}/projections/{projection}")
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{
"data": {
"id": "<string>",
"version_id": "<string>",
"version_number": 123,
"is_current": true,
"text": "<string>",
"text_sha256": "<string>",
"source_sha256": "<string>",
"passage": {
"before": "<string>",
"quote": "<string>",
"after": "<string>"
}
}
}{
"message": "Unauthorized",
"status": "error"
}{
"message": "Something went wrong. Please try again.",
"status": "error",
"error": "invalid_request",
"code": "DONOR_NOT_FOUND"
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"errors": {},
"status": "error",
"message": "The given data was invalid."
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}Authorizations
bearerAuthapiKeyAuth
Passport bearer token authentication for legacy admin sessions.
Query Parameters
Start.
Required range:
x >= 0End.
Required range:
x >= 1Response
Read extracted document text and a citation range response.
Show child attributes
Show child attributes
⌘I
Read extracted document text and a citation range
curl --request GET \
--url https://api.gratona.com/v1/admin/workspace-library/documents/{document}/projections/{projection} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.gratona.com/v1/admin/workspace-library/documents/{document}/projections/{projection}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.gratona.com/v1/admin/workspace-library/documents/{document}/projections/{projection}', 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.gratona.com/v1/admin/workspace-library/documents/{document}/projections/{projection}",
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.gratona.com/v1/admin/workspace-library/documents/{document}/projections/{projection}"
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.gratona.com/v1/admin/workspace-library/documents/{document}/projections/{projection}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gratona.com/v1/admin/workspace-library/documents/{document}/projections/{projection}")
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{
"data": {
"id": "<string>",
"version_id": "<string>",
"version_number": 123,
"is_current": true,
"text": "<string>",
"text_sha256": "<string>",
"source_sha256": "<string>",
"passage": {
"before": "<string>",
"quote": "<string>",
"after": "<string>"
}
}
}{
"message": "Unauthorized",
"status": "error"
}{
"message": "Something went wrong. Please try again.",
"status": "error",
"error": "invalid_request",
"code": "DONOR_NOT_FOUND"
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"errors": {},
"status": "error",
"message": "The given data was invalid."
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}