curl --request POST \
--url https://api.bigdata.com/contents/v1/documents \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"file_name": "research_report.pdf",
"published_ts": "2025-06-15T10:30:00Z",
"tags": [
"Research Team"
],
"share_with_org": true,
"enrichments": [
"translation"
],
"no_store": false,
"no_index": true
}
'import requests
url = "https://api.bigdata.com/contents/v1/documents"
payload = {
"file_name": "research_report.pdf",
"published_ts": "2025-06-15T10:30:00Z",
"tags": ["Research Team"],
"share_with_org": True,
"enrichments": ["translation"],
"no_store": False,
"no_index": True
}
headers = {
"X-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
file_name: 'research_report.pdf',
published_ts: '2025-06-15T10:30:00Z',
tags: ['Research Team'],
share_with_org: true,
enrichments: ['translation'],
no_store: false,
no_index: true
})
};
fetch('https://api.bigdata.com/contents/v1/documents', 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.bigdata.com/contents/v1/documents",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'file_name' => 'research_report.pdf',
'published_ts' => '2025-06-15T10:30:00Z',
'tags' => [
'Research Team'
],
'share_with_org' => true,
'enrichments' => [
'translation'
],
'no_store' => false,
'no_index' => true
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.bigdata.com/contents/v1/documents"
payload := strings.NewReader("{\n \"file_name\": \"research_report.pdf\",\n \"published_ts\": \"2025-06-15T10:30:00Z\",\n \"tags\": [\n \"Research Team\"\n ],\n \"share_with_org\": true,\n \"enrichments\": [\n \"translation\"\n ],\n \"no_store\": false,\n \"no_index\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-KEY", "<api-key>")
req.Header.Add("Content-Type", "application/json")
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.bigdata.com/contents/v1/documents")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"file_name\": \"research_report.pdf\",\n \"published_ts\": \"2025-06-15T10:30:00Z\",\n \"tags\": [\n \"Research Team\"\n ],\n \"share_with_org\": true,\n \"enrichments\": [\n \"translation\"\n ],\n \"no_store\": false,\n \"no_index\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bigdata.com/contents/v1/documents")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"file_name\": \"research_report.pdf\",\n \"published_ts\": \"2025-06-15T10:30:00Z\",\n \"tags\": [\n \"Research Team\"\n ],\n \"share_with_org\": true,\n \"enrichments\": [\n \"translation\"\n ],\n \"no_store\": false,\n \"no_index\": true\n}"
response = http.request(request)
puts response.read_body{
"url": "https://s3.amazonaws.com/com.ravenpack.private-content-drop.smart-topics-prod-nvirginia/uploads/F22BC027BCE166BC89DD2A81358DA2F1?AWSAccessKeyId=...",
"id": "F22BC027BCE166BC89DD2A81358DA2F1"
}Enrich document
Request a pre-signed URL to upload a document directly to Bigdata.com. The response contains a single-use url and the document id. Send a PUT request to that URL with the document file as the body to complete the upload. Bigdata then enriches the document (extraction, structure and annotation of the content). By default it is also indexed and becomes available for the Search and Research Agent. Set no_index to skip indexing while keeping the document stored and retrievable, or no_store to skip indexing and retain the document for only 24 hours after enrichment completes.
curl --request POST \
--url https://api.bigdata.com/contents/v1/documents \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"file_name": "research_report.pdf",
"published_ts": "2025-06-15T10:30:00Z",
"tags": [
"Research Team"
],
"share_with_org": true,
"enrichments": [
"translation"
],
"no_store": false,
"no_index": true
}
'import requests
url = "https://api.bigdata.com/contents/v1/documents"
payload = {
"file_name": "research_report.pdf",
"published_ts": "2025-06-15T10:30:00Z",
"tags": ["Research Team"],
"share_with_org": True,
"enrichments": ["translation"],
"no_store": False,
"no_index": True
}
headers = {
"X-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
file_name: 'research_report.pdf',
published_ts: '2025-06-15T10:30:00Z',
tags: ['Research Team'],
share_with_org: true,
enrichments: ['translation'],
no_store: false,
no_index: true
})
};
fetch('https://api.bigdata.com/contents/v1/documents', 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.bigdata.com/contents/v1/documents",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'file_name' => 'research_report.pdf',
'published_ts' => '2025-06-15T10:30:00Z',
'tags' => [
'Research Team'
],
'share_with_org' => true,
'enrichments' => [
'translation'
],
'no_store' => false,
'no_index' => true
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.bigdata.com/contents/v1/documents"
payload := strings.NewReader("{\n \"file_name\": \"research_report.pdf\",\n \"published_ts\": \"2025-06-15T10:30:00Z\",\n \"tags\": [\n \"Research Team\"\n ],\n \"share_with_org\": true,\n \"enrichments\": [\n \"translation\"\n ],\n \"no_store\": false,\n \"no_index\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-KEY", "<api-key>")
req.Header.Add("Content-Type", "application/json")
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.bigdata.com/contents/v1/documents")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"file_name\": \"research_report.pdf\",\n \"published_ts\": \"2025-06-15T10:30:00Z\",\n \"tags\": [\n \"Research Team\"\n ],\n \"share_with_org\": true,\n \"enrichments\": [\n \"translation\"\n ],\n \"no_store\": false,\n \"no_index\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bigdata.com/contents/v1/documents")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"file_name\": \"research_report.pdf\",\n \"published_ts\": \"2025-06-15T10:30:00Z\",\n \"tags\": [\n \"Research Team\"\n ],\n \"share_with_org\": true,\n \"enrichments\": [\n \"translation\"\n ],\n \"no_store\": false,\n \"no_index\": true\n}"
response = http.request(request)
puts response.read_body{
"url": "https://s3.amazonaws.com/com.ravenpack.private-content-drop.smart-topics-prod-nvirginia/uploads/F22BC027BCE166BC89DD2A81358DA2F1?AWSAccessKeyId=...",
"id": "F22BC027BCE166BC89DD2A81358DA2F1"
}Authorizations
Body
Optional list of enrichments to apply while processing the document. Each value configures the processing pipeline to run an additional step on the content.
Supported enrichments:
reporting_entities: Identifies the document's reporting company, using the same concept as theReportingEntityreporting detail in Search. This keeps the reporting entity consistent with the rest of the Bigdata corpus, so you can reliably filter private content, transcripts and filings together.translation: Translates the document content so non-English material can be searched and analyzed alongside the rest of your corpus. Supports more than 70 languages.
reporting_entities, translation ["translation"]
If true, the document is not indexed and is only retrievable for 24 hours after enrichment completes, then it is deleted. Use this for single-use processing when you do not want the file retained. no_store already skips indexing, so setting no_index in the same request has no additional effect.
true
Response
Pre-signed URL and document id. PUT the file to the URL to complete the upload; use the id with Get document to poll for status.
Was this page helpful?