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

# Primeiros passos: primeira requisição à API Ghosting

> Faça sua primeira requisição à API pública Ghosting em menos de um minuto. Consulte um perfil via cURL, JavaScript ou Python sem precisar de autenticação.

A API pública do Ghosting é aberta e não exige cadastro. Este guia mostra como consultar um perfil e interpretar a resposta em três passos.

<Steps>
  <Step title="Escolha um username">
    Use qualquer nome de usuário cadastrado no Ghosting, sem o `@`. Por exemplo: `ghosting`.
  </Step>

  <Step title="Faça a requisição">
    Envie um `GET` para a rota de perfil:

    <CodeGroup>
      ```bash cURL theme={null}
      curl -X GET "https://ghosting.fun/api/v1/users/ghosting" \
        -H "Accept: application/json"
      ```

      ```javascript JavaScript theme={null}
      const res = await fetch("https://ghosting.fun/api/v1/users/ghosting");
      const { data } = await res.json();
      console.log(data.displayName, data.views);
      ```

      ```python Python theme={null}
      import requests
      r = requests.get("https://ghosting.fun/api/v1/users/ghosting")
      user = r.json()["data"]
      print(user["displayName"], user["views"])
      ```
    </CodeGroup>
  </Step>

  <Step title="Leia a resposta">
    A API retorna um objeto JSON com `success`, `data` (o perfil) e `meta` (timestamp, versão, tempo de execução).

    ```json theme={null}
    {
      "success": true,
      "data": {
        "username": "ghosting",
        "displayName": "Ghosting Oficial",
        "views": 32890,
        "status": "active",
        "badges": { "isVerified": true, "isOfficial": true }
      },
      "meta": { "version": "v1", "executionTimeMs": 6 }
    }
    ```
  </Step>
</Steps>

## Alternativa via query parameter

Se preferir passar o username como parâmetro de consulta:

```http theme={null}
GET https://ghosting.fun/api/v1/users?username=ghosting
```

<Tip>
  A API responde com `200 OK` mesmo para perfis suspensos. Verifique `data.status` e `data.banInfo.isBanned` antes de exibir o perfil. Veja mais em [Arquitetura de moderação](/guias/moderacao).
</Tip>

## Próximos passos

<CardGroup cols={2}>
  <Card title="Ver todos os endpoints" icon="code" href="/api-reference/get-user">
    Referência completa das rotas REST v1.
  </Card>

  <Card title="Entender a resposta" icon="layers" href="/schemas/user">
    Todos os campos do objeto `User`.
  </Card>
</CardGroup>
