# Conversations

Les conversations sont centralisées dans RelAI Core.

```php
$page = $relai->conversations()->list([
    'page' => 1,
    'limit' => 25,
    'type' => 'analysis',
    'status' => 'active',
]);
```

La réponse contient `items`, `total`, `page`, `limit`. Défauts Core : page 1, limite
25, maximum 100.

```php
$conversation = $relai->conversations()->get($id);
foreach ($conversation['messages'] ?? [] as $message) {
    echo $message['role'] . ': ' . $message['content'];
}
```

Le détail contient les messages canoniques ordonnés. Un ID absent ou cross-tenant
retourne 404.

```php
$created = $relai->conversations()->create([
    'title' => 'Document analysis',
    'type' => 'analysis',
    'externalReference' => 'report:2026-07',
    'metadata' => ['source' => 'worker'],
]);
```

Une application peut conserver l'ID comme référence, mais ne doit pas recopier les
messages comme source de vérité. Les routes utilisent `conversations:read` dans le Core
actuel, y compris la création.
