Skip to main content
Complete reference for the devhelm Python SDK (v1.3.0). Every list/get returns a Pydantic model; every body parameter accepts either a dict or the corresponding Pydantic request class.

Client initialization

The client is built on httpx.Client. It is synchronous and thread-safe; share one instance across threads (see concurrency patterns).

Resource namespaces

The client exposes 17 resources. List/get/delete signatures return Pydantic DTOs from devhelm.types; mutations accept RequestBody[...] (dict or model instance).

client.monitors

Both list() and list_page() accept optional server-side filter kwargs: enabled, type, managed_by, tags (comma-separated), search, and environment_id.

client.incidents

Incidents have no delete method — they are resolved, not deleted.

client.alert_channels

client.notification_policies

client.tags

client.environments

client.secrets

client.resource_groups

client.webhooks

client.api_keys

There is no get(id) — fetch the list and filter, or store the ID from create().

client.dependencies

alert_sensitivity is one of ALL, INCIDENTS_ONLY, MAJOR_ONLY, or AWARENESS (the API default). component_id subscribes to a single component instead of the whole service.

client.deploy_lock

client.maintenance_windows

client.services

Read-only access to the third-party service status catalog (GitHub, Stripe, AWS, …).

client.status

client.status_pages

The largest namespace; root operations plus five sub-namespaces. Sub-namespaces:

client.forensics

Read-only audit trail for the detection engine. See Incident Forensics for the conceptual overview.

Pagination types

Page

CursorPage

Pydantic models

Every request and response is a pydantic.BaseModel. The full set is re-exported from devhelm:
The full DTO/request inventory is in devhelm/__init__.py.

Next steps

Error handling

Exception types and retry patterns.

Concurrency patterns

Run the sync client concurrently in threads or asyncio.