# Interface: JobAPI

User-facing API for a single configured job.

## Methods[​](#methods "Direct link to Methods")

### cancelRun()[​](#cancelrun "Direct link to cancelRun()")

```ts
cancelRun(runId: number): Promise<ExecutionResult<void>>;

```

Cancel a specific run.

#### Parameters[​](#parameters "Direct link to Parameters")

| Parameter | Type     |
| --------- | -------- |
| `runId`   | `number` |

#### Returns[​](#returns "Direct link to Returns")

`Promise`<[`ExecutionResult`](./docs/api/appkit/TypeAlias.ExecutionResult.md)<`void`>>

***

### getJob()[​](#getjob "Direct link to getJob()")

```ts
getJob(): Promise<ExecutionResult<Job>>;

```

Get the job definition.

#### Returns[​](#returns-1 "Direct link to Returns")

`Promise`<[`ExecutionResult`](./docs/api/appkit/TypeAlias.ExecutionResult.md)<`Job`>>

***

### getRun()[​](#getrun "Direct link to getRun()")

```ts
getRun(runId: number): Promise<ExecutionResult<Run>>;

```

Get a specific run by ID.

#### Parameters[​](#parameters-1 "Direct link to Parameters")

| Parameter | Type     |
| --------- | -------- |
| `runId`   | `number` |

#### Returns[​](#returns-2 "Direct link to Returns")

`Promise`<[`ExecutionResult`](./docs/api/appkit/TypeAlias.ExecutionResult.md)<`Run`>>

***

### getRunOutput()[​](#getrunoutput "Direct link to getRunOutput()")

```ts
getRunOutput(runId: number): Promise<ExecutionResult<RunOutput>>;

```

Get output of a specific run.

#### Parameters[​](#parameters-2 "Direct link to Parameters")

| Parameter | Type     |
| --------- | -------- |
| `runId`   | `number` |

#### Returns[​](#returns-3 "Direct link to Returns")

`Promise`<[`ExecutionResult`](./docs/api/appkit/TypeAlias.ExecutionResult.md)<`RunOutput`>>

***

### lastRun()[​](#lastrun "Direct link to lastRun()")

```ts
lastRun(): Promise<ExecutionResult<BaseRun | undefined>>;

```

Get the most recent run for this job.

#### Returns[​](#returns-4 "Direct link to Returns")

`Promise`<[`ExecutionResult`](./docs/api/appkit/TypeAlias.ExecutionResult.md)<`BaseRun` | `undefined`>>

***

### listRuns()[​](#listruns "Direct link to listRuns()")

```ts
listRuns(options?: {
  limit?: number;
}): Promise<ExecutionResult<BaseRun[]>>;

```

List runs for this job.

#### Parameters[​](#parameters-3 "Direct link to Parameters")

| Parameter        | Type                    |
| ---------------- | ----------------------- |
| `options?`       | { `limit?`: `number`; } |
| `options.limit?` | `number`                |

#### Returns[​](#returns-5 "Direct link to Returns")

`Promise`<[`ExecutionResult`](./docs/api/appkit/TypeAlias.ExecutionResult.md)<`BaseRun`\[]>>

***

### runAndWait()[​](#runandwait "Direct link to runAndWait()")

```ts
runAndWait(params?: Record<string, unknown>, signal?: AbortSignal): AsyncGenerator<JobRunStatus, void, unknown>;

```

Trigger and poll until completion, yielding status updates.

#### Parameters[​](#parameters-4 "Direct link to Parameters")

| Parameter | Type                          |
| --------- | ----------------------------- |
| `params?` | `Record`<`string`, `unknown`> |
| `signal?` | `AbortSignal`                 |

#### Returns[​](#returns-6 "Direct link to Returns")

`AsyncGenerator`<`JobRunStatus`, `void`, `unknown`>

***

### runNow()[​](#runnow "Direct link to runNow()")

```ts
runNow(params?: Record<string, unknown>): Promise<ExecutionResult<RunNowResponse>>;

```

Trigger the configured job with validated params. Returns the run response.

#### Parameters[​](#parameters-5 "Direct link to Parameters")

| Parameter | Type                          |
| --------- | ----------------------------- |
| `params?` | `Record`<`string`, `unknown`> |

#### Returns[​](#returns-7 "Direct link to Returns")

`Promise`<[`ExecutionResult`](./docs/api/appkit/TypeAlias.ExecutionResult.md)<`RunNowResponse`>>
