---
title: "Task types"
description: "Choose the solver that matches the challenge in front of you."
---

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

# Task types

Every task is sent to the same [execute endpoint](/api-reference/execute-task).
Set `task_type` to select a solver and pass the corresponding fields in
`task_data`.

| Task type | Use it for | Result |
| --- | --- | --- |
| [`turnstile`](/tasks/turnstile) | A standalone Cloudflare Turnstile widget | Challenge token |
| [`waf`](/tasks/cloudflare-waf) | A Cloudflare challenge page you will continue through your own HTTP client | Clearance and request metadata |
| [`wafauto`](/tasks/waf-auto) | A Cloudflare challenge where uncaptcha.io should make the follow-up request | Clearance and fetched response |

## Choosing between WAF and WAF Auto

Use `waf` when you need full control of the request after the solve. It returns
the exact headers, cookie values, query token, and form attributes that your
client should replay.

Use `wafauto` when you want uncaptcha.io to make that follow-up request. It
returns the resulting status, headers, final URL, and base64-encoded body.

> **Keep the browser identity consistent**
>
> WAF solutions are tied to details such as the proxy, User-Agent, and TLS
> fingerprint. Reusing a solution from a different client identity can
> invalidate it.

Source: https://docs.uncaptcha.io/tasks/index.mdx
