Skip to main content
Complete reference for the @devhelm/sdk TypeScript SDK.

Client initialization

Configuration options

The SDK is ESM only: use import, not require.

Resource namespaces

client.monitors

client.incidents

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

client.alertChannels

client.notificationPolicies

client.tags

client.environments

client.secrets

client.resourceGroups

client.webhooks

client.inboxes

Webhook testing inboxes: URLs that capture the requests your code sends. client.webhooks is the opposite direction. See Webhook inboxes. Inbox is the inbox DTO (httpUrl, publicToken, status, httpResponse, cors, retentionDays, maxEvents, …) plus these members: ListedEvent (a list row) has raw(): Promise<File> for the exact body bytes and delete(). Event (from get or wait) adds text() and json() over body. Wait returns the full body, not clipped. WaitInboxOptions:
In 1.9.0, lastEventAt on Inbox and bodyTruncated and rawUrl on events are returned at runtime but are not declared in the types; they read as unknown.

client.email

Email testing: per-test addresses on the workspace’s assigned domain, inject, and wait. This is separate from email alert channels. See Email testing. WaitEmailOptions takes receivedAfter (omit it for the server lookback of 60 seconds), timeoutMs (default 30000, clamped at 120000), and subjectContains (case-insensitive). Address has email, domain, and localPart, plus: Message carries otp, links, subject, from, to, headers, bodyPreview, and sha256, plus raw(): Promise<File> (the .eml), source(): Promise<{ source, truncated }>, delete(), listOtp(), and listLinks(). Do not rely on attachments today: inject cannot attach files and real mail does not list them yet.

client.apiKeys

client.dependencies

client.services

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

client.maintenanceWindows

client.deployLock

client.status

client.statusPages

The largest namespace; root operations plus five sub-namespaces. Sub-namespaces (each takes pageId as the first arg):

client.forensics

Read-only audit trail for the detection engine. See Incident Forensics for the conceptual overview. RuleEvaluationFilters accepts ruleType, region, onlyMatched, from, to, page, and size. TransitionFilters accepts from, to, page, and size.

Exported types

All DTO and request types are re-exported from the package root:
Types are generated from the OpenAPI specification, so they always match the current API.

Next steps

Error handling

Catch and handle SDK errors.

Pagination

Iterate through paginated results.