> ## 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 timeline de chamado na API v2 do SULTS

> Lista a timeline de um chamado: as interações e cada mudança registrada (prazo, responsável, assunto, apoios e conclusão), com o autor e a data de cada evento. O campo `type` diz o que aconteceu e quais campos acompanham o evento: a interação vem em `comment`, a troca de assunto em `previousCategory` e `newCategory`, o apoio em `collaborator` e a avaliação de satisfação em `satisfactionRating` e `satisfactionComment`.



## OpenAPI

````yaml /api-reference/openapi-v2.json get /api/v2/chamados/ticket/timeline-event/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 modelos
      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.
paths:
  /api/v2/chamados/ticket/timeline-event/list:
    get:
      tags:
        - Chamados
      summary: Listar timeline de chamado
      description: >-
        Lista a timeline de um chamado: as interações e cada mudança registrada
        (prazo, responsável, assunto, apoios e conclusão), com o autor e a data
        de cada evento. O campo `type` diz o que aconteceu e quais campos
        acompanham o evento: a interação vem em `comment`, a troca de assunto em
        `previousCategory` e `newCategory`, o apoio em `collaborator` e a
        avaliação de satisfação em `satisfactionRating` e `satisfactionComment`.
      operationId: listarTimelineChamadoV2
      parameters:
        - name: ticketId
          in: query
          required: true
          schema:
            type: integer
          description: Código do chamado.
          example: 4127
      responses:
        '200':
          description: Eventos da timeline do chamado.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ChamadoEventoTimelineV2'
              example:
                - createdAt: '2026-10-05T12:48:03Z'
                  user:
                    id: 55
                    name: Carlos Mendes
                  type: COMMENT_WITH_STATUS
                  status: IN_PROGRESS
                  comment:
                    id: 9812
                    messageHtml: <p>Técnico da assistência agendado para amanhã às 9h.</p>
                    attachments:
                      - name: orcamento-assistencia.pdf
                        url: https://link/orcamento-assistencia.pdf
                        fileLength: 20480
                    private: false
                - createdAt: '2026-10-05T14:05:12Z'
                  user:
                    id: 55
                    name: Carlos Mendes
                  type: CATEGORY_CHANGED
                  previousCategory:
                    id: 17
                    name: Manutenção preventiva
                  newCategory:
                    id: 23
                    name: Equipamento com defeito
                  dueDate:
                    previous: '2026-10-07T21:00:00Z'
                    new: '2026-10-08T21:00:00Z'
                - createdAt: '2026-10-05T14:06:40Z'
                  user:
                    id: 55
                    name: Carlos Mendes
                  type: COLLABORATOR_ADDED
                  collaborator:
                    user:
                      id: 45
                      name: Bruno Almeida
                    department:
                      id: 4
                      name: Manutenção
                    userAdmin: true
                - createdAt: '2026-10-06T15:22:41Z'
                  user:
                    id: 63
                    name: Juliana Prado
                  type: TICKET_CLOSED
                  satisfactionRating: 5
                  satisfactionComment: Forno voltou a funcionar no mesmo dia.
        '400':
          $ref: '#/components/responses/ErroValidacao'
        '401':
          $ref: '#/components/responses/TokenInvalido'
        '404':
          $ref: '#/components/responses/NaoEncontrado'
        '429':
          $ref: '#/components/responses/LimiteDeRequisicoes'
        5XX:
          $ref: '#/components/responses/ErroDoServidor'
