---
title: "Ingest Content"
method: POST
path: "/v1/artifacts/ingest"
tags: ["Artifacts", "Artifacts"]
---

# Ingest Content

`POST /v1/artifacts/ingest`

Unified endpoint to ingest files, text, URIs, or already processed content

## Request body

- IngestBody — Request body for ingesting content into the system for AI context.
  - `artifact` string, required — Unique identifier for the text being ingested within the collection
  - `collection` string — Collection name to group related documents for better organization and filtering
  - `input` union, required — Raw input data to be processed and ingested into the system. Can be a file (base64), URI, or plain text
    - FileArtifact — Input for base64 encoded files.
      - `type` 'file' — Input type discriminator
      - `value` string, required — Base64 encoded file content
    - UriArtifact — Input for remote URIs.
      - `type` 'uri' — Input type discriminator
      - `value` string, required — URI to download from
    - TextArtifact — Input for plain text content.
      - `type` 'text' — Input type discriminator
      - `value` string, required — Plain text content
  - `metadata` object, nullable — Optional metadata dictionary containing additional document information. If provided, must include 'file_name' with a valid file extension

## Response `200`

Content successfully ingested and processed

- IngestResponse — Response model for successful document ingestion operations.
  - `object` 'list' — Response object type, always 'list' for ingestion responses
  - `model` 'private-gpt' — Model identifier, always 'private-gpt'
  - `data` IngestedDoc[], required — List of ingested documents with their metadata and processing information
    - `object` 'ingest.document' — Type of the object, indicating this is an ingested document.
    - `artifact` string, required — Unique identifier for the ingested document artifact.
    - `doc_metadata` object, nullable — Metadata associated with the ingested document, such as title, author, and other

## Other responses

- `401` — Unauthorized
- `422` — Invalid input format or request parameters

## Changes

- **2026-06-02** `c711b911f68e` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/zylon-ai/apis/private-gpt-api/changes/v1/artifacts/ingest/post.md)

---

[API](https://skmtc.dev/zylon-ai/apis/private-gpt-api.md) · [All operations](https://skmtc.dev/zylon-ai/apis/private-gpt-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/zylon-ai/private-gpt-api/revisions/4e828cf153c4/schema)
