---
title: Backlit reference
description: Define internal application interfaces with the Backlit SDK and render them from the Backlit protocol.
---

Backlit lets an application describe an interface without frontend code. The SDK builds a
protocol node tree. A Backlit renderer displays that tree.

This site documents the SDK input and the protocol output for each interface element.

To learn why Backlit exists and where it is going, read the [manifesto](/manifesto).

**[Resources](/reference/resources)**

Declare named entities, their fields, and their endpoints.

**[Fields](/reference/fields)**

Declare how record values travel and appear.

**[Filters](/reference/filters)**

Declare controls that narrow data.

**[Views, zones, and actions](/reference/views)**

Define screens, refresh boundaries, and operations.

**[Blocks](/reference/blocks)**

Compose the content shown on a screen.

**[Form and form fields](/reference/forms)**

Collect data and submit it to an action.

**[Widgets](/reference/widgets)**

Display small figures that summarize data.

**[Targets](/reference/targets)**

Connect fields to another Backlit view or lookup.

## App and runtime

- [App and areas](/reference/app): register resources and navigation.
- [Request handling](/reference/requests): use middleware, context, and responses.
- [Search state](/reference/state): apply filters, pagination, and sorting.
- [Agent tools](/reference/agents): expose selected endpoints to an agent host.
- [Extensions](/advanced/extensions): register custom builders and remappers.
- [API declarations](/reference/api): inspect every public export.

Examples show complete SDK resource files and protocol output from the current
SDK. Each example runs during the build. The docs do not include interactive
client previews.
