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

# Listar questionários de checklist

> Lista os questionários de checklist, com a pontuação máxima, os perfis que podem ser responsáveis pela avaliação, a origem dos anexos, a categoria e o que o check-in e o check-out exigem. Os filtros de check-in e check-out (`checkInEnabled` e `checkOutEnabled`) têm o mesmo nome dos campos da resposta. Sem o filtro `active`, vêm só os questionários ativos. Até 100 registros por página; use `page` para as próximas.



## OpenAPI

````yaml /api-reference/openapi-v2.json get /api/v2/checklist/template/list
openapi: 3.1.0
info:
  title: API do SULTS v2
  version: '2.0'
  description: >-
    A nova geração da API do SULTS, em migração módulo a módulo (Compras
    primeiro). Autenticação por token v2 no cabeçalho `Authorization`; tokens v1
    não funcionam aqui. Nas requisições com corpo, envie `Content-Type:
    application/json;charset=UTF-8`.
  contact:
    name: Suporte SULTS
    url: https://ajuda.sults.com.br
servers:
  - url: https://api.sults.com.br
security:
  - apiKeyAuth: []
tags:
  - name: Produtos
    description: >-
      Cadastro, preço, estoque, variações e variantes de produto no módulo de
      Compras da v2. A API do SULTS é REST sobre HTTPS e responde em JSON. Cada
      requisição leva o token no cabeçalho `Authorization`, enviado puro, sem o
      prefixo `Bearer`. O token é gerado por um administrador na plataforma, em
      Segurança > API > Gestão de Tokens v2. O limite é de 2 requisições por
      segundo, por IP.
  - name: Mix de produtos
    description: >-
      Sortimento de produtos por empresa. Disponível apenas quando o recurso de
      mix está habilitado na plataforma, em Comercial > Configuração > Mix de
      produto. A API do SULTS é REST sobre HTTPS e responde em JSON. Cada
      requisição leva o token no cabeçalho `Authorization`, enviado puro, sem o
      prefixo `Bearer`. O token é gerado por um administrador na plataforma, em
      Segurança > API > Gestão de Tokens v2. O limite é de 2 requisições por
      segundo, por IP.
  - name: Pedidos e etapas
    description: >-
      Pedidos de compra da v2 e o fluxo de etapas, que é configurável por
      operação. A API do SULTS é REST sobre HTTPS e responde em JSON. Cada
      requisição leva o token no cabeçalho `Authorization`, enviado puro, sem o
      prefixo `Bearer`. O token é gerado por um administrador na plataforma, em
      Segurança > API > Gestão de Tokens v2. O limite é de 2 requisições por
      segundo, por IP.
  - name: Comunicados
    description: >-
      Comunicados publicados na plataforma, com o público de cada um, a
      confirmação de leitura e o conteúdo publicado. A API do SULTS é REST sobre
      HTTPS e responde em JSON. Cada requisição leva o token no cabeçalho
      `Authorization`, enviado puro, sem o prefixo `Bearer`. O token é gerado
      por um administrador na plataforma, em Segurança > API > Gestão de Tokens
      v2. O limite é de 2 requisições por segundo, por IP.
  - name: Chamados
    description: >-
      Chamados da plataforma: abertura, timeline, interações, apoios, etiquetas,
      prazo e conclusão. A API do SULTS é REST sobre HTTPS e responde em JSON.
      Cada requisição leva o token no cabeçalho `Authorization`, enviado puro,
      sem o prefixo `Bearer`. O token é gerado por um administrador na
      plataforma, em Segurança > API > Gestão de Tokens v2. O limite é de 2
      requisições por segundo, por IP.
  - name: Checklist
    description: >-
      Avaliações de checklist com respostas, check-in e check-out, os
      questionários com seções e questões, e os planos de ação com a timeline. A
      API do SULTS é REST sobre HTTPS e responde em JSON. Cada requisição leva o
      token no cabeçalho `Authorization`, enviado puro, sem o prefixo `Bearer`.
      O token é gerado por um administrador na plataforma, em Segurança > API >
      Gestão de Tokens v2. O limite é de 2 requisições por segundo, por IP.
  - name: Arquivos
    description: >-
      Upload de arquivos para anexar nos endpoints de escrita da v2, em duas
      etapas: o upload devolve o id do arquivo, e o id vai no campo de anexos da
      escrita. O arquivo fica disponível até ser usado ou expirar, com até 100
      disponíveis; a listagem mostra os disponíveis, com a data de expiração, e
      eles podem ser removidos. A API do SULTS é REST sobre HTTPS e responde em
      JSON. Cada requisição leva o token no cabeçalho `Authorization`, enviado
      puro, sem o prefixo `Bearer`. O token é gerado por um administrador na
      plataforma, em Segurança > API > Gestão de Tokens v2. O limite é de 2
      requisições por segundo, por IP.
