---
title: "SDK: ci"
description: "The ci methods of the Overlane TypeScript SDK, with their signatures. Generated from the SDK types."
---

> Documentation Index
> Fetch the complete documentation index at: https://docs.overlane.app/llms.txt
> Use this file to discover all available pages before exploring further.

# SDK: ci

{/* Generated by apps/docs/scripts/generate.mjs (SDK pages from the TypeScript types in packages/sdk). Do not edit; run `pnpm --filter @overlane/docs gen`. */}

The `ci` area has 26 methods on the client. Each takes one object of path, query and body arguments and an optional `CallOptions`, and returns a promise of the response body. A refused call rejects with `OverlaneApiError` (see the [SDK index](/sdk/)).

## ciChannelsGet

Release channels: the build each channel runs, holds, the schedule setting and recent promotions

- Request: `GET` on `/v1/tenants/{tenantId}/projects/{projectId}/ci/channels`

```ts
ciChannelsGet(args: { tenantId: string; projectId: string }, options?: CallOptions): Promise<Record<string, unknown>>
```

## ciChannelsHold

Hold a channel: no build is promoted into it until the hold is released

- Request: `POST` on `/v1/tenants/{tenantId}/projects/{projectId}/ci/channels/{channel}/hold`

```ts
ciChannelsHold(args: { tenantId: string; projectId: string; channel: string; body?: Record<string, unknown> }, options?: CallOptions): Promise<Record<string, unknown>>
```

## ciChannelsPresetPut

Apply a channel preset to the project: set each channel's name, image tag, deploy environment and data choice

- Request: `PUT` on `/v1/tenants/{tenantId}/projects/{projectId}/ci/channels/preset`

```ts
ciChannelsPresetPut(args: { tenantId: string; projectId: string; body: ApplyChannelPresetRequest }, options?: CallOptions): Promise<Record<string, unknown>>
```

## ciChannelsPromote

Promote the newest build that passes the channel's gates now; refused with the failed gates

- Request: `POST` on `/v1/tenants/{tenantId}/projects/{projectId}/ci/channels/{channel}/promote`

```ts
ciChannelsPromote(args: { tenantId: string; projectId: string; channel: string; body?: Record<string, unknown> }, options?: CallOptions): Promise<Record<string, unknown>>
```

## ciChannelsReleaseHold

Release a channel's hold

- Request: `POST` on `/v1/tenants/{tenantId}/projects/{projectId}/ci/channels/{channel}/release-hold`

```ts
ciChannelsReleaseHold(args: { tenantId: string; projectId: string; channel: string; body?: Record<string, unknown> }, options?: CallOptions): Promise<Record<string, unknown>>
```

## ciChannelsRollback

Put the build a channel ran before back on it and hold the channel

- Request: `POST` on `/v1/tenants/{tenantId}/projects/{projectId}/ci/channels/{channel}/rollback`

```ts
ciChannelsRollback(args: { tenantId: string; projectId: string; channel: string; body?: Record<string, unknown> }, options?: CallOptions): Promise<Record<string, unknown>>
```

## ciChannelsSettingsPut

Switch scheduled channel promotions on or off; while off, the schedule records what it would promote and changes nothing

- Request: `PUT` on `/v1/tenants/{tenantId}/projects/{projectId}/ci/channels/settings`

```ts
ciChannelsSettingsPut(args: { tenantId: string; projectId: string; body?: Record<string, unknown> }, options?: CallOptions): Promise<Record<string, unknown>>
```

## ciChecksGet

One registered check and its definition digest

- Request: `GET` on `/v1/tenants/{tenantId}/projects/{projectId}/ci/checks/{checkId}`

```ts
ciChecksGet(args: { tenantId: string; projectId: string; checkId: string }, options?: CallOptions): Promise<RegisteredCheck>
```

## ciChecksList

The project's check registry

- Request: `GET` on `/v1/tenants/{tenantId}/projects/{projectId}/ci/checks`

```ts
ciChecksList(args: { tenantId: string; projectId: string }, options?: CallOptions): Promise<CheckRegistryList>
```

## ciChecksPut

Register or replace a check definition (policy class); evidence under an older definition stops counting

- Request: `PUT` on `/v1/tenants/{tenantId}/projects/{projectId}/ci/checks/{checkId}`
- Needs an approval for agents: class `policy_change`

```ts
ciChecksPut(args: { tenantId: string; projectId: string; checkId: string; body: RegisterCheckRequest }, options?: CallOptions): Promise<RegisteredCheck>
```

## ciReleaseStart

Start a release now: bring in the latest main, then verify and deploy what changed since the last release

- Request: `POST` on `/v1/tenants/{tenantId}/projects/{projectId}/ci/release`

```ts
ciReleaseStart(args: { tenantId: string; projectId: string; body?: Record<string, unknown> }, options?: CallOptions): Promise<Record<string, unknown>>
```

## ciRunCancel

Cancel a CI run

