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

# Available twins

> What each provider twin models, the scenarios it publishes, and where it stops

`GET /twins` returns the twins your organization can provision right now, with the scenarios each one publishes. The pages below describe what they model.

## Resend

Email delivery, domains, keys, contacts and broadcasts. The conformance suite drives the twin through the official Resend Python SDK `2.41.0`.

**Slug:** `resend`

| Area                  | Modelled                                                                                                                                                                                                                                        |
| --------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Emails                | Single sends and batches of up to 100, retrieve and list with newest-first cursor pagination, schedule, reschedule, cancel, `html`, `text`, templates, CC, BCC, reply-to, tags, idempotent replay and rejection of reuse with a changed payload |
| Delivery              | Queued, scheduled, sent, delivered, delayed, bounced, complained, opened, clicked and suppressed, moved by [advancing](/concepts#time-and-advancing)                                                                                            |
| Domains               | Create, retrieve, list, update, delete, simulated SPF and DKIM records, region and tracking settings, refusal of sends from an unverified custom domain, and asynchronous verification that completes on advance                                |
| API keys              | Create, list, rename, revoke, full-access and sending-only permissions, bearer authentication, the required `User-Agent` header, and missing, invalid, restricted, revoked and rate-limited credentials                                         |
| Contacts and segments | Contacts by id or email, names, subscription state, properties, topics, segment membership, segment CRUD, and the deprecated audiences API                                                                                                      |
| Broadcasts            | Draft CRUD, audience or segment targeting, immediate or scheduled sends, cancellation, and materialization into emails on advance                                                                                                               |

**Scenarios:** `hard-bounce`, `spam-complaint`, `delayed-delivery`, `suppressed-contact`, `unverified-domain`, `rate-limited-key`.

**Not modelled:** webhooks, webhook events and webhook deliveries. Any route outside the table answers `501` in Resend's error envelope.

## Linear

Issue tracking through Linear's GraphQL API. The conformance suite drives the twin through `@linear/sdk` `95.0.0`, the only SDK Linear publishes.

**Slug:** `linear`

| Area              | Modelled                                                                                                                                                                                                                                                                                                                                                                                       |
| ----------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Workspace         | One organization, one team (`ENG`), three people including the one your key acts as, Linear's six default workflow states, and labels with the duplicate-name refusal                                                                                                                                                                                                                          |
| Issues            | Create, update, delete, archive and unarchive; read by id or identifier; title, description, priority, state, assignee, labels, due date and estimate with Linear's own validators; server-computed `identifier`, `number`, `url`, `branchName`, `priorityLabel`, `sortOrder` and `boardOrder`; state-derived `startedAt`, `completedAt`, `canceledAt` and `autoArchivedAt`; `includeArchived` |
| Comments          | Create, update, delete and read, `issueId` as an id or an identifier, `editedAt` on an edit, and the `url` Linear builds                                                                                                                                                                                                                                                                       |
| Provider behavior | Linear's error envelope, including which failures answer `200` with a `data: null` body; Relay connections read as `nodes` or `edges { cursor node }`, forwards and backwards                                                                                                                                                                                                                  |
| Authentication    | A raw `lin_api_` key in `Authorization`, one `401` for missing, unknown and revoked keys, and the `400` Linear answers a key sent with a `Bearer` prefix                                                                                                                                                                                                                                       |

Every record the baseline creates carries the same identifier in every container, so a seed plan can name the team, its people, its states and its labels before any container exists. Records created afterwards get identifiers of the sandbox's own.

Advancing moves each open issue one step along its workflow: Backlog to Todo, Todo to In Progress, In Progress to Done, and a Done or Canceled issue to auto-archived.

**Scenarios:** `busy-team`, `completed-work`, `revoked-api-key`.

**Not modelled:** projects, milestones, initiatives, cycles, roadmaps, documents, attachments, reactions and templates; the `organization` query and workspace or team settings; webhooks, integrations, OAuth applications and agent sessions; issue relations, sub-issues and history; API-key management; and `filter`, `orderBy` or `sort` arguments. A refused argument is refused rather than ignored, so a caller never reads an issue as created the way it asked when it was not.

## Two rules every twin keeps

A route or field a twin does not model is refused in the provider's own error shape rather than filled in with something plausible, and CI proves the rest against the provider's SDK. Read a refusal as the edge of the twin. See [not modelled](/concepts#not-modelled).

Need a provider that is not here? Tell us at [hi@twinbay.ai](mailto:hi@twinbay.ai).