paths:
  /api/v2/checklist/template/list:
    get:
      tags:
        - Checklist
      summary: Listar questionários de checklist
      description: >-
        Lista os questionários de checklist, com a pontuação máxima, os perfis
        que podem ser responsáveis pela avaliação, a origem dos anexos, a
        categoria e o que o check-in e o check-out exigem. Os filtros de
        check-in e check-out (`checkInEnabled` e `checkOutEnabled`) têm o mesmo
        nome dos campos da resposta. Sem o filtro `active`, vêm só os
        questionários ativos. Até 100 registros por página; use `page` para as
        próximas.
      operationId: listarQuestionariosChecklist
      parameters:
        - name: id
          in: query
          schema:
            type: string
            pattern: ^\d+(,\d+)*$
          description: Ids dos questionários, separados por vírgula (`54,55`).
          example: 54,55
        - name: categoryId
          in: query
          schema:
            type: string
            pattern: ^\d+(,\d+)*$
          description: >-
            Ids das categorias do questionário, separados por vírgula (`4,6`).
            Os ids vêm de `GET /api/v2/checklist/template/category/list`.
          example: '4'
        - name: createdAfter
          in: query
          schema:
            type: string
            format: date-time
          description: >-
            Traz os questionários criados nesta data ou depois dela, em UTC.
            Formato exato `yyyy-MM-ddTHH:mm:ssZ`.
          example: '2026-10-01T03:00:00Z'
        - name: createdBefore
          in: query
          schema:
            type: string
            format: date-time
          description: >-
            Traz os questionários criados nesta data ou antes dela, em UTC.
            Formato exato `yyyy-MM-ddTHH:mm:ssZ`.
          example: '2026-10-31T02:59:59Z'
        - name: active
          in: query
          schema:
            type: boolean
          description: Filtra pelos questionários ativos (`true`, o padrão).
          example: true
        - name: checkInEnabled
          in: query
          schema:
            type: boolean
          description: Filtra pelos questionários com check-in.
          example: true
        - name: checkOutEnabled
          in: query
          schema:
            type: boolean
          description: Filtra pelos questionários com check-out.
          example: true
        - name: assigneeRoleType
          in: query
          schema:
            type: string
          description: >-
            Perfis de usuário que podem ser responsáveis pela avaliação. Aceita
            um valor ou os dois separados por vírgula (`ADMIN,COMPANY`), sem
            diferenciar maiúsculas de minúsculas.


            | Valor | Significado |

            | ----- | ----------- |

            | `ADMIN` | Usuário administrador |

            | `COMPANY` | Usuário de unidade |
          example: ADMIN
        - $ref: '#/components/parameters/Page'
      responses:
        '200':
          description: Lista de questionários.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ChecklistQuestionarioV2'
              example:
                - id: 37
                  name: Inspeção de loja básico
                  descriptionHtml: ''
                  createdAt: '2018-08-29T20:31:42Z'
                  maxScore: 470
                  active: true
                  attachmentSource: CAMERA_AND_UPLOAD
                  assigneeRoleType:
                    - ADMIN
                    - COMPANY
                  category:
                    id: 1
                    name: Padrão
                    active: true
                  checkInEnabled: true
                  checkInSettings:
                    commentRequired: true
                    signatureRequired: true
                    attachmentRequired: true
                    geolocationRequired: true
                  checkOutEnabled: true
                  checkOutSettings:
                    commentRequired: false
                    signatureRequired: false
                    attachmentRequired: false
                    geolocationRequired: false
        '400':
          description: >-
            Valor inválido ou faltando. A API aponta um campo por vez, com a
            mensagem em inglês: corrija o campo citado e reenvie, até receber
            200. `Invalid value, please verify.` indica um valor em formato
            inesperado. Quando o serviço do Checklist recusa o pedido, a
            mensagem é a dele.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErroChecklistV2'
              example:
                error: >-
                  'assigneeRoleType' field only accepts the following values:
                  ADMIN, COMPANY or ADMIN,COMPANY.
                dateTime: '2026-11-03T14:20:00Z'
        '401':
          $ref: '#/components/responses/TokenInvalido'
        '403':
          $ref: '#/components/responses/SemPermissaoChecklist'
        '404':
          $ref: '#/components/responses/NaoEncontradoChecklist'
        '429':
          $ref: '#/components/responses/LimiteDeRequisicoes'
        5XX:
          description: >-
            Falha inesperada no servidor ao listar os questionários. Acontece
            quando o serviço do Checklist responde com erro, não responde em 30
            segundos ou não está configurado para a rede. Repita com espera
            crescente, a partir de 1 segundo; persistindo, acione o suporte com
            o `dateTime` da resposta, o endpoint e os dados enviados. Se a falha
            acontecer na validação do token, o corpo é `{"error": "Internal
            Server Error."}`, sem `dateTime`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErroChecklistV2'
              example:
                error: Internal Server Error
                dateTime: '2026-11-03T14:20:00Z'
