Direct Data

Monitoramento de APIs

Manual de Integração — API Direct Data


Produto: Monitoramento de APIs — Acompanhamento de Alterações em Documentos

Base URL: /api/MonitorApp

Autenticação: Header Token (Guid)

Versão: 1.0

Sumário

1. Visão Geral

1.1 Descrição do Produto

O Monitoramento de APIs é o produto Direct Data que executa periodicamente um conjunto de consultas configuradas para os documentos (CPFs e CNPJs) que o cliente deseja acompanhar. Sempre que uma execução detecta uma alteração em relação ao último resultado gravado, um evento é registrado e fica disponível para consulta — permitindo ao cliente reagir a mudanças cadastrais, fiscais, regulatórias etc. de forma automatizada.

Esta API permite ao cliente consultar as listas, entidades, monitoramentos e eventos já configurados na plataforma e pausar/retomar monitoramentos em três níveis de granularidade: por monitoramento individual, por entidade (todos os monitoramentos de um documento) ou por lista (todos os monitoramentos de um lote).

Base URL: /api/MonitorApp
Protocolo: HTTPS
Formato de dados: JSON (application/json)
O que esta API NÃO faz: esta API não cria novos monitoramentos nem faz upload de listas. A configuração inicial dos monitoramentos é feita na plataforma web Direct Data. Esta API é voltada à consulta e ao controle (pause/resume) dos monitoramentos já configurados.

1.2 Conceitos-Chave

Antes de usar a API, é importante entender as quatro entidades centrais do produto:

ConceitoIdentificadorDescrição
Lista (Lote) listGuid Conjunto de entidades importadas em lote (ex: "Clientes Inadimplentes — Janeiro/2026"). Uma lista pode conter dezenas de entidades, e cada entidade pode estar vinculada a múltiplas APIs configuradas.
Entidade entityGuid Um documento específico (CPF ou CNPJ) sendo monitorado. Uma entidade pode existir individualmente ou pertencer a uma lista, e tipicamente possui várias APIs configuradas para ela.
Monitoramento monitoringGuid A configuração concreta de "consultar a API X para a entidade Y a cada N dias". Cada monitoramento tem frequência, período de vigência e status próprios. É a unidade de cobrança do produto.
Evento eventGuid Registro de uma alteração detectada em uma execução do monitoramento (ex: mudança de situação cadastral, novo apontamento, alteração de quadro societário).
Hierarquia: uma Lista contém várias Entidades, cada Entidade pode ter vários Monitoramentos (um por API), e cada Monitoramento gera zero ou mais Eventos ao longo do tempo. Os endpoints de eventos (GetMonitoringEvents, GetEntityEvents, GetListEvents) refletem exatamente essa hierarquia — você escolhe o nível de agregação que faz sentido para sua aplicação.

1.3 Autenticação

Todos os endpoints exigem autenticação via header Token contendo o GUID de API emitido pela Direct Data para a sua empresa. Esse token é único por empresa e deve ser tratado como credencial sensível.

HeaderTipoObrigatórioDescrição
TokenGuidSimToken de API fornecido pela Direct Data, no formato 00000000-0000-0000-0000-000000000000.
Content-TypestringSim (PATCH)Sempre application/json nos endpoints PATCH. Não é necessário nos GET.
Como obter seu Token de API: acesse o painel da Direct Data, faça login com sua conta e vá até a tela de perfil em https://app.directd.com.br/configuracoes/perfil. O Token é exibido nessa página e pode ser copiado para uso em todas as chamadas desta API.

1.4 Estrutura de Resposta Padrão

Todas as respostas estendem o envelope ResponseMetaDataDTO. Independente de sucesso ou falha, o cliente sempre receberá os campos abaixo no corpo da resposta:

{
  "success": true,
  "status": "OK",
  "elapsedTimeMs": 124,
  "dateTimeExecution": "08/05/2026 14:32:15",
  "error": null
}
CampoTipoDescrição
successboolIndica se a operação foi bem sucedida (HTTP 2xx).
statusstringDescrição textual do status HTTP retornado.
elapsedTimeMslongTempo total de processamento da requisição em milissegundos.
dateTimeExecutionstringData e hora em que a requisição foi executada no servidor.
errorobjectObjeto com fieldName e message em caso de erro. null em caso de sucesso.