components:
  schemas:
    ChamadoEventoTimelineV2:
      type: object
      description: >-
        Evento da timeline do chamado. Todo evento traz `createdAt`, `user` e
        `type`; os demais campos dependem do tipo. Os campos específicos de
        `ASSIGNEE_CHANGED`, `DUE_DATE_CHANGED`, `COLLABORATOR_REMOVED` e
        `COLLABORATOR_AUTO_ADDED` ainda não estão documentados.
      properties:
        createdAt:
          type: string
          format: date-time
          description: Data do evento, em UTC ISO 8601.
          example: '2026-10-05T12:48:03Z'
        user:
          $ref: '#/components/schemas/ChamadoUsuarioV2'
          description: Usuário que gerou o evento.
        type:
          type: string
          enum:
            - COMMENT
            - COMMENT_WITH_STATUS
            - DUE_DATE_CHANGED
            - ASSIGNEE_CHANGED
            - CATEGORY_CHANGED
            - COLLABORATOR_ADDED
            - COLLABORATOR_REMOVED
            - COLLABORATOR_AUTO_ADDED
            - TICKET_CLOSED
          description: |-
            Tipo do evento.

            | Valor | Significado |
            | ----- | ----------- |
            | `COMMENT` | Interação |
            | `COMMENT_WITH_STATUS` | Interação com troca de situação |
            | `DUE_DATE_CHANGED` | Mudança de prazo |
            | `ASSIGNEE_CHANGED` | Mudança de responsável |
            | `CATEGORY_CHANGED` | Mudança de assunto |
            | `COLLABORATOR_ADDED` | Adição de apoio |
            | `COLLABORATOR_REMOVED` | Remoção de apoio |
            | `COLLABORATOR_AUTO_ADDED` | Adição de apoio automático |
            | `TICKET_CLOSED` | Conclusão |
          example: COMMENT_WITH_STATUS
        status:
          $ref: '#/components/schemas/SituacaoChamadoV2'
          description: Situação definida pelo evento, em `COMMENT_WITH_STATUS`.
        comment:
          $ref: '#/components/schemas/ChamadoInteracaoV2'
          description: Interação registrada, nos eventos `COMMENT` e `COMMENT_WITH_STATUS`.
        previousCategory:
          $ref: '#/components/schemas/ChamadoAssuntoV2'
          description: Assunto anterior, em `CATEGORY_CHANGED`.
        newCategory:
          $ref: '#/components/schemas/ChamadoAssuntoV2'
          description: Assunto novo, em `CATEGORY_CHANGED`.
        dueDate:
          $ref: '#/components/schemas/ChamadoPrazoAlteradoV2'
          description: Prazo anterior e novo, quando o evento altera o prazo do chamado.
        collaborator:
          $ref: '#/components/schemas/ChamadoApoioV2'
          description: Apoio adicionado, em `COLLABORATOR_ADDED`.
        satisfactionRating:
          type: integer
          description: >-
            Nota da avaliação de satisfação, de 1 a 5, em `TICKET_CLOSED` quando
            a conclusão teve avaliação.
          example: 5
          minimum: 1
          maximum: 5
        satisfactionComment:
          type: string
          description: Comentário da avaliação de satisfação, em `TICKET_CLOSED`.
          example: Forno voltou a funcionar no mesmo dia.
    ChamadoUsuarioV2:
      type: object
      description: Usuário em forma resumida.
      properties:
        id:
          type: integer
          description: Código do usuário.
          example: 63
        name:
          type: string
          description: Nome do usuário.
          example: Juliana Prado
    SituacaoChamadoV2:
      type: string
      enum:
        - NEW
        - IN_PROGRESS
        - AWAITING_REQUESTER
        - AWAITING_ASSIGNEE
        - RESOLVED
        - CLOSED
      description: |-
        Situação do chamado.

        | Valor | Significado |
        | ----- | ----------- |
        | `NEW` | Novo |
        | `IN_PROGRESS` | Em andamento |
        | `AWAITING_REQUESTER` | Aguardando solicitante |
        | `AWAITING_ASSIGNEE` | Aguardando responsável |
        | `RESOLVED` | Resolvido |
        | `CLOSED` | Concluído |
      example: IN_PROGRESS
    ChamadoInteracaoV2:
      type: object
      description: Interação registrada na timeline.
      properties:
        id:
          type: integer
          description: Código da interação.
          example: 9812
        messageHtml:
          type: string
          description: Conteúdo da interação, em HTML.
          example: <p>Técnico da assistência agendado para amanhã às 9h.</p>
        attachments:
          type: array
          description: Arquivos anexados à interação.
          items:
            $ref: '#/components/schemas/ChamadoAnexoV2'
        private:
          type: boolean
          description: Quando `true`, a interação é privada.
          example: false
    ChamadoAssuntoV2:
      type: object
      description: Assunto do chamado.
      properties:
        id:
          type: integer
          description: Código do assunto.
          example: 23
        name:
          type: string
          description: Nome do assunto.
          example: Equipamento com defeito
    ChamadoPrazoAlteradoV2:
      type: object
      description: Prazo anterior e novo do chamado.
      properties:
        previous:
          type: string
          format: date-time
          description: Prazo anterior, em UTC ISO 8601.
          example: '2026-10-07T21:00:00Z'
        new:
          type: string
          format: date-time
          description: Prazo novo, em UTC ISO 8601.
          example: '2026-10-08T21:00:00Z'
    ChamadoApoioV2:
      type: object
      description: >-
        Apoio do chamado: uma pessoa que participa do atendimento, vinculada a
        um departamento.
      properties:
        user:
          $ref: '#/components/schemas/ChamadoUsuarioV2'
          description: Pessoa do apoio.
        department:
          $ref: '#/components/schemas/ChamadoDepartamentoV2'
          description: Departamento do apoio.
        userAdmin:
          type: boolean
          description: Indica se a pessoa do apoio é usuário da administradora da rede.
          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.
    ChamadoAnexoV2:
      type: object
      description: Arquivo anexado a uma interação do chamado.
      properties:
        name:
          type: string
          description: Nome do arquivo.
          example: orcamento-assistencia.pdf
        url:
          type: string
          description: Endereço para download do arquivo.
          example: https://link/orcamento-assistencia.pdf
        fileLength:
          type: integer
          description: Tamanho do arquivo em bytes.
          example: 20480
    ChamadoDepartamentoV2:
      type: object
      description: Departamento em forma resumida.
      properties:
        id:
          type: integer
          description: Código do departamento.
          example: 4
        name:
          type: string
          description: Nome do departamento.
          example: Manutenção
  responses:
    ErroValidacao:
      description: >-
        Erro de validação ou formato errado nos dados de entrada. A API aponta
        **um campo por vez**: corrija o campo indicado na mensagem, reenvie e
        repita até o 200.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Erro'
          example:
            error: Campo supplierId não pode ser vazio ou nulo.
    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.
    NaoEncontrado:
      description: >-
        Recurso inexistente, ou recurso condicionado desabilitado (por exemplo,
        endpoints de Mix sem o recurso de mix habilitado na operação). Reenviar
        sem corrigir devolve o mesmo erro.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Erro'
    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.
    ErroDoServidor:
      description: >-
        Falha inesperada do servidor (raro). Repita com espera crescente;
        persistindo, acione o suporte com data, hora e endpoint.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Erro'
  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.