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

# Build with AI

> The machine-readable docs (llms.txt, OpenAPI, Postman, MCP) and the prompts that let an AI coding assistant write and review your integration.

These docs are built to be read by AI coding assistants such as Claude, ChatGPT, Cursor and Codex, as well as by people. This page is the one place for every machine-readable form of the docs.

## Give your assistant the whole docs

| What | Address | Use it for |
| - | - | - |
| `llms.txt` | `https://docs.blujay.io/llms.txt` | A short index of every page. |
| `llms-full.txt` | `https://docs.blujay.io/llms-full.txt` | Every page in one file. Paste the address into your assistant. |
| OpenAPI 3.1 file | `https://raw.githubusercontent.com/blujayhq/api-docs/main/api-reference/openapi.yaml` | The exact definition of every endpoint, for code generators and assistants. The [API reference](/api-reference/introduction.md) is generated from it. |
| Postman collection | `https://raw.githubusercontent.com/blujayhq/api-docs/main/api-reference/blujay.postman_collection.json` | Every endpoint as a ready-made request. See [Use the Postman collection](/api-reference/introduction.md#use-the-postman-collection) before you click **Send**. |
| Docs MCP server | `https://docs.blujay.io/mcp` | Lets an MCP-capable assistant search these docs while it works. |

## Copy one page

Every page has a **Copy page** menu at the top. Use it to copy the page as Markdown, or to open it directly in ChatGPT, Claude or Cursor.

## A starting prompt

Paste this into your assistant, then describe what you want to build:

```text theme={null}
You are helping me integrate the Blujay API (iMessage, RCS and SMS messaging).
Read https://docs.blujay.io/llms-full.txt first and follow it exactly.
Rules: keep the API key on the server; send an Idempotency-Key on every send
and reuse it on retries; until a contact replies, send short text only (no links,
photos, files or contact cards, 300 characters or less) and never more than
6 texts in a row without a response; recipients are US phone numbers;
treat 202 as queued, not delivered; verify webhook signatures on the raw body
and deduplicate by event_id; check GET /v1/phone-numbers send_status and limits
before sending in bulk; treat error.retryable as the only signal to retry.
```

## Review your integration

When your integration works, ask your assistant to check it against the docs. This is the only copy of this prompt; other pages link here.

```text theme={null}
Review my Blujay integration against https://docs.blujay.io/llms-full.txt.
List anything that could send a duplicate message, message someone who opted out,
send a link, attachment or long text before the contact has replied,
miss or double-process a webhook, ignore Retry-After, or leak the API key.
```

## Next steps

> **[Quickstart](/quickstart.md)**
>
> Send your first message.

> **[API reference](/api-reference/introduction.md)**
>
> Every endpoint, with a playground.

> **[Examples](/examples.md)**
>
> Complete programs to copy.


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