---
title: "SDK: observe"
description: "The observe 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: observe

{/* 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 `observe` area has 25 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/)).

## observeAlertsEvaluate

Evaluate the alert rules now; opens incidents and sends notices

- Request: `POST` on `/v1/tenants/{tenantId}/observe/alerts/evaluate`

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

## observeAlertsGet

Alert rules and open incidents

- Request: `GET` on `/v1/tenants/{tenantId}/observe/alerts`

```ts
observeAlertsGet(args: { tenantId: string }, options?: CallOptions): Promise<AlertOverview>
```

## observeAlertsRulesDelete

Remove an alert rule (policy class)

- Request: `DELETE` on `/v1/tenants/{tenantId}/observe/alerts/rules`

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

## observeAlertsRulesPut

Set an alert rule (policy class)

- Request: `PUT` on `/v1/tenants/{tenantId}/observe/alerts/rules`

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

## observeCompare

Compare agents on one task

- Request: `GET` on `/v1/tenants/{tenantId}/observe/compare`

```ts
observeCompare(args: { tenantId: string; query?: { task?: string } }, options?: CallOptions): Promise<ComparisonReport>
```

## observeCost

The cost report

- Request: `GET` on `/v1/tenants/{tenantId}/observe/cost`

```ts
observeCost(args: { tenantId: string }, options?: CallOptions): Promise<CostReport>
```

## observeCostWeb

The cost report for the web app

- Request: `GET` on `/v1/tenants/{tenantId}/metrics/cost`

```ts
observeCostWeb(args: { tenantId: string }, options?: CallOptions): Promise<CostReport>
```

## observeEvalsGet

The last eval report

- Request: `GET` on `/v1/tenants/{tenantId}/observe/evals`

```ts
observeEvalsGet(args: { tenantId: string }, options?: CallOptions): Promise<EvalReport>
```

## observeEvalsRun

Replay pull requests with each agent and configuration

- Request: `POST` on `/v1/tenants/{tenantId}/observe/evals`

```ts
observeEvalsRun(args: { tenantId: string; body: RunEvalRequest }, options?: CallOptions): Promise<EvalReport>
```

## observeEventsIngest

Ingest run events (tool calls, file-edit diffs, commits) from an agent's hooks or the CI runner; text is redacted before it is stored

- Request: `POST` on `/v1/tenants/{tenantId}/projects/{projectId}/observe/events`

```ts
observeEventsIngest(args: { tenantId: string; projectId: string; body: IngestRunEventsRequest }, options?: CallOptions): Promise<IngestRunEventsResult>
```

## observeLogsList

Search a project's logs

- Request: `GET` on `/v1/tenants/{tenantId}/projects/{projectId}/observe/logs`

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

## observeLogsWeb

A project's logs for the web app

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

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

## observeMetricsGet

Cost and token metrics per agent, project and team

- Request: `GET` on `/v1/tenants/{tenantId}/observe/metrics`

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

## observeMetricsIngest

Ingest usage metrics (machine ingest)

- Request: `POST` on `/v1/tenants/{tenantId}/observe/metrics`

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

## observeProjectStatus

A project's runs in the last 24 hours by status, for a token limited to that project

- Request: `GET` on `/v1/tenants/{tenantId}/projects/{projectId}/observe/status`

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

## observeReconcile

Compare observed cost with metered usage

- Request: `GET` on `/v1/tenants/{tenantId}/observe/reconcile`

```ts
observeReconcile(args: { tenantId: string }, options?: CallOptions): Promise<Reconciliation>
```

## observeRetentionGet

The retention the plan keeps

- Request: `GET` on `/v1/tenants/{tenantId}/observe/retention`

```ts
observeRetentionGet(args: { tenantId: string }, options?: CallOptions): Promise<RetentionPolicy>
```

## observeRetentionPurge

Delete telemetry older than the plan keeps

- Request: `POST` on `/v1/tenants/{tenantId}/observe/retention/purge`

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

## observeRunsLive

Runs still going in the project and the tool call each is running now

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

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

## observeRunStream

Live events of a run over a stream

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

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

## observeRunTrace

A run's logs and trace stitched by run ID

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

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

## observeSettingsGet

The project's observability settings: whether agents send live activity

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

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

## observeSettingsPut

Turn live activity on or off for the project

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

```ts
observeSettingsPut(args: { tenantId: string; projectId: string; body: PutObserveSettingsRequest }, options?: CallOptions): Promise<ObserveSettings>
```

## observeStatus

Observability status: what is flowing and the plan's retention

- Request: `GET` on `/v1/tenants/{tenantId}/observe/status`

```ts
observeStatus(args: { tenantId: string }, options?: CallOptions): Promise<ObserveStatus>
```

## observeTelemetryIngest

Ingest logs and spans from an agent or the CI runner (machine ingest; secrets are redacted)

- Request: `POST` on `/v1/tenants/{tenantId}/projects/{projectId}/observe/telemetry`

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

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