Mit der fastry API legst du Monitore an, markierst Deployments und liest deine Rankings – zum Beispiel aus deiner CI-Pipeline.
Die API gibt es im Tarif Agency.
Anmeldung
Erstelle einen API-Key unter Einstellungen → API
und wähle dort seine Rechte. Sende ihn bei jeder Anfrage mit:
Authorization: Bearer fry_…
Ohne gültigen API-Key antwortet die API mit 401, fehlt ein Recht mit 403.
Fehler kommen als JSON mit dem Feld error.
Seitenweise abrufen
Listen liefern data
und meta
(page, per_page, total, total_pages).
Mit ?page=2&per_page=50
holst du die nächste Seite; per_page
ist standardmäßig 100, höchstens 200.
Beispiel: Deployment aus der CI melden
curl -X POST https://staging.fastry.com/api/v1/deployments \
-H "Authorization: Bearer $FASTRY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url": "https://shop.example.com", "commit": "a1b2c3d"}'
POST
/api/v1/deployments
Recht: Deployments melden
Deployment markieren
Setzt einen Marker an allen Monitoren der URL(s). Eine reine Domain (ohne Pfad) trifft alle Monitore dieser Domain. Etwa 2 Minuten danach misst fastry jeden Monitor mit Performance-Tracking neu (Standard; abschaltbar je Monitor oder mit `scan: false`, `scan: true` misst auch abgeschaltete Monitore). Mehrere Deploys kurz hintereinander ergeben eine Messung; sie zählt nicht zu den Scans pro Tag. 404, wenn keine URL zu einem Monitor passt.
Felder:
author (string)
branch (string)
commit (string)
commit_url (string)
deployed_at (string)
environment (string)
message (string)
scan (boolean)
url (string)
urls (array)
GET
/api/v1/monitors
Recht: Monitore lesen
Monitore auflisten
- page
- Seite, ab 1 (Standard 1)
- per_page
- Einträge je Seite (Standard 100, höchstens 200)
POST
/api/v1/monitors
Recht: Monitore erstellen & ändern
Monitor anlegen
Felder:
monitor.expected_status_codes (array)
monitor.follow_redirects (boolean)
monitor.http_method (string)
monitor.interval_seconds (integer)
monitor.keyword (string)
monitor.keyword_case_sensitive (boolean)
monitor.keyword_mode (string)
monitor.name (string)
monitor.paused (boolean)
monitor.psi_device (string)
monitor.psi_enabled (boolean)
monitor.timeout_seconds (integer)
monitor.url (string)
GET
/api/v1/monitors/{id}
Recht: Monitore lesen
Einen Monitor lesen
- id
- ID des Monitors
PATCH
/api/v1/monitors/{id}
Recht: Monitore erstellen & ändern
Monitor ändern
- id
- ID des Monitors
Felder:
monitor.expected_status_codes (array)
monitor.follow_redirects (boolean)
monitor.http_method (string)
monitor.interval_seconds (integer)
monitor.keyword (string)
monitor.keyword_case_sensitive (boolean)
monitor.keyword_mode (string)
monitor.name (string)
monitor.paused (boolean)
monitor.psi_device (string)
monitor.psi_enabled (boolean)
monitor.timeout_seconds (integer)
monitor.url (string)
PUT
/api/v1/monitors/{id}
Recht: Monitore erstellen & ändern
Monitor ändern (wie PATCH)
- id
- ID des Monitors
Felder:
monitor.expected_status_codes (array)
monitor.follow_redirects (boolean)
monitor.http_method (string)
monitor.interval_seconds (integer)
monitor.keyword (string)
monitor.keyword_case_sensitive (boolean)
monitor.keyword_mode (string)
monitor.name (string)
monitor.paused (boolean)
monitor.psi_device (string)
monitor.psi_enabled (boolean)
monitor.timeout_seconds (integer)
monitor.url (string)
DELETE
/api/v1/monitors/{id}
Recht: Monitore erstellen & ändern
Monitor löschen
- id
- ID des Monitors
POST
/api/v1/monitors/{id}/check
Recht: Monitore erstellen & ändern
Sofort prüfen
- id
- ID des Monitors
GET
/api/v1/rankings
Recht: Rankings lesen
Aktuelle Rankings lesen
- page
- Seite, ab 1 (Standard 1)
- per_page
- Einträge je Seite (Standard 100, höchstens 200)