1.5 Enumeradores

Status de Entidade Monitorada

Usado como filtro no parâmetro status de GetMonitoredEntities e também retornado nos campos status das listagens. Aceita o nome (ex: Available) ou o número correspondente.

ValorNomeDescrição
1AvailableDisponível — monitoramentos ativos e em dia.
2UnavailableIndisponível — última execução resultou em falha (ex: documento não encontrado, saldo insuficiente).
3PausedPausada — pelo menos um monitoramento foi pausado pelo cliente.
4ProcessingEm processamento — execução em andamento.

Status Agregado de Lista

Retornado no campo status de GetLists:

ValorDescrição
"Ativa"Todos os monitoramentos da lista estão ativos.
"Parcialmente Ativa"Pelo menos um monitoramento da lista está ativo, mas outros estão pausados ou indisponíveis.
"Pausada"Todos os monitoramentos da lista foram pausados.
"Inativada"Lista encerrada — todos os monitoramentos chegaram ao fim do período de vigência.

1.6 Fluxo de Integração Recomendado

O fluxo padrão de uso da API combina os endpoints de descoberta (listas → entidades → APIs), consulta de eventos e controle (pause/resume), conforme o diagrama abaixo:

Cliente Direct Data API | | | Descoberta: | |-- GET /GetLists ----------------------->| |<-- 200 { lists: [...] } -----------------| | | |-- GET /GetMonitoredEntities ----------->| |<-- 200 { entities: [...] } --------------| | | |-- GET /GetEntityApis?entityGuid=... --->| |<-- 200 { apis: [...] } ------------------| | | | Consulta de eventos (3 níveis): | |-- GET /GetMonitoringEvents ------------>| (eventos de 1 monitoramento) |-- GET /GetEntityEvents ---------------->| (eventos de 1 entidade) |-- GET /GetListEvents ------------------>| (eventos de 1 lista) |<-- 200 { events: [...] } ----------------| | | | Detalhe completo: | |-- GET /GetMonitoringDetail ------------>| |<-- 200 { ...detalhe + history + events }-| | | | Controle (Pause/Resume — 3 níveis): | |-- PATCH /PauseMonitoring -------------->| (1 monitoramento) |-- PATCH /PauseEntity ------------------>| (todos da entidade) |-- PATCH /PauseList -------------------->| (todos da lista) |<-- 200 { affectedCount, summary } -------|

2. Endpoints GET — Consultas

Filtros de data: os parâmetros dateFrom e dateTo, quando aceitos, suportam os formatos yyyyMMdd, yyyy-MM-dd, yyyy/MM/dd, dd-MM-yyyy, dd/MM/yyyy, ddMMyyyy e ISO 8601. Recomendamos yyyy-MM-dd para evitar ambiguidade.

2.1 GetLists

GET /api/MonitorApp/GetLists

Retorna todas as listas (lotes) de monitoramento da empresa autenticada. Sem paginação — devolve todos os registros. Suporta filtros opcionais por listGuid (uma lista específica) e por intervalo de criação (dateFrom / dateTo).

Query Parameters

ParâmetroTipoObrigatórioDescrição
listGuidGuidNãoFiltra por uma lista específica.
dateFromstringNãoData inicial de criação da lista.
dateTostringNãoData final de criação da lista.

Exemplo de Requisição

GET /api/MonitorApp/GetLists?dateFrom=2026-01-01&dateTo=2026-05-31 HTTP/1.1
Host: {base-url-directdata}
Token: 00000000-0000-0000-0000-000000000000

Exemplo de Resposta (200)

{
  "success": true,
  "status": "OK",
  "elapsedTimeMs": 142,
  "dateTimeExecution": "08/05/2026 14:32:15",
  "error": null,
  "lists": [
    {
      "listGuid": "a1b2c3d4-...",
      "listName": "Fornecedores Críticos — 2026",
      "entityCount": 48,
      "apiCount": 5,
      "createdDate": "12/01/2026",
      "lastUpdated": "07/05/2026",
      "status": "Parcialmente Ativa"
    }
  ]
}

