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

# Session reuse

> Reuse a prepared challenge for follow-up protected requests.

A successful reusable challenge returns a `session_id`. Reusing it avoids
repeating the page fetch, regional lookup, fingerprint selection, and challenge
build for each follow-up request. Embedded interstitial challenges are one-time
and return `one_time: true` instead; they cannot be resumed.

## Start a session

Create a session with the complete request context. A fresh solve requires:

* `task_type`
* `proxy`
* `target_url`
* `shape_js_url` (unless `target_url` returns an embedded interstitial)
* `target_api`
* `ua`

The response includes a new `session_id` unless the detected challenge is a
one-time interstitial.

## Continue a session

For subsequent calls, send:

```json theme={null}
{
  "task_type": "shape",
  "session_id": "0123456789abcdef0123456789abcdef",
  "target_api": "https://example.com/protected/resource",
  "target_api_method": "GET"
}
```

Evade restores the original proxy, page, challenge, referrer, title, and browser
identity from the session. You may omit those fields. If you include one, it must
exactly match the value used to create the session.

<Note>
  `target_api` remains required because each generated header set is bound to its
  destination. `target_api_method` defaults to `GET` and supports `GET` or `POST`.
</Note>

## Expiration and recovery

Sessions are short-lived and may also be evicted when server capacity is needed.
An expired or unknown ID returns `400 invalid_request` with a message indicating
that it does not identify an active solve session.

When that happens, create a new session using the full request context. Do not
retry an expired ID indefinitely.

## Debug session reuse

Set `debug` to `true` to receive `session_reused`, detailed timing, the resolved
loader and VM URLs, and the generation mode. Debug diagnostics are intended for
integration troubleshooting and should not be required during normal operation.
