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

# International SOS Communication API

The International SOS Communication API sends traveller safety communications from the International SOS platform over SMS, push, text-to-speech calls, Microsoft Teams, and email, then tracks each delivery and the responses recipients send back. It exposes the recipient lists, message templates, and per-client channel settings behind those communications, keyed to a client's salesforceId. Monitor operations return traveller counts, traveller details, and itineraries by alert or by country, and manager-alert operations return notification details for a given AlertId. The API is served from separate US and EU hosts.

## For AI agents

Send International SOS safety communications over SMS, push, voice, Teams, and email, check delivery and response status, and look up travellers affected by an alert or in a country.

## Scope

Does not handle travel booking, medical case management, or risk intelligence content authoring. Use for International SOS traveller communications, delivery tracking, and traveller monitoring only.

## Capabilities

- Dispatch a communication through the SMS, push, text-to-speech, Teams, or email channel endpoints
- Attach recipients to a communicationId and page through the recipient list
- Read delivery history and response history for a delivery or channel
- Count and list travellers affected by an alert or present in a country, with a vipsOnly filter
- Retrieve a traveller's itineraries between startTimeGmt and endTimeGmt
- Look up, add, and update message templates for a client salesforceId and channelCode

## Use cases

### AI duty-of-care assistant checking who is affected by an alert

When a security or medical alert breaks, a developer's agent connected through Jentic finds the International SOS monitor operations by intent and calls them with the Authorization token injected at execution time. It counts travellers per alert, pulls the affected traveller details, and reports who is in the impact area, without the token ever entering the agent's context.

Example prompt: POST `/api/monitor/TravelerCountsByAlert` with salesForceAccountId, alertIds, startTimeGmt and endTimeGmt for today, then POST `/api/monitor/TravelerDetailsByAlert` with the same body to list the affected travellers

### Multi-channel safety messaging

A travel risk team needs to reach travellers on whichever channel works in the field. The International SOS Communication API has separate send endpoints for SMS, push, text-to-speech calls, Microsoft Teams, and email, plus recipient endpoints that attach people to a communicationId. Delivery status and delivery history operations show what reached each person.

Example prompt: POST `/v1/recipients` with a communicationId and its recipients, then GET `/deliveryhistory/{deliveryId}` for a delivery to confirm it was delivered

### Response tracking after an alert

After a check-in message goes out, the team needs to know who answered. The API records responses arriving over push, Teams, SMS, email, and voice, returns the response history for a channel, and returns a response summary for a communication, so coordinators can chase only the people who have not replied.

Example prompt: Call GET `/responsesummary/communicationid/{id}` for the check-in communication and list recipients with no response

### Template and channel settings per client

Each International SOS client account, identified by salesforceId, has its own templates and enabled channels. The API returns active channels for a client, saves client channel settings with a channelCode and isActive flag, and lets a tool fetch, create, update, or delete message templates.

