In questa pagina
Scegli l’interfaccia adatta al compito
| Esigenza | Interfaccia | Direzione |
|---|---|---|
| Avvisare un team o una destinazione di paging | Connettori di alert | in uscita |
| Verificare un evento di incident sul tuo endpoint | Webhook firmato | in uscita |
| Leggere dati di monitor e incident | API REST e OpenAPI | REST in sola lettura |
| Far leggere e agire un agente autorizzato | MCP | letture e scritture con scope |
| Mantenere lo stato visibile agli operatori | Wallboard web e app Apple | interfacce del prodotto |
Ogni interfaccia di questa pagina esiste oggi.
Invia gli incident ai canali esistenti
| Canale | Dettaglio | Piano |
|---|---|---|
| Push | app nativa iOS e Apple Watch | tutti i piani |
| passaggio di escalation in una policy di reperibilità | da Sentinel | |
| Alert SMS personale | incident critico, opt-in individuale, quota mensile | da Pulse |
| SMS di reperibilità | passaggio di escalation, a numeri verificati | da Sentinel |
| Telefonata | ultimo passaggio di escalation, massimo 2 per incident | da Sentinel |
| Webhook firmati | HMAC in x-perstat-signature, secret rotabile, invio di prova | tutti i piani |
| Slack, Teams, Discord, Google Chat | apertura e ripristino dell’incident, via incoming webhook | tutti i piani |
| PagerDuty, Opsgenie | incident inoltrato alla loro API di eventi | tutti i piani |
| Iscritti alla pagina di stato | email double opt-in ai clienti, apertura e ripristino | da Sentinel |
I percorsi dei connettori sono solo in uscita: Perstat invia gli eventi di apertura e di ripristino degli incident. Prendi in carico e risolvi in Perstat o tramite un’azione MCP autorizzata.
L’escalation continua finché qualcuno non prende in carico: push, poi SMS, poi una telefonata, con tempi configurati per ogni turno. La presa in carico assegna il responsabile, e tutti gli altri dispositivi tacciono. Un numero di telefono riceve alert solo dopo la verifica con un codice monouso.
Verifica un webhook firmato sul tuo endpoint
Le destinazioni webhook scattano quando un incident si apre e quando si risolve. Ogni consegna
porta lo user agent perstat-webhook/1.0 e una firma HMAC in x-perstat-signature, così il tuo
ricevente può verificarne l’origine.
La firma è sha256= seguito da 64 caratteri esadecimali minuscoli, calcolata come HMAC-SHA256 sul
body grezzo. Il secret compare una sola volta alla creazione e si ruota dal prodotto. L’invio di
prova è integrato.
Le destinazioni webhook vengono verificate con la stessa blocklist SSRF usata dalle sonde. Le destinazioni private, link-local, ULA e metadata sono bloccate, e i redirect vengono controllati di nuovo. È una misura di contenimento, non una garanzia “SSRF-safe”.
Leggi via REST con il contratto OpenAPI pubblico
Le chiavi API dell’organizzazione con scope leggono oggi 7 endpoint REST:
- Elenco dei monitor
- Dettaglio di un monitor
- Check
- Serie temporali
- Incident del monitor
- Incident dell’organizzazione
- Dettaglio dell’incident
Le chiavi si possono limitare ulteriormente a progetti o singoli monitor. Il contratto OpenAPI
pubblico su
api.perstat.io/openapi.json documenta il
contratto pubblico, non ogni operazione interna.
L’automazione in scrittura spetta a MCP, che usa un modello di autorizzazione diverso.
Lascia agire un agente autorizzato via MCP
Perstat parla il Model Context Protocol su https://api.perstat.io/mcp. L’endpoint usa
Streamable HTTP stateless. Entro gli scope offerti alla sua chiave, un agente legge lo stato della
tua organizzazione, prende in carico o risolve incident e gestisce il ciclo di vita dei monitor.
Un agente si autentica con una chiave API dell’organizzazione con scope oppure, nei client compatibili, tramite il flusso OAuth Authorization Code con PKCE. Ogni scrittura è attribuita all’identità umana della credenziale: chi ha creato la chiave API o il soggetto OAuth. A ogni scrittura Perstat verifica l’appartenenza e il ruolo attuali di quell’identità.
Il catalogo live cambia, quindi il numero esatto di strumenti resta nella documentazione MCP, che ne riporta la data.
Collega Claude Code con una chiave bearer:
claude mcp add --transport http perstat https://api.perstat.io/mcp \
--header "Authorization: Bearer pst_…"
Qualsiasi client MCP che parla Streamable HTTP si collega allo stesso modo, con l’header bearer o con il flusso OAuth pubblicato. Questo vale per Codex, per i connettori di ChatGPT e per il tuo agente. Chi usa Claude Code può anche installare il plugin Perstat, che accede tramite il browser e aggiunge skill per incident e monitor.
Una pipeline non ha bisogno di un agente. Una sola tools/call dal job di deploy registra il
monitor, e lo step fallisce a ogni errore, salvo quando il monitor esiste già:
curl -sS --fail-with-body https://api.perstat.io/mcp \
-H "Authorization: Bearer $PERSTAT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{
"name":"create_monitor","arguments":{"project_id":"prj_…",
"name":"Order API","type":"http",
"config":{"url":"https://orders.example.com/health"}}}}'
Una seconda esecuzione viene rifiutata come ripetizione esatta, e lo step passa comunque. Quando il
percorso di health cambia, update_monitor modifica il monitor esistente.
Lo strumento create_monitor richiede una chiave valida per tutta l’organizzazione. Una chiave
ristretta a progetti o monitor legge e agisce solo sulle proprie risorse.
Tieni visibile lo stato live
L’app web include un wallboard live a schermo intero. Le app native coprono iPhone, iPad e Apple Watch.
Gli incident aperti possono apparire come Live Activity sulla schermata di blocco e nella Dynamic Island. L’app per Apple Watch può prendere in carico un incident, assumere la reperibilità e attivare o mettere in pausa un monitor.


