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

# Quick Start

> Da criação da conta à primeira questão de vestibular na tela.

<Steps>
  <Step title="Crie sua conta">
    Cadastre-se em [platform.enemhub.com.br](https://platform.enemhub.com.br/sign-up).
    A conta é da **organização**, não da pessoa — as chaves, a assinatura e o
    consumo pertencem a ela, e você pode convidar o resto do time depois.
  </Step>

  <Step title="Assine um plano">
    Em [Faturamento](https://platform.enemhub.com.br/dashboard/billing), escolha
    **Pro**, **Business** ou fale com a gente sobre o **Enterprise**.

    A assinatura precisa estar ativa antes de gerar a chave: sem ela, a criação
    da API Key é recusada com `403`.
  </Step>

  <Step title="Gere uma API Key">
    Em [API Keys](https://platform.enemhub.com.br/dashboard/keys), clique em
    criar, dê um nome (`produção`, `local`, o que for) e escolha o produto
    **ENEM + Vestibulares**.

    <Warning>
      A chave completa aparece **uma única vez**, no momento da criação. Guardamos
      só o hash — não há como recuperá-la depois. Copie e salve num cofre de
      segredos. Se perder, revogue e gere outra.
    </Warning>

    Ela tem esta cara:

    ```
    ehub_vest_aZ3fK9pQ...
    ```
  </Step>

  <Step title="Faça a primeira chamada">
    Comece pelo catálogo de exames — é ele que te dá os `examId` para filtrar
    depois:

    <CodeGroup>
      ```bash cURL theme={null}
      curl https://api.enemhub.com.br/v1/vestibulares/exams \
        -H "X-API-Key: ehub_vest_SUA_CHAVE"
      ```

      ```js TypeScript theme={null}
      const res = await fetch(
        "https://api.enemhub.com.br/v1/vestibulares/exams",
        { headers: { "X-API-Key": process.env.ENEMHUB_API_KEY } },
      );

      const { data } = await res.json();
      console.log(data.map((e) => `${e.name} (${e.institution})`));
      ```

      ```python Python theme={null}
      import os, requests

      res = requests.get(
          "https://api.enemhub.com.br/v1/vestibulares/exams",
          headers={"X-API-Key": os.environ["ENEMHUB_API_KEY"]},
      )
      for exame in res.json()["data"]:
          print(exame["name"], "—", exame["institution"])
      ```
    </CodeGroup>

    Resposta:

    ```json theme={null}
    {
      "data": [
        { "id": "3b1e...", "name": "FUVEST 2023", "institution": "USP", "type": "vestibular" },
        { "id": "7c9a...", "name": "ENEM 2023", "institution": "INEP", "type": "enem" }
      ]
    }
    ```

    Com um `id` em mãos, puxe as questões daquele exame:

    ```bash theme={null}
    curl -G https://api.enemhub.com.br/v1/vestibulares/questions \
      -H "X-API-Key: ehub_vest_SUA_CHAVE" \
      -d examId=3b1e... \
      -d limit=1
    ```
  </Step>
</Steps>

## E agora

<CardGroup cols={2}>
  <Card title="Autenticação" icon="key" href="/vestibulares/autenticacao">
    Escopo das chaves, rotação e o que significa cada erro de auth.
  </Card>

  <Card title="Exemplos" icon="code" href="/vestibulares/exemplos">
    Filtros, paginação e como lidar com `429`.
  </Card>

  <Card title="SDKs" icon="cube" href="/vestibulares/sdks">
    Trechos prontos em TypeScript, Python, PHP e cURL.
  </Card>

  <Card title="API Reference" icon="terminal" href="/vestibulares/api-reference">
    Todas as rotas, com playground.
  </Card>
</CardGroup>
