/v1/account/monitors

account/monitors

Monitoring: Firmen überwachen lassen, anlegen, pausieren, löschen.

Kosten und Limits

Kosten und Limits
Was Credits
Monitor mit Prüfung jeden Tag, für 30 Tage 50
Monitor mit Prüfung alle 3 Tage, für 30 Tage 40
Monitor mit Prüfung alle 7 Tage, für 30 Tage 20
Monitor mit Prüfung alle 30 Tage, für 30 Tage 10
Jede weitere erfolgreiche Prüfung im Zeitraum +2

Limit: 30 Anfragen pro Minute. Anlegen, Ändern und Löschen: 10 pro Minute.

curl -G "https://handelsregister.ai/api/v1/account/monitoring/pricing" \
  -H "x-api-key: DEIN_API_SCHLUESSEL" \
  --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 · Beispielantwort: Preis für einen Monitor mit Prüfung alle 7 Tage

Ablauf eines Monitors

Status
Status Bedeutung
initializing Angelegt, Bestandsaufnahme und Aktivierung laufen.
active Prüft im gewählten Rhythmus.
paused_user Von dir pausiert.
paused_configuration Kein aktiver, verifizierter Webhook-Endpoint mehr verbunden.
paused_billing Das Guthaben reicht nicht für den Zyklus oder eine zusätzliche Prüfung. Oder der Preis hat sich geändert und wartet auf deine Zustimmung.
error Mehrere Prüfungen in Folge sind fehlgeschlagen.
archived Dauerhaft beendet. Per ID bleibt der Monitor lesbar, in der Liste erscheint er nicht mehr.

Endpunkte

Methode
Methode Pfad Zweck
GET /v1/account/monitors Alle Monitore, die neuesten zuerst, ohne archivierte.
POST /v1/account/monitors Monitor anlegen.
GET /v1/account/monitors/{id} Ein Monitor mit Zyklus und letzten Prüfungen.
PATCH /v1/account/monitors/{id} Prüfrhythmus ändern.
POST /v1/account/monitors/{id}/pause Pausieren.
POST /v1/account/monitors/{id}/resume Fortsetzen.
DELETE /v1/account/monitors/{id} Archivieren.
GET /v1/account/monitoring/pricing Preis eines Rhythmus.

Idempotency-Key

Monitor anlegen

curl -X POST "https://handelsregister.ai/api/v1/account/monitors" \
  -H "x-api-key: DEIN_API_SCHLUESSEL" \
  -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"
    ]
}'
Parameter
Name Typ Beschreibung Beispiel
Idempotency-KeyHeader stringPflicht Ein eindeutiger Wert pro Vorgang, am besten eine UUID. Siehe Idempotency-Key.Grenzen: 1 bis 128 Zeichen req-20260802-01
entity_idBody stringPflicht Die entity_id der Firma aus fetch-organization oder search-organizations.Grenzen: 1 bis 128 Zeichen 94eb910fef13f94585c48c263fa446d4
labelBody stringoptional Ein Name für den Monitor.Grenzen: höchstens 200 Zeichen Hetzner Online GmbH
poll_interval_daysBody integerPflicht Prüfrhythmus in Tagen.Grenzen: 1 bis 30 7
endpoint_idsBody Liste aus stringPflicht Die IDs deiner Webhook-Endpoints (wep_…). Jeder muss aktiv und verifiziert sein.Grenzen: 1 bis 10 Einträge ["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 · Beispielantwort: ein neuer Monitor, in unserem Beispiel für die Hetzner Online GmbH, Ansbach HRB 6089
Über die API legst du die Webhook-Endpoints beim Anlegen fest. Einen weiteren Webhook-Endpoint verbindest du unter Konto › Monitoring mit „Ziel verbinden“, ohne neue Kosten.

Monitore abrufen und ändern

curl -G "https://handelsregister.ai/api/v1/account/monitors/mon_01m65pn3vm11sjjp1j076cbvec" \
  -H "x-api-key: DEIN_API_SCHLUESSEL"
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 · Beispielantwort: ein aktiver Monitor mit täglicher Prüfung, wieder für die Hetzner Online GmbH
Felder eines Monitors
Feld Bedeutung
id ID des Monitors, beginnt mit mon_.
entity_id Die überwachte Firma.
poll_interval_days Prüfrhythmus in Tagen.
status, status_reason Status, siehe oben. status_reason nennt den Grund.
baseline_completed_at, activated_at, last_succeeded_at Zeitpunkte von Bestandsaufnahme, Aktivierung und letzter erfolgreicher Prüfung.
next_poll_at Die nächste geplante Prüfung, nur bei aktiven Monitoren.
billing_cycle Der laufende Zyklus: Beginn, Ende, Preis, enthaltene und bereits erfolgte Prüfungen.
recent_runs Die letzten Prüfungen mit Ergebnis, Abrechnung und Zahl neuer Signals in events_new.
curl -X PATCH "https://handelsregister.ai/api/v1/account/monitors/mon_01m6b3m7945dn7cyvexzv41kjz" \
  -H "x-api-key: DEIN_API_SCHLUESSEL" \
  -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 · Beispielantwort: Rhythmus auf 30 Tage geändert

Pausieren, fortsetzen, archivieren

curl -X POST "https://handelsregister.ai/api/v1/account/monitors/mon_01m6b3m7945dn7cyvexzv41kjz/resume" \
  -H "x-api-key: DEIN_API_SCHLUESSEL" \
  -H "Idempotency-Key: $(uuidgen)"
Deaktivierst oder archivierst du einen Webhook-Endpoint, pausieren alle Monitore ohne weiteren Webhook-Endpoint mit paused_configuration. Nach dem Aktivieren des Webhook-Endpoints setzt du den Monitor mit resume fort.

Fehler

Fehler
Status Ursache Was du tun kannst
400 api_key steht in der URL. Den Schlüssel im Header x-api-key schicken.
400 Der Idempotency-Key hat ein ungültiges Format. Format korrigieren, etwa eine UUID.
401 Kein oder ein ungültiger API-Schlüssel oder Token. Schlüssel im Header x-api-key mitschicken.
403 Dem Bearer-Token fehlt die Berechtigung account:read. Den API-Schlüssel oder ein Token mit account:read verwenden.
403 Die E-Mail-Adresse deines Kontos ist noch nicht bestätigt, oder das Konto ist gesperrt. Den Link aus der Bestätigungsmail öffnen. Ist das Konto gesperrt, hilft der Support.
403 Dem Bearer-Token fehlt die Berechtigung monitoring:manage. API-Schlüssel oder Admin-Token verwenden.
404 Kein Monitor mit dieser ID in deinem Konto. ID prüfen.
409 Für diese Firma gibt es schon einen Monitor (duplicate_monitor). Den bestehenden Monitor nutzen oder vorher archivieren.
409 Der Idempotency-Key wurde schon mit anderen Daten verwendet, ist älter als 24 Stunden oder noch in Bearbeitung. Neuen Key verwenden oder kurz warten.
422 Eine Angabe ist ungültig: invalid_subject, invalid_interval, endpoint_required, monitor_limit oder not_resumable. Angabe korrigieren.
428 Der Header Idempotency-Key fehlt. Header mitschicken.
429 Zu viele Anfragen. Nach Retry-After wiederholen.
429 creation_rate_limited: zu viele neue Monitore in 24 Stunden. Nach Retry-After wiederholen.
503 Monitoring ist vorübergehend nicht verfügbar. Etwas später wiederholen.
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 · Ein zweiter Monitor für dieselbe Firma