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

# Buscar turmas públicas do SIGAA, sem login

> Consulta diretamente o SIGAA, sem filtrar o nível de ensino. Informe unit ou code. Sem unit, o prefixo de letras do código determina as unidades consultadas, pelas matérias conhecidas no banco; o código completo deve corresponder exatamente. Sem semester, preserva o ano/período do formulário do SIGAA. Com code, retorna 404 se não houver oferta nas unidades e no semestre consultados; isso não confirma que a disciplina inexiste. Se apenas number, q ou local excluir as turmas encontradas, retorna uma lista vazia (200).



## OpenAPI

````yaml /mintlify/openapi.json get /public/classrooms
openapi: 3.1.0
info:
  title: Followw UnB API
  description: >-
    Cliente alternativo e open-source para o ecossistema de sistemas da
    Universidade de Brasília (UnB). Agrega em uma experiência unificada e
    performática dados do SIGAA, Restaurante Universitário (RU) e calendário
    oficial, com autenticação stateless delegada ao CAS da UnB, credenciais
    cifradas em cookies JWE (AES-256-GCM), sincronização assíncrona inteligente
    e cache resiliente via Stale-While-Revalidate.
  version: 0.1.0
servers:
  - url: https://api.followw.app
    description: Produção
  - url: http://localhost:8000
    description: Desenvolvimento local
security: []
tags:
  - name: Auth
    description: >-
      Autenticação via SIGAA/CAS da UnB e gerenciamento de sessão stateless por
      cookies.
  - name: Classrooms
    description: >-
      Turmas do semestre e histórico, participantes, frequência e estatísticas
      de aprovação.
  - name: Me
    description: >-
      Perfil acadêmico, extrato/saldo do RU e carteirinha do estudante
      autenticado.
  - name: Public Classrooms
    description: Busca pública de turmas e unidades do SIGAA, sem autenticação.
    x-displayName: Classrooms
  - name: Public Courses
    description: >-
      Cursos cadastrados e seus currículos por semestre de ingresso, sem
      autenticação.
    x-displayName: Courses
  - name: Public Professors
    description: Catálogo público de docentes do SIGAA, sem autenticação.
    x-displayName: Professors
  - name: Public Restaurant
    description: Cardápio público do RU, sem autenticação.
    x-displayName: Restaurant
  - name: Public Subjects
    description: Componentes curriculares de graduação e suas turmas, sem autenticação.
    x-displayName: Subjects
  - name: Posts
    description: >-
      Notícias e avaliações recentes das turmas, consultadas diretamente na home
      do SIGAA.
