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

# Criar Unidades

> O endpoint de criação de unidades permite registrar informações essenciais de instituições educacionais, facilitando o processo de inserção das mesmas.

## Parâmetros

<ParamField body="name" type="string" required>
  O nome da unidade a ser criada. Deve conter no máximo 255 caracteres.
</ParamField>

<ParamField body="urlSlug" type="string" required>
  URL da unidade. Deve ser um valor único, em um formato de URL válido, com no máximo 255 caracteres.
</ParamField>

<ParamField body="groups" type="number[]" required>
  `Array` contendo os identificadores de grupos (Nível 1 de filtros) da instituição.
</ParamField>

<ParamField body="subgroups" type="number[]">
  `Array` contendo os identificadores de subgrupos (Nível 2 de filtros) da instituição.
</ParamField>

<ParamField body="specialties" type="number[]">
  `Array` contendo os identificadores de especialidades (Nível 3 de filtros) da instituição.
</ParamField>

<ParamField body="colorScheme" type="object" required>
  Objeto contendo os valores das cores a serem utilizadas na unidade.

  <ParamField body="primary" type="string" required>
    Cor primária da identidade visual da unidade, geralmente utilizada como cor de destaque.
  </ParamField>

  <ParamField body="secondary" type="string" required>
    Cor secundária complementar da identidade visual da unidade.
  </ParamField>

  <ParamField body="buttonText" type="string" required>
    Cor do texto exibido em botões da interface.
  </ParamField>
</ParamField>

<ParamField body="location" type="object" required>
  Objeto opcional contendo os dados de localização da unidade.

  <ParamField body="street" type="string" required>
    Nome da rua onde a unidade está localizada.
  </ParamField>

  <ParamField body="number" type="string" required>
    Número do endereço da unidade.
  </ParamField>

  <ParamField body="district" type="string" required>
    Bairro onde a unidade está localizada.
  </ParamField>

  <ParamField body="city" type="string" required>
    Cidade onde a unidade está localizada.
  </ParamField>

  <ParamField body="state" type="string" required>
    Estado (UF) onde a unidade está localizada.
  </ParamField>

  <ParamField body="zipCode" type="string" required>
    Código postal (CEP) do endereço da unidade.
  </ParamField>
</ParamField>

<ParamField body="features" type="object">
  **\[Inconsistência]**
  Objeto contendo as configurações da unidade em formato boolean.

  <ParamField body="enableTeacherRegistration" type="boolean">
    Ativa ou desativa a opção de cadastro de professores na unidade.
  </ParamField>

  <ParamField body="enableStudentRegistration" type="boolean">
    Ativa ou desativa a opção de cadastro de alunos na unidade.
  </ParamField>

  <ParamField body="enableGoogleLogin" type="boolean">
    Ativa ou desativa o login por conta Google.
  </ParamField>

  <ParamField body="enableLoginByDocument" type="boolean">
    Ativa ou desativa o login utilizando número de documento.
  </ParamField>

  <ParamField body="enableLoginByEmail" type="boolean">
    Ativa ou desativa o login por e-mail.
  </ParamField>

  <ParamField body="isPartOfProgram" type="boolean">
    Indica se a unidade pertence a um programa institucional específico.
  </ParamField>

  <ParamField body="enableForum" type="boolean">
    Ativa ou desativa a funcionalidade de fórum na unidade.
  </ParamField>

  <ParamField body="enableViewCount" type="boolean">
    Ativa ou desativa a contagem de visualizações de conteúdos.
  </ParamField>

  <ParamField body="enableRating" type="boolean">
    Ativa ou desativa a funcionalidade de avaliação (nota) de conteúdos.
  </ParamField>

  <ParamField body="enableReviews" type="boolean">
    Ativa ou desativa a possibilidade de comentários ou resenhas.
  </ParamField>

  <ParamField body="showSchoolIconInMenu" type="boolean">
    Exibe ou oculta o ícone da escola no menu de navegação.
  </ParamField>

  <ParamField body="showIconDetails" type="boolean">
    Exibe ou oculta detalhes visuais dos ícones associados à escola.
  </ParamField>

  <ParamField body="replicateInstitutionMenuLinks" type="boolean">
    Ativa ou desativa a replicação dos links do menu institucional.
  </ParamField>

  <ParamField body="displaySchoolAccessButton" type="boolean">
    Exibe ou oculta o botão de acesso direto à unidade escolar.
  </ParamField>
</ParamField>

<ParamField body="contractNumber" type="string">
  Número do contrato. Deve ser um valor único, com no máximo 50 caracteres.
</ParamField>

<ParamField body="tags" type="array">
  Deve ser um `array` de `strings`, com no máximo 10 elementos.
</ParamField>

<ParamField body="taxid" type="string">
  O CNPJ da unidade. Deve ser um CNPJ válido.
</ParamField>

<Note>Antes de utilizar este endpoint, certifique-se de possuir os seguintes parâmetros disponíveis:</Note>

* **Nome da unidade** `obrigatório`: Defina um nome para a sua unidade.
* **Slug da URL** `obrigatório`: Necessário caso a busca seja realizada pelo slug.
* **Grupos** `obrigatório`: ID do(s) grupo(s) da instituição a serem vinculados a essa unidade.
* **Esquema de cores da unidade** `obrigatório`: Defina os valores em hexadecimal para as cores primária, secundária e da fonte dos botões.
* **Configurações da unidade** `obrigatório`: Defina quais são os parâmetros essenciais para a sua unidade de aprendizado.

## Descrição da Resposta

Abaixo está um exemplo da resposta retornada por este endpoint.

