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
Your API key. Include it in every request as the X-API-KEY header. Create and manage keys in the Developer Platform.
Body
Name of the file being uploaded (e.g. research_report.pdf).
"research_report.pdf"
Optional publication date/time for the document (ISO 8601). This date will be used as the reference timestamp for search and retrieval.
"2025-06-15T10:30:00Z"
Optional list of tag names to apply to the document. Tags can be used to search and filter documents in the Search and Research-Agent services.
["Research Team"]
If true, all members of your organization can access the file once it is processed. If false, only you can access the processed content.
true
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
If true, the document is enriched but not indexed in the vector database. The original and annotated files remain stored and retrievable, but the document is not available in Search or Research Agent.
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?