# Quickstart

> Put something into memory and recall it, grounded with sources, in three calls.

Source: https://fryri.com/docs/api/give-your-app-memory

Put something into memory with one call, recall it with another. Add `end_user_id` (any opaque string) to keep a separate memory under that id; leave it off for one shared memory. Either way the memory is created on first use.

## Store

```bash
curl -X POST https://api.fryri.com/v1/capture \
  -H "Authorization: Bearer fryri_sk_..." \
  -H "Content-Type: application/json" \
  -d '{"text": "Prefers window seats. Allergic to peanuts.", "title": "Preferences", "end_user_id": "user-42"}'
```

## Recall

```bash
curl -X POST https://api.fryri.com/v1/chat \
  -H "Authorization: Bearer fryri_sk_..." \
  -H "Content-Type: application/json" \
  -d '{"question": "What should I know before booking this trip?", "end_user_id": "user-42"}'
```

The answer is grounded in that user's library only, with sources. `GET /v1/search` and the other data calls take the same field.

In Python:

```python
import requests

API = "https://api.fryri.com/v1"
H = {"Authorization": "Bearer fryri_sk_..."}

requests.post(f"{API}/capture", headers=H, json={
    "text": "Prefers window seats. Allergic to peanuts.",
    "end_user_id": "user-42",
})
answer = requests.post(f"{API}/chat", headers=H, json={
    "question": "What should I know before booking this trip?",
    "end_user_id": "user-42",
}).json()
```

## Manage your users

`GET /v1/end-users` lists every end user under your key. `DELETE /v1/end-users/{id}` permanently erases one user's library, which is your deletion story when a user leaves.

Spend always lands on your account, not theirs.
