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

# Cookbooks

> Complete recipes for common document workflows, and sample documents to run them on.

Each cookbook builds one complete workflow, from the first API call to results stored in your own system.

## Recipes

> [card] [Split, then extract](https://docs.runpulse.com/v2/cookbooks/split-then-extract.md)
>
> Find each section of a long report, then fill a small schema for each.

> [card] [Highlight sources](https://docs.runpulse.com/v2/cookbooks/highlight-sources.md)
>
> Draw the exact words behind an extracted value on its page.

> [card] [RAG ingestion](https://docs.runpulse.com/v2/cookbooks/rag-ingestion.md)
>
> Index a document's chunks with metadata that cites their pages.

> [card] [Cloud intake](https://docs.runpulse.com/v2/cookbooks/cloud-intake.md)
>
> Parse a whole bucket as one batch and write each result back to it.

***

## Before you start

The recipes are in Python; the TypeScript SDK has the same calls, with camelCase names. Each recipe starts from this client ([SDKs](https://docs.runpulse.com/v2/sdks.md) covers setup):

```python Python theme={null}
import os
from pulse import Pulse

client = Pulse(api_key=os.environ["PULSE_API_KEY"])
```

```typescript TypeScript theme={null}
import { PulseClient } from "@pulse-software/sdk";

const client = new PulseClient({ apiKey: process.env.PULSE_API_KEY! });
```

***

## From test to production

Most integrations take this path:

```mermaid theme={null}
%%{init: {"themeVariables": {"fontSize": "14px"}, "flowchart": {"nodeSpacing": 24, "rankSpacing": 32, "padding": 8}}}%%
flowchart TD
    A[Test your documents] --> B[Save the config]
    B -->|config_id| C[Run pipeline or batch]
    C -->|webhook or polling| D[Read and store results]
```

Save the settings that work as a [saved config](https://docs.runpulse.com/v2/saved-configs.md), and send its `config_id` with each [pipeline](https://docs.runpulse.com/v2/pipelines.md) or [batch](https://docs.runpulse.com/v2/batch.md). Then store each result in your own system: a result can [expire](https://docs.runpulse.com/v2/jobs.md#retention), and some organizations delete a result the first time it's read.

***

## Sample documents

Each name opens a hosted test document in the dashboard. To use one in an API call, send `https://platform.runpulse.com/api/examples/<id>/pdf` as the `file_url`.

| Example | Pages | `id` |
| - | - | - |
| [Bank Statement](https://platform.runpulse.com/dashboard/examples/637e5678-30b1-45fa-acc4-877f2d636419) | 2 | `637e5678-30b1-45fa-acc4-877f2d636419` |
| [Rent Roll](https://platform.runpulse.com/dashboard/examples/18ed11c2-dbce-4bf5-8385-102c55d13480) | 10 | `18ed11c2-dbce-4bf5-8385-102c55d13480` |
| [10-K Annual Report](https://platform.runpulse.com/dashboard/examples/0514fc05-8b0a-4a3b-9b9b-18ac89fc04e5) | 12 | `0514fc05-8b0a-4a3b-9b9b-18ac89fc04e5` |
| [Complex Table Document](https://platform.runpulse.com/dashboard/examples/0e36367a-16d2-49c8-99ab-a6fe0df70409) | 8 | `0e36367a-16d2-49c8-99ab-a6fe0df70409` |
| [Research Report](https://platform.runpulse.com/dashboard/examples/65a31c06-184a-4156-823b-e1686a368b18) | 3 | `65a31c06-184a-4156-823b-e1686a368b18` |
| [Blackstone Report](https://platform.runpulse.com/dashboard/examples/b63fca41-ee50-4a65-bd71-64188d5bdbf5) | 6 | `b63fca41-ee50-4a65-bd71-64188d5bdbf5` |
| [Attention Is All You Need](https://platform.runpulse.com/dashboard/examples/3be15d23-d622-4f27-9843-ec2929140eec) | 15 | `3be15d23-d622-4f27-9843-ec2929140eec` |
| [Legal Filing](https://platform.runpulse.com/dashboard/examples/d4dfc1e2-60ac-4776-a5a8-20b88e68bf9f) | 32 | `d4dfc1e2-60ac-4776-a5a8-20b88e68bf9f` |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.