- Request: `POST` on `/v1/tenants/{tenantId}/projects/{projectId}/ci/runs/{runId}/cancel`

```ts
ciRunCancel(args: { tenantId: string; projectId: string; runId: string; body?: Record<string, unknown> }, options?: CallOptions): Promise<PipelineRun>
```

## ciRunGet

Read one CI run

- Request: `GET` on `/v1/tenants/{tenantId}/projects/{projectId}/ci/runs/{runId}`

```ts
ciRunGet(args: { tenantId: string; projectId: string; runId: string }, options?: CallOptions): Promise<PipelineRun>
```

## ciRunLogs

A CI run's logs, with secrets masked

- Request: `GET` on `/v1/tenants/{tenantId}/projects/{projectId}/ci/runs/{runId}/logs`

```ts
ciRunLogs(args: { tenantId: string; projectId: string; runId: string }, options?: CallOptions): Promise<RunLogResponse>
```

## ciRunReceipts

A CI run's check receipts: commit, source fingerprint, definition digest, outcome, and whether the service signed it

- Request: `GET` on `/v1/tenants/{tenantId}/projects/{projectId}/ci/runs/{runId}/receipts`

```ts
ciRunReceipts(args: { tenantId: string; projectId: string; runId: string }, options?: CallOptions): Promise<RunReceiptsResponse>
```

## ciRunRerun

Run a CI run again

- Request: `POST` on `/v1/tenants/{tenantId}/projects/{projectId}/ci/runs/{runId}/rerun`

```ts
ciRunRerun(args: { tenantId: string; projectId: string; runId: string; body?: Record<string, unknown> }, options?: CallOptions): Promise<RunResponse>
```

## ciRunsList

List CI runs

- Request: `GET` on `/v1/tenants/{tenantId}/projects/{projectId}/ci/runs`

```ts
ciRunsList(args: { tenantId: string; projectId: string }, options?: CallOptions): Promise<RunListResponse>
```

## ciRunsStart

Start a CI run

- Request: `POST` on `/v1/tenants/{tenantId}/projects/{projectId}/ci/runs`

```ts
ciRunsStart(args: { tenantId: string; projectId: string; body: StartCiRunRequest }, options?: CallOptions): Promise<RunResponse>
```

## ciSchedulesList

List a project's scheduled pipelines with the next time each runs

- Request: `GET` on `/v1/tenants/{tenantId}/projects/{projectId}/ci/schedules`

```ts
ciSchedulesList(args: { tenantId: string; projectId: string }, options?: CallOptions): Promise<CiScheduleListResponse>
```

## ciSecretsDelete

Delete a CI secret (secrets class)

- Request: `DELETE` on `/v1/tenants/{tenantId}/projects/{projectId}/ci/secrets/{secretId}`
- Needs an approval for agents: class `secrets`

```ts
ciSecretsDelete(args: { tenantId: string; projectId: string; secretId: string }, options?: CallOptions): Promise<Record<string, unknown>>
```

## ciSecretsList

List a project's CI secrets by name, never their values

- Request: `GET` on `/v1/tenants/{tenantId}/projects/{projectId}/ci/secrets`

```ts
ciSecretsList(args: { tenantId: string; projectId: string }, options?: CallOptions): Promise<CiSecretListResponse>
```

## ciSecretsPut

Set a CI secret (secrets class)

- Request: `PUT` on `/v1/tenants/{tenantId}/projects/{projectId}/ci/secrets`
- Needs an approval for agents: class `secrets`

```ts
ciSecretsPut(args: { tenantId: string; projectId: string; body: SetCiSecretRequest }, options?: CallOptions): Promise<Record<string, unknown>>
```

## ciSettingsGet

Read a project's CI settings

- Request: `GET` on `/v1/tenants/{tenantId}/projects/{projectId}/ci/settings`

```ts
ciSettingsGet(args: { tenantId: string; projectId: string }, options?: CallOptions): Promise<CiSettings>
```

## ciSettingsPut

Change a project's CI settings (spend class)

- Request: `PUT` on `/v1/tenants/{tenantId}/projects/{projectId}/ci/settings`
- Needs an approval for agents: class `spend`

```ts
ciSettingsPut(args: { tenantId: string; projectId: string; body: UpdateCiSettingsRequest }, options?: CallOptions): Promise<CiSettings>
```

## ciUsage

CI minutes used this period

- Request: `GET` on `/v1/tenants/{tenantId}/projects/{projectId}/ci/usage`

```ts
ciUsage(args: { tenantId: string; projectId: string }, options?: CallOptions): Promise<CiUsageResponse>
```

## ciValidate

Validate a workflow file

- Request: `POST` on `/v1/tenants/{tenantId}/projects/{projectId}/ci/validate`

```ts
ciValidate(args: { tenantId: string; projectId: string; body: ValidateConfigRequest }, options?: CallOptions): Promise<ValidateConfigResponse>
```

Source: https://docs.overlane.app/sdk/ci/index.mdx
