Skip to Content
API access is available to organizations with a signed BAA. Request API access →
API referenceOverview

API reference

The BloomText API is a REST API with JSON request and response bodies, standard HTTP status codes, and bearer authentication with an API key or an OAuth 2.0 access token. Everything on these pages is generated from the OpenAPI 3.1 spec, which you can also feed to any client generator.

Base URL
https://api.bloomtext.com/v1

New to the API? Start with the Patient API quickstart or the OAuth quickstart, then read Authentication for API keys, OAuth, and scopes.

Endpoints by credential

Resources

Conventions

  • Authentication: send an API key or an org admin’s OAuth access token as Authorization: Bearer …. Each page says which it accepts. See Authentication.
  • Access: API keys reach the Patient API only: patient records by ID, phone, or MRN, and bounded reads of patient messages. OAuth also reaches the connected person’s own conversations under /me.
  • Search: message lists take a q of words and operators, like refill from:patient. See Search.
  • IDs: objects have a stable id, usually a UUID.
  • Timestamps: RFC 3339 strings in UTC, like 2026-09-21T12:00:00Z.
  • Lists: cursor-paginated with page[limit] and page[after]. See Pagination.
  • Writes: every POST takes an Idempotency-Key. See Idempotency.
  • Errors: RFC 9457 problem details. See Errors.

All endpoints

Organization

MethodPathEndpoint
GET/organizationRetrieve the organization

Patients

MethodPathEndpoint
GET/patientsFind patients
POST/patientsCreate a patient
GET/patients/{patientId}Retrieve a patient
PATCH/patients/{patientId}Update a patient
DELETE/patients/{patientId}Delete a patient

Patient imports

MethodPathEndpoint
POST/patient-importsImport patients
GET/patient-imports/{importId}Retrieve an import

Patient messages

MethodPathEndpoint
GET/patient-messagesList patient messages
POST/patient-messagesSend a message to a patient
GET/patient-messages/{messageId}Retrieve a patient message

Patient conversations

MethodPathEndpoint
GET/patient-conversationsList patient conversations
GET/patient-conversations/{conversationId}Retrieve a patient conversation

Phone numbers

MethodPathEndpoint
GET/phone-numbersList phone numbers

Campaigns

MethodPathEndpoint
GET/campaignsList campaigns
POST/campaignsCreate a campaign
GET/campaigns/{campaignId}Retrieve a campaign
PATCH/campaigns/{campaignId}Update a campaign
DELETE/campaigns/{campaignId}Delete a campaign
GET/campaigns/{campaignId}/recipientsList campaign recipients
POST/campaigns/{campaignId}/recipientsAdd campaign recipients
POST/campaigns/{campaignId}/recipients/removeRemove campaign recipients
POST/campaigns/{campaignId}/startStart a campaign
POST/campaigns/{campaignId}/pausePause a campaign
POST/campaigns/{campaignId}/stopStop a campaign

Profile

MethodPathEndpoint
GET/meRetrieve the profile

Messages

MethodPathEndpoint
GET/me/messagesList messages
GET/me/messages/{messageId}Retrieve a message
POST/me/conversations/{conversationId}/messagesSend a message

Reactions

MethodPathEndpoint
GET/me/messages/{messageId}/reactionsList reactions
POST/me/messages/{messageId}/reactionsAdd a reaction
DELETE/me/messages/{messageId}/reactionsRemove a reaction

Conversations

MethodPathEndpoint
GET/me/conversationsList conversations
GET/me/conversations/{conversationId}Retrieve a conversation

Participants

MethodPathEndpoint
GET/me/conversations/{conversationId}/participantsList participants

Users

MethodPathEndpoint
GET/usersList users
GET/users/{userId}Retrieve a user
Last updated on