> For the complete documentation index, see [llms.txt](https://docs.loadmill.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.loadmill.com/api-first-end-to-end-testing/overview.md).

# Overview

API-first end-to-end testing validates complete business processes through the network interactions produced by real user or system behavior. Instead of relying on the UI for every execution, Loadmill captures the underlying API traffic, identifies dependencies between requests, and turns the behavior into a reusable test flow.

This approach is useful when a journey crosses several services or applications. The generated flow represents the business process while running quickly and deterministically at the API layer.

## How it works

1. Perform a real workflow in a web or mobile application.
2. [Capture the resulting API traffic](/api-first-end-to-end-testing/working-with-the-recorder.md).
3. Filter requests that do not belong to the scenario.
4. Let Loadmill identify values that must be extracted and reused between requests.
5. Review the generated flow in the [Test Editor](/test-editor-reference/layout.md).
6. Run the flow manually, from CI, or as part of a test plan.

## Ways to create API tests

You can record browser traffic with the [Loadmill Test Composer](/api-first-end-to-end-testing/working-with-the-recorder/quickstart.md), capture traffic from a mobile app with [Mobile API Testing](/api-first-end-to-end-testing/working-with-the-recorder/deviceless-mobile-testing.md), import recorded traffic, or create request steps directly in the Test Editor.

## Where to go next

* Follow the [API-first E2E quickstart](/get-started/quick-start-guide.md) for a complete example.
* [Register your first API flow](/api-first-end-to-end-testing/register-your-first-api-flow.md).
* Learn how [contract testing](/api-first-end-to-end-testing/contract-testing.md) and [regression testing](/api-first-end-to-end-testing/regression-testing.md) fit into API coverage.
* Use the [Test Editor reference](/test-editor-reference/layout.md) when building more advanced flows.