Campos da Resposta

CampoTipoDescrição
lists[]arrayListas pertencentes à empresa autenticada.
lists[].listGuidGuidIdentificador da lista — usar nos endpoints de eventos por lista e pause/resume de lista.
lists[].listNamestringNome amigável da lista.
lists[].entityCountintQuantidade de documentos distintos (CPFs/CNPJs) na lista.
lists[].apiCountintQuantidade de APIs distintas monitoradas na lista.
lists[].createdDatestringData de criação no formato dd/MM/yyyy.
lists[].lastUpdatedstringData da última atualização no formato dd/MM/yyyy.
lists[].statusstringStatus agregado: Ativa, Parcialmente Ativa, Pausada ou Inativada.

2.2 GetMonitoredEntities

GET /api/MonitorApp/GetMonitoredEntities

Retorna todas as entidades (documentos CPF/CNPJ) monitoradas pela empresa autenticada. Sem paginação. Suporta filtro opcional por status agregado.

Query Parameters

ParâmetroTipoObrigatórioDescrição
statusenumNãoFiltra pelo status agregado. Aceita: Available (ou 1), Unavailable (ou 2), Paused (ou 3), Processing (ou 4).

Exemplo de Requisição

GET /api/MonitorApp/GetMonitoredEntities?status=Paused HTTP/1.1
Host: {base-url-directdata}
Token: 00000000-0000-0000-0000-000000000000

Exemplo de Resposta (200)

{
  "success": true,
  "status": "OK",
  "elapsedTimeMs": 168,
  "dateTimeExecution": "08/05/2026 14:33:02",
  "error": null,
  "entities": [
    {
      "entityGuid": "b2c3d4e5-...",
      "entityName": "EXEMPLO TECNOLOGIA LTDA",
      "document": "12.345.678/0001-90",
      "apiCount": 3,
      "status": "Pausado",
      "origin": "Fornecedores Críticos — 2026"
    }
  ]
}

Campos da Resposta

CampoTipoDescrição
entities[]arrayEntidades monitoradas pela empresa autenticada.
entities[].entityGuidGuidIdentificador da entidade — usar em GetEntityApis, GetEntityEvents e nos endpoints de pause/resume de entidade.
entities[].entityNamestringRazão Social ou Nome do documento.
entities[].documentstringCPF ou CNPJ formatado.
entities[].apiCountintQuantidade de APIs configuradas para a entidade.
entities[].statusstringStatus agregado: Disponível, Indisponível, Pausado ou Processando.
entities[].originstringIndividual (criada manualmente) ou nome da lista de origem.

2.3 GetEntityApis

GET /api/MonitorApp/GetEntityApis

Retorna todas as APIs configuradas para uma entidade específica, com frequência, período de vigência, status atual e datas de execução. Sem paginação.

Query Parameters

ParâmetroTipoObrigatórioDescrição
entityGuidGuidSimEntityGuid retornado por GetMonitoredEntities.

Exemplo de Requisição

GET /api/MonitorApp/GetEntityApis?entityGuid=b2c3d4e5-... HTTP/1.1
Host: {base-url-directdata}
Token: 00000000-0000-0000-0000-000000000000

Exemplo de Resposta (200)

{
  "success": true,
  "status": "OK",
  "elapsedTimeMs": 95,
  "dateTimeExecution": "08/05/2026 14:34:18",
  "error": null,
  "apis": [
    {
      "monitoringGuid": "c3d4e5f6-...",
      "apiName": "Sintegra - ES",
      "apiCategory": "Cadastro",
      "origin": "Fornecedores Críticos — 2026",
      "frequency": "Mensal",
      "interval": 30,
      "period": "1 ano",
      "lastExecution": "01/05/2026",
      "nextExecution": "31/05/2026",
      "status": "Disponível",
      "reason": null
    }
  ]
}

Campos da Resposta

