# BloomText API

> Read and send messages in BloomText conversations from your own software, AI agents, and scripts.

Source: https://www.bloomtext.com/developers/api/

The BloomText API lets your software take part in BloomText conversations. Read messages as they arrive, reply in threads, react, manage who's in a conversation, check broadcast delivery, and export conversation history, all over a REST API with JSON bodies.

Your integration acts as an **app user**: a named, non-human member of your organization. Your team sees it in conversations like any other participant, and it can only reach the conversations it has been added to.

  - [Quickstart](https://www.bloomtext.com/developers/api/quickstart/)
  - [API reference](https://www.bloomtext.com/developers/api/reference/)
  - [Webhooks](https://www.bloomtext.com/developers/api/webhooks/)
  - [Build an AI agent](https://www.bloomtext.com/developers/api/ai-agents/)

## What you can build

- **Reminders and notifications:** post appointment reminders or intake nudges into a patient's conversation from your EMR or scheduling system. See [Send appointment reminders](https://www.bloomtext.com/developers/api/guides/appointment-reminders/).
- **Two-way workflows:** turn patient replies into actions in your own system, like confirming an appointment. See [Handle patient replies](https://www.bloomtext.com/developers/api/guides/handle-replies/).
- **AI assistants:** let an agent answer routine questions and hand anything clinical to your staff. See [Build an AI agent](https://www.bloomtext.com/developers/api/ai-agents/).
- **Records and compliance:** export a conversation's history on a schedule and file it with the patient's chart. See [Export conversation history](https://www.bloomtext.com/developers/api/guides/export-history/).

## How it works

```mermaid
sequenceDiagram
  participant App as Your app
  participant API as BloomText API
  participant Staff as Your staff
  App->>API: POST /conversations/{id}/messages
  API-->>Staff: Message appears in the conversation
  Staff->>API: Staff or patient replies
  API-->>App: conversation.message.created webhook
  App->>API: GET /conversations/{id}/messages
```

1. An organization admin creates an app user for your integration and issues it an [API key](https://www.bloomtext.com/developers/api/authentication/).
2. Admins add the app user to the conversations it should work in.
3. Your app reads and writes those conversations with the API, and listens for changes with [webhooks](https://www.bloomtext.com/developers/api/webhooks/).

## Access

API keys are issued to organizations with a signed BAA. [Request API access](https://calendly.com/tyler-bloom/bloomtext-homepage-demo-request?utm_campaign=api-access) and we'll set up your app user and first key.

> **Warning:** Don't include patient information when you request access. The form isn't a secure channel.
