---
title: API Surface Reference
description: Runtime SDK surface area by language/runtime.
order: 78
available_in: [dotnet, nodejs]
---

# API Surface Reference

DurableStack runtime packages do not require any specific HTTP route structure.

Operator actions like Run now, Enable/Disable, and Update cron are issued from the Observation platform Jobs page.

This page focuses on application/runtime SDK methods.

## .NET runtime services

`IDurableStackClient`:

- `EnqueueAsync<TJob>()`
- `EnqueueAsync<TJob>(payload)`
- `ScheduleAsync<TJob>(payload, runAtUtc)`
- `CancelRunAsync(runId)`

`IDurableScheduleAdminService`:

- `ListScheduledJobsAsync(includeDisabled)`
- `SetScheduledJobEnabledAsync(jobName, enabled)`
- `UpdateScheduledJobCronAsync(jobName, cronExpression, timeZone)`
- `RunScheduledJobNowAsync(jobName)`

`IDurableJobRunQueryService`:

- `GetRunAsync(runId)`
- `GetRecentRunsAsync(take)`
- `GetRunsByStatusAsync(status, take)`
- `GetRunsByJobNameAsync(jobName, take)`
- `GetEnqueuedRunsAsync(take)`

## Node.js runtime methods

Enqueue/schedule/cancel:

- `runtime.enqueue(jobName, payload?)`
- `runtime.schedule(jobName, payload, runAtUtc)`
- `runtime.cancelRun(runId)`

Schedule admin:

- `runtime.listScheduledJobs(includeDisabled?)`
- `runtime.setScheduledJobEnabled(jobName, enabled)`
- `runtime.updateScheduledJobCron(jobName, cronExpression, timeZone)`
- `runtime.runScheduledJobNow(jobName)`

Run query:

- `runtime.getRun(runId)`
- `runtime.getRecentRuns(take)`
- `runtime.getRunsByStatus(status, take)`
- `runtime.getRunsByJobName(jobName, take)`
