> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bigdata.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 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.



## OpenAPI

````yaml /api-rest/openapi/openapi_content_data.json post /contents/v1/documents
openapi: 3.1.0
info:
  title: Bigdata Content API
  description: API for managing and accessing private content documents uploaded by users.
  version: 1.0.0
servers:
  - url: https://api.bigdata.com/
security:
  - ApiKeyAuth: []
paths:
  /contents/v1/documents:
    post:
      tags:
        - Documents
      summary: Enrich document
      description: >-
        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.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - file_name
              properties:
                file_name:
                  type: string
                  description: Name of the file being uploaded (e.g. research_report.pdf).
                  example: research_report.pdf
                published_ts:
                  type: string
                  format: date-time
                  description: >-
                    Optional publication date/time for the document (ISO 8601).
                    This date will be used as the reference timestamp for search
                    and retrieval.
                  example: '2025-06-15T10:30:00Z'
                tags:
                  type: array
                  items:
                    type: string
                  description: >-
                    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.
                  example:
                    - Research Team
                share_with_org:
                  type: boolean
                  description: >-
                    If true, all members of your organization can access the
                    file once it is processed. If false, only you can access the
                    processed content.
                  example: true
                enrichments:
                  type: array
                  description: >-
                    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 the
                    [`ReportingEntity` reporting
                    detail](/getting-started/search/query_filters#reporting-details)
                    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.
                  items:
                    type: string
                    enum:
                      - reporting_entities
                      - translation
                  example:
                    - translation
                no_store:
                  type: boolean
                  description: >-
                    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.
                  example: true
                no_index:
                  type: boolean
                  description: >-
                    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.
                  example: true
            example:
              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
      responses:
        '200':
          description: >-
            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.
          content:
            application/json:
              schema:
                type: object
                required:
                  - url
                  - id
                properties:
                  url:
                    type: string
                    format: uri
                    description: >-
                      Single-use pre-signed URL. Send a PUT request to this URL
                      with the document file as the body.
                  id:
                    type: string
                    description: >-
                      Document content ID (32-character uppercase hexadecimal).
                      Use this with Get document to check processing status and
                      perform operations on the document.
              example:
                url: >-
                  https://s3.amazonaws.com/com.ravenpack.private-content-drop.smart-topics-prod-nvirginia/uploads/F22BC027BCE166BC89DD2A81358DA2F1?AWSAccessKeyId=...
                id: F22BC027BCE166BC89DD2A81358DA2F1
        '400':
          description: Invalid request body (e.g. missing file_name or invalid format).
        '401':
          description: Unauthorized - Invalid or missing API key.
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-KEY
      description: >-
        Your API key. Include it in every request as the X-API-KEY header.
        Create and manage keys in the Developer Platform.

````