/v1/account/monitors

account/monitors

Monitoring: bedrijven laten bewaken, aanmaken, pauzeren, verwijderen.

Kosten en limieten

Kosten en limieten
Wat Credits
Monitor elke dag gecontroleerd, gedurende 30 dagen 50
Monitor elke 3 dagen gecontroleerd, gedurende 30 dagen 40
Monitor elke 7 dagen gecontroleerd, gedurende 30 dagen 20
Monitor elke 30 dagen gecontroleerd, gedurende 30 dagen 10
Elke extra geslaagde controle in de periode +2

Limiet: 30 aanvragen per minuut. Aanmaken, wijzigen en verwijderen: 10 per minuut.

curl -G "https://handelsregister.ai/api/v1/account/monitoring/pricing" \
  -H "x-api-key: JOUW_API_SLEUTEL" \
  --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 · Voorbeeldantwoord: prijs voor een monitor met een controle elke 7 dagen

Hoe een monitor werkt

Status
Status Betekenis
initializing Aangemaakt; nulmeting en activering lopen.
active Controleert met het gekozen interval.
paused_user Door jou gepauzeerd.
paused_configuration Er is geen actief, geverifieerd webhook-endpoint meer gekoppeld.
paused_billing Je saldo dekt de cyclus of een extra controle niet. Of de prijs is gewijzigd en wacht op je toestemming.
error Meerdere controles op rij zijn mislukt.
archived Definitief beëindigd. Je kunt de monitor nog op zijn ID opvragen, maar hij staat niet meer in de lijst.

Endpoints

Methode
Methode Pad Doel
GET /v1/account/monitors Alle monitors, nieuwste eerst, zonder gearchiveerde.
POST /v1/account/monitors Een monitor aanmaken.
GET /v1/account/monitors/{id} Eén monitor met zijn cyclus en laatste controles.
PATCH /v1/account/monitors/{id} Het controle-interval wijzigen.
POST /v1/account/monitors/{id}/pause Pauzeren.
POST /v1/account/monitors/{id}/resume Hervatten.
DELETE /v1/account/monitors/{id} Archiveren.
GET /v1/account/monitoring/pricing Prijs van een interval.

Idempotency-Key

Een monitor aanmaken

curl -X POST "https://handelsregister.ai/api/v1/account/monitors" \
  -H "x-api-key: JOUW_API_SLEUTEL" \
  -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"
    ]
}'
Parameters
Naam Type Beschrijving Voorbeeld
Idempotency-KeyHeader stringverplicht Een unieke waarde per bewerking, bij voorkeur een UUID. Zie Idempotency-Key.Limieten: 1 tot 128 tekens req-20260802-01
entity_idBody stringverplicht De entity_id van het bedrijf uit fetch-organization of search-organizations.Limieten: 1 tot 128 tekens 94eb910fef13f94585c48c263fa446d4
labelBody stringoptioneel Een naam voor de monitor.Limieten: hoogstens 200 tekens Hetzner Online GmbH
poll_interval_daysBody integerverplicht Controle-interval in dagen.Limieten: 1 tot 30 7
endpoint_idsBody lijst van stringverplicht De ID’s van je webhook-endpoints (wep_…). Elk moet actief en geverifieerd zijn.Limieten: 1 tot 10 items ["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 · Voorbeeldantwoord: een nieuwe monitor, in ons voorbeeld voor Hetzner Online GmbH, Ansbach HRB 6089
Via de API leg je de webhook-endpoints vast bij het aanmaken van de monitor. Een extra webhook-endpoint koppel je onder Account › Monitoring met „Bestemming koppelen”, zonder extra kosten.

Monitors opvragen en wijzigen

curl -G "https://handelsregister.ai/api/v1/account/monitors/mon_01m65pn3vm11sjjp1j076cbvec" \
  -H "x-api-key: JOUW_API_SLEUTEL"
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 · Voorbeeldantwoord: een actieve monitor met een dagelijkse controle, opnieuw voor Hetzner Online GmbH
Velden van een monitor
Veld Betekenis
id ID van de monitor, begint met mon_.
entity_id Het bewaakte bedrijf.
poll_interval_days Controle-interval in dagen.
status, status_reason Status, zie hierboven. status_reason geeft de reden.
baseline_completed_at, activated_at, last_succeeded_at Tijdstippen van de nulmeting, de activering en de laatste geslaagde controle.
next_poll_at De volgende geplande controle, alleen bij actieve monitors.
billing_cycle De huidige cyclus: begin, einde, prijs, inbegrepen controles en tot nu toe uitgevoerde controles.
recent_runs De laatste controles met resultaat, afrekening en het aantal nieuwe signalen in events_new.
curl -X PATCH "https://handelsregister.ai/api/v1/account/monitors/mon_01m6b3m7945dn7cyvexzv41kjz" \
  -H "x-api-key: JOUW_API_SLEUTEL" \
  -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 · Voorbeeldantwoord: interval gewijzigd naar 30 dagen

Pauzeren, hervatten, archiveren

curl -X POST "https://handelsregister.ai/api/v1/account/monitors/mon_01m6b3m7945dn7cyvexzv41kjz/resume" \
  -H "x-api-key: JOUW_API_SLEUTEL" \
  -H "Idempotency-Key: $(uuidgen)"
Schakel je een webhook-endpoint uit of archiveer je het, dan pauzeren alle monitors zonder ander webhook-endpoint met paused_configuration. Hervat de monitor met resume nadat je het webhook-endpoint weer hebt ingeschakeld.

Fouten

Fouten
Status Oorzaak Wat je kunt doen
400 api_key staat in de URL. Stuur de sleutel in de header x-api-key.
400 De Idempotency-Key heeft een ongeldig formaat. Corrigeer het formaat, gebruik bijvoorbeeld een UUID.
401 Geen API-sleutel of token, of een ongeldige. Stuur de sleutel in de header x-api-key.
403 Het bearer-token mist het recht account:read. Gebruik de API-sleutel of een token met account:read.
403 Het e-mailadres van je account is nog niet bevestigd, of het account is geblokkeerd. Open de link uit de bevestigingsmail. Is het account geblokkeerd, dan helpt support.
403 Het bearer-token mist het recht monitoring:manage. Gebruik de API-sleutel of het admin-token.
404 Geen monitor met deze ID in je account. Controleer de ID.
409 Er bestaat al een monitor voor dit bedrijf (duplicate_monitor). Gebruik de bestaande monitor of archiveer die eerst.
409 De Idempotency-Key is al met andere gegevens gebruikt, is ouder dan 24 uur, of wordt nog verwerkt. Gebruik een nieuwe sleutel of wacht even.
422 Een waarde is ongeldig: invalid_subject, invalid_interval, endpoint_required, monitor_limit of not_resumable. Corrigeer de waarde.
428 De header Idempotency-Key ontbreekt. Stuur de header mee.
429 Te veel aanvragen. Probeer het opnieuw na Retry-After.
429 creation_rate_limited: te veel nieuwe monitors binnen 24 uur. Probeer het opnieuw na Retry-After.
503 Monitoring is tijdelijk niet beschikbaar. Probeer het wat later opnieuw.
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 · Een tweede monitor voor hetzelfde bedrijf