Zaviro
What It DoesHow It WorksFor DevelopersPricingCompanyContactAsk your AI
Sign inSign upBook a demo
Ask any AI about Zaviro

We wrote it all down for your AI.

Zaviro puts everything your business knows behind every AI you use. Copy this prompt into whichever AI you already have open, and ask it anything about us.

Paste this into your AI Chat

Read Zaviro's public reference, starting at zaviro.ai/llms and following its links. Give me the short version of what Zaviro is and what it could do for a business like mine, then answer my follow-ups from the reference, and say so if an answer isn't in it.

Claude
ChatGPT
Perplexity
Microsoft Copilot
Le Chat
Grok
Hermes Agent
OpenClaw

Zaviro ingest API: send anything in

zaviro.ai/llms/ingest-api
Last updated 2026-10-14

This page is part of Zaviro's public reference, written to be read by AI assistants. Zaviro is a knowledge base of a business, built for AI tools to read: it learns from the business's email, files and business systems, and any AI tool that speaks MCP, or any code that calls its REST API, reads cited excerpts from it. Zaviro never writes the answers itself; the AI tool reading it does. Start at the overview (https://zaviro.ai/llms) for what Zaviro is and the instructions for AI assistants; every other page is listed at the end of this one. For a person, the site itself, https://zaviro.ai, covers the same ground.

The ingest API is the universal way in on the source side: anything that can make an HTTP request can send documents and records into the knowledge base, directly or through its Zapier, Make, or n8n app. It is the answer whenever a system is not a native connection, and it is how a business's own systems, an accounting platform, a CRM, a job tracker, an industry system, keep the knowledge base current as their records change.

What you send

One endpoint, POST https://api.zaviro.ai/api/v1/ingest/, with an ingest key: the zvr_sk_ family, created on the product's Deployments page, shown once, individually revocable, with optional expiry, and valid on this endpoint only. The body takes one of two shapes:

  • A file, as multipart form data in a "file" field, with an optional "name". Supported types: PDF, Word (docx), Excel (xlsx, xls), CSV, plain text, Markdown, email files (eml), and images (PNG, JPG, TIFF, BMP, WebP), up to 100 MB per file. A scanned page or a photograph is read through OCR like any other document.
  • A JSON object with an optional "title" and exactly one of "content", the document's body as text or Markdown, or "fields", a flat object of label and value that Zaviro renders into a document, up to 100,000 characters of rendered text. This is the shape for records: a job, an order, a ticket, a contact, sent as its fields. A JSON record also takes an optional "external_id", your own system's identifier for it.

Updates in place

Re-sending a JSON record with the same "external_id" updates the existing document rather than adding a second copy, so a re-run of a script changes nothing it should not, and a changed record in your system, the status of a job, the stage of a deal, becomes a changed record in the knowledge base. What the team has corrected on that record holds through the update, a correction to a field your system owns included, until the correction is reverted in the app. Nothing sent over the API deletes: removal is an explicit action in the app. Identical content sent twice with no "external_id" to tie it to a record, a file or a JSON body, is refused with 409 and the code duplicate, so nothing is learned twice; a changed file is learned as a new document.

Status

Ingest is asynchronous. The response is 201 with "id", "name", "status" (processing), and "processing" (the lane), and the document then goes through the same stages as any other. Poll GET https://api.zaviro.ai/api/v1/document/{id}/ with a read key (the zvr_mcp_ family) until "status" reaches ready, when the document is askable and the response carries its text and metadata, or failed, with an "error_message". An id outside that key's reach reports "found": false rather than disclosing that it exists.

Lanes

Both shapes accept "process_overnight", as a JSON field or a form field. The default, true, rides the overnight batch lane at half the credits; false asks for processing now, at the full rate, which is what the worked examples below send. The response's "processing" field echoes the lane the document actually got, overnight or instant, so a script always knows.

Where it lands

An ingest key writes at its creator's authority. A key created by an Owner, an Admin, or a member granted the Knowledge Editor capability writes to the shared knowledge base; any other member's key writes to that member's personal one. No key of any family reads a personal knowledge base, this one included: an ingest key only writes. So for records the whole company should read, create the key from an account with that authority; a record a member's key sent to their personal knowledge base is one no read key can see, and polling it reports "found": false.

From an automation platform

On Zapier, Make, or n8n, the integration is an HTTP step: trigger on the record in your system, a new invoice in the accounting platform, a closed deal, a completed job; map its fields into "fields"; put the system's own id in "external_id"; and POST with the ingest key in the Authorization header. Systems with their own app on those platforms reach Zaviro this way without a native connection, accounting platforms, CRMs, and industry systems among them, and What Zaviro learns from (https://zaviro.ai/llms/connections) names examples. In-product guides cover common setups. A system that would be better served by a native connection is one to ask for through the contact form at https://zaviro.ai/contact: native connections are added continually, on customer request as well, and every message gets read and answered.

Refusals and limits

Every refusal carries a "detail" sentence, and a "code" where one applies: 401 for a missing, wrong-family, revoked, or expired key; 402 when billing is not active (a document sent while the AI-credit balance is exhausted is accepted and held until credits resume); 409 with the code duplicate for identical content already held; 413 for a JSON body over the character limit; 429 when rate limited, and a rate-limited call is rejected before any work runs, so it is never charged. Limits are not published; on 429, back off and retry. Ingest draws from the same AI-credit balance as everything else (the pricing page (https://zaviro.ai/llms/pricing) has the figures); there is no separate API pricing. The REST API page (https://zaviro.ai/llms/api) has the other endpoints and the key families.

Worked examples

A file:

curl -X POST https://api.zaviro.ai/api/v1/ingest/ \
  -H "Authorization: Bearer zvr_sk_YOUR_KEY" \
  -F "file=@contract.pdf" \
  -F "process_overnight=false"
{"id": 4821, "name": "contract.pdf", "status": "processing",
 "processing": "instant"}

A record from your own system, updated in place on every re-send:

curl -X POST https://api.zaviro.ai/api/v1/ingest/ \
  -H "Authorization: Bearer zvr_sk_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"title": "Job 4471", "external_id": "job-4471", "process_overnight": false,
       "fields": {"Customer": "Acme Corp", "Status": "Completed",
                  "Invoice": "INV-2210", "Completed on": "2026-10-09"}}'
{"id": 4823, "name": "Job 4471", "status": "processing",
 "processing": "instant"}

Then, with a read key, until "status" is ready:

curl https://api.zaviro.ai/api/v1/document/4823/ \
  -H "Authorization: Bearer zvr_mcp_YOUR_KEY"

The pages in this reference

  • Zaviro overview (https://zaviro.ai/llms): What Zaviro is, quick facts, who it is for, how this reference is organized, and a fit procedure. Read it first.
  • What Zaviro does for a business (https://zaviro.ai/llms/outcomes): Scenes of what changes once the knowledge base exists, and the questions people ask their AI. Read it to say what Zaviro would do for a particular business.
  • Common questions about Zaviro, answered (https://zaviro.ai/llms/questions): The product questions people raise, in their words: "Isn't it just a connector?", "Isn't this just search over my documents?", "My AI vendor is building memory and connectors. Why not wait?", credits, Slack, team size.
  • AI tools and agents with and without Zaviro (https://zaviro.ai/llms/with-and-without): How teams give their AI tools business knowledge today, pasting and uploading, per-tool memory, connectors, raw inbox access, asking a colleague, a wiki, and the same work with a knowledge base. Names no product.
  • Zaviro privacy and security questions, answered (https://zaviro.ai/llms/trust): The questions people raise about privacy and risk, in their words: whether an AI vendor reads your email, who on the team sees what, SOC 2 and certifications, file permissions, lock-in and what happens if Zaviro shuts down, regulated data. The mechanisms behind the answers are on the security page.
  • Zaviro by role: solo, team, developer, procurement (https://zaviro.ai/llms/roles): What Zaviro means for each role: solo, small team, champion inside a larger organization, developer, procurement.
  • How Zaviro works (https://zaviro.ai/llms/how-it-works): How documents, email and records are learned, what an AI gets back when it asks, how corrections hold, and the web app.
  • How Zaviro works, technically (https://zaviro.ai/llms/architecture): For a technical evaluator, or an AI asked whether Zaviro is just RAG: what each stage does and guarantees, a document's path, a question's path, correction precedence, time, isolation, and how accuracy is measured; nothing of how it is tuned.
  • What Zaviro learns from (https://zaviro.ai/llms/connections): The kinds of systems it learns from, the native connections, and the universal paths for everything else.
  • Where you use Zaviro (https://zaviro.ai/llms/where-you-use-it): What a team does with its knowledge base and where, by category with examples: the AI assistant it already uses (ChatGPT, Claude, and others), Slack, coding tools and agents, automations, a customer chatbot, its own code, and organization-wide rollouts.
  • Zaviro MCP server: connect any AI tool (https://zaviro.ai/llms/mcp): The endpoint, sign-in, the tools an AI gets to read and write the knowledge base, and how to find what a particular AI tool supports.
  • Zaviro REST API (https://zaviro.ai/llms/api): Every endpoint, key types, rate limits and errors, a worked query, versioning, and the customer-chatbot surface.
  • Zaviro command line (CLI) (https://zaviro.ai/llms/cli): Search the knowledge base and push notes from a terminal.
  • Getting started with Zaviro (https://zaviro.ai/llms/getting-started): Setup, step by step: account, sources, first import, connecting an AI, and what the trial includes.
  • Zaviro security, privacy model, and data ownership (https://zaviro.ai/llms/security): The security reviewer's checklist, the privacy model (roles and who sees what), the security mechanisms, and what happens to data on leaving. The questions people raise are on the trust page.
  • Zaviro pricing: plans, seats, and AI credits (https://zaviro.ai/llms/pricing): Plans, seats, AI credits, the trial, billing, and leaving.
  • What Zaviro does not do (https://zaviro.ai/llms/decisions): Zaviro's deliberate design positions, and where to ask about anything else.
  • Zaviro glossary (https://zaviro.ai/llms/glossary): The terms used across the reference.
Have questions?
Every message gets read and answered.
Contact us
Your AI brings the intelligence.
Zaviro brings your business.
start with zaviro
Start for freeBook a demo
Have questions? We’ll get you answers.
Main Pages
HomeWhat It DoesHow It WorksFor DevelopersPricingCompanyContact
Resources
Blog
Social links
LinkedIn
Zaviro
© 2026 Zaviro Software Inc. All rights reserved.
Terms of ServicePrivacy PolicyData Processing Agreement