CampoTipoDescrição
apis[].monitoringGuidGuidIdentificador do monitoramento — usar nos endpoints de pause/resume e detalhe.
apis[].apiNamestringNome legível da API consultada (ex: "Sintegra - ES").
apis[].apiCategorystringCategoria da API (ex: "Cadastro", "Fiscal").
apis[].originstringIndividual ou nome da lista de origem.
apis[].frequencystringDescrição da frequência: Semanal, Quinzenal, Mensal etc.
apis[].intervalintIntervalo em dias entre execuções.
apis[].periodstringPeríodo de vigência: 1 mês, 3 meses, 6 meses, 1 ano ou Indeterminado.
apis[].lastExecutionstringÚltima execução no formato dd/MM/yyyy, ou null se ainda não executou.
apis[].nextExecutionstringPróxima execução agendada no formato dd/MM/yyyy.
apis[].statusstringDisponível, Indisponível, Pausado ou Processando.
apis[].reasonstringMotivo do status quando aplicável (ex: "Saldo insuficiente", "Documento não encontrado").

2.4 GetMonitoringDetail

GET /api/MonitorApp/GetMonitoringDetail

Retorna a visão completa de um único monitoramento configurado: dados da entidade e da API, configuração (frequência, período), histórico de execuções e eventos detectados. É o endpoint recomendado quando o cliente precisa exibir uma "tela de detalhe" de um monitoramento.

Query Parameters

ParâmetroTipoObrigatórioDescrição
monitoringGuidGuidSimMonitoringGuid retornado por GetEntityApis.

Exemplo de Requisição

GET /api/MonitorApp/GetMonitoringDetail?monitoringGuid=c3d4e5f6-... HTTP/1.1
Host: {base-url-directdata}
Token: 00000000-0000-0000-0000-000000000000

Exemplo de Resposta (200)

{
  "success": true,
  "status": "OK",
  "elapsedTimeMs": 215,
  "dateTimeExecution": "08/05/2026 14:35:40",
  "error": null,
  "monitoringGuid": "c3d4e5f6-...",
  "entityGuid": "b2c3d4e5-...",
  "entityName": "EXEMPLO TECNOLOGIA LTDA",
  "document": "12.345.678/0001-90",
  "apiName": "Sintegra - ES",
  "apiCategory": "Cadastro",
  "origin": "Fornecedores Críticos — 2026",
  "listGuid": "a1b2c3d4-...",
  "frequency": "Mensal",
  "interval": 30,
  "period": "1 ano",
  "startDate": "12/01/2026",
  "endDate": "12/01/2027",
  "lastExecution": "01/05/2026",
  "nextExecution": "31/05/2026",
  "status": "Disponível",
  "reason": null,
  "executionHistory": [
    { "executionDate": "01/05/2026, 03:12", "result": "Sem alteração",       "status": "Sucesso" },
    { "executionDate": "01/04/2026, 03:08", "result": "Alteração detectada", "status": "Sucesso" },
    { "executionDate": "12/01/2026, 03:05", "result": "Primeira consulta",   "status": "Sucesso" }
  ],
  "events": [
    {
      "eventGuid": "d4e5f6a7-...",
      "eventDescription": "Situação cadastral alterada de ATIVA para SUSPENSA",
      "executionDate": "01/04/2026, 03:08"
    }
  ]
}

Campos da Resposta — Bloco Principal

CampoTipoDescrição
monitoringGuidGuidIdentificador do monitoramento.
entityGuidGuidIdentificador da entidade vinculada.
entityNamestringRazão Social ou Nome.
documentstringCPF ou CNPJ formatado.
apiNamestringNome legível da API.
apiCategorystringCategoria da API.
originstringIndividual ou nome da lista.
listGuidGuidnull quando o monitoramento não pertence a uma lista (criado individualmente).
frequency / interval / periodMesma semântica de GetEntityApis.
startDate / endDatestringInício e fim da vigência do monitoramento (dd/MM/yyyy).
lastExecution / nextExecutionstringMesma semântica de GetEntityApis.
status / reasonstringMesma semântica de GetEntityApis.

Campos — executionHistory[]

