/v1/account/monitors

account/monitors

Monitoramento: mandar monitorar empresas, criar, pausar, excluir.

Custos e limites

Custos e limites
O quê Créditos
Monitor verificado todo dia, por 30 dias 50
Monitor verificado a cada 3 dias, por 30 dias 40
Monitor verificado a cada 7 dias, por 30 dias 20
Monitor verificado a cada 30 dias, por 30 dias 10
Cada verificação adicional bem-sucedida no período +2

Limite: 30 requisições por minuto. Criar, alterar e excluir: 10 por minuto.

curl -G "https://handelsregister.ai/api/v1/account/monitoring/pricing" \
  -H "x-api-key: SUA_CHAVE_DE_API" \
  --data-urlencode 'poll_interval_days=7'
1{2  "pricing": {3    "policy_version": "2026-08.v2",4    "credits_per_run": 2,5    "cycle_minimum_credits": 20,6    "included_runs": 5,7    "cycle_days": 30,8    "estimated_runs": 5,9    "estimated_credits": 2010  },11  "entitled": true,12  "meta": {13    "request_credit_cost": 0,14    "credits_remaining": 14515  }16}
200 · Resposta de exemplo: preço de um monitor com verificação a cada 7 dias

Como um monitor funciona

Status
Status Significado
initializing Criado; linha de base e ativação em andamento.
active Verifica no intervalo escolhido.
paused_user Pausado por você.
paused_configuration Nenhum endpoint de webhook ativo e verificado está mais conectado.
paused_billing O seu saldo não cobre o ciclo ou uma verificação extra. Ou o preço mudou e aguarda seu consentimento.
error Várias verificações seguidas falharam.
archived Encerrado definitivamente. Você ainda pode ler o monitor pelo ID, mas ele não aparece mais na lista.

Endpoints

Método
Método Caminho Finalidade
GET /v1/account/monitors Todos os monitores, os mais recentes primeiro, sem os arquivados.
POST /v1/account/monitors Criar um monitor.
GET /v1/account/monitors/{id} Um monitor com seu ciclo e as últimas verificações.
PATCH /v1/account/monitors/{id} Mudar o intervalo de verificação.
POST /v1/account/monitors/{id}/pause Pausar.
POST /v1/account/monitors/{id}/resume Retomar.
DELETE /v1/account/monitors/{id} Arquivar.
GET /v1/account/monitoring/pricing Preço de um intervalo.

Idempotency-Key

Criar um monitor

curl -X POST "https://handelsregister.ai/api/v1/account/monitors" \
  -H "x-api-key: SUA_CHAVE_DE_API" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
    "entity_id": "94eb910fef13f94585c48c263fa446d4",
    "label": "Hetzner Online GmbH",
    "poll_interval_days": 7,
    "endpoint_ids": [
        "wep_01m6b3j1g0cdz98hw8zdefbf52"
    ]
}'
Parâmetros
Nome Tipo Descrição Exemplo
Idempotency-KeyHeader stringobrigatório Um valor único por operação, de preferência um UUID. Veja Idempotency-Key.Limites: 1 a 128 caracteres req-20260802-01
entity_idBody stringobrigatório O entity_id da empresa de fetch-organization ou search-organizations.Limites: 1 a 128 caracteres 94eb910fef13f94585c48c263fa446d4
labelBody stringopcional Um nome para o monitor.Limites: no máximo 200 caracteres Hetzner Online GmbH
poll_interval_daysBody inteiroobrigatório Intervalo de verificação em dias.Limites: 1 a 30 7
endpoint_idsBody lista de stringobrigatório Os IDs dos seus endpoints de webhook (wep_…). Cada um precisa estar ativo e verificado.Limites: 1 a 10 entradas ["wep_01m6b3j1g0cdz98hw8zdefbf52"]
1{2  "monitor": {3    "id": "mon_01m6b3m7945dn7cyvexzv41kjz",4    "type": "organization.signals",5    "entity_id": "94eb910fef13f94585c48c263fa446d4",6    "label": "Hetzner Online GmbH",7    "poll_interval_days": 7,8    "status": "initializing",9    "status_reason": null,10    "pricing_policy_version": "2026-08.v2",11    "baseline_completed_at": null,12    "activated_at": null,13    "last_succeeded_at": null,14    "next_poll_at": null,15    "created_at": "2026-11-01T08:29:13+00:00"16  },17  "meta": {18    "message": "Monitor created; the free baseline is queued and this request charged 0 credits. The cycle price is charged only when activation succeeds.",19    "baseline_queued": true,20    "billing": {21      "charged_credits": 0,22      "new_cycle": false,23      "floor_transaction_id": null24    },25    "request_credit_cost": 0,26    "credits_remaining": 14527  }28}
202 · Resposta de exemplo: um novo monitor, no nosso exemplo para a Hetzner Online GmbH, Ansbach HRB 6089
Pela API, você define os endpoints de webhook ao criar o monitor. Você conecta outro endpoint de webhook em Conta › Monitoramento com “Conectar destino”, sem custo adicional.

Listar e alterar monitores

curl -G "https://handelsregister.ai/api/v1/account/monitors/mon_01m65pn3vm11sjjp1j076cbvec" \
  -H "x-api-key: SUA_CHAVE_DE_API"
