Patient API endpoints
All 26 Patient API endpoints an API key can call, grouped by resource. Each links to its full reference page, with parameters, errors, and code samples.
https://api.bloomtext.com/v1Send the key as Authorization: Bearer $BLOOMTEXT_API_KEY. The scope column is what the key needs; see Scopes. A key that reaches more than one organization names one with org_id on every call; see Organizations a key reaches. Anything under /me or /users needs OAuth, which BloomText turns on per account; an API key gets 403 with code: oauth_required. See OAuth endpoints. An account key also calls the account endpoints.
Organization
The organization an API key acts on.
| Method | Path | Endpoint | Scope |
|---|---|---|---|
| GET | /organization | Retrieve the organization | Any |
Patients
Patient records, always found by patient ID, phone number, or MRN.
| Method | Path | Endpoint | Scope |
|---|---|---|---|
| GET | /patients | Find patients | patients.read |
| POST | /patients | Create a patient | patients.write |
| GET | /patients/{patientId} | Retrieve a patient | patients.read |
| PATCH | /patients/{patientId} | Update a patient | patients.write |
| DELETE | /patients/{patientId} | Delete a patient | patients.write |
Patient imports
Bulk imports of patient records.
| Method | Path | Endpoint | Scope |
|---|---|---|---|
| POST | /patient-imports | Import patients | patients.write |
| GET | /patient-imports/{importId} | Retrieve an import | patients.write |
Patient messages
Messages with patients: send to a patient by ID or phone number, read patient messages by time range, and check delivery.
| Method | Path | Endpoint | Scope |
|---|---|---|---|
| GET | /patient-messages | List patient messages | messages.read |
| POST | /patient-messages | Send a message to a patient | messages.write |
| POST | /messages:batch | Send messages to patients in a batch | messages.write |
| GET | /patient-messages/{messageId} | Retrieve a patient message | messages.read |
Patient conversations
Conversations with patients, one per patient and clinic phone number.
| Method | Path | Endpoint | Scope |
|---|---|---|---|
| GET | /patient-conversations | List patient conversations | messages.read |
| GET | /patient-conversations/{conversationId} | Retrieve a patient conversation | messages.read |
Phone numbers
The clinic phone numbers messages to patients come from, and the team each belongs to.
| Method | Path | Endpoint | Scope |
|---|---|---|---|
| GET | /phone-numbers | List phone numbers | messages.read |
Campaigns
One message sent to many patients from a clinic phone number, with per-patient delivery.
| Method | Path | Endpoint | Scope |
|---|---|---|---|
| GET | /campaigns | List campaigns | messages.read |
| POST | /campaigns | Create a campaign | messages.write |
| GET | /campaigns/{campaignId} | Retrieve a campaign | messages.read |
| PATCH | /campaigns/{campaignId} | Update a campaign | messages.write |
| DELETE | /campaigns/{campaignId} | Delete a campaign | messages.write |
| GET | /campaigns/{campaignId}/recipients | List campaign recipients | messages.read |
| POST | /campaigns/{campaignId}/recipients | Add campaign recipients | messages.write |
| POST | /campaigns/{campaignId}/recipients/remove | Remove campaign recipients | messages.write |
| POST | /campaigns/{campaignId}/start | Start a campaign | messages.write |
| POST | /campaigns/{campaignId}/pause | Pause a campaign | messages.write |
| POST | /campaigns/{campaignId}/stop | Stop a campaign | messages.write |