CampoTipoDescrição
executionDatestringData e hora da execução no formato dd/MM/yyyy, HH:mm.
resultstringResultado: Alteração detectada, Sem alteração, Erro na execução, Primeira consulta.
statusstringStatus da execução: Sucesso, Falha, Processando ou Indisponível.

Campos — events[]

CampoTipoDescrição
eventGuidGuidIdentificador do evento.
eventDescriptionstringDescrição da alteração detectada.
executionDatestringData e hora da execução que detectou o evento (dd/MM/yyyy, HH:mm).
Os eventos retornados aqui são uma versão "enxuta" — não trazem entityName nem apiName, pois o contexto do monitoramento já está no bloco principal. Se você precisa de eventos com contexto completo (ex: para construir um feed agregado), use GetMonitoringEvents, GetEntityEvents ou GetListEvents.

2.5 GetMonitoringEvents

GET /api/MonitorApp/GetMonitoringEvents

Retorna todos os eventos (alterações detectadas) de um único monitoramento, com filtro opcional por intervalo de execução. Útil para auditar o histórico de mudanças capturadas em uma API específica de uma entidade. Sem paginação.

Query Parameters

ParâmetroTipoObrigatórioDescrição
monitoringGuidGuidSimIdentificador do monitoramento.
dateFromstringNãoData inicial de execução do evento.
dateTostringNãoData final de execução do evento.

Exemplo de Requisição

GET /api/MonitorApp/GetMonitoringEvents?monitoringGuid=c3d4e5f6-...&dateFrom=2026-01-01 HTTP/1.1
Host: {base-url-directdata}
Token: 00000000-0000-0000-0000-000000000000

Exemplo de Resposta (200)

{
  "success": true,
  "status": "OK",
  "elapsedTimeMs": 88,
  "dateTimeExecution": "08/05/2026 14:36:12",
  "error": null,
  "events": [
    {
      "eventGuid": "d4e5f6a7-...",
      "entityGuid": "b2c3d4e5-...",
      "entityName": "EXEMPLO TECNOLOGIA LTDA",
      "apiName": "Sintegra - ES",
      "apiCategory": "Cadastro",
      "eventDescription": "Situação cadastral alterada de ATIVA para SUSPENSA",
      "executionDate": "01/04/2026, 03:08"
    }
  ]
}

Campos — events[]

CampoTipoDescrição
eventGuidGuidIdentificador único do evento.
entityGuidGuidEntidade vinculada ao evento.
entityNamestringRazão Social ou Nome.
apiNamestringNome legível da API que gerou o evento.
apiCategorystringCategoria da API.
eventDescriptionstringDescrição da alteração detectada.
executionDatestringData e hora da execução (dd/MM/yyyy, HH:mm).

2.6 GetEntityEvents

GET /api/MonitorApp/GetEntityEvents

Retorna todos os eventos detectados em todos os monitoramentos de uma entidade, com filtro opcional por intervalo de execução. Útil para construir uma timeline consolidada de alterações de um documento. Sem paginação.

Query Parameters

ParâmetroTipoObrigatórioDescrição
entityGuidGuidSimIdentificador da entidade.
dateFromstringNãoData inicial de execução do evento.
dateTostringNãoData final de execução do evento.

Exemplo de Requisição

GET /api/MonitorApp/GetEntityEvents?entityGuid=b2c3d4e5-... HTTP/1.1
Host: {base-url-directdata}
Token: 00000000-0000-0000-0000-000000000000

Estrutura da resposta idêntica a GetMonitoringEvents — o array events[] agrega eventos de todas as APIs configuradas para a entidade no período consultado.

2.7 GetListEvents

GET /api/MonitorApp/GetListEvents

Retorna todos os eventos detectados em todas as entidades de uma lista, com filtro opcional por intervalo de execução. É a visão mais ampla do produto — útil para gerar um relatório consolidado de alterações de um lote inteiro. Sem paginação.

Query Parameters

ParâmetroTipoObrigatórioDescrição
listGuidGuidSimIdentificador da lista.
dateFromstringNãoData inicial de execução do evento.
dateTostringNãoData final de execução do evento.

