---
title: API reference
description: Auto-generated API reference via TypeDoc. Browse the generated tree in the repo's docs/api-reference/ directory, or use your IDE's autocomplete + go-to-definition for live exploration.
---

> The API reference is auto-generated from TypeScript types + JSDoc by TypeDoc. The output lives in [`docs/api-reference/`](https://github.com/footprintjs/agentfootprint/tree/main/docs/api-reference) — browse online via GitHub or run `npm run docs:api` to regenerate locally.

## Where to find what

| You want | Look at |
|---|---|
| `Agent.create({...})` shape | `import('agentfootprint').Agent` — your IDE shows the builder methods |
| `defineMemory({...})` options | `src/memory/define.types.ts` (curated public types) |
| `defineSkill({...})` options | `src/lib/injection-engine/factories/defineSkill.ts` |
| `LLMProvider` interface | `src/adapters/types.ts` |
| `MemoryStore` interface | `src/memory/store/types.ts` |
| Event taxonomy (59 events × 16 domains) | `src/events/registry.ts` |
| Conventions (subflow ids, injection keys) | `src/conventions.ts` |

Every type has a JSDoc with at least one example. The `MemoryStore` interface alone has 200+ lines of JSDoc covering each method's contract.

## Subpath imports

```ts
import { Agent, defineMemory, mock } from 'agentfootprint';                  // top-level
import { RedisStore } from 'agentfootprint/memory-providers';                    // Redis adapter
import { AgentCoreStore } from 'agentfootprint/memory-providers';            // AgentCore adapter
import { withRetry, withFallback } from 'agentfootprint/resilience';         // resilience decorators
import { toSSE } from 'agentfootprint/stream';                               // SSE bridge
```

## How it's generated

```bash
npm run docs:api    # runs `typedoc` per typedoc.json
```

TypeDoc reads `src/index.ts`, follows the public exports, emits markdown to `docs/api-reference/`. Configuration lives in `typedoc.json` at the repo root. The release script regenerates before each release; consumers can regenerate locally to browse offline.

## Browsing the reference

The generated tree is organized by TypeScript declaration kind:

- [`docs/api-reference/classes/`](https://github.com/footprintjs/agentfootprint/tree/main/docs/api-reference/classes) — every exported class (Agent, LLMCall, MockProvider, etc.)
- [`docs/api-reference/functions/`](https://github.com/footprintjs/agentfootprint/tree/main/docs/api-reference/functions) — every exported function (defineMemory, defineRAG, mock, withRetry, etc.)
- [`docs/api-reference/interfaces/`](https://github.com/footprintjs/agentfootprint/tree/main/docs/api-reference/interfaces) — every exported interface (LLMProvider, MemoryStore, Tool, etc.)
- [`docs/api-reference/type-aliases/`](https://github.com/footprintjs/agentfootprint/tree/main/docs/api-reference/type-aliases) — every exported type alias
- [`docs/api-reference/variables/`](https://github.com/footprintjs/agentfootprint/tree/main/docs/api-reference/variables) — exported constants (MEMORY_TYPES, etc.)

## Next steps

- [Manifesto](/agentfootprint/manifesto/) — what the library is and isn't
- [Quick Start](/agentfootprint/getting-started/quick-start/) — first agent in 5 minutes
- [Citations](/agentfootprint/research/citations/) — the research foundation
