Intégration

Documentation développeurs

API /v1, Terraform, webhooks HMAC et SDK. Choisissez une page à gauche, ou suivez le quickstart.

Contrat OpenAPIÉmettre une clé d’APICompte Solo gratuit

Document complet, sans authentification, à donner à votre générateur de client.

Modèle mental

Pathly expose une API publique versionnée sous https://api.pathlyhq.com/v1. Une organisation possède des scénarios, des runs, des incidents, des webhooks, des fenêtres de maintenance et des objectifs de disponibilité. La console et l’API partagent la même vérité de configuration : ce que vous créez ici apparaît là, et inversement.

Deux portes, une stack : le métier enregistre un Flow dans la console ; le tech versionne Ping, Chain, webhooks et SLA via IaC ou SDK. Une Chain se crée avec `httpChain` sur POST /v1/scenarios (hops login → API). Les secrets d’un Flow ne doivent jamais entrer dans un état Terraform ni un dépôt Git.

Le contrat OpenAPI servi par la plateforme est la source de vérité des routes. Cette page le lit au rendu : une route retirée disparaît d’elle-même de la référence ci-dessous.

Quickstart 5 minutes

Objectif : une clé, un Ping, un webhook de test, un lien Terraform. Comptez cinq minutes si le compte Solo existe déjà. Une Chain se pose ensuite avec httpChain (API) ou http_chain (provider).

1) Allez sur la Console Pathly (créez un compte gratuit via le lien ci-dessous) → Réglages → Clés d’API → émettre une clé avec scenarios:write et alerting:write. Copier le secret une seule fois (préfixe sp_). 2) Exporter PATHLY_API_TOKEN. 3) Créer le scénario (exemple ci-dessous). 4) Créer un webhook vers un récepteur de test (webhook.site ou votre /hooks). 5) Provider Terraform pathlyhq/pathly pour versionner la suite.

1 — Auth + liste

export PATHLY_API_TOKEN=sp_…

curl -sS https://api.pathlyhq.com/v1/scenarios \
  -H "Authorization: Bearer $PATHLY_API_TOKEN" | jq .

2 — Créer un Ping (idempotent)

curl -sS -X POST https://api.pathlyhq.com/v1/scenarios \
  -H "Authorization: Bearer $PATHLY_API_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: qs-$(date +%Y%m%d)-home" \
  -d '{
    "type": "http",
    "name": "Home",
    "url": "https://www.example.com/",
    "intervalSec": 300,
    "expectedStatus": 200
  }'

3 — Webhook sortant signé

curl -sS -X POST https://api.pathlyhq.com/v1/webhooks \
  -H "Authorization: Bearer $PATHLY_API_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: qs-hook-1" \
  -d '{
    "url": "https://www.example.com/hooks/pathly",
    "events": ["run.failed", "run.recovered"]
  }'

4 — Terraform

terraform {
  required_providers {
    pathly = { source = "pathlyhq/pathly", version = "~> 0.1" }
  }
}
provider "pathly" {}
# PATHLY_API_TOKEN dans l'environnement CI / shell — jamais dans .tf

Pages de la doc

Authentification et clés API

Bearer, TTL, stockage du secret PATHLY_API_TOKEN — sans jamais exposer la clé dans Git.

Ouvrir →

Portées (scopes) et moindre privilège

Matrice ressource:action, implication write→read, et clés séparées par usage CI.

Ouvrir →

Contrat HTTP : débit, idempotence, erreurs

Retry-After, Idempotency-Key, curseurs et codes 4xx — le comportement stable à coder une fois.

Ouvrir →

Ping, Flow, Chain — runs, incidents et SLA

Ping vs Flow vs Chain, déclenchement de runs, maintenance et objectifs de disponibilité.

Ouvrir →

Webhooks sortants signés HMAC

Événements run.failed / run.recovered, en-têtes X-Pathly-* et vérification de signature.

Ouvrir →

Terraform et OpenTofu Pathly

Provider pathlyhq/pathly : scénarios, webhooks, maintenance et SLA en code.

Ouvrir →

Catalogue des intégrations Pathly

Une API /v1, une variable PATHLY_API_TOKEN — chaque outil a sa page d’exemples.

Ouvrir →

SDK TypeScript / JavaScript @pathly/sdk

Client npm officiel : créer des scénarios, paginer, Idempotency-Key et Retry-After.

Ouvrir →

SDK Python Pathly (PyPI)

pip install pathly — client stdlib typé pour Lambda, Cloud Run et cron.

Ouvrir →

SDK Go Pathly

Module github.com/pathlyhq/pathly-sdk-go — idempotence et Retry-After comme le provider Terraform.

Ouvrir →

SDK PHP Pathly (Composer)

composer require pathlyhq/sdk — PHP 8.1+, PSR-4, pour Symfony, Laravel et scripts hébergeur.

Ouvrir →

SDK Ruby Pathly

Gem pathly depuis GitHub — même API /v1 que les autres clients officiels.

Ouvrir →

Pulumi Pathly (@pathly/pulumi)

Monitoring as code en TypeScript via Pulumi, branché sur la même API que Terraform.

Ouvrir →

CDK for Terraform Pathly

npm @pathly/cdktf — Terraform typé au-dessus du provider pathlyhq/pathly.

Ouvrir →

Collection Ansible Pathly

Modules pathly_scenario, webhook, maintenance et SLA — idempotents, jeton hors playbook.

Ouvrir →

GitHub Action Pathly (pathly-action)

Smoke post-deploy : run-scenario échoue le job si le run n’est pas ok. Alias run-and-wait.

Ouvrir →

Composants GitLab CI Pathly

pathly-ping et pathly-scenario dans le catalogue GitLab — pipeline rouge si le smoke échoue.

Ouvrir →

Opérateur Kubernetes et Crossplane Pathly

CRDs PathlyScenario, images GHCR, jeton dans un Secret cluster.

Ouvrir →

Collection Postman Pathly

Explorer /v1 sans code : import GitHub, environnement baseUrl + apiToken.

Ouvrir →

Cookbook, sécurité UE et drift

Recettes for_each, smoke CI, vérif webhook, RGPD et règle UI ou Terraform.

Ouvrir →

Référence des routes /v1

Liste lue dans le contrat OpenAPI au rendu — une route retirée disparaît d’elle-même.

Ouvrir →

À écrire (backlog SEO)

Intentions de pages pas encore créées. Passer une entrée en status live + sectionIds suffit pour l’ouvrir.

  • Monitoring as code — /developers/monitoring-as-code

    Landing SEO « monitoring as code » / alternative Checkly — prévu aussi en /cas-usage/.