> ## Documentation Index
> Fetch the complete documentation index at: https://x-preview-mintlify-5e62557c.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# API Playground

> Execute um servidor mock local para testar endpoints da X API v2 durante o desenvolvimento sem consumir créditos de API, além de exemplos de requisições e payloads de resposta.

O [API Playground](https://github.com/xdevplatform/playground) é um servidor mock local que simula toda a X API v2. Teste endpoints, construa protótipos e explore a API sem consumir créditos reais.

<Card title="Repositório no GitHub" icon="github" href="https://github.com/xdevplatform/playground">
  Código-fonte, releases e documentação completa.
</Card>

***

## Recursos

<CardGroup cols={2}>
  <Card title="Compatibilidade total com a API v2" icon="check">
    Todos os endpoints suportados com validação de requisições via specs OpenAPI e respostas de erro realistas.
  </Card>

  <Card title="Interface web interativa" icon="browser">
    Explorador visual de endpoints em `http://localhost:8080/playground` para testar no navegador.
  </Card>

  <Card title="Sem créditos necessários" icon="https://mintcdn.com/x-preview-mintlify-5e62557c/NnGYBQFO1PDkJQK7/icons/xds/icon-coins.svg?fit=max&auto=format&n=NnGYBQFO1PDkJQK7&q=85&s=8ea5fa0faef4474ee8c76f2d3338cae3" width="24" height="24" data-path="icons/xds/icon-coins.svg">
    Tudo roda localmente com dados mock — sem necessidade de chaves de API ou faturamento.
  </Card>

  <Card title="Operações com estado" icon="database">
    Estado em memória com persistência opcional em arquivo. Crie posts e depois faça lookup.
  </Card>
</CardGroup>

***

## Instalação

Requer Go 1.21+. Instale a partir do código-fonte ou baixe um binário pré-compilado dos [releases](https://github.com/xdevplatform/playground/releases).

<Tabs>
  <Tab title="Go install">
    ```bash theme={null}
    go install github.com/xdevplatform/playground/cmd/playground@latest
    playground start
    ```
  </Tab>

  <Tab title="Build a partir do código-fonte">
    ```bash theme={null}
    git clone https://github.com/xdevplatform/playground.git
    cd playground
    go build -o playground ./cmd/playground
    ./playground start
    ```
  </Tab>
</Tabs>

O servidor inicia em `http://localhost:8080` por padrão.

***

## Início rápido

Faça requisições como faria para a API real — use `test_token` como seu bearer token:

```bash title="me" lines wrap icon="terminal" theme={null}
# Fazer lookup de um usuário
curl -H "Authorization: Bearer test_token" \
  http://localhost:8080/2/users/me

# Criar um post
curl -X POST -H "Authorization: Bearer test_token" \
  -H "Content-Type: application/json" \
  -d '{"text": "Hello from the playground!"}' \
  http://localhost:8080/2/tweets

# Buscar posts
curl -H "Authorization: Bearer test_token" \
  "http://localhost:8080/2/tweets/search/recent?query=hello"
```

Abra `http://localhost:8080/playground` no seu navegador para a interface interativa.

***

## O que está incluído

| Recurso                      | Descrição                                                     |
| :--------------------------- | :------------------------------------------------------------ |
| **Validação de requisições** | Valida requisições conforme a spec OpenAPI                    |
| **Erros realistas**          | Retorna códigos e mensagens de erro adequados                 |
| **Suporte a streaming**      | Endpoints de streaming simulados                              |
| **Rate limiting**            | Simulação configurável de rate limits                         |
| **Suporte a CORS**           | Funciona com aplicações baseadas em navegador                 |
| **Rastreamento de uso**      | Endpoints simulados de faturamento e rastreamento de créditos |
| **Persistência de estado**   | Persistência opcional em arquivo em `~/.playground/`          |

***

## Relacionados

<CardGroup cols={2}>
  <Card title="xurl" icon="terminal" href="/tools/xurl">
    Ferramenta CLI para a X API real com autenticação embutida.
  </Card>

  <Card title="Faça sua primeira requisição" icon="https://mintcdn.com/x-preview-mintlify-5e62557c/7ox7QZkMlDBhUtvj/icons/xds/icon-rocket.svg?fit=max&auto=format&n=7ox7QZkMlDBhUtvj&q=85&s=b6c3ee24b3b5aff4ba4a87805d56fdc9" href="/make-your-first-request" width="24" height="24" data-path="icons/xds/icon-rocket.svg">
    Pronto para a API real? Faça sua primeira requisição.
  </Card>
</CardGroup>
