/v1/account/monitors

account/monitors

Monitoring: far monitorare aziende, creare, mettere in pausa, eliminare.

Costi e limiti

Costi e limiti
Cosa Crediti
Monitor controllato ogni giorno, per 30 giorni 50
Monitor controllato ogni 3 giorni, per 30 giorni 40
Monitor controllato ogni 7 giorni, per 30 giorni 20
Monitor controllato ogni 30 giorni, per 30 giorni 10
Ogni ulteriore controllo riuscito nel periodo +2

Limite: 30 richieste al minuto. Creare, modificare ed eliminare: 10 al minuto.

curl -G "https://handelsregister.ai/api/v1/account/monitoring/pricing" \
  -H "x-api-key: LA_TUA_CHIAVE_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 · Risposta di esempio: prezzo per un monitor con un controllo ogni 7 giorni

Come funziona un monitor

Stato
Stato Significato
initializing Creato; baseline e attivazione in corso.
active Controlla all’intervallo scelto.
paused_user Messo in pausa da te.
paused_configuration Non è più collegato alcun endpoint webhook attivo e verificato.
paused_billing Il tuo saldo non copre il ciclo o un controllo aggiuntivo. Oppure il prezzo è cambiato e attende il tuo consenso.
error Più controlli di fila sono falliti.
archived Terminato definitivamente. Puoi ancora leggere il monitor tramite il suo ID, ma non compare più nella lista.

Endpoint

Metodo
Metodo Percorso Scopo
GET /v1/account/monitors Tutti i monitor, il più recente per primo, senza quelli archiviati.
POST /v1/account/monitors Creare un monitor.
GET /v1/account/monitors/{id} Un monitor con il suo ciclo e gli ultimi controlli.
PATCH /v1/account/monitors/{id} Cambiare l’intervallo di controllo.
POST /v1/account/monitors/{id}/pause Mettere in pausa.
POST /v1/account/monitors/{id}/resume Riprendere.
DELETE /v1/account/monitors/{id} Archiviare.
GET /v1/account/monitoring/pricing Prezzo di un intervallo.

Idempotency-Key

Creare un monitor

curl -X POST "https://handelsregister.ai/api/v1/account/monitors" \
  -H "x-api-key: LA_TUA_CHIAVE_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"
    ]
}'
Parametri
Nome Tipo Descrizione Esempio
Idempotency-KeyHeader stringaobbligatorio Un valore univoco per operazione, idealmente un UUID. Vedi Idempotency-Key.Limiti: da 1 a 128 caratteri req-20260802-01
entity_idBody stringaobbligatorio L’entity_id dell’azienda da fetch-organization o search-organizations.Limiti: da 1 a 128 caratteri 94eb910fef13f94585c48c263fa446d4
labelBody stringafacoltativo Un nome per il monitor.Limiti: al massimo 200 caratteri Hetzner Online GmbH
poll_interval_daysBody interoobbligatorio Intervallo di controllo in giorni.Limiti: da 1 a 30 7
endpoint_idsBody lista di stringobbligatorio Gli ID dei tuoi endpoint webhook (wep_…). Ciascuno deve essere attivo e verificato.Limiti: da 1 a 10 voci ["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 · Risposta di esempio: un nuovo monitor, nel nostro esempio per Hetzner Online GmbH, Ansbach HRB 6089
Tramite l’API imposti gli endpoint webhook quando crei il monitor. Un altro endpoint webhook lo colleghi in Account › Monitoring con “Collega destinazione”, senza costi aggiuntivi.

Elencare e modificare i monitor

curl -G "https://handelsregister.ai/api/v1/account/monitors/mon_01m65pn3vm11sjjp1j076cbvec" \
  -H "x-api-key: LA_TUA_CHIAVE_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 · Risposta di esempio: un monitor attivo con controllo giornaliero, sempre per Hetzner Online GmbH
Campi di un monitor
Campo Significato
id ID del monitor, inizia con mon_.
entity_id L’azienda monitorata.
poll_interval_days Intervallo di controllo in giorni.
status, status_reason Stato, vedi sopra. status_reason indica il motivo.
baseline_completed_at, activated_at, last_succeeded_at Momenti della baseline, dell’attivazione e dell’ultimo controllo riuscito.
next_poll_at Il prossimo controllo previsto, solo per i monitor attivi.
billing_cycle Il ciclo attuale: inizio, fine, prezzo, controlli inclusi e controlli eseguiti finora.
recent_runs Gli ultimi controlli con esito, addebito e numero di nuovi segnali in events_new.
curl -X PATCH "https://handelsregister.ai/api/v1/account/monitors/mon_01m6b3m7945dn7cyvexzv41kjz" \
  -H "x-api-key: LA_TUA_CHIAVE_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 · Risposta di esempio: intervallo cambiato a 30 giorni

Mettere in pausa, riprendere, archiviare

curl -X POST "https://handelsregister.ai/api/v1/account/monitors/mon_01m6b3m7945dn7cyvexzv41kjz/resume" \
  -H "x-api-key: LA_TUA_CHIAVE_API" \
  -H "Idempotency-Key: $(uuidgen)"
Se disattivi o archivi un endpoint webhook, tutti i monitor senza un altro endpoint webhook vanno in pausa con paused_configuration. Dopo aver riattivato l’endpoint webhook, riprendi il monitor con resume.

Errori

Errori
Stato Causa Cosa puoi fare
400 api_key è nell’URL. Invia la chiave nell’header x-api-key.
400 L’Idempotency-Key ha un formato non valido. Correggi il formato, ad esempio usa un UUID.
401 Nessuna chiave API o token, o uno non valido. Invia la chiave nell’header x-api-key.
403 Al bearer token manca l’abilitazione account:read. Usa la chiave API o un token con account:read.
403 L’indirizzo email del tuo account non è ancora confermato, oppure l’account è bloccato. Apri il link dall’email di conferma. Se l’account è bloccato, il supporto può aiutarti.
403 Al bearer token manca l’abilitazione monitoring:manage. Usa la chiave API o l’admin token.
404 Nessun monitor con questo ID nel tuo account. Controlla l’ID.
409 Esiste già un monitor per questa azienda (duplicate_monitor). Usa il monitor esistente o archivialo prima.
409 L’Idempotency-Key è già stato usato con dati diversi, è più vecchio di 24 ore oppure è ancora in elaborazione. Usa una nuova chiave o aspetta un momento.
422 Un valore non è valido: invalid_subject, invalid_interval, endpoint_required, monitor_limit o not_resumable. Correggi il valore.
428 Manca l’header Idempotency-Key. Invia l’header.
429 Troppe richieste. Riprova dopo Retry-After.
429 creation_rate_limited: troppi nuovi monitor entro 24 ore. Riprova dopo Retry-After.
503 Monitoring è temporaneamente non disponibile. Riprova poco più tardi.
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 · Un secondo monitor per la stessa azienda