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

# D7networks D7SMS

D7 Networks is a global SMS provider with direct connections to mobile network operators across the Middle East, Asia, Africa, and Europe. The D7SMS API exposes three endpoints: send a single SMS, send bulk SMS, and check account balance. It targets businesses sending one-time passwords, transactional alerts, and customer notifications who need wholesale-style direct routing rather than a marketing-focused messaging platform.

## For AI agents

Send single or bulk SMS messages and check D7 Networks account balance for global transactional and OTP delivery.

## Scope

Does not handle voice calls, MMS, inbound SMS routing, or delivery report webhooks - use for outbound SMS dispatch and account balance checks only.

## Capabilities

- Send a single SMS to an international destination via POST /send
- Send a bulk SMS batch to many recipients in one request via POST /sendbatch
- Check current D7 Networks account credit balance before triggering a campaign
- Specify a custom sender ID where the destination country and operator allow
- Deliver transactional one-time passwords with direct mobile network operator routing

## Use cases

### OTP Delivery for Authentication

Applications that need to send one-time passwords for login or transaction confirmation use D7's POST /send endpoint with a numeric or alphanumeric sender ID and the OTP body. D7's direct operator connections give better deliverability in emerging markets than aggregator-based providers, which matters when failed OTPs translate directly into lost sign-ups.

Example prompt: POST to /send with the recipient MSISDN and a body of 'Your code is 482917' and confirm the response status.

### Bulk Customer Notification Campaign

Operations teams sending an outage notification or service update to thousands of customers in one go use POST /sendbatch to push the entire recipient list in a single request. The bulk endpoint is more efficient than looping over /send, and D7's wholesale routing keeps per-message cost low for large batches.

Example prompt: POST to /sendbatch with an array of 5,000 MSISDNs and a single message body, then read back the response to confirm acceptance.

### Pre-Send Balance Check

Before triggering a high-volume SMS campaign, an operations agent calls GET /balance to confirm the account has sufficient credit. If credit is below a threshold the agent halts the send and notifies the billing owner, avoiding the failure mode where a campaign starts but only half the recipients are delivered.

Example prompt: Call GET /balance, parse the credit field, and return a boolean for whether the value exceeds 5,000 units.

### Agent-Triggered Service Alert

An AI agent monitoring a production system detects an incident and dispatches an SMS alert to the on-call engineer through Jentic. The agent looks up the on-call number from a directory, drafts the message body, and posts to /send without needing a custom integration to D7 baked into the monitoring tool.

Example prompt: On detecting status='down', POST {"to":"+971501234567","content":"Service degraded"} to /send.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/send` | Send a single SMS message |
| POST | `/sendbatch` | Send a bulk SMS batch |
| GET | `/balance` | Get current account balance |

## Key resources

- **Send** — Single SMS dispatch
- **Sendbatch** — Bulk SMS dispatch
- **Balance** — Account credit check

## Why Jentic

- **Setup:** Wiring D7SMS by hand means encoding your account username and password into an HTTP Basic header, formatting its send and batch bodies, and handling the balance check yourself. Through Jentic you install once, import D7SMS from the API Directory, store the credential pair once, and your agent calls it.
- **Permission scoping:** D7SMS carries the message details in the request body rather than a resource id in the URL path, so scope the agent to the operations it needs, such as sending a single SMS or checking the balance. If you grant only the balance read, sending messages is not included unless you add it.
- **Credential handling:** Your D7SMS Basic auth username and password 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 'send a transactional SMS' or 'send bulk SMS', and Jentic returns the matching D7SMS operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Twilio Programmable SMS** — Larger global SMS provider with richer feature surface than D7's three-endpoint REST API.
- **Vonage SMS API** — Global SMS API with similar OTP and bulk send focus and wider feature documentation.
- **Plivo Messaging API** — Cost-focused SMS and voice provider with similar transactional positioning to D7.
- **Sinch SMS API** — Multi-channel messaging that can pair with D7 as a fallback route for SMS delivery.

## FAQ

### What authentication does the D7SMS API use?

D7SMS uses HTTP Basic authentication. You supply your D7 username and password as base64-encoded credentials in the Authorization header on every request to rest-api.d7networks.com/secure. Through Jentic these credentials are stored encrypted in the vault and surfaced to the agent only as a scoped runtime credential.

### Can I send a bulk SMS batch with the D7SMS API?

Yes. POST /sendbatch accepts a list of destination numbers and a single message body, so a campaign of thousands of recipients can be dispatched in one request rather than looping over /send. Use /sendbatch for any send larger than a few hundred recipients.

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

The OpenAPI spec does not declare hard rate limits. D7's account-level throughput depends on the route and operator chosen at signup; for transactional traffic, treat 50 requests per second per account as a safe ceiling and use /sendbatch for higher volumes.

### How do I send an OTP through Jentic?

Install pip install jentic and run an agent with the search query 'send a transactional SMS'. Jentic returns the POST /send operation with its input schema; the agent provides the destination MSISDN, the OTP body, and the sender ID, then calls execute.

### Can I check my D7 SMS credit balance via the API?

Yes. GET /balance returns the current account credit. Call it before triggering a large /sendbatch to avoid the case where a campaign starts and stops mid-send because the account ran out of credit.

### Does the D7SMS API support inbound SMS or delivery reports?

The three endpoints exposed in this spec are send-only and balance check. Inbound SMS routing and delivery report webhooks are configured in the D7 dashboard rather than through this REST API; you receive callbacks at a URL you supply on the account, not by calling an endpoint here.

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

Yes. Because you run Jentic One yourself, your own rules decide which D7SMS operations the agent may call, so you can grant only the ones a given workflow needs. D7SMS puts the message details in the request body rather than a resource id in the path, so scoping is done per operation: send a single SMS with POST /send, send a batch with POST /sendbatch, or read credit with GET /balance. If you grant only the GET /balance read, the agent cannot send messages until you add /send or /sendbatch. The Basic auth credentials stay with your instance and are injected at execution, never exposed to the agent.
