Menu
Platform
- Accounts and projects
- Regions
- Environments
- Keys and scopes
- Plans, usage and limits
- Errors
- API versions
- API reference
- CLI
- MCP
- Published CLI compatibility
- Terraform
- Management secret deletion
- API keys
- Artifacts
- Connection providers
- Connections
- Envs
- Key versions
- Keys
- Projects
- Secret versions
- Secrets
- Service enablements
- Token exchanges
- Trust policies
AI
Alerts and status pages
App store purchases
Credits
Database
Flags
Generated Assets
Hosting
Monitoring
Organizations
Payments
- Payments
- Payments quickstart
- Checkout policies
- Checkout sessions
- Customer subscriptions
- Entitlement grants
- Exchange rates
- Licence keys
- Licence tokens
- Merchant accounts
- Portal sessions
- Price catalogs
- Revenue
- Revenue facts
- Revenue sources
- Tax threshold statuses
- Usage events
- Usage invoices
- Usage meter prices
- Usage meters
- Usage reservations
- Usage settings
- Usage tiers
Queues
Realtime
Sandboxes
Webhooks
Getting Started
Authentication
KV Store
Deploy & Infrastructure
Reference
Alerts and uptime checks
Check an HTTPS endpoint or a Hosting service and read durable uptime evidence.
An uptime check observes an HTTPS endpoint or a service in your environment. Observability records each scheduled result and its coverage. Alert transitions go through Events to a registered webhook endpoint.
You need an enabled Observability environment, an Access key with
observability:write to configure checks and observability:read to read them,
and a finite Access delegation authorizing Observability to execute the check.
Register your webhook with Events using events:write before using its URI as
a notification target.
#1. Authorize execution
Set ENV_RESOURCE to your exact environment resource name, in the form
orgs/{org}/projects/{project}/envs/{env}. Read the setup resource:
curl "https://api.sylphx.com/v1/$ENV_RESOURCE/uptime_sources/manifest" \
-H "Authorization: Bearer $SYLPHX_API_KEY"status.delegate_principal identifies Observability's attested principal.
Create an Access delegation to that principal for this environment, with
hosting:read for the Hosting ownership and readiness reads. Use its returned
reference as execution_delegation. Every dispatch exchanges the delegation
afresh; an expired or revoked grant stops outbound execution.
#2. Create a check
This example uses a public HTTPS endpoint. Replace the example URI and delegation reference with your own. An idempotency key identifies one request; keep it when retrying that request.
curl -X POST "https://api.sylphx.com/v1/$ENV_RESOURCE/uptime_checks?uptime_check_id=site" \
-H "Authorization: Bearer $SYLPHX_API_KEY" \
-H "Idempotency-Key: $REQUEST_ID" \
-H "Content-Type: application/json" \
-d '{"spec":{"public_uri":"https://app.example.com/healthz","method":"HEAD","interval":"60s","execution_delegation":"dlgt_your_reference"}}'Public endpoints must use HTTPS on port 443, without credentials, query parameters, fragments or redirects. Checks support GET and HEAD. Private service checks use the same-environment Hosting service resource name; READY reads readiness without waking the service.
To receive notifications, set spec.notify to
["webhook:https://your-registered-receiver.example.com/events"], using the
exact URI of your Events webhook endpoint. Events owns signing, retries and
delivery readback. Verify its Standard Webhooks signature at your receiver.
#3. Read results and coverage
curl "https://api.sylphx.com/v1/$ENV_RESOURCE/uptime_checks/site" \
-H "Authorization: Bearer $SYLPHX_API_KEY"The status includes the last result, sample freshness, target evidence and
24-hour, 7-day and 30-day coverage. Follow next_target_page_token through
target_page_token to read every target. Missing observations, unavailable
authority and unsupported evidence remain unknown. They do not count as
successful observations or resolve an active alert.
A revision check sets bound_public_revisions to true. Hosting supplies
every authorized public host and path and the selected Release's source SHA;
the public response supplies the observed revision. A known mismatch must
persist for more than 30 minutes before firing. Affirmative equality resolves
the same episode. An empty binding census remains unknown.
#Manifest setup
You can declare checks under resources.telemetry.check in your manifest.
To enable synchronization, update uptime_sources/manifest with a delegation
that also includes observability:read and observability:write. The source
subscription reconciles the complete declaration set through ordinary check
CRUD and retains ownership by check UID. A valid empty declaration set removes
only checks owned by that subscription.