# Schemas

> JSON Schema 2020-12 for every file in a Streamliner account folder and for personal .streamline.json files.

JSON Schema (draft 2020-12) for every file in a Streamliner account folder and for personal .streamline.json files. Each file's $id is its URL; add "$schema" to a file for completions and docs on hover. v1 changes only by addition.

- [agent.schema.json](https://streamliner.work/schema/v1/agent.schema.json) — validates agents/<kind>.json: One streamline (agent kind) as the employee sees it: name, look, welcome, composer, attachments, the overview, renderers (config-schema §4).
- [defs.schema.json](https://streamliner.work/schema/v1/defs.schema.json) — validates Streamline shared definitions: Shared building blocks for every streamline.config/1 file: colors, SF Symbol names, ids, URLs, CIDRs, models, network rules, the when language.
- [enrolment.schema.json](https://streamliner.work/schema/v1/enrolment.schema.json) — validates enrolment.json: The publisher keys an enrolled device pins (config-schema §2 Key pinning; architecture §4).
- [form.schema.json](https://streamliner.work/schema/v1/form.schema.json) — validates forms/<id>.json: A sealed form, hosted page or sealed view (config-schema §5).
- [listing-version.schema.json](https://streamliner.work/schema/v1/listing-version.schema.json) — validates manifest.json (a Discover listing version): The signed index of one version of a Discover listing (config-schema §8c): its files with their hashes, signed by the publisher's sharing key.
- [listing.schema.json](https://streamliner.work/schema/v1/listing.schema.json) — validates listing.json: One Discover listing (config-schema §8c; docs/plans/directory.md): what a shared streamline is called and says about itself, beside the *.streamline.json it lists.
- [manifest.schema.json](https://streamliner.work/schema/v1/manifest.schema.json) — validates manifest.json: The signed index of every device-visible file of an account (config-schema §2).
- [private-agent.schema.json](https://streamliner.work/schema/v1/private-agent.schema.json) — validates private/agents/<kind>.json: One streamline's private half, read only by the model relay and the back end, never served to a device (config-schema §4.5): instructions, model, MCP servers with their tool allowlists and gates, limits, network rule.
- [private-connection.schema.json](https://streamliner.work/schema/v1/private-connection.schema.json) — validates private/connections/<id>.json: Back-end-only login details for a password or api-key connection (config-schema §3.2; designed).
- [private-tenant.schema.json](https://streamliner.work/schema/v1/private-tenant.schema.json) — validates private/tenant.json: Account-wide private policy, read only by the back end (config-schema §3.3–3.5, §8a, §8b, §8c): the default network rule, named networks and who is on which, access levels, server keys (public halves only), budgets, the transcript store, Discover link sharing.
- [streamline.schema.json](https://streamliner.work/schema/v1/streamline.schema.json) — validates *.streamline.json: One personal streamline, as the app stores, imports and shares it (config-schema §10.1): the device file and the private file as one flat object, because on a personal device the person owns the instructions.
- [template.schema.json](https://streamliner.work/schema/v1/template.schema.json) — validates templates/<id>.json: A view template: a small tree of native views bound to a JSON object (config-schema §6).
- [tenant.schema.json](https://streamliner.work/schema/v1/tenant.schema.json) — validates tenant.json: The account: brand, locale, sign-in, back end, roles and the streamlines in sidebar order (config-schema §3).