Exemplo de Requisição

GET /api/MonitorApp/GetListEvents?listGuid=a1b2c3d4-...&dateFrom=2026-04-01&dateTo=2026-04-30 HTTP/1.1
Host: {base-url-directdata}
Token: 00000000-0000-0000-0000-000000000000

Estrutura da resposta idêntica a GetMonitoringEvents — o array events[] agrega eventos de todas as entidades e APIs da lista no período consultado.

3. Endpoints PATCH — Pause & Resume

Os endpoints de pausa e retomada permitem suspender e religar a execução de monitoramentos em três níveis de granularidade: por monitoramento individual, por entidade ou por lista. Todos retornam o mesmo envelope ResponseAPIMonitorAppToggleDTO, com a quantidade de monitoramentos afetados e uma mensagem descritiva.

Comportamento de pausa: um monitoramento pausado não consome saldo enquanto estiver suspenso, mas as datas de início/fim de vigência continuam contando — ou seja, a pausa não estende o período do monitoramento. Para retomar a cobrança, basta chamar o endpoint Resume* equivalente.

Estrutura de Resposta dos PATCH (comum)

{
  "success": true,
  "status": "OK",
  "elapsedTimeMs": 95,
  "dateTimeExecution": "08/05/2026 14:42:18",
  "error": null,
  "affectedCount": 3,
  "summary": "3 monitoramento(s) pausado(s) com sucesso."
}
CampoTipoDescrição
affectedCountintQuantidade de monitoramentos efetivamente afetados pela operação.
summarystringMensagem descritiva do resultado.

3.1 PauseMonitoring

PATCH /api/MonitorApp/PauseMonitoring

Pausa um único monitoramento de API configurada, identificado pelo monitoringGuid.

Body da Requisição

CampoTipoObrigatórioDescrição
monitoringGuidGuidSimIdentificador do monitoramento a ser pausado.

Exemplo de Requisição

PATCH /api/MonitorApp/PauseMonitoring HTTP/1.1
Host: {base-url-directdata}
Token: 00000000-0000-0000-0000-000000000000
Content-Type: application/json

{
  "monitoringGuid": "c3d4e5f6-..."
}

3.2 ResumeMonitoring

PATCH /api/MonitorApp/ResumeMonitoring

Retoma um único monitoramento previamente pausado.

Body da Requisição

Idêntico a PauseMonitoring.

Exemplo de Requisição

PATCH /api/MonitorApp/ResumeMonitoring HTTP/1.1
Host: {base-url-directdata}
Token: 00000000-0000-0000-0000-000000000000
Content-Type: application/json

{
  "monitoringGuid": "c3d4e5f6-..."
}

3.3 PauseEntity

PATCH /api/MonitorApp/PauseEntity

Pausa todos os monitoramentos de uma entidade (CPF ou CNPJ). O campo affectedCount da resposta indica quantos monitoramentos foram pausados.

Body da Requisição

CampoTipoObrigatórioDescrição
entityGuidGuidSimIdentificador da entidade.

Exemplo de Requisição

PATCH /api/MonitorApp/PauseEntity HTTP/1.1
Host: {base-url-directdata}
Token: 00000000-0000-0000-0000-000000000000
Content-Type: application/json

{
  "entityGuid": "b2c3d4e5-..."
}

3.4 ResumeEntity

PATCH /api/MonitorApp/ResumeEntity

Retoma todos os monitoramentos previamente pausados de uma entidade.

Body da Requisição

Idêntico a PauseEntity.

Exemplo de Requisição

PATCH /api/MonitorApp/ResumeEntity HTTP/1.1
Host: {base-url-directdata}
Token: 00000000-0000-0000-0000-000000000000
Content-Type: application/json

{
  "entityGuid": "b2c3d4e5-..."
}

3.5 PauseList

PATCH /api/MonitorApp/PauseList

Pausa todos os monitoramentos de uma lista (lote). O campo affectedCount da resposta indica o total de monitoramentos afetados — somando todas as APIs de todas as entidades da lista.

Body da Requisição