paths:
  /public/classrooms:
    get:
      tags:
        - Public Classrooms
      summary: Buscar turmas públicas do SIGAA, sem login
      description: >-
        Consulta diretamente o SIGAA, sem filtrar o nível de ensino. Informe
        unit ou code. Sem unit, o prefixo de letras do código determina as
        unidades consultadas, pelas matérias conhecidas no banco; o código
        completo deve corresponder exatamente. Sem semester, preserva o
        ano/período do formulário do SIGAA. Com code, retorna 404 se não houver
        oferta nas unidades e no semestre consultados; isso não confirma que a
        disciplina inexiste. Se apenas number, q ou local excluir as turmas
        encontradas, retorna uma lista vazia (200).
      operationId: search_classrooms_public_classrooms_get
      parameters:
        - name: unit
          in: query
          required: false
          schema:
            anyOf:
              - type: integer
                maximum: 2147483647
                exclusiveMinimum: 0
              - type: string
                pattern: '[^0-9]'
              - type: 'null'
            description: >-
              ID ou sigla exata da unidade, como 673 ou FCTE. Obrigatório quando
              code não for informado. Com code, restringe a busca a esta
              unidade. Consulte /public/classrooms/units para obter os IDs.
            title: Unit
          description: >-
            ID ou sigla exata da unidade, como 673 ou FCTE. Obrigatório quando
            code não for informado. Com code, restringe a busca a esta unidade.
            Consulte /public/classrooms/units para obter os IDs.
        - name: semester
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                pattern: ^[0-9]{4}\.[0-9]$
              - type: 'null'
            description: >-
              Opcional, no formato AAAA.P: 2026.2, 2027.1 ou 2026.4. Sem filtro,
              usa os valores do SIGAA.
            title: Semester
          description: >-
            Opcional, no formato AAAA.P: 2026.2, 2027.1 ou 2026.4. Sem filtro,
            usa os valores do SIGAA.
        - name: q
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Trecho do nome ou código da disciplina, ou do nome de qualquer
              docente. Ignora acentos, maiúsculas e espaços extras. Filtra o
              resultado da unidade/semestre após consultar o SIGAA; vazio não
              filtra.
            title: Q
          description: >-
            Trecho do nome ou código da disciplina, ou do nome de qualquer
            docente. Ignora acentos, maiúsculas e espaços extras. Filtra o
            resultado da unidade/semestre após consultar o SIGAA; vazio não
            filtra.
        - name: local
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Trecho do local da turma, incluindo unidade e sala, como 'S3',
              'FCTE - S3' ou 'auditorio'. Ignora acentos, maiúsculas e espaços
              extras; vazio não filtra. Com q, exige correspondência nos dois
              filtros.
            title: Local
          description: >-
            Trecho do local da turma, incluindo unidade e sala, como 'S3', 'FCTE
            - S3' ou 'auditorio'. Ignora acentos, maiúsculas e espaços extras;
            vazio não filtra. Com q, exige correspondência nos dois filtros.
        - name: code
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                pattern: ^\s*[A-Za-z]+[0-9]+\s*$
              - type: 'null'
            description: Código completo da disciplina, como MAT0031 ou FGA0132.
            title: Code
          description: Código completo da disciplina, como MAT0031 ou FGA0132.
        - name: number
          in: query
          required: false
          schema:
            anyOf:
              - type: integer
                maximum: 99
                minimum: 1
              - type: 'null'
            description: >-
              Número da turma, de 1 a 99. Aceita com ou sem zero à esquerda: '1'
              e '01' selecionam a mesma turma. Combina com os demais filtros;
              use code e semester para identificar a disciplina e o semestre.
              Sem correspondência, retorna lista vazia.
            title: Number
          description: >-
            Número da turma, de 1 a 99. Aceita com ou sem zero à esquerda: '1' e
            '01' selecionam a mesma turma. Combina com os demais filtros; use
            code e semester para identificar a disciplina e o semestre. Sem
            correspondência, retorna lista vazia.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PublicClassroom'
                title: Response Search Classrooms Public Classrooms Get
        '404':
          description: >-
            Nenhuma turma do código completo nas unidades e no semestre
            consultados. A disciplina pode não existir ou não ter oferta nessas
            condições.
        '422':
          description: >-
            Informe unit ou code. Filtro inválido ou unidade inexistente.
            Prefixo desconhecido pode não existir no SIGAA ou ainda não estar
            mapeado; informe unit para buscar diretamente.
        '502':
          description: SIGAA indisponível ou resposta ilegível.
components:
  schemas:
    PublicClassroom:
      properties:
        number:
          type: string
          title: Number
        semester:
          type: string
          title: Semester
        schedule:
          anyOf:
            - type: string
            - type: 'null'
          title: Schedule
        schedule_description:
          anyOf:
            - type: string
            - type: 'null'
          title: Schedule Description
        room:
          anyOf:
            - type: string
            - type: 'null'
          title: Room
        vacancies:
          anyOf:
            - type: integer
            - type: 'null'
          title: Vacancies
        occupied:
          anyOf:
            - type: integer
            - type: 'null'
          title: Occupied
        professors:
          items:
            type: string
          type: array
          title: Professors
          default: []
        subject:
          $ref: '#/components/schemas/Subject'
      type: object
      required:
        - number
        - semester
        - subject
      title: PublicClassroom
      description: |-
        Turma da busca pública.

        Não tem `id`: a área pública não expõe o `frontEndIdTurma`, então a
        identidade aqui é a chave natural `(subject.code, number, semester)`.
    Subject:
      properties:
        code:
          anyOf:
            - type: string
            - type: 'null'
          title: Code
        sigaa_id:
          anyOf:
            - type: integer
            - type: 'null'
          title: Sigaa Id
        name:
          type: string
          title: Name
        hours:
          anyOf:
            - type: integer
            - type: 'null'
          title: Hours
        unit:
          anyOf:
            - type: string
            - type: 'null'
          title: Unit
      type: object
      required:
        - name
      title: Subject
      description: Componente curricular, nos campos da tabela `subjects`.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.