---
title: Key concepts | API Docs
description: The model behind WhatsApp chats, sends, templates, and events.
---

## Chats are 1:1

Each chat represents one customer conversation. You can send by destination and let Linq resolve the chat, or send to a known chat ID.

## The customer window controls free-form sends

An inbound customer message opens or extends the customer-service window. While it is open, you can send free-form content. Outside it, send an approved template. The API refuses an invalid choice; it never silently substitutes a template or coerces content.

## Acceptance is not delivery

Successful send requests return `202` after durable acceptance. Delivery, read, and failure receipts arrive later. Treat an unresolved outcome as unknown; do not blindly resend it.

## Events address durable state

SSE and webhooks tell you which chat sequence range moved. The per-chat journal contains the message content and forms the durable recovery source. Account events also have a pageable log for bounded catch-up.

## Parts are the content contract

Each send currently carries one member of the sealed `parts` union. The JSON Schemas served by `GET /v1/parts/{type}` are authoritative and can be used directly as tool schemas for your agent.
