> ## Documentation Index
> Fetch the complete documentation index at: https://docs.autosana.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Network Traffic

> Inspect the HTTP(S) requests your app or site made during a test run

Autosana captures the HTTP(S) requests made during a test run. After a run completes, a **Network** section appears on the run detail page listing each request with its method, URL, status, type, timing, and size — so you can confirm an API call fired, inspect a failing request, or check what a screen loaded.

## What's captured

<Tabs>
  <Tab title="Web">
    Full request list for the page under test: `GET`/`POST`/etc., URL, status, resource type (document, xhr, script, image, …), duration, and response size. Failed requests (DNS, abort, CORS) appear with `status: 0` and an `error` string.
  </Tab>

  <Tab title="iOS">
    The same request list for the app under test, captured from the cloud simulator.

    <Note>
      iOS capture covers apps that use the system's trusted certificates. Apps that **pin** their TLS certificate reject interception and won't appear in the list. Request **metadata** is captured (method, URL, status, timing, size) — not request or response bodies.
    </Note>
  </Tab>
</Tabs>

## Fields

Each captured request includes:

| Field           | Description                                         |
| --------------- | --------------------------------------------------- |
| `method`        | HTTP method (`GET`, `POST`, …)                      |
| `url`           | Full request URL                                    |
| `status`        | HTTP status code; `0` for a failed request          |
| `resource_type` | Request category (document/xhr/script/…) — web only |
| `duration_ms`   | Time from request start to response end             |
| `response_size` | Response body size in bytes                         |
| `error`         | Present only on failed requests                     |

If a run makes a very large number of requests, the oldest are dropped and the artifact is flagged as truncated.

## Accessing captured traffic

* **Run page** — open a completed run and scroll to the **Network** section.
* **API** — fetch a run and read `network_log_url` (JSONL, one request per line). See [Runs API](/api-runs).

## Reading network logs in a flow

To assert on traffic mid-flow, use the **Read Network Logs** action — e.g. *"Read the network logs and verify the `POST` to `/api/login` returned 200."* See [Flows](/flows).