1{2  "monitor": {3    "id": "mon_01m65pn3vm11sjjp1j076cbvec",4    "type": "organization.signals",5    "entity_id": "94eb910fef13f94585c48c263fa446d4",6    "label": "Hetzner Online GmbH",7    "poll_interval_days": 1,8    "status": "active",9    "status_reason": null,10    "pricing_policy_version": "2026-08.v2",11    "baseline_completed_at": "2026-10-30T06:06:28+00:00",12    "activated_at": "2026-10-30T06:06:28+00:00",13    "last_succeeded_at": "2026-10-30T06:06:53+00:00",14    "next_poll_at": "2026-10-31T06:19:12+00:00",15    "created_at": "2026-10-30T06:06:18+00:00"16  },17  "billing_cycle": {18    "starts_at": "2026-10-30T06:06:28+00:00",19    "ends_at": "2026-11-29T06:06:28+00:00",20    "floor_credits": 50,21    "credits_per_run": 2,22    "included_runs": 30,23    "successful_runs": 1,24    "extra_credits_settled": 0,25    "pricing_policy_version": "2026-08.v2"26  },27  "recent_runs": [28    {29      "due_slot_at": "2026-10-30T06:06:28+00:00",30      "kind": "activation_catchup",31      "status": "succeeded",32      "charge_state": "covered",33      "charge_credits": 0,34      "events_new": 0,35      "finished_at": "2026-10-30T06:06:55+00:00"36    }37  ],38  "meta": {39    "request_credit_cost": 0,40    "credits_remaining": 14541  }42}
200 · Resposta de exemplo: um monitor ativo com verificação diária, de novo para a Hetzner Online GmbH
Campos de um monitor
Campo Significado
id ID do monitor, começa com mon_.
entity_id A empresa monitorada.
poll_interval_days Intervalo de verificação em dias.
status, status_reason Status, veja acima. status_reason informa o motivo.
baseline_completed_at, activated_at, last_succeeded_at Horários da linha de base, da ativação e da última verificação bem-sucedida.
next_poll_at A próxima verificação agendada, só para monitores ativos.
billing_cycle O ciclo atual: início, fim, preço, verificações incluídas e verificações feitas até agora.
recent_runs As últimas verificações com resultado, cobrança e o número de novos sinais em events_new.
curl -X PATCH "https://handelsregister.ai/api/v1/account/monitors/mon_01m6b3m7945dn7cyvexzv41kjz" \
  -H "x-api-key: SUA_CHAVE_DE_API" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
    "poll_interval_days": 30
}'
1{2  "monitor": {3    "id": "mon_01m6b3m7945dn7cyvexzv41kjz",4    "type": "organization.signals",5    "entity_id": "94eb910fef13f94585c48c263fa446d4",6    "label": "Hetzner Online GmbH",7    "poll_interval_days": 30,8    "status": "initializing",9    "status_reason": null,10    "pricing_policy_version": "2026-08.v2",11    "baseline_completed_at": null,12    "activated_at": null,13    "last_succeeded_at": null,14    "next_poll_at": null,15    "created_at": "2026-11-01T08:29:13+00:00"16  },17  "meta": {18    "request_credit_cost": 0,19    "credits_remaining": 14520  }21}
200 · Resposta de exemplo: intervalo alterado para 30 dias

Pausar, retomar, arquivar

curl -X POST "https://handelsregister.ai/api/v1/account/monitors/mon_01m6b3m7945dn7cyvexzv41kjz/resume" \
  -H "x-api-key: SUA_CHAVE_DE_API" \
  -H "Idempotency-Key: $(uuidgen)"
Se você desativar ou arquivar um endpoint de webhook, todos os monitores sem outro endpoint de webhook pausam com paused_configuration. Depois de ativar o endpoint de webhook, retome o monitor com resume.

Erros

Erros
Status Causa O que você pode fazer
400 api_key está na URL. Envie a chave no header x-api-key.
400 O Idempotency-Key tem formato inválido. Corrija o formato, por exemplo use um UUID.
401 Nenhuma chave de API ou token, ou um inválido. Envie a chave no header x-api-key.
403 Falta ao bearer token a permissão account:read. Use a chave de API ou um token com account:read.
403 O endereço de e-mail da sua conta ainda não foi confirmado, ou a conta está bloqueada. Abra o link do e-mail de confirmação. Se a conta estiver bloqueada, o suporte pode ajudar.
403 Falta ao bearer token a permissão monitoring:manage. Use a chave de API ou o admin token.
404 Nenhum monitor com este ID na sua conta. Confira o ID.
409 Já existe um monitor para esta empresa (duplicate_monitor). Use o monitor existente ou arquive-o antes.
409 O Idempotency-Key já foi usado com outros dados, tem mais de 24 horas ou ainda está sendo processado. Use uma chave nova ou espere um pouco.
422 Um valor é inválido: invalid_subject, invalid_interval, endpoint_required, monitor_limit ou not_resumable. Corrija o valor.
428 O header Idempotency-Key está faltando. Envie o header.
429 Requisições demais. Tente de novo depois de Retry-After.
429 creation_rate_limited: novos monitores demais em 24 horas. Tente de novo depois de Retry-After.
503 O Monitoramento está temporariamente indisponível. Tente de novo um pouco mais tarde.
1{2  "error": "duplicate_monitor",3  "meta": {4    "message": "You already have a monitor for this company.",5    "request_credit_cost": 0,6    "credits_remaining": 1457  }8}
409 · Um segundo monitor para a mesma empresa