/v1/account/monitors

account/monitors

Monitoring: pune companii sub supraveghere, creează, pune pe pauză, șterge.

Costuri și limite

Costuri și limite
Ce Credite
Monitor verificat în fiecare zi, timp de 30 zile 50
Monitor verificat la fiecare 3 zile, timp de 30 zile 40
Monitor verificat la fiecare 7 zile, timp de 30 zile 20
Monitor verificat la fiecare 30 zile, timp de 30 zile 10
Fiecare verificare reușită suplimentară din perioadă +2

Limită: 30 cereri pe minut. Creare, modificare și ștergere: 10 pe minut.

curl -G "https://handelsregister.ai/api/v1/account/monitoring/pricing" \
  -H "x-api-key: CHEIA_TA_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 · Răspuns exemplu: prețul unui monitor cu verificare la fiecare 7 zile

Cum funcționează un monitor

Status
Status Semnificație
initializing Creat; baza de referință și activarea rulează.
active Verifică la intervalul ales.
paused_user Pus pe pauză de tine.
paused_configuration Nu mai este conectat niciun endpoint webhook activ și verificat.
paused_billing Soldul tău nu acoperă ciclul sau o verificare suplimentară. Sau prețul s-a schimbat și așteaptă acordul tău.
error Mai multe verificări la rând au eșuat.
archived Încheiat definitiv. Poți citi în continuare monitorul după ID, dar nu mai apare în listă.

Endpointuri

Metodă
Metodă Cale Scop
GET /v1/account/monitors Toate monitoarele, cele mai noi primele, fără cele arhivate.
POST /v1/account/monitors Creează un monitor.
GET /v1/account/monitors/{id} Un monitor cu ciclul și ultimele verificări.
PATCH /v1/account/monitors/{id} Schimbă intervalul de verificare.
POST /v1/account/monitors/{id}/pause Pauză.
POST /v1/account/monitors/{id}/resume Reluare.
DELETE /v1/account/monitors/{id} Arhivare.
GET /v1/account/monitoring/pricing Prețul unui interval.

Idempotency-Key

Creează un monitor

curl -X POST "https://handelsregister.ai/api/v1/account/monitors" \
  -H "x-api-key: CHEIA_TA_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
Nume Tip Descriere Exemplu
Idempotency-KeyHeader șir de caractereobligatoriu O valoare unică per operație, ideal un UUID. Vezi Idempotency-Key.Limite: 1 până la 128 caractere req-20260802-01
entity_idBody șir de caractereobligatoriu entity_id-ul companiei din fetch-organization sau search-organizations.Limite: 1 până la 128 caractere 94eb910fef13f94585c48c263fa446d4
labelBody șir de caractereopțional Un nume pentru monitor.Limite: cel mult 200 caractere Hetzner Online GmbH
poll_interval_daysBody număr întregobligatoriu Intervalul de verificare în zile.Limite: 1 până la 30 7
endpoint_idsBody listă de stringobligatoriu ID-urile endpointurilor tale webhook (wep_…). Fiecare trebuie să fie activ și verificat.Limite: 1 până la 10 intrări ["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 · Răspuns exemplu: un monitor nou, în exemplul nostru pentru Hetzner Online GmbH, Ansbach HRB 6089
Prin API stabilești endpointurile webhook când creezi monitorul. Un alt endpoint webhook îl conectezi la Cont › Monitoring cu „Conectează o destinație”, fără cost suplimentar.

Listează și modifică monitoare

curl -G "https://handelsregister.ai/api/v1/account/monitors/mon_01m65pn3vm11sjjp1j076cbvec" \
  -H "x-api-key: CHEIA_TA_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 · Răspuns exemplu: un monitor activ cu verificare zilnică, tot pentru Hetzner Online GmbH
Câmpurile unui monitor
Câmp Semnificație
id ID-ul monitorului, începe cu mon_.
entity_id Compania urmărită.
poll_interval_days Intervalul de verificare în zile.
status, status_reason Statusul, vezi mai sus. status_reason indică motivul.
baseline_completed_at, activated_at, last_succeeded_at Momentele bazei de referință, ale activării și ale ultimei verificări reușite.
next_poll_at Următoarea verificare programată, doar pentru monitoarele active.
billing_cycle Ciclul curent: început, sfârșit, preț, verificări incluse și verificări făcute până acum.
recent_runs Ultimele verificări cu rezultat, facturare și numărul de semnale noi în events_new.
curl -X PATCH "https://handelsregister.ai/api/v1/account/monitors/mon_01m6b3m7945dn7cyvexzv41kjz" \
  -H "x-api-key: CHEIA_TA_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 · Răspuns exemplu: interval schimbat la 30 de zile

Pauză, reluare, arhivare

curl -X POST "https://handelsregister.ai/api/v1/account/monitors/mon_01m6b3m7945dn7cyvexzv41kjz/resume" \
  -H "x-api-key: CHEIA_TA_API" \
  -H "Idempotency-Key: $(uuidgen)"
Dacă dezactivezi sau arhivezi un endpoint webhook, toate monitoarele fără alt endpoint webhook se pun pe pauză cu paused_configuration. După ce activezi endpointul webhook, reia monitorul cu resume.

Erori

Erori
Status Cauză Ce poți face
400 api_key se află în URL. Trimite cheia în headerul x-api-key.
400 Idempotency-Key are un format invalid. Corectează formatul, de exemplu folosește un UUID.
401 Nicio cheie API sau token ori unul invalid. Trimite cheia în headerul x-api-key.
403 Bearer tokenului îi lipsește dreptul account:read. Folosește cheia API sau un token cu account:read.
403 Adresa de e-mail a contului tău nu este încă confirmată sau contul este blocat. Deschide linkul din e-mailul de confirmare. Dacă contul este blocat, te poate ajuta suportul.
403 Bearer tokenului îi lipsește dreptul monitoring:manage. Folosește cheia API sau tokenul admin.
404 Niciun monitor cu acest ID în contul tău. Verifică ID-ul.
409 Există deja un monitor pentru această companie (duplicate_monitor). Folosește monitorul existent sau arhivează-l mai întâi.
409 Idempotency-Key a fost deja folosit cu alte date, este mai vechi de 24 de ore sau încă se procesează. Folosește o cheie nouă sau așteaptă puțin.
422 O valoare este invalidă: invalid_subject, invalid_interval, endpoint_required, monitor_limit sau not_resumable. Corectează valoarea.
428 Lipsește headerul Idempotency-Key. Trimite headerul.
429 Prea multe cereri. Reîncearcă după Retry-After.
429 creation_rate_limited: prea multe monitoare noi în 24 de ore. Reîncearcă după Retry-After.
503 Monitoring este temporar indisponibil. Reîncearcă puțin mai târziu.
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 al doilea monitor pentru aceeași companie