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

# Recipes

> Copy-paste loops for the common integrations.

## Sync the pipeline into a warehouse

Page until `has_more` is false:

```bash theme={null}
OFFSET=0
while :; do
  PAGE=$(curl -s -H "X-API-Key: $KEY" \
    "https://api.originalis.ai/api/v1/deals?limit=50&offset=$OFFSET")
  echo "$PAGE" | jq -c '.deals[]' >> deals.ndjson
  [ "$(echo "$PAGE" | jq '.has_more')" = "true" ] || break
  OFFSET=$((OFFSET + 50))
done
```

## Enrich a CRM with warmth

Batch up to 100 identifiers per call:

```bash theme={null}
curl -s -X POST -H "X-API-Key: $KEY" -H "Content-Type: application/json" \
  -d '{"contacts": ["jane@acme.com", "sam@beta.io"]}' \
  "https://api.originalis.ai/api/v1/network/warmth/lookup" | jq '.results'
```

## Quarterly LP reconciliation

Positions plus the raw cashflow ledger:

```bash theme={null}
curl -s -H "X-API-Key: $KEY" "https://api.originalis.ai/api/v1/funds/positions" | jq '.totals'
curl -s -H "X-API-Key: $KEY" "https://api.originalis.ai/api/v1/funds/cashflows" \
  | jq '.cashflows[] | select(.cashflow_date >= "2026-07-01")'
```

## Relationship-drift alerting

Pipe going-stale signals anywhere:

```bash theme={null}
curl -s -H "X-API-Key: $KEY" \
  "https://api.originalis.ai/api/v1/network/signals/going-stale?limit=10" \
  | jq -r '.signals[] | "\(.name): \(.days_since_last_touch)d since last touch"'
```
