canonical: https://jentic.com/apis/poweredbytext.com/poweredbytext

# Powered By Text API

Jentic publishes the only available OpenAPI specification for Powered By Text API, keeping it validated and agent-ready. The Powered By Text API (also known as Ministry By Text) is a church and nonprofit messaging platform that provides management of accounts, organizational units (campuses), groups, keywords, and message templates. It enables multi-campus organizations to structure their SMS communication with keyword-based subscriber opt-in and reusable message templates across 13 endpoints using OAuth 2.0 client credentials authentication.

## For AI agents

Manage church and nonprofit SMS communication structures including campuses, subscriber groups, opt-in keywords, and message templates. Supports multi-campus organizational hierarchies.

## Scope

Does not handle direct SMS message dispatch, subscriber phone number validation, or billing management - use for organizational structure and template configuration only.

## Capabilities

- Organize multi-campus communication structures with hierarchical organizational units
- Create and manage subscriber groups within each campus for targeted messaging
- Configure keyword-based opt-in flows for subscriber self-enrollment via text
- Build and maintain reusable message templates with variable content
- Retrieve account-level settings and configuration details
- Support sandbox environment for testing before production deployment

## Use cases

### Multi-Campus Communication Setup

Configure communication infrastructure for churches and nonprofits with multiple locations. The API enables creating organizational units (campuses) under a parent account, each with their own groups, keywords, and templates. This hierarchical structure allows location-specific messaging while maintaining centralized template management and account-level oversight across all campuses.

Example prompt: Create a new campus organizational unit named 'Downtown Campus' via POST /orgunit, then create a subscriber group named 'Youth Ministry' under it

### Keyword-Based Subscriber Management

Set up keyword-based opt-in flows where congregation members text a keyword to subscribe to specific groups. The API manages keywords linked to groups under organizational units, enabling self-service enrollment. Members text a keyword (e.g., 'YOUTH') to a short code and are automatically added to the corresponding group for future messages.

Example prompt: List all keywords for the 'Youth Ministry' group using GET `/orgunit/{orgunitId}/groups/{groupId}/keywords` and verify the expected opt-in keyword is configured

### Message Template Management

Create and maintain reusable message templates for recurring communications like event reminders, prayer requests, and announcements. Templates are managed at the account level and can be used across all campuses and groups. The API supports creating, listing, updating, and deleting templates, enabling centralized content management for consistent messaging.

Example prompt: Create a new message template named 'Sunday Service Reminder' with body 'Join us this Sunday at {time}. See you there!' using POST `/accounts/{accountId}/templates`

### AI Agent Church Communication Management

Enable AI agents to manage church and nonprofit messaging infrastructure through Jentic. Agents discover group, keyword, and template management operations via intent search and receive operation schemas for constructing valid requests. Jentic handles OAuth 2.0 token acquisition automatically, enabling agents to focus on communication structure rather than authentication flows.

Example prompt: Search Jentic for 'create a subscriber group for church messaging', load the Powered By Text group creation schema, and execute to add a new ministry group under a campus

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/accounts/{accountId}` | Get account details |
| POST | `/orgunit` | Create a new campus organizational unit |
| GET | `/orgunit/{orgunitId}/groups` | List groups within a campus |
| POST | `/orgunit/{orgunitId}/groups` | Create a new subscriber group |
| GET | `/orgunit/{orgunitId}/groups/{groupId}/keywords` | List keywords for a group |
| GET | `/accounts/{accountId}/templates` | List message templates |
| POST | `/accounts/{accountId}/templates` | Create a new message template |

## Key resources

- **Accounts** — Retrieve account details and configuration
- **Organizational Units** — Create and manage campuses as hierarchical communication units
- **Groups** — Create, list, and manage subscriber groups within campuses
- **Keywords** — List opt-in keywords configured for subscriber groups
- **Templates** — Create, list, update, and delete reusable message templates

## Why Jentic

- **Setup:** Wiring the Powered By Text API by hand means running the OAuth 2.0 client-credentials exchange against login.poweredbytext.com, refreshing tokens, and choosing between the production and sandbox hosts yourself. Through Jentic you install once, import the Powered By Text API from the API Directory, store the client id and secret once, and your agent calls it.
- **Permission scoping:** Powered By Text puts the org-unit and account ids in the URL path (`/orgunit/{orgunitId}/...`, `/accounts/{accountId}/...`), so a rule can pin your agent to one org unit: it can read that unit's groups, keywords, and templates and nothing else. You choose the operations it may call, so creating org units or templates is not included unless you add it.
- **Credential handling:** Your Powered By Text client id and secret are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'list messaging groups for an org unit' or 'create a message template', and Jentic returns the matching Powered By Text operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Twilio Messaging API** — General-purpose SMS API with global reach and programmable messaging workflows
- **MessageBird SMS API** — SMS messaging API with global coverage and conversation management
- **Plivo API** — SMS and voice API with global carrier coverage for extending communication channels

## FAQ

### Why is there no official OpenAPI spec for Powered By Text API?

Powered By Text does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Powered By Text API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the Powered By Text API use?

The Powered By Text API uses OAuth 2.0 with the Client Credentials flow. You obtain tokens from https://login.poweredbytext.com/connect/token using your client_id and client_secret. Through Jentic, OAuth token acquisition and refresh are handled automatically by the credential vault.

### Can I manage multiple campuses with the Powered By Text API?

Yes. The /orgunit endpoint supports creating multiple organizational units (campuses) under a single account. Each campus can have its own groups, keywords, and messaging structure. Use POST /orgunit to create campuses and PUT `/orgunit/{orgunitId}` to update existing ones.

### What are the rate limits for the Powered By Text API?

Rate limits depend on your account tier with Powered By Text. The API provides both production (api.poweredbytext.com) and sandbox (api-qa.poweredbytext.com) environments. Use the sandbox for development and testing to avoid impacting production rate allowances.

### How do I create a subscriber group through the Powered By Text API using Jentic?

Install the SDK with pip install jentic, then search for 'create a messaging group for church'. Jentic returns the POST `/orgunit/{orgunitId}/groups` operation schema with the required orgunitId path parameter and group name/description body fields. Execute to create the group under a specific campus.

### Does the Powered By Text API support message sending directly?

The documented API focuses on organizational structure management (accounts, campuses, groups, keywords, templates) rather than direct message dispatch. Message sending is typically handled through the platform's keyword-triggered and scheduled messaging features configured via groups and templates.

### Can I limit what my agent is allowed to do with the Powered By Text API?

Yes. Because Jentic One is self-hosted, your own rules decide which Powered By Text operations and credentials the agent may use. Since org-unit and account ids sit in the URL path (`/orgunit/{orgunitId}/...`, `/accounts/{accountId}/...`), you can pin the agent to a single campus so it only reads that unit's groups, keywords, and templates. You choose the operations it can call, so write actions like POST /orgunit or POST `/accounts/{accountId}/templates` stay off unless you explicitly grant them.
