---
title: "Add document"
method: POST
path: "/v3/documents"
tags: ["Ingest"]
---

# Add document

`POST /v3/documents`

Add a document with any content type (text, url, file, etc.) and metadata

## Request body

- object
  - `content` string, required — The content to extract and process into a document. This can be a URL to a website, a PDF, an image, or a video.
  - `containerTag` string — Optional tag this document should be containerized by. Max 100 characters, alphanumeric with hyphens, underscores, and dots only.
  - `containerTags` string[]
  - `entityContext` string — Optional entity context for this container tag. Max 1500 characters. Used during document processing to guide memory extraction.
  - `customId` string — Optional custom ID of the document. Max 100 characters, alphanumeric with hyphens, underscores, and dots only.
  - `metadata` object — Optional metadata for the document.
  - `taskType` 'memory' | 'superrag' — Task type: "memory" (default) for full context layer with SuperRAG built in, "superrag" for managed RAG as a service.
  - `filepath` string — Optional file path for the document. Used by supermemoryfs to store the full path of the file.
  - `filterByMetadata` object — Optional metadata filter to apply when pulling related memories and profile during ingestion. Only memories matching these filters will be used as context.
  - `documentDate` string — When this document's content is from, as opposed to when it was uploaded. Accepts YYYY-MM-DD or a full ISO 8601 timestamp. Memory extraction resolves relative dates against this instead of the ingestion time, and documents in a batch are processed oldest-first so newer facts correctly supersede older ones. Set this whenever you backfill historical content.
  - `dreaming` 'instant' | 'dynamic' — Processing mode. "dynamic" (default) groups related documents together so memories form from coherent, logical units rather than one isolated entry at a time. "instant" processes each document on its own right away, and bills one extra operation per document.

## Response `200`

Document added successfully

- object
  - `id` string, required — Unique identifier of the document
  - `status` string, required — Status of the document

## Other responses

- `401` — Unauthorized
- `500` — Internal server error

---

[API](https://skmtc.dev/supermemory/apis/supermemory-api.md) · [All operations](https://skmtc.dev/supermemory/apis/supermemory-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/supermemory/supermemory-api/revisions/b8c2dbc8f2b5/schema)
