# LatticeKit > A platform for building operational business software. When a business needs > scheduling, customers, staff, resources, products, payments, a ledger, workflows, > communications or reporting, LatticeKit composes those into an application for that > business — and an AI agent can build one from a plain-language description, put a > live demo in front of the owner, create the account, and keep configuring it through > the agent API, with consequential changes parked for the owner to approve. These documents are written for people and programs working *against* a LatticeKit business, rather than for its authors: the domain model, the contracts that hold everywhere, and how to connect. Start with "What LatticeKit is". To build a business for someone, read "Agent API" — the section "Creating a business from an agent". The same set is served to connected agents as MCP resources at `POST /agent/v1/mcp` and at the pre-tenant `POST /agent/v1/signup` (`resources/list`, `resources/read`), addressed as `latticekit://docs/...`. ## Documents - [Agent API](https://latticekit.tech/docs/agent-api.md): How an AI client connects to a LatticeKit business over MCP: the endpoint, how a grant is consented to and revoked, what the three scopes permit, why consequential actions park for a human, and how to find the right capability. - [Customers, consent and communications](https://latticekit.tech/docs/customers-and-consent.md): How LatticeKit models the people a business knows, how they are grouped into households, tiers and staff rosters, and why every outbound message is checked against recorded consent and refused when it is absent. - [Errors and how to act on them](https://latticekit.tech/docs/errors.md): LatticeKit returns machine-readable problem documents rather than prose, and many failures carry a remediation naming what to do next — the contract a program or an agent should code against. - [Expressions](https://latticekit.tech/docs/expressions.md): Conditions in LatticeKit — who qualifies for a discount, which bookings a rule covers, when a workflow branches — are written in a small expression language, validated when saved and evaluated fail-safe at runtime. - [Glossary](https://latticekit.tech/docs/glossary.md): The vocabulary a caller meets in LatticeKit's APIs and documentation, defined in one place — the terms whose meanings are specific to this platform rather than generic. - [Identifiers](https://latticekit.tech/docs/identifiers.md): Every LatticeKit id is a short type prefix followed by a time-ordered unique suffix, which makes ids self-describing, safe to log, and safe to pass between parts of the platform as opaque strings. - [Scheduling](https://latticekit.tech/docs/scheduling.md): How LatticeKit models what can be booked, when it can be booked, and the lifecycle a booking moves through — including the five shapes of availability and what can block a confirmation. - [Tenancy and scope](https://latticekit.tech/docs/tenancy.md): How LatticeKit isolates one business from another, how locations and business units narrow that further, and what a caller needs to know about which scope its credentials carry. - [Tenant as code](https://latticekit.tech/docs/tenant-as-code.md): A whole business exports as one portable YAML document that can be diffed against what is live, applied transactionally, and rolled back — so a configuration change is something you review rather than a sequence of writes you supervise. - [What LatticeKit is](https://latticekit.tech/docs/what-is-latticekit.md): Orientation for anyone — person or agent — working against a LatticeKit business for the first time: what the platform models, the handful of concepts everything else is built from, and what it deliberately does not do. - [Workflows](https://latticekit.tech/docs/workflows.md): How a business automates its own operations in LatticeKit: actions built from typed steps, triggered by events, schedules or state, with three execution modes depending on whether the work must be immediate, backgrounded or durable.