# APIBuilder

**Kind**: interface | **Module**: [Insights](https://docs.interop.io/desktop/reference/javascript/insights/index.md)

**Source**: https://docs.interop.io/desktop/reference/javascript/insights/apibuilder/index.html

Builder interface for constructing the io.Insights API.

## Properties

- **`logger`** (`Logger`, required)
  Logger instance used by the builder and child managers.
- **`metricsBuilder`** (`MetricsManagerBuilder`, optional)
  Metrics manager builder instance.
- **`settings`** (`Partial<Settings>`, optional)
  Settings configuration for the API.
- **`tracesBuilder`** (`TracesManagerBuilder`, optional)
  Traces manager builder instance.

## Methods

### build

Builds and returns the configured API container.

```ts
() => API
```

**Returns**: `API` - The fully configured API container

### withLogger

Sets the logger to be used by the observability system.

```ts
(logger: Logger) => this
```

**Parameters**

- **`logger`** (`Logger`, required)
  - The logger implementation to use

**Returns**: `this` - The builder instance for method chaining

### withMetrics

Initializes the metrics manager builder.

```ts
() => MetricsManagerBuilder
```

**Returns**: `MetricsManagerBuilder` - The metrics manager builder for further configuration

### withSettings

Sets the configuration settings for the observability system.

```ts
(settings: Partial<Settings>) => this
```

**Parameters**

- **`settings`** (`Partial<Settings>`, required)
  - The settings to apply

**Returns**: `this` - The builder instance for method chaining

### withTraces

Initializes the traces manager builder.

```ts
() => TracesManagerBuilder
```

**Returns**: `TracesManagerBuilder` - The traces manager builder for further configuration

## Related types

- [API](https://docs.interop.io/desktop/reference/javascript/insights/api/index.md)
- [Logger](https://docs.interop.io/desktop/reference/javascript/insights/logger/index.md)
- [MetricsManagerBuilder](https://docs.interop.io/desktop/reference/javascript/insights/metricsmanagerbuilder/index.md)
- [Settings](https://docs.interop.io/desktop/reference/javascript/insights/settings/index.md)
- [TracesManagerBuilder](https://docs.interop.io/desktop/reference/javascript/insights/tracesmanagerbuilder/index.md)
