curl --request POST \
--url https://api.example.com/api/documents/{document_id}/enrichment \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.example.com/api/documents/{document_id}/enrichment"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.example.com/api/documents/{document_id}/enrichment', 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.example.com/api/documents/{document_id}/enrichment",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
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.example.com/api/documents/{document_id}/enrichment"
req, _ := http.NewRequest("POST", 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.post("https://api.example.com/api/documents/{document_id}/enrichment")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/documents/{document_id}/enrichment")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"filename": "<string>",
"owner": "<string>",
"mime_type": "<string>",
"size_bytes": 123,
"page_count": 123,
"chunk_count": 123,
"subtype": "<string>",
"status": "uploading",
"enrichment_status": "pending",
"datahub_urn": "<string>",
"extraction_warning": "<string>",
"suggested_summary": "<string>",
"error": "<string>",
"s3_key": "<string>",
"suggested_tags": [
{
"name": "<string>",
"is_existing": false,
"urn": "<string>"
}
],
"suggested_glossary_terms": [
{
"name": "<string>",
"is_existing": false,
"urn": "<string>"
}
],
"suggested_domain": {
"name": "<string>",
"is_existing": false,
"urn": "<string>"
}
}{
"error": "<string>",
"code": 500
}{
"error": "<string>",
"code": 500
}{
"error": "<string>",
"code": 500
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Classify a document
Start the enrichment crew, which suggests a summary, tags, glossary terms and a domain.
Nothing is classified automatically: uploads and imports wait for this call. Running it again replaces the earlier suggestions. Suggestions are applied only when you confirm them.
curl --request POST \
--url https://api.example.com/api/documents/{document_id}/enrichment \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.example.com/api/documents/{document_id}/enrichment"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.example.com/api/documents/{document_id}/enrichment', 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.example.com/api/documents/{document_id}/enrichment",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
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.example.com/api/documents/{document_id}/enrichment"
req, _ := http.NewRequest("POST", 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.post("https://api.example.com/api/documents/{document_id}/enrichment")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/documents/{document_id}/enrichment")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"filename": "<string>",
"owner": "<string>",
"mime_type": "<string>",
"size_bytes": 123,
"page_count": 123,
"chunk_count": 123,
"subtype": "<string>",
"status": "uploading",
"enrichment_status": "pending",
"datahub_urn": "<string>",
"extraction_warning": "<string>",
"suggested_summary": "<string>",
"error": "<string>",
"s3_key": "<string>",
"suggested_tags": [
{
"name": "<string>",
"is_existing": false,
"urn": "<string>"
}
],
"suggested_glossary_terms": [
{
"name": "<string>",
"is_existing": false,
"urn": "<string>"
}
],
"suggested_domain": {
"name": "<string>",
"is_existing": false,
"urn": "<string>"
}
}{
"error": "<string>",
"code": 500
}{
"error": "<string>",
"code": 500
}{
"error": "<string>",
"code": 500
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
The access token received from the authorization server in the OAuth 2.0 flow.
Path Parameters
ID of the document.
Response
Successful Response
Unique ID for the document.
The uploaded file's name.
Keycloak username of the person who uploaded the document.
Media type of the uploaded file. For example, application/pdf.
Size of the uploaded file in bytes.
How many pages the document has.
How many text chunks the document produces for search indexing.
The document's DataHub subtype, such as Runbook or FAQ.
The document's state in the upload pipeline.
uploading, extracting, ocr_required, indexed, failed The document's state in the enrichment workflow.
pending, running, awaiting_review, confirmed, failed URN identifying the document's entity in DataHub.
A note about incomplete text extraction, such as a scanned PDF with no selectable text.
AI-generated summary of the document.
Error message when processing the document failed.
Storage key of the original file in S3.
AI-suggested DataHub tags for the document.
Show child attributes
Show child attributes
AI-suggested DataHub glossary terms for the document.
Show child attributes
Show child attributes
AI-suggested DataHub domain for the document.
Show child attributes
Show child attributes
Was this page helpful?

