> For the complete documentation index, see [llms.txt](https://datareceiver.docs.otised.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://datareceiver.docs.otised.com/readme.md).

# Introduction

OtisEd DataReceiver (`otised-dr`) is a .NET command-line tool that automates data ingestion from cloud storage into SQL Server, Azure SQL, or Snowflake databases. It processes one or more manifest configurations, each representing a data feed for a specific agency system identified by a SAID (System Agency Identifier). Depending on the manifest settings, DataReceiver either downloads and parses ticket files that describe a data payload, or connects directly to Azure Blob Storage to discover and load flat files.

For ticket-based workflows, DataReceiver downloads a ticket file (JSON or XML) from cloud storage (Azure, AWS S3, Google Cloud, or SFTP), parses it to identify the data files and metadata, then loads each file into the target database using either a direct load from storage or a local bulk load. For flat file workflows, it lists blobs from an Azure container, auto-detects file structure (delimiters, column names, data types), and loads each file by dynamically creating the target table and inserting the data. Both paths support multiple target databases, encrypted credentials, optional post-load blob cleanup, and a log-only dry-run mode.

All processing activity is tracked through the Zipline REST API, which records execution logs, step-level results, and debug information for each run. DataReceiver integrates with Zipline for both logging and retrieving agency system configuration (storage credentials, target schema, transfer mode). Configuration is managed through `appsettings.json` with support for a custom config file path via the `--config` CLI option, and sensitive values like connection strings and API credentials are stored encrypted using AES encryption.

***

Browse the documentation using the sidebar navigation.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://datareceiver.docs.otised.com/readme.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
