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

# Listar departamentos/unidades administrativas

> Recupera a lista paginada de departamentos com filtros opcionais (hierarquia, nível, busca).



## OpenAPI

````yaml https://raw.githubusercontent.com/prefeitura-rio/app-rmi/refs/heads/main/docs/openapi-v3.json get /departments
openapi: 3.0.0
info:
  description: >-
    API para gerenciamento de dados de cidadãos do Rio de Janeiro, incluindo
    autodeclaração de informações e verificação de contato.
  title: API RMI
  termsOfService: http://swagger.io/terms/
  contact:
    name: Suporte RMI
    url: http://www.rio.rj.gov.br
    email: suporte@rio.rj.gov.br
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
  version: '1.0'
servers:
  - url: https://services.pref.rio/rmi/v1
    description: Production
  - url: https://services.staging.app.dados.rio/rmi/v1
    description: Staging
security: []
tags:
  - description: >-
      Operações relacionadas a cidadãos, incluindo consulta e atualização de
      dados autodeclarados
    name: citizen
  - description: Operações relacionadas a departamentos/unidades administrativas (UA)
    name: departments
  - description: Gerenciamento de categorias de notificação (admin) e listagem pública
    name: notification-categories
  - description: Gerenciamento de preferências de notificação por CPF e telefone
    name: notification-preferences
  - description: Operações de verificação de saúde da API
    name: health
paths:
  /departments:
    get:
      tags:
        - departments
      summary: Listar departamentos/unidades administrativas
      description: >-
        Recupera a lista paginada de departamentos com filtros opcionais
        (hierarquia, nível, busca).
      parameters:
        - description: Código da UA pai para filtrar departamentos filhos
          name: parent_id
          in: query
          schema:
            type: string
        - description: Nível mínimo do departamento
          name: min_level
          in: query
          schema:
            type: integer
            minimum: 1
        - description: Nível máximo do departamento
          name: max_level
          in: query
          schema:
            type: integer
            minimum: 1
        - description: Nível exato do departamento (sobrescreve min/max)
          name: exact_level
          in: query
          schema:
            type: integer
            minimum: 1
        - description: Sigla da UA para filtro exato
          name: sigla_ua
          in: query
          schema:
            type: string
        - description: Texto para busca textual em nome_ua
          name: search
          in: query
          schema:
            type: string
        - description: 'Número da página (padrão: 1)'
          name: page
          in: query
          schema:
            type: integer
            minimum: 1
        - description: 'Itens por página (padrão: 10, máximo: 100)'
          name: per_page
          in: query
          schema:
            type: integer
            minimum: 1
            maximum: 100
      responses:
        '200':
          description: Lista paginada de departamentos obtida com sucesso
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/models.DepartmentListResponse'
        '400':
          description: Parâmetros inválidos
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/handlers.ErrorResponse'
        '500':
          description: Erro interno do servidor
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/handlers.ErrorResponse'
      security:
        - bearerAuth: []
components:
  schemas:
    models.DepartmentListResponse:
      type: object
      properties:
        departments:
          type: array
          items:
            $ref: '#/components/schemas/models.DepartmentResponse'
        pagination:
          $ref: '#/components/schemas/models.PaginationInfo'
        total_count:
          type: integer
    handlers.ErrorResponse:
      type: object
      properties:
        error:
          type: string
    models.DepartmentResponse:
      type: object
      properties:
        cd_ua:
          type: string
        cd_ua_pai:
          type: string
        id:
          type: string
        msg:
          type: string
        nivel:
          type: integer
        nome_ua:
          type: string
        ordem_absoluta:
          type: string
        ordem_relativa:
          type: string
        ordem_ua_basica:
          type: string
        sigla_ua:
          type: string
        updated_at:
          type: string
    models.PaginationInfo:
      type: object
      properties:
        page:
          type: integer
        per_page:
          type: integer
        total:
          type: integer
        total_pages:
          type: integer
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````