<ResponseField name="success" type="boolean">
  Indica se a solicitação foi bem-sucedida.
</ResponseField>

<Warning>Este endpoint funcionará corretamente apenas se o domínio da sua instituição for informado manualmente na URL, caso contrário, o endpoint poderá falhar ou retornar um erro de validação.</Warning>

<ResponseField name="data" type="object">
  Detalhes da unidade educacional.

  <Expandable title="properties">
    <ResponseField name="id" type="number">
      Identificador único da unidade.
    </ResponseField>

    <ResponseField name="name" type="string">
      Nome da unidade.
    </ResponseField>

    <ResponseField name="urlSlug" type="string">
      Slug da URL da unidade.
    </ResponseField>

    <ResponseField name="contractNumber" type="string">
      Número do contrato associado à unidade.
    </ResponseField>

    <ResponseField name="tags" type="array">
      Lista de tags associadas à unidade.
    </ResponseField>

    <ResponseField name="taxId" type="string">
      Número de identificação fiscal (CNPJ).
    </ResponseField>

    <ResponseField name="groups" type="array">
      Lista de grupos associados à unidade.

      <Expandable title="items">
        <ResponseField name="id" type="number">
          Identificador único do grupo.
        </ResponseField>

        <ResponseField name="name" type="string">
          Nome do grupo.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="subgroups" type="array">
      Lista de subgrupos associados à unidade.

      <Expandable title="items">
        <ResponseField name="id" type="number">
          Identificador único do subgrupo.
        </ResponseField>

        <ResponseField name="name" type="string">
          Nome do subgrupo.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="specialties" type="array">
      Lista de especialidades associadas à unidade.

      <Expandable title="items">
        <ResponseField name="id" type="number">
          Identificador único da especialidade.
        </ResponseField>

        <ResponseField name="name" type="string">
          Nome da especialidade.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="colorScheme" type="object">
      Configuração do esquema de cores.

      <Expandable title="properties">
        <ResponseField name="primary" type="string">
          Código da cor primária.
        </ResponseField>

        <ResponseField name="secondary" type="string">
          Código da cor secundária.
        </ResponseField>

        <ResponseField name="buttonText" type="string">
          Código da cor do texto dos botões.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="social" type="object">
      Informações de redes sociais.

      <Expandable title="properties">
        <ResponseField name="facebook" type="string">
          Facebook da unidade.
        </ResponseField>

        <ResponseField name="youtube" type="string">
          YouTube da unidade.
        </ResponseField>

        <ResponseField name="instagram" type="string">
          Instagram da unidade.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="location" type="object">
      Detalhes da localização da unidade.

      <Expandable title="properties">
        <ResponseField name="street" type="string">
          Nome da rua.
        </ResponseField>

        <ResponseField name="number" type="string">
          Número da rua.
        </ResponseField>

        <ResponseField name="additionalDetails" type="string">
          Informações adicionais sobre a localização.
        </ResponseField>

        <ResponseField name="district" type="string">
          Nome do bairro.
        </ResponseField>

        <ResponseField name="city" type="string">
          Nome da cidade.
        </ResponseField>

        <ResponseField name="state" type="string">
          Sigla do estado.
        </ResponseField>

        <ResponseField name="zipCode" type="string">
          Código postal (CEP).
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="features" type="object">
      Configurações e recursos habilitados para a unidade.

      <Expandable title="properties">
        <ResponseField name="enableTeacherRegistration" type="boolean">
          Indica se o cadastro de professores está habilitado.
        </ResponseField>

        <ResponseField name="enableStudentRegistration" type="boolean">
          Indica se o cadastro de alunos está habilitado.
        </ResponseField>

        <ResponseField name="enableGoogleLogin" type="boolean">
          Indica se o login via Google está habilitado.
        </ResponseField>

        <ResponseField name="enableLoginByDocument" type="boolean">
          Indica se o login via documento está habilitado.
        </ResponseField>

        <ResponseField name="enableLoginByEmail" type="boolean">
          Indica se o login via e-mail está habilitado.
        </ResponseField>

        <ResponseField name="enableForum" type="boolean">
          Indica se o fórum está habilitado.
        </ResponseField>

        <ResponseField name="enableViewCounter" type="boolean">
          Indica se o contador de visualizações está habilitado.
        </ResponseField>

        <ResponseField name="enableRating" type="boolean">
          Indica se a avaliação está habilitada.
        </ResponseField>

        <ResponseField name="isPartOfProgram" type="boolean">
          Indica se a unidade faz parte de um programa.
        </ResponseField>

        <ResponseField name="enableReviews" type="boolean">
          Indica se as avaliações de usuários estão habilitadas.
        </ResponseField>

        <ResponseField name="showSchoolIconInMenu" type="boolean">
          Indica se o ícone da escola será exibido no menu.
        </ResponseField>

        <ResponseField name="showIconDetails" type="boolean">
          Indica se os detalhes do ícone serão exibidos.
        </ResponseField>

        <ResponseField name="replicateInstitutionMenuLinks" type="boolean">
          Indica se os links do menu da instituição serão replicados.
        </ResponseField>

        <ResponseField name="displaySchoolAccessButton" type="boolean">
          Indica se o botão de acesso à escola será exibido.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="createdAt" type="string">
      Data e hora de criação da unidade.
    </ResponseField>

    <ResponseField name="updatedAt" type="string">
      Data e hora da última atualização da unidade.
    </ResponseField>
  </Expandable>
</ResponseField>

## Segurança

Para acessar este endpoint, é necessário enviar um token de acesso válido através do cabeçalho de autorização (Authorization) da requisição. Além disso, a API conta com outras medidas de segurança para proteger os dados dos usuários.