components:
  parameters:
    Page:
      name: page
      in: query
      description: >-
        Número da página da listagem, começando em `0`. Incremente até a
        resposta vir vazia.
      schema:
        type: integer
        minimum: 0
        default: 0
      example: 0
  schemas:
    ChecklistQuestionarioV2:
      type: object
      description: >-
        Questionário de checklist: as seções e questões aplicadas nas
        avaliações.
      properties:
        id:
          type: integer
          description: Id do questionário.
          example: 54
        name:
          type: string
          description: Nome do questionário.
          example: Inspeção de qualidade da unidade
        descriptionHtml:
          type:
            - string
            - 'null'
          description: Descrição do questionário, em HTML.
          example: <p>Roteiro mensal de qualidade e limpeza.</p>
        createdAt:
          type: string
          description: Data de criação, em UTC. Formato exato `yyyy-MM-ddTHH:mm:ssZ`.
          example: '2026-10-09T13:39:58Z'
          format: date-time
        maxScore:
          type: integer
          description: >-
            Pontuação máxima do questionário. `null` quando o questionário não
            tem pontuação.
          example: 660
        active:
          type: boolean
          description: Indica se o questionário está ativo.
          example: true
        attachmentSource:
          $ref: '#/components/schemas/OrigemAnexoChecklistV2'
          description: |-
            De onde vêm os anexos das respostas.

            | Valor | Significado |
            | ----- | ----------- |
            | `CAMERA_ONLY` | Somente câmera |
            | `CAMERA_AND_UPLOAD` | Câmera e upload |
        assigneeRoleType:
          type: array
          description: >-
            Perfis de usuário que podem ser responsáveis pela avaliação. Não vem
            quando o perfil do questionário não é reconhecido.
          items:
            $ref: '#/components/schemas/PerfilResponsavelChecklistV2'
          example:
            - ADMIN
        category:
          $ref: '#/components/schemas/ChecklistCategoriaQuestionarioV2'
          description: Categoria do questionário.
        checkInEnabled:
          type: boolean
          description: Indica se as avaliações do questionário têm check-in.
          example: true
        checkInSettings:
          $ref: '#/components/schemas/ChecklistEtapaConfigV2'
          description: O que o check-in exige.
        checkOutEnabled:
          type: boolean
          description: Indica se as avaliações do questionário têm check-out.
          example: true
        checkOutSettings:
          $ref: '#/components/schemas/ChecklistEtapaConfigV2'
          description: O que o check-out exige.
    ErroChecklistV2:
      type: object
      description: >-
        Corpo de erro do módulo de Checklist. Não existe código de erro interno:
        decida a sua lógica pelo status HTTP e use a mensagem apenas para logs e
        diagnóstico.
      required:
        - error
      properties:
        error:
          type: string
          description: >-
            Mensagem da falha, em inglês. O texto pode mudar: nunca o use como
            condição de código.
          example: '''assessmentId'' is required.'
        dateTime:
          type: string
          format: date-time
          description: >-
            Data e hora do erro, em UTC. Formato exato `yyyy-MM-ddTHH:mm:ssZ`.
            Informe esse valor ao suporte.
          example: '2026-11-03T14:20:00Z'
    OrigemAnexoChecklistV2:
      type: string
      description: |-
        De onde vêm os anexos das respostas.

        | Valor | Significado |
        | ----- | ----------- |
        | `CAMERA_ONLY` | Somente câmera |
        | `CAMERA_AND_UPLOAD` | Câmera e upload |
      example: CAMERA_ONLY
    PerfilResponsavelChecklistV2:
      type: string
      description: |-
        Perfil de usuário que pode ser responsável pela avaliação.

        | Valor | Significado |
        | ----- | ----------- |
        | `ADMIN` | Usuário administrador |
        | `COMPANY` | Usuário de unidade |
      example: ADMIN
    ChecklistCategoriaQuestionarioV2:
      type: object
      description: Categoria do questionário de checklist.
      properties:
        id:
          type: integer
          description: Id da categoria. É o valor do filtro `categoryId`.
          example: 1
        name:
          type: string
          description: Nome da categoria.
          example: Padrão
        active:
          type: boolean
          description: Indica se a categoria está ativa.
          example: true
    ChecklistEtapaConfigV2:
      type: object
      description: O que o check-in ou o check-out exige.
      properties:
        commentRequired:
          type: boolean
          description: Exige comentário.
          example: true
        signatureRequired:
          type: boolean
          description: Exige assinatura.
          example: true
        attachmentRequired:
          type: boolean
          description: Exige anexo.
          example: true
        geolocationRequired:
          type: boolean
          description: Exige a captura da localização.
          example: true
    Erro:
      type: object
      description: >-
        Corpo padrão de erro da API. Não existe código de erro interno: decida a
        sua lógica pelo status HTTP e use a mensagem apenas para logs e
        diagnóstico.
      required:
        - error
      properties:
        error:
          type: string
          description: >-
            Mensagem legível, em português, descrevendo a falha. O texto pode
            mudar: nunca o use como condição de código.
          example: Campo supplierId não pode ser vazio ou nulo.
  responses:
    TokenInvalido:
      description: >-
        Token ausente ou inválido. Confira: copiado por completo, cabeçalho
        `Authorization` com o nome exato, valor sem o prefixo `Bearer` e gerado
        na **Gestão de Tokens v2** (tokens v1 não funcionam aqui). Sem retry
        automático. O corpo real é `{"error": "Acesso não autorizado."}`.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Erro'
          example:
            error: Acesso não autorizado.
    SemPermissaoChecklist:
      description: >-
        O módulo de Checklist recusou o acesso ao recurso pedido. Repetir a
        chamada sem mudança devolve o mesmo erro.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErroChecklistV2'
          example:
            error: Unauthorized
            dateTime: '2026-11-03T14:20:00Z'
    NaoEncontradoChecklist:
      description: >-
        Registro não encontrado no módulo de Checklist. Confira o id informado;
        reenviar sem corrigir devolve o mesmo erro.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErroChecklistV2'
          example:
            error: Not Found
            dateTime: '2026-11-03T14:20:00Z'
    LimiteDeRequisicoes:
      description: >-
        Limite de requisições excedido: **2 requisições por segundo, por IP**. A
        resposta é a página HTML padrão do servidor, não JSON, e não há o header
        `Retry-After`: trate pelo status 429, sem fazer parse do corpo, com
        espera crescente a partir de 1 segundo.
      content:
        text/html:
          schema:
            type: string
            description: >-
              Página HTML padrão do servidor. Não faça parse; decida pelo
              status.
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: Authorization
      description: >-
        Token  gerado na Gestão de Tokens v2 do SULTS. Deve ser enviado no
        cabeçalho `Authorization` de todas as requisições.

````

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