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

# Model 1: Assistants

> You define the persona; Chert runs the entire experience.

<h2 id="lifecycle">
  Lifecycle
</h2>

1. Create or edit a draft with a name, system prompt, greeting, avatar, and framing.
2. Publish it into an immutable version.
3. Assign it to a line. The next inbound call uses the active version.

<h2 id="endpoints">
  Endpoints
</h2>

```http theme={null}
GET   /v1/assistants
POST  /v1/assistants
PATCH /v1/assistants/{id}
POST  /v1/assistants/{id}/publish
POST  /v1/assistants/{id}/duplicate
POST  /v1/assistants/{id}/archive
GET   /v1/lines
POST  /v1/lines/{id}/assign
PATCH /v1/lines/{id}
```

<h2 id="object">
  Assistant object
</h2>

```json theme={null}
{
  "id": "ast_9c…",
  "name": "Front Desk",
  "status": "active",
  "draft": {
    "system_prompt": "…",
    "greeting": "…",
    "avatar_id": "anam_persona_abc123"
  },
  "versions": [
    { "id": "av_31…", "number": 2, "published_at": "2026-08-21T…" }
  ],
  "active_version_id": "av_31…"
}
```

<h2 id="inbound">
  Inbound auto-answer flow
</h2>

1. The line detects and answers the call.
2. A video caller sees the branded connecting screen.
3. Chert initializes the persona, verifies media end-to-end, and presents the avatar and greeting.
4. The real-time conversation supports natural interruption and barge-in.
5. Either party hangs up; Chert cleans up and writes the call record.
