Skip to main content
POST
Ingest
Use this when you have a custom source not covered by Repo’s built-in connectors (e.g. an internal wiki, a proprietary CRM, a folder of PDFs in S3) and you want to feed its documents into Repo’s memory.

Required action

ingest

Body

array
required
Array of source documents to ingest. Min 1 entry.

Document fields

uuid
required
The connector this document belongs to. Create a connector first via the console, or contact support for a “virtual” connector for custom sources.
string
required
One of slack, google_drive, notion, gmail. For custom sources, pick the one whose access model matches yours.
string
required
One of message, document, file.
string
required
Stable ID from your source system. Repo dedupes on (organizationId, provider, externalId) — re-posting with the same externalId is treated as an update.
string
required
Human-facing title. Used in citations.
string
required
The full text content to embed.
string
Deep-link back to the source (will be returned in retrieval hits).
string
Original author’s name.
ISO 8601
When the source was created at the provider.
ISO 8601
When the source was last updated at the provider.
object
default:"{}"
Arbitrary provider-specific metadata. If you want to preserve ACLs or other access policy data, include an accessPolicy key — Repo’s retrieval will surface it back to the caller.

Response

skipped counts documents that matched an existing externalId with identical content (no-op).

Example

When to use ingest vs. a connector