Example prompt: Call GET `/clientChannelSettings/activeChannels/{salesforceId}` for a client, then GET `/templates/{type}` with that salesforceId and channelCode to show the template in use

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/v1/channel/sms` | Send through the SMS channel |
| POST | `/v1/recipients` | Add recipients to a communication |
| GET | `/deliveryhistory/{deliveryId}` | Get delivery history |
| GET | `/responsesummary/communicationid/{id}` | Get a communication's response summary |
| POST | `/api/monitor/TravelerCountsByAlert` | Count travellers by alert |
| POST | `/api/monitor/TravelerItineraries` | Get traveller itineraries |
| GET | `/templates/{type}` | Get templates by type |

## Key resources

- **Channels** — Send endpoints for SMS, push, text-to-speech, Teams, and email, plus channel detail lookups
- **Recipients and communications** — Attach recipients to a communication, list them, and read communications by party
- **Delivery status** — Delivery details, delivery history, and status updates by channel, delivery system, or in bulk
- **Responses** — Recipient responses by channel, response history, and response summaries and settings
- **Traveller monitor** — Traveller counts, details, and itineraries by alert, by country, by name, or by id
- **Templates and client settings** — Message templates and per-client channel and configuration settings keyed by salesforceId

## AI readiness

This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.

- **Score:** 0 / 100
- **Maturity:** Non-Ready
- **Dimensions:**
  - Foundational Compliance: 73 / 100
  - Developer Experience & Jentic Compatibility: 67 / 100
  - AI-Readiness & Agent Experience: 24 / 100
  - Agent Usability: 80 / 100
  - Security: 50 / 100
  - AI Discoverability: 0 / 100
- **View full report:** https://jentic.com/apis/internationalsos.com/internationalsos/scorecard
- **How the score is calculated:** https://docs.jentic.com/reference/api-readiness-framework/overview/
- **More about the dimensions:** https://docs.jentic.com/reference/api-readiness-framework/specification/#dimensional-model-overview

### Score it yourself

Every API in the directory is allowlisted, so you can re-score it with no key required.

- **Score your own API:** https://jentic.com/scorecard.md
- **Scoring CLI agent skill:** https://github.com/jentic/jentic-api-scorecard/blob/main/skills/jentic-api-scorecard/SKILL.md

```sh
npx @jentic/api-scorecard-cli score <openapi-url>
```

## Why Jentic

- **Setup:** Wiring International SOS by hand means passing the Authorization token on every call, picking the right US or EU host, and working through a spec with no operation ids across delivery, response, and monitor routes. Through Jentic you install once, import it from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** Most International SOS operations carry the client, traveller, or recipient in the request body, so rules bound which operations your agent may call rather than which traveller it sees. You choose the operations it may call, so sending SMS or deleting a template are not included unless you add them.
- **Credential handling:** Your International SOS token 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 'count travellers affected by an alert' or 'get delivery history', and Jentic returns the matching International SOS operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Twilio** — General-purpose SMS, voice, and messaging delivery
- **Sinch** — Carrier-grade SMS and voice messaging
- **OneSignal** — Push, email, and in-app notifications for app users
- **PagerDuty** — Incident response and on-call escalation

## FAQ

### What authentication does the International SOS Communication API use?

Per its OpenAPI spec, the International SOS Communication API uses an API key scheme: an authorization token sent in the `Authorization` request header, applied to every operation. Through Jentic the token is stored by your own instance and attached to each call at execution time.

### Does the International SOS Communication API have US and EU endpoints?

Yes. The spec lists two servers: https://api.internationalsos.com/comms-api-us and https://api.internationalsos.com/comms-api-eu. Use the host that matches the region your International SOS account is provisioned in.

### Can I find travellers in a specific country with this API?

Yes. POST `/api/monitor/TravelerCountsByCountry` returns traveller counts and POST `/api/monitor/TravelerDetailsByCountry` returns traveller details for the isoCodes you pass, between startTimeGmt and endTimeGmt, with an optional vipsOnly filter. GET `/api/monitor/Countries` returns the countries available to query.

### What are the rate limits for the International SOS Communication API?

The OpenAPI spec does not specify rate limits. Check with International SOS through https://www.internationalsos.com for the limits that apply to your account before sending large recipient batches.

### Is there an International SOS MCP server?

You don't need an MCP server to give your agent International SOS. Jentic connects it directly from the API Directory: import it, store your credential once, and your agent calls the monitor, delivery, and messaging operations it needs, discovered on demand rather than loaded into its context.

### Can I limit what my agent is allowed to do with International SOS?

Yes. For example, write a rule that allows only the traveller monitor reads such as POST `/api/monitor/TravelerCountsByAlert` and GET `/deliveryhistory/{deliveryId}`, so the agent can report who is affected and what was delivered but cannot send messages or edit templates, and every call it makes is logged.

### How do I count travellers affected by an alert through Jentic?

Import the International SOS Communication API from the Jentic API Directory and store your Authorization token once. Your agent searches for 'count travellers affected by an alert', gets POST `/api/monitor/TravelerCountsByAlert` with its schema, and sends salesForceAccountId, alertIds, and the time window. To run it on your own infrastructure, install Jentic One from its GitHub repo.
