## Add document `client.documents.add(DocumentAddParamsbody, RequestOptionsoptions?): DocumentAddResponse` **post** `/v3/documents` Add a document with any content type (text, url, file, etc.) and metadata ### Parameters - `body: DocumentAddParams` - `content: string` 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?: Array` - `customId?: string` Optional custom ID of the document. Max 100 characters, alphanumeric with hyphens, underscores, and dots only. - `entityContext?: string` Optional entity context for this container tag. Max 1500 characters. Used during document processing to guide memory extraction. - `filepath?: string` Optional file path for the document. Used by supermemoryfs to store the full path of the file. - `filterByMetadata?: Record>` Optional metadata filter to apply when pulling related memories and profile during ingestion. Only memories matching these filters will be used as context. - `string` - `number` - `boolean` - `Array` - `metadata?: Record>` Optional metadata for the document. - `string` - `number` - `boolean` - `Array` - `taskType?: "memory" | "superrag"` Task type: "memory" (default) for full context layer with SuperRAG built in, "superrag" for managed RAG as a service. - `"memory"` - `"superrag"` ### Returns - `DocumentAddResponse` - `id: string` Unique identifier of the document - `status: string` Status of the document ### Example ```typescript import Supermemory from 'supermemory'; const client = new Supermemory({ apiKey: process.env['SUPERMEMORY_API_KEY'], // This is the default and can be omitted }); const response = await client.documents.add({ content: 'content' }); console.log(response.id); ``` #### Response ```json { "id": "id", "status": "status" } ```