---
title: "Ingest Manual Document"
method: POST
path: "/v1/ingest/manual/document"
tags: ["manual-ingest"]
---

# Ingest Manual Document

`POST /v1/ingest/manual/document`

Ingest a single document manually.

The document will be processed through the full pipeline:
1. Stored in PostgreSQL
2. Chunked into smaller pieces
3. Embedded with OpenAI embeddings
4. Entities and relations extracted
5. Knowledge graph updated in Neo4j

This is useful for:
- Testing with real transcripts
- Importing external documents
- Quick demos without OAuth setup

## Request body

- ManualIngestRequest — Request to manually ingest a document.
  - `workspace_id` string, uuid, required — Target workspace
  - `vault_id` string, uuid, nullable — Optional vault to associate with
  - `content` string, required — The text content to ingest
  - `title` string, required — Document title
  - `document_type` 'transcript' | 'notes' | 'document' | 'article' | 'email' | 'chat' — Types of manually ingested documents.
  - `author_name` string, nullable — Author name
  - `author_email` string, nullable — Author email
  - `source_url` string, nullable — Original source URL if applicable
  - `created_at` string, date-time, nullable — Original creation date
  - `tags` string[] — Tags for categorization
  - `metadata` object — Additional metadata

## Response `200`

Successful Response

- ManualIngestResponse — Response after manual ingestion.
  - `document_id` string, uuid, required
  - `status` string, required
  - `message` string, required
  - `processing_job_id` string, uuid, nullable

## Other responses

- `422` — Validation Error

---

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