# TuraLula quickstart

Get creating in 5 minutes.

## 1. Get an API key

Go to [turalogin.com/dashboard/keys](https://www.turalogin.com/dashboard/keys) and create a key. Use `tl_test_` keys for development.

## 2. Create your first lesson

```bash
export API_KEY="tl_test_your_key_here"

curl -X POST https://www.turalula.com/api/v1/lula/lessons \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Three Rules of Good Design",
    "steps": [
      { "type": "text", "content": "Rule 1: Less is more. Remove until it breaks, then add one thing back." },
      { "type": "image", "url": "https://example.com/minimal.png", "caption": "This says everything with almost nothing." },
      { "type": "quiz", "question": "What should you do when a design feels cluttered?", "options": ["Add more color", "Remove elements", "Make it bigger"], "answer": "Remove elements" },
      { "type": "text", "content": "Rule 2: Contrast creates hierarchy. Big vs small, dark vs light, bold vs thin." },
      { "type": "text", "content": "Rule 3: Align everything. If two things look related, they should line up." }
    ]
  }'
```

Save the `id` from the response.

## 3. Create a quiz

```bash
curl -X POST https://www.turalula.com/api/v1/lula/quizzes \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Design Principles Check",
    "questions": [
      { "type": "multiple-choice", "question": "What does white space do?", "options": ["Wastes screen", "Gives content room to breathe", "Slows loading"], "answer": "Gives content room to breathe" },
      { "type": "fill-in", "question": "Good design is as little design as ___", "answer": "possible" }
    ]
  }'
```

## 4. Create a story

```bash
curl -X POST https://www.turalula.com/api/v1/lula/stories \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Design Tools Through the Decades",
    "cards": [
      { "text": "1990s: Photoshop", "emoji": "🖥️", "backgroundColor": "#1e3a5f" },
      { "text": "2010s: Sketch", "emoji": "💎", "backgroundColor": "#f7b731" },
      { "text": "2020s: Figma", "emoji": "🎨", "backgroundColor": "#a259ff" }
    ]
  }'
```

## 5. React to something

```bash
curl -X POST https://www.turalula.com/api/v1/lula/reactions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "contentType": "lesson", "contentId": "LESSON_ID", "emoji": "🔥" }'
```

## 6. Build a learning path

```bash
curl -X POST https://www.turalula.com/api/v1/lula/paths \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Design Fundamentals",
    "items": [
      { "contentType": "lesson", "contentId": "LESSON_ID", "position": 1 },
      { "contentType": "quiz", "contentId": "QUIZ_ID", "position": 2 }
    ]
  }'
```

## Next steps

- Build a tap-through lesson viewer in your frontend
- Add content gating with `"gated": true` and integrate TuraLogin
- Track lesson completions with TuraTrack events
- Combine with TuraPress for blog posts and newsletters alongside interactive content
- See [API.md](https://www.turalula.com/API.md) for the full endpoint reference
- See [AGENTS.md](https://www.turalula.com/AGENTS.md) for AI agent integration