Gli SMS da Pulse e le telefonate di reperibilità da Sentinel funzionano senza un dispositivo Apple. Oggi non esiste un’app nativa per Android.
Pubblica interfacce di stato
- Pagina di stato. Le modalità bozza e pubblica esistono in ogni piano. Da Sentinel, la pagina funziona sul tuo dominio (verificato via CNAME, TLS gestito) e supporta l’accesso con password e account viewer.
- Badge SLA. La pagina di stato serve un badge SVG, con snippet Markdown e HTML da copiare.
- RSS. Ogni pagina di stato offre un feed.
Limiti
- Chat. Slack, Microsoft Teams, Discord e Google Chat ricevono gli incident tramite un incoming webhook. In questi strumenti non esiste un’app nativa Perstat né un’azione interattiva, quindi non puoi prendere in carico o risolvere al loro interno.
- Strumenti di paging. PagerDuty e Opsgenie sono una destinazione per gli incident inoltrati, non un percorso sostitutivo. Perstat è progettato per essere esso stesso il livello di paging, non per alimentarne un altro. Il confronto con Opsgenie descrive cosa comporta questo passaggio.
- Scritture MCP. Un agente può archiviare un monitor e ripristinarlo in seguito, ma non può cancellarlo. Pagine di stato, connettori e chiavi API restano fuori dal confine di scrittura MCP, così come membri e cambi di piano.
- Zapier. Non esiste un’integrazione con Zapier.
- Terraform. Non esiste un provider Terraform né un flusso dichiarativo monitors-as-code. Le chiavi REST leggono 7 endpoint ( riferimento), e oggi gli scope REST di scrittura non vengono valutati. MCP è un’interfaccia per agenti, non una pipeline dichiarativa.
Leggi il riferimento REST, consulta MCP per gli agenti, oppure inizia gratis e configura il tuo primo connettore. Se un confine dichiarato è decisivo, scrivi a hello@perstat.io per una risposta concreta.