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

# Group calls and FaceTime links

> Invite multiple people or join an existing FaceTime conversation.

Chert includes group-call origination and joining existing FaceTime links.
Both use `POST /api/v1/calls` with an explicit line and your call-scoped BYOR
credentials, just like [Outbound](https://docs.trychert.com/facetime/outbound.md).

> [!NOTE]
>
> These existing capabilities are experimental and enabled separately per line.
> Ask Chert to confirm access before integrating. A line enabled for ordinary
> outbound calls does not automatically support groups or links. Supervised group
> media acceptance is still pending; availability is not a delivery guarantee.

## Start a group call

In the outbound request, replace `destination` and `destination_type` with
`recipients`. Supply 1–31 distinct remote handles; use at least two for a group:

```json theme={null}
{
  "recipients": [
    { "type": "phone_number", "value": "+15555550123" },
    { "type": "email", "value": "person@example.com" }
  ]
}
```

This is a request fragment. Keep `direction`, `mode`, `line_id`, `media`, and all
LiveKit fields from the [outbound example](https://docs.trychert.com/facetime/outbound.md#2-create-the-call).
Use `phone_number` inside the recipients array, rather than the single-recipient
`destination_type: "phone"` spelling. Do not combine the array with a destination
or a FaceTime link. Reordering the same recipient set does not create a new
operation when you reuse its idempotency key.

The line invites everyone into one conversation. Invitations are not proof that
anyone answered. Unanswered invitations and partial joins are possible.

## Join a FaceTime link

Use these destination fields in the outbound request:

```json theme={null}
{
  "destination_type": "facetime_link",
  "destination": "https://facetime.apple.com/join#<link-fragment>"
}
```

Submit the complete Apple link explicitly. Chert does not scan messages for
links or create invitations through this feature. Links must use that exact
HTTPS prefix, have a nonempty fragment, and contain no query, whitespace, or
embedded credentials. Keep the complete link private. Host approval, expiration,
or revocation can prevent joining.

## Media, capacity, and ending

* One group reserves one line/call slot, regardless of participant count.
* Group audio is mixed. There are no per-person tracks, speaker attribution,
  participant-count, or moderation APIs in this contract.
* Video requires the line's separate outbound video capability. Caller capture
  does not guarantee coverage of every group tile.
* Wait for `bridge_ready` before the agent speaks. Use the normal end-call API
  and observe terminal cleanup before reusing the line.
* Reuse the original idempotency key after an uncertain create response; do not
  submit a second group or join with a fresh key to work around uncertainty.

See [Calls API](https://docs.trychert.com/facetime/calls-api.md) and [Limits and readiness](https://docs.trychert.com/facetime/limits.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.