canonical: https://jentic.com/apis/docs.terrareach.com/terrareach

# Docs Terrareach TerraReach API

Jentic publishes the only available OpenAPI specification for TerraReach API, keeping it validated and agent-ready. TerraReach is a messaging and team-communications platform whose API covers SMS sending (single and bulk, v1 and v2), team and user management, payments, configuration, API keys and a small set of utility operations. With 56 endpoints under https://api.terrareach.com/api, it suits product teams that need to send transactional SMS, manage messaging accounts, and integrate billing for a messaging workload.

## For AI agents

Send single and bulk SMS through TerraReach, manage messaging teams, users and API keys, and integrate billing for a messaging workload.

## Scope

Does not handle voice calls, MMS picture messaging, email delivery, or push notifications - use for SMS messaging, account management and credit top-ups only.

## Capabilities

- Send a single SMS via the v1 or v2 SMS endpoint
- Send bulk SMS to many recipients in one call
- Manage TerraReach teams that group users and packages
- Maintain user accounts including signup, OTP verification and password reset
- Issue and rotate API keys used by integrations
- Manage messaging packages and configuration values
- Process Stripe payments for messaging credit top-ups

## Use cases

### Transactional SMS

Send shipping, appointment and verification messages via the v2 SMS endpoint. POST `/v2/sms` takes a recipient and message body and queues delivery. For higher volume, `/v2/sms/bulk` accepts arrays in one call. Lets product teams add SMS to their workflows without standing up their own SS7 gateway.

Example prompt: POST `/v2/sms` with to='+15551234567' and message='Your order ships tomorrow' to send a single transactional SMS.

### Bulk Marketing or Notification Sends

For event reminders, opt-in marketing or large status updates, `/v2/sms/bulk` accepts a list of recipient-message pairs in a single request. This avoids per-message HTTP overhead and lets the platform optimise delivery scheduling. The earlier `/v1/sms/bulk` endpoint remains for clients on the legacy contract.

Example prompt: POST `/v2/sms/bulk` with a list of objects each containing to and message for an event-reminder broadcast.

### Account and Team Self-Service

Build a self-service onboarding flow that creates a TerraReach user, verifies their phone with OTP, attaches them to a team, issues an API key and lets them top up balance via Stripe. The `/users/verify-otp`, `/users/reset-password`, /api-keys and `/payments/stripe` endpoints together cover the lifecycle without hitting a support team.

Example prompt: POST /users to create the account, POST `/users/verify-otp` to verify the phone, POST /api-keys to issue a key, then POST `/payments/stripe` to add balance.

### AI Agent Customer Notification Service

Through Jentic, an AI agent embedded in a customer-service workflow can send personalised SMS confirmations and updates. The agent searches Jentic for the SMS intent, loads the v2 SMS operation and executes against the configured TerraReach environment. This avoids a custom integration and keeps message templating in the agent rather than in TerraReach.

Example prompt: Use Jentic to search 'send TerraReach SMS', load `/v2/sms`, and execute it with the customer's number and the templated message.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/v2/sms` | Send a single SMS message |
| POST | `/v2/sms/bulk` | Send SMS to many recipients in one call |
| POST | `/v1/sms` | Send a single SMS using the v1 contract |
| POST | `/v1/sms/bulk` | Bulk SMS using the v1 contract |
| POST | `/users/verify-otp` | Verify a user's phone with an OTP |
| POST | `/users/reset-password` | Reset a user's password |
| POST | `/api-keys` | Create a new API key |
| POST | `/payments/stripe` | Top up balance via Stripe |

## Key resources

- **SMS** — Single and bulk SMS sending across v1 and v2
- **Users** — User signup, OTP verification, password reset
- **Teams** — Group users and resources into teams
- **Packages** — Messaging packages assigned to teams
- **API Keys** — Issue and manage API keys for integrations
- **Configs** — Configuration values for the platform
- **Payments** — Stripe-backed payments for messaging credit

## Why Jentic

- **Setup:** Wiring the TerraReach API by hand means minting and rotating your own API keys through its /api-keys endpoint, tracking credit balances, and picking the right v1 or v2 SMS route across dozens of paths before a message goes out. Through Jentic you install once, import the TerraReach API from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** TerraReach takes the message target in the request body rather than the URL, so scope by operation: limit the agent to the operations it needs, such as sending a single SMS or a bulk batch, and leave account, payment, and API-key management out of its set. You decide which operations are in that set, so it never issues keys or top-ups on its own.
- **Credential handling:** Your TerraReach API key is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'send an SMS' or 'verify a user phone', and Jentic returns the matching TerraReach operation such as `/v2/sms` or `/users/verify-otp` with its input schema so the agent calls the right endpoint without parsing dozens of routes of docs.

## Related APIs

- **Donately API** — Nonprofit donation platform that pairs SMS reminders with giving campaigns
- **Twilio Messaging API** — Industry-standard SMS API with global carrier coverage and richer compliance tooling.
- **Asana API** — Track project tasks alongside TerraReach data.

## FAQ

### Why is there no official OpenAPI spec for TerraReach API?

TerraReach does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call TerraReach 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 TerraReach API use?

The TerraReach OpenAPI spec does not declare an HTTP-level securityScheme; live integrations use API keys issued through the /api-keys endpoint and presented per the documented flow. Through Jentic, those keys live in your Jentic One instance so the agent never sees the raw secret.

### Can I send bulk SMS with the TerraReach API?

Yes. POST `/v2/sms/bulk` accepts a list of recipients and messages in a single request, and `/v1/sms/bulk` remains available for clients on the legacy contract. Bulk sends reduce per-message HTTP overhead for broadcasts.

### What are the rate limits for the TerraReach API?

Rate limits are not declared in the TerraReach spec. Treat the API as moderate-throughput, batch where possible via the bulk endpoints, and back off on 429 responses. For very large broadcasts, split across multiple bulk calls.

### How do I send a single SMS with the TerraReach API through Jentic?

Search Jentic for 'send TerraReach SMS', load the POST `/v2/sms` operation, and execute it with the recipient number and message body. The API key sits in your Jentic One instance throughout, so it never enters the agent's prompt.

### Can I top up SMS balance via the TerraReach API?

Yes. POST `/payments/stripe` processes a Stripe-backed top-up against the account's billing details. This lets a self-service signup flow complete without a separate billing portal.

### Can I limit what my agent is allowed to do with the TerraReach API?

Yes. Because you run Jentic One yourself, your own rules decide which TerraReach operations and credentials the agent may use. You can allow it just the send operations it needs, such as POST `/v2/sms` for a single message or POST `/v2/sms/bulk` for a batch, and leave account, `/payments/stripe`, and /api-keys management out of its set. TerraReach reads the message target from the request body rather than the URL, so you scope by operation, and the agent never issues keys or top-ups on its own.
