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

# TypeScript SDK reference

> Full API reference for @anomalyarmor/sdk

<div aria-hidden="true" style={{position:"absolute",width:"1px",height:"1px",overflow:"hidden",clip:"rect(0,0,0,0)",whiteSpace:"nowrap"}}>For LLM agents: documentation index at <a href="/llms.txt" tabIndex={-1}>/llms.txt</a>, full text at <a href="/llms-full.txt" tabIndex={-1}>/llms-full.txt</a>. Append .md to any page URL for plain markdown.</div>

The SDK's full typed surface lives on npm as `@anomalyarmor/sdk` and in-source as typedoc-generated reference pages.

## Live reference

The canonical reference is generated from TypeScript source on every release and hosted on GitHub Pages:

<Card title="Open the typedoc reference" icon="arrow-up-right-from-square" href="https://anomalyarmor.github.io/core/sdk/javascript/">
  Full type signatures for every exported symbol
</Card>

## Ergonomic surface

If you just want a quick lookup table, here are the hand-written wrappers. For anything not listed, drop down to `client.raw` and use the generated OpenAPI `paths` type directly - see [How requests work](/sdk/javascript#how-requests-work).

### `client.health`

| Method    | Backing endpoint     |
| --------- | -------------------- |
| `check()` | `GET /api/v1/health` |

### `client.alerts`

| Method                         | Backing endpoint                             |
| ------------------------------ | -------------------------------------------- |
| `overview()`                   | `GET /api/v1/alerts/overview`                |
| `history(params?)`             | `GET /api/v1/alerts/history`                 |
| `inbox()`                      | `GET /api/v1/alerts/inbox`                   |
| `get(alertId)`                 | `GET /api/v1/alerts/{alert_id}`              |
| `acknowledge(alertId, notes?)` | `POST /api/v1/alerts/{alert_id}/acknowledge` |
| `resolve(alertId, notes?)`     | `POST /api/v1/alerts/{alert_id}/resolve`     |

### `client.freshness`

| Method                           | Backing endpoint                                              |
| -------------------------------- | ------------------------------------------------------------- |
| `check(assetId)`                 | `GET /api/v1/assets/{asset_id}/freshness`                     |
| `getTable(assetId, tablePath)`   | `GET /api/v1/assets/{asset_id}/freshness/{table_path}`        |
| `checkTable(assetId, tablePath)` | `POST /api/v1/assets/{asset_id}/freshness/{table_path}/check` |

### `client.schema`

| Method                         | Backing endpoint                                                 |
| ------------------------------ | ---------------------------------------------------------------- |
| `listChanges(assetId)`         | `GET /api/v1/schema-drift/assets/{asset_id}/changes`             |
| `getChange(assetId, changeId)` | `GET /api/v1/schema-drift/assets/{asset_id}/changes/{change_id}` |
| `baselineStatus(assetId)`      | `GET /api/v1/schema-drift/assets/{asset_id}/baseline-status`     |
| `detectChanges(assetId)`       | `POST /api/v1/schema-drift/assets/{asset_id}/detect-changes`     |

## Exported types

```ts theme={null}
import type {
  AnomalyArmorClient,
  AnomalyArmorClientOptions,
  AlertsResource,
  FreshnessResource,
  SchemaResource,
  HealthResource,
  // Raw OpenAPI types for advanced callers:
  paths,
  components,
  operations,
} from '@anomalyarmor/sdk';

import { createAnomalyArmorClient, AnomalyArmorApiError, DEFAULT_BASE_URL } from '@anomalyarmor/sdk';
```

## Source

The SDK source lives in the [AnomalyArmor core monorepo](https://github.com/anomalyarmor/core/tree/main/sdk/javascript). Bug reports, feature requests, and PRs welcome at [github.com/anomalyarmor/core/issues](https://github.com/anomalyarmor/core/issues).
