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

# Public execution

> Run a workflow without authentication — for embeds, public webhooks, and external triggers.

Setting a workflow to **Public** allows external systems to invoke it without an API token. This is how you let untrusted callers — web forms, third-party webhook providers, embedded widgets — trigger your workflows.

## Enabling public execution

The **Private / Public toggle** in the top bar of the builder controls whether the workflow is publicly accessible.

<Frame>
  <img src="https://mintcdn.com/anyreach/H7de0CJCTkbxSIQS/images/workflows/private-public.png?fit=max&auto=format&n=H7de0CJCTkbxSIQS&q=85&s=eac744da3a96a47b493a65c014fcff5d" alt="Builder top bar showing Private/Public toggle" width="822" height="156" data-path="images/workflows/private-public.png" />
</Frame>

By default, all workflows are **Private**. Toggle to **Public** to allow unauthenticated access.

<Warning>
  Only make a workflow public if you understand the security implications. Public workflows can be invoked by anyone with the URL.
</Warning>

## Public endpoint

Once public, the workflow can be invoked at:

```
POST /workflow/public/workflows/{workflow_id}/{version}/execute
```

No `Authorization` header required.

```bash theme={null}
curl -X POST https://api.anyreach.ai/workflow/public/workflows/{workflow_id}/{version}/execute \
  -H "Content-Type: application/json" \
  -d '{
    "input_data": { "name": "Alice", "email": "alice@example.com" }
  }'
```
