# Try it playground

> For the complete documentation index, see [llms.txt](https://preview.writedocs.io/llms.txt).

How the API reference's Try it playground sends requests, and writedocs.json's api.proxy setting.

Every page of an [API reference](https://preview.writedocs.io/docs/openapi/overview/) has a **Try it** button. It opens a playground where the reader fills in the parameters, body and credentials, sends a real request to your API, and sees the response - status, headers and body.

## `api.proxy`

```json
{
  "api": {
    "proxy": false
  }
}
```

**`proxy`** `boolean` default: `true`

Retry requests the browser blocks through Writedocs' proxy.

The playground sends each request from the reader's browser, straight to your API. A browser only lets a page read the response when the API allows that page's site - through CORS headers like `Access-Control-Allow-Origin`. Many APIs don't allow other sites, so the browser blocks the request.

With `proxy` on, a blocked request is sent again through Writedocs' proxy, which isn't subject to that rule, and the response says it went through the proxy. One exception: a `POST` with no JSON body, no credentials and no custom headers can reach your API even when the browser blocks its response, so it isn't sent again - that could run it twice.

With `proxy` off, requests never go through a third party, and a blocked request shows a message about CORS. To make the playground work without the proxy, allow your docs' domain in your API's CORS settings.

## Credentials

An API key or token the reader enters in the playground stays in that browser tab, and is forgotten when the tab closes. It's sent only with the reader's own requests - to your API, or through the proxy when a request is retried there.