rootly-rs) is a strongly-typed client for the Rootly API. Types and methods are generated directly from the OpenAPI specification using Progenitor, giving you full type safety for every endpoint, parameter, and response.
Features
- Full coverage — every API operation with builder pattern
- Strongly typed — every endpoint, parameter, and response is a Rust type
- Async/await — powered by reqwest and tokio
- JSON:API compliant — handles
application/vnd.api+jsoncontent negotiation
Requirements
- Rust 1.85+
- tokio runtime
Installation
Add to yourCargo.toml:
Quick Start
Getting an API Key
- Log in to your Rootly account
- Navigate to Settings > API Keys
- Create a new API key with the permissions you need
Usage
List Incidents
Get an Incident
Create an Incident
Update an Incident
List Services
Create an Alert
Pagination
Error Handling
Retry with Backoff
For handling rate limits (HTTP 429):Using Types
All generated types are available underrootly::types:
Configuration
Custom Base URL
Quick Setup with Defaults
API Coverage
Full coverage of the Rootly API v1:| Resource | Operations |
|---|---|
| Incidents | list, get, create, update, delete |
| Services | list, get, create, update, delete |
| Alerts | list, get, create, update, resolve, snooze, escalate |
| Teams | list, get, create, update, delete |
| Severities | list, get, create, update, delete |
| Environments | list, get, create, update, delete |
| Workflows | list, get, create, update, delete |
| Playbooks | list, get, create, update, delete |
| Schedules | list, get, create, update, delete |
| Escalation Policies | list, get, create, update, delete |
| Dashboards | list, get, create, update, delete |
| Status Pages | list, get, create, update, delete |
| Custom Fields | list, get, create, update, delete |
| Catalogs | list, get, create, update, delete |
Feedback & Support
- Crate: rootly on crates.io
- Source Code: GitHub Repository
- Issues: GitHub Issues