Grâce à l’endpoint OlostepDocumentation Index
Fetch the complete documentation index at: https://docs.olostep.com/llms.txt
Use this file to discover all available pages before exploring further.
/v1/monitors, tu peux créer des moniteurs persistants qui s’exécutent selon un calendrier fixe, détectent les changements de page et te notifient par email, webhook ou SMS.
- Crée un moniteur à partir d’une
queryen langage naturel - Exécute des vérifications en utilisant des calendriers en langage naturel
- Envoie des alertes via
email,webhook_urlouphone_number(SMS) - Liste, inspecte, mets à jour, mets en pause, reprends et supprime des moniteurs
- Lis les événements de snapshot de moniteur à partir de snapshots privés
query.
Installation
Créer un moniteur
Crée un moniteur avecPOST /v1/monitors. L’endpoint valide ton entrée, provisionne le moniteur, crée son calendrier interne et renvoie un objet moniteur actif.
queryest requis. Si taqueryinclut une URL, le moniteur se concentrera sur cette URL d’entrée. Par défaut, chaque exécution prend un snapshot complet de ce qui est surveillé — une image de l’état actuel de la page. Si tu veux que le moniteur ne suive que ce qui est nouveau ou a changé entre les exécutions (par exemple, seulement les nouveaux articles de blog, ou seulement les baisses de prix), tu dois le spécifier explicitement dans laquery; sinon, le snapshot complet est capturé à chaque exécution.frequencyaccepte des instructions de calendrier en langage naturel et par défaut utilise UTC lorsqu’aucun fuseau horaire n’est fourni.- Un seul objectif de notification est requis :
email,webhook_urlouphone_number(SMS). - Utilise
output_schemalorsque tu veux des résultats d’extraction structurés. (optionnel)
Exemple de requête
Réponse
La création réussie d’un moniteur renvoie HTTP202 avec un objet moniteur :
Sortie structurée du moniteur
Définisoutput_schema dans la requête de création lorsque tu veux que les résultats d’extraction du moniteur suivent une structure JSON spécifique. Le schéma doit être un JSON Schema valide.
Canaux de notification
Les moniteurs prennent en charge un canal par moniteur :email: définis un champemailwebhook: définis un champwebhook_urlsms: définis un champphone_number(format E.164, par exemple+14155552671)
Exemple de webhook
Exemple de SMS
Fréquences
Définisfrequency en langage naturel, par exemple :
tous les jours à 9h America/Los_Angelestoutes les 5 minutestoutes les 6 heures
Lister les moniteurs
Récupère tous les moniteurs pour ton équipe avecGET /v1/monitors.
Par défaut, les moniteurs supprimés sont filtrés. Utilise ?include_deleted=true pour les inclure.
Forme de la réponse
Obtenir un moniteur
Récupère un moniteur unique avecGET /v1/monitors/:monitor_id.
Forme de la réponse
Lister les événements de moniteur
UtiliseGET /v1/monitors/:monitor_id/events pour lister les événements de snapshot pour un moniteur.
Cet endpoint prend en charge la pagination :
limit(par défaut25, max100)cursor(jeton de pagination opaque d’une réponse précédente)
snapshot_url pré-signée à durée de vie limitée pour que tu puisses récupérer le contenu du snapshot privé en toute sécurité.
Exemple
Forme de la réponse
cursor est mal formé, l’endpoint renvoie :
Mettre à jour un moniteur
Mets à jour un moniteur avecPOST /v1/monitors/:monitor_id.
Mises à jour prises en charge :
metadata(fusionné avec les métadonnées existantes ; passe des valeurs de chaîne vide pour supprimer des clés)frequency(texte de calendrier en langage naturel, par exemplechaque jour de la semaine à 08:30 America/New_York)
frequency, l’API recrée le calendrier du moniteur en interne. Si aucun fuseau horaire n’est inclus dans le texte, UTC est utilisé.
Exemple de requête
Mettre en pause un moniteur
Mets en pause un moniteur avecPOST /v1/monitors/:monitor_id/pause.
La mise en pause désactive le calendrier sous-jacent du moniteur afin qu’aucune exécution future ne soit déclenchée, et met le status du moniteur à paused. La ligne du moniteur, sa configuration et ses snapshots passés sont conservés — seules les exécutions planifiées futures s’arrêtent. Tu peux reprendre le moniteur plus tard avec POST /v1/monitors/:monitor_id/resume.
Seuls les moniteurs avec un status de active peuvent être mis en pause. Le corps de la requête est vide.
Réponse
En cas de succès, renvoie200 avec le moniteur et status mis à paused :
400—monitor_idmal formé, moniteur déjàdeleted, moniteur pas actuellementactive, ou moniteur n’a pas de calendrier sous-jacent.404— Moniteur non trouvé.409— Le moniteur a changé d’état pendant la tentative de pause (n’est plusactive), ou le calendrier sous-jacent n’a pas pu être trouvé.
Reprendre un moniteur
Reprends un moniteur en pause avecPOST /v1/monitors/:monitor_id/resume.
La reprise réactive le calendrier sous-jacent du moniteur et remet le status du moniteur à active. Les exécutions planifiées continuent sur la frequency existante — aucune recréation du calendrier n’est nécessaire.
Seuls les moniteurs avec un status de paused peuvent être repris. Le corps de la requête est vide.
Réponse
En cas de succès, renvoie200 avec le moniteur et status remis à active :
400—monitor_idmal formé, moniteur déjàdeleted, moniteur pas actuellementpaused, ou moniteur n’a pas de calendrier sous-jacent.404— Moniteur non trouvé.409— Le moniteur a changé d’état pendant la tentative de reprise (n’est pluspaused), ou le calendrier sous-jacent n’a pas pu être trouvé.
Supprimer un moniteur
Supprime un moniteur avecDELETE /v1/monitors/:monitor_id.
La suppression est douce pour la ligne du moniteur (status devient deleted) et supprime également les ressources de planification/agent fantôme internes liées à ce moniteur.
Exemples d’utilisation
Ci-dessous des exemples pratiques de requêtes pour l’endpoint/v1/monitors.
Suivre les problèmes de disponibilité dans l’API OpenAI
Exécute une vérification horaire qui surveille le statut de l’API OpenAI et t’envoie un email lorsque des problèmes de disponibilité sont détectés.Suivre les avis sur les produits — snapshot complet par exécution
Surveille une page produit et envoie chaque avis à un webhook à chaque exécution. Comme laquery ne demande pas de dédupliquer par rapport aux exécutions précédentes, chaque exécution capture un snapshot complet des avis actuellement sur la page (le comportement par défaut). Utilise ce modèle lorsque tu veux l’état complet à chaque fois, par exemple pour écraser une table en aval.
Suivre uniquement les nouvelles annonces de location — delta par rapport à l’exécution précédente
Surveille une recherche de locations paginée et exécute un pipeline multi-étapes qui fait ressortir uniquement les annonces nouvellement apparues par rapport à l’exécution précédente, puis enrichit et évalue chacune avant de notifier le webhook. Le workflow complet — paginer, détecter les nouvelles annonces par rapport au point de contrôle précédent, enrichir chaque nouvelle annonce avec des signaux de criminalité pour son emplacement, attribuer un score de 1 à 10 basé sur le prix/l’emplacement/la sécurité, persister l’état, et notifier — est exprimé directement comme étapes ordonnées dans laquery. Comme les étapes en langage naturel décrivent à la fois l’extraction et la logique de delta, aucun output_schema n’est requis : la query seule détermine ce qui est récupéré, comparé, enrichi, évalué et livré.
Erreurs de validation courantes
Les endpoints de moniteur renvoient des erreurs de validation claires pour les requêtes invalides courantes :querymanquantefrequencymanquante, ou instruction de calendrier invalide- Absence de tous
email,webhook_urletphone_number - Fournir plus d’un
email,webhook_urletphone_numberdans la même requête - Format d’email invalide
- URL de webhook invalide (doit être
httpouhttps) - Format de numéro de téléphone invalide (doit être E.164, par exemple
+14155552671) output_schemainvalide (doit être un JSON Schema valide)- Format de
monitor_idinvalide