CampoTipoObrigatórioDescrição
listGuidGuidSimIdentificador da lista.

Exemplo de Requisição

PATCH /api/MonitorApp/PauseList HTTP/1.1
Host: {base-url-directdata}
Token: 00000000-0000-0000-0000-000000000000
Content-Type: application/json

{
  "listGuid": "a1b2c3d4-..."
}

3.6 ResumeList

PATCH /api/MonitorApp/ResumeList

Retoma todos os monitoramentos previamente pausados de uma lista.

Body da Requisição

Idêntico a PauseList.

Exemplo de Requisição

PATCH /api/MonitorApp/ResumeList HTTP/1.1
Host: {base-url-directdata}
Token: 00000000-0000-0000-0000-000000000000
Content-Type: application/json

{
  "listGuid": "a1b2c3d4-..."
}

4. Mapeamento de Erros por Endpoint

4.1 Estrutura do Erro

Quando uma requisição falha, o envelope ResponseMetaDataDTO retorna o campo error preenchido com o nome do campo problemático e a mensagem correspondente. O campo success será false e o status HTTP refletirá o tipo de falha.

// Exemplo de resposta 401 Unauthorized (token inválido)
{
  "success": false,
  "status": "Unauthorized",
  "elapsedTimeMs": 12,
  "dateTimeExecution": "08/05/2026 14:40:01",
  "error": {
    "fieldName": "Token",
    "message": "Token de acesso inválido. Verifique suas credenciais."
  }
}

// Exemplo de resposta 404 Not Found (Guid não pertence à empresa)
{
  "success": false,
  "status": "Not Found",
  "elapsedTimeMs": 28,
  "dateTimeExecution": "08/05/2026 14:40:14",
  "error": {
    "fieldName": "monitoringGuid",
    "message": "Monitoramento não encontrado para esta empresa."
  }
}
401 Unauthorized é retornado por todos os endpoints quando o header Token está ausente, mal formado ou não corresponde a uma empresa válida.
403 Forbidden é retornado quando o token é válido mas a empresa não tem o produto Monitoramento de APIs habilitado em seu contrato.
404 Not Found é retornado quando o Guid informado (monitoringGuid, entityGuid ou listGuid) não existe ou não pertence à empresa autenticada.

4.2 Endpoints GET

GetLists, GetMonitoredEntities

GET /api/MonitorApp/GetLists · GET /api/MonitorApp/GetMonitoredEntities

CódigoCondiçãoCampoMensagem
400Formato inválido em dateFrom ou dateTo / valor inválido em statusparâmetroParâmetro de consulta inválido.
401Header Token ausente ou inválidoTokenToken de acesso inválido. Verifique suas credenciais.
403Empresa sem o produto habilitadoProductProduto não liberado para esta empresa.
500Exceção não tratada no servidorErro inesperado ao processar a requisição.

GetEntityApis, GetMonitoringDetail, GetMonitoringEvents, GetEntityEvents, GetListEvents

Endpoints GET que recebem um Guid obrigatório.

CódigoCondiçãoCampoMensagem
400Guid ausente ou em formato inválidoparâmetroIdentificador inválido.
404Guid informado não pertence à empresa autenticadaparâmetroRecurso não encontrado para esta empresa.
401Header Token ausente ou inválidoTokenToken de acesso inválido. Verifique suas credenciais.
403Empresa sem o produto habilitadoProductProduto não liberado para esta empresa.
500Exceção não tratada no servidorErro inesperado ao processar a requisição.

4.3 Endpoints PATCH

PauseMonitoring · ResumeMonitoring · PauseEntity · ResumeEntity · PauseList · ResumeList

CódigoCondiçãoCampoMensagem
400Body inválido ou Guid ausente / mal formadocampo do bodyIdentificador inválido.
404Guid informado não pertence à empresa autenticadacampo do bodyRecurso não encontrado para esta empresa.
401Header Token ausente ou inválidoTokenToken de acesso inválido. Verifique suas credenciais.
403Empresa sem o produto habilitadoProductProduto não liberado para esta empresa.
500Exceção não tratada no servidorErro inesperado ao processar a requisição.