> ## Documentation Index
> Fetch the complete documentation index at: https://docs.recallio.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Knowledge Overview

> Understand how Recallio ingests and distributes your domain knowledge

Recallio centralizes everything your team knows about a property, resident, or operation so assistants can answer questions with context. These guides walk through the pieces you need to connect your data sources to the Knowledge service.

## What the Knowledge service does

* **Live data ingestion** via `/api/Knowledge/livedata` keeps resident, listing, or asset records synced field-by-field.
* **Document ingestion** turns PDFs and other uploads into searchable knowledge that surfaces in Recallio answers.
* **Environment separation** lets you map data to projects (for example `Home A`, `Home B`, or `Staging`) so answers stay scoped to the right audience.

<Tip>
  All Knowledge endpoints require a bearer token created from **Dashboard → API Keys**.
</Tip>

## Before you call any endpoint

1. **Create or locate an API key** in the dashboard under **API Keys**. The generated value is the bearer token you send in the `Authorization` header.
2. **Create projects** for every environment in **Settings → Projects**. Each project exposes a `ProjectId` that you include with every payload to keep knowledge organized.
3. **Confirm consent** requirements with your team. Each data submission should respect the `ConsentFlag` field when applicable.

## Live data vs. documents

| Use case                                                                   | Endpoint                                              | Required fields                                                  |
| -------------------------------------------------------------------------- | ----------------------------------------------------- | ---------------------------------------------------------------- |
| Structured operational data that changes frequently                        | `POST https://app.recallio.ai/api/Knowledge/livedata` | `type`, `rawJson`, optional `userId`, recommended `projectId`    |
| Static or semi-structured reference material (PDF, policy guides, manuals) | `POST https://app.recallio.ai/api/Knowledge/document` | `File`, `ProjectId`, optional `Tags`, `SourceUrl`, `ConsentFlag` |
| Retrieve processed documents and metadata                                  | `GET https://app.recallio.ai/api/Knowledge/document`  | Optional query parameters to filter by `ProjectId`, paging       |

* Set the `type` field to a domain-specific label (`"listing"`, `"resident"`, `"maintenance-ticket"`, etc.) so Recallio can group similar payloads.
* Always include the `projectId` whenever the content belongs to a specific environment; omit it only for global knowledge.

## Where to go next

<CardGroup>
  <Card title="Knowledge Quickstart" icon="rocket" href="/quickstart">
    End-to-end walkthrough: generate an API key, create a project, and make your first `/api/Knowledge/livedata` request.
  </Card>

  <Card title="Implementation Deep Dive" icon="code" href="/development">
    Payload schemas, validation tips, and how to automate document uploads via API or the dashboard.
  </Card>
</CardGroup>

Need the full API surface? Review the [Recallio Swagger reference](https://app.recallio.ai/swagger/index.html).
