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

Client initialization

import { DevHelm } from "@devhelm/sdk";

const client = new DevHelm({
  token: process.env.DEVHELM_API_TOKEN!,
  baseUrl: "https://api.devhelm.io", // optional
  orgId: "1",                         // optional
});

Configuration options

PropertyTypeRequiredDefaultDescription
tokenstringYesAPI token (Bearer)
baseUrlstringhttps://api.devhelm.ioAPI base URL
orgIdstringDEVHELM_ORG_ID env or "1"Organization ID

Resource namespaces

client.monitors

MethodSignatureReturns
list()() => Promise<MonitorDto[]>Auto-fetches all pages
listPage(page, size)(number, number) => Promise<Page<MonitorDto>>Single page
get(id)(string | number) => Promise<MonitorDto>
create(body)(CreateMonitorRequest) => Promise<MonitorDto>
update(id, body)(string | number, UpdateMonitorRequest) => Promise<MonitorDto>
delete(id)(string | number) => Promise<void>
pause(id)(string | number) => Promise<MonitorDto>
resume(id)(string | number) => Promise<MonitorDto>
test(id)(string | number) => Promise<AssertionTestResultDto>
results(id, options?)(string | number, { cursor?, limit? }) => Promise<CursorPage<CheckResultDto>>Cursor pagination
versions(id, options?)(string | number, { page?, size? }) => Promise<Page<MonitorVersionDto>>

client.incidents

MethodSignatureReturns
list()() => Promise<IncidentDto[]>
listPage(page, size)(number, number) => Promise<Page<IncidentDto>>
get(id)(string | number) => Promise<IncidentDetailDto>
create(body)(CreateManualIncidentRequest) => Promise<IncidentDto>
resolve(id, message?)(string | number, string?) => Promise<IncidentDetailDto>
delete(id)(string | number) => Promise<void>

client.alertChannels

MethodSignatureReturns
list()() => Promise<AlertChannelDto[]>
listPage(page, size)(number, number) => Promise<Page<AlertChannelDto>>
get(id)(string | number) => Promise<AlertChannelDto>
create(body)(CreateAlertChannelRequest) => Promise<AlertChannelDto>
update(id, body)(string | number, UpdateAlertChannelRequest) => Promise<AlertChannelDto>
delete(id)(string | number) => Promise<void>
test(id)(string | number) => Promise<{ success: boolean }>

client.notificationPolicies

MethodSignatureReturns
list()() => Promise<NotificationPolicyDto[]>
listPage(page, size)(number, number) => Promise<Page<NotificationPolicyDto>>
get(id)(string | number) => Promise<NotificationPolicyDto>
create(body)(CreateNotificationPolicyRequest) => Promise<NotificationPolicyDto>
update(id, body)(string | number, UpdateNotificationPolicyRequest) => Promise<NotificationPolicyDto>
delete(id)(string | number) => Promise<void>
test(id)(string | number) => Promise<void>

client.tags

MethodSignatureReturns
list()() => Promise<TagDto[]>
listPage(page, size)(number, number) => Promise<Page<TagDto>>
get(id)(string | number) => Promise<TagDto>
create(body)(CreateTagRequest) => Promise<TagDto>
update(id, body)(string | number, UpdateTagRequest) => Promise<TagDto>
delete(id)(string | number) => Promise<void>

client.environments

MethodSignatureReturns
list()() => Promise<EnvironmentDto[]>
listPage(page, size)(number, number) => Promise<Page<EnvironmentDto>>
get(slug)(string) => Promise<EnvironmentDto>By slug
create(body)(CreateEnvironmentRequest) => Promise<EnvironmentDto>
update(slug, body)(string, UpdateEnvironmentRequest) => Promise<EnvironmentDto>
delete(slug)(string) => Promise<void>

client.secrets

MethodSignatureReturns
list()() => Promise<SecretDto[]>Metadata only
listPage(page, size)(number, number) => Promise<Page<SecretDto>>
create(body)(CreateSecretRequest) => Promise<SecretDto>
update(key, body)(string, UpdateSecretRequest) => Promise<SecretDto>
delete(key)(string) => Promise<void>

client.resourceGroups

MethodSignatureReturns
list()() => Promise<ResourceGroupDto[]>
listPage(page, size)(number, number) => Promise<Page<ResourceGroupDto>>
get(id)(string | number) => Promise<ResourceGroupDto>
create(body)(CreateResourceGroupRequest) => Promise<ResourceGroupDto>
update(id, body)(string | number, UpdateResourceGroupRequest) => Promise<ResourceGroupDto>
delete(id)(string | number) => Promise<void>
addMember(groupId, memberId, memberType)(string | number, string | number, 'MONITOR' | 'SERVICE') => Promise<void>
removeMember(groupId, memberId)(string | number, string | number) => Promise<void>

client.webhooks

MethodSignatureReturns
list()() => Promise<WebhookEndpointDto[]>
listPage(page, size)(number, number) => Promise<Page<WebhookEndpointDto>>
get(id)(string | number) => Promise<WebhookEndpointDto>
create(body)(CreateWebhookEndpointRequest) => Promise<WebhookEndpointDto>
update(id, body)(string | number, UpdateWebhookEndpointRequest) => Promise<WebhookEndpointDto>
delete(id)(string | number) => Promise<void>
test(id)(string | number) => Promise<{ success: boolean }>

client.apiKeys

MethodSignatureReturns
list()() => Promise<ApiKeyDto[]>
listPage(page, size)(number, number) => Promise<Page<ApiKeyDto>>
create(body)(CreateApiKeyRequest) => Promise<ApiKeyCreateResponse>Full key only at creation
revoke(id)(string | number) => Promise<void>
delete(id)(string | number) => Promise<void>

client.dependencies

MethodSignatureReturns
list()() => Promise<ServiceSubscriptionDto[]>
listPage(page, size)(number, number) => Promise<Page<ServiceSubscriptionDto>>
get(id)(string | number) => Promise<ServiceSubscriptionDto>
track(slug)(string) => Promise<ServiceSubscriptionDto>
delete(id)(string | number) => Promise<void>

client.deployLock

MethodSignatureReturns
acquire(body)(AcquireDeployLockRequest) => Promise<DeployLockDto>409 if held
current()() => Promise<DeployLockDto | null>
release(lockId)(string) => Promise<void>
forceRelease()() => Promise<void>

client.status

MethodSignatureReturns
overview()() => Promise<DashboardOverviewDto>

Exported types

All DTO and request types are re-exported from the package root:
import type {
  MonitorDto,
  CreateMonitorRequest,
  IncidentDto,
  AlertChannelDto,
  Page,
  CursorPage,
} from "@devhelm/sdk";
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.