canonical: https://jentic.com/apis/emnify.net/emnify-enterprise-api

# EMnify Enterprise API

Jentic publishes the only available OpenAPI specification for EMnify Enterprise API, keeping it validated and agent-ready. The Enterprise API is EMnify's full administrative surface for IoT connectivity - endpoint and SIM lifecycle, MFA-protected user management, organization and workspace configuration, tariff and service profiles, integrations, and event streams. With 181 endpoints across 19 functional areas, it covers everything from a single SIM update to full multi-tenant fleet operations. Use it when a deployment needs deep platform control rather than the minimal core feature set.

## For AI agents

Operate the full EMnify cellular IoT control plane - endpoints, SIMs, users, organizations, tariff plans, and integrations across 181 endpoints.

## Scope

Does not handle device firmware, MQTT data brokering, or non-cellular networks - use for cellular IoT control plane operations only.

## Capabilities

- Manage endpoint lifecycle in bulk including create, update, and delete operations on the multi-endpoint resource
- Configure traffic limit extensions, data quotas, and operator blacklists at the endpoint level
- Read endpoint usage and cost statistics including daily breakdowns
- Send and cancel SMS to and from individual endpoints
- Administer users with MFA enrolment, trusted devices, and password management
- Manage organization, workspace, and IP address space configuration
- Configure integrations, event subscriptions, and application tokens for downstream systems

## Use cases

### Large-Scale Endpoint Operations

Manage tens of thousands of IoT endpoints with bulk create, update, and delete calls rather than per-endpoint loops. The Enterprise API exposes POST, PATCH, and DELETE on /api/v2/endpoint/multi specifically for batch operations, alongside per-endpoint controls for connectivity, quotas, and SMS. Operations teams use this to keep large fleets in sync with the device-of-record system.

Example prompt: POST /api/v2/endpoint/multi with the array of endpoint records, then PATCH /api/v2/endpoint/multi to apply state changes in batches.

### Cost Control via Quotas and Limits

Cap data usage and apply traffic limit extensions on individual endpoints to control costs across a fleet. The API supports setting and removing data quotas, listing active extensions, and reading usage statistics so finance can model and constrain monthly spend. Engineering teams wire these into anomaly detection so a runaway device cannot generate a surprise bill.

Example prompt: Call GET /api/v1/endpoint/{endpoint_id}/stats/daily to read usage, then POST /api/v1/endpoint/{endpoint_id}/quota/data to set a hard data cap.

### Multi-Tenant Workspace Administration

Provision users, manage organizations, and configure workspaces for multi-tenant IoT product builds where customer accounts need their own isolated EMnify state. The API supports user invitation, MFA enrolment, password management, and organization/workspace operations. Platform teams use this to expose self-service connectivity provisioning to their own customers.

Example prompt: POST /api/v2/user/invitation to invite the new admin and POST /api/v1/user/mfa to set up MFA for the account.

### Event Integrations and Webhooks

Configure integrations and application tokens so downstream systems can subscribe to events from the EMnify platform - endpoint state changes, SMS receipts, and connectivity events. The integrations and events resources expose the configuration surface needed to wire EMnify into a data pipeline. Engineering teams use this to drive real-time alerting on connectivity degradation.

Example prompt: Configure an integration via the integrations resource and validate by reading endpoint events via GET /api/v1/endpoint/{endpoint_id}/event.

### Agent-Driven Fleet Triage

An operations agent receives an alert about a stuck device, queries connectivity info, resets the connectivity, and posts a status SMS - all without a human dashboard session. Through Jentic the agent searches by intent, loads the schemas, and chains the calls. Triage that previously required a multi-screen dashboard navigation completes as a single agent task.

Example prompt: Search Jentic for 'reset endpoint connectivity', execute GET /api/v1/endpoint/{endpoint_id}/connectivity, PATCH /api/v1/endpoint/{endpoint_id}/connectivity, and POST /api/v1/endpoint/{endpoint_id}/sms in sequence.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | /api/v1/authenticate | Retrieve an authentication token |
| POST | /api/v2/endpoint/multi | Bulk create endpoints |
| PATCH | /api/v2/endpoint/multi | Bulk update endpoints |
| GET | /api/v1/endpoint/{endpoint_id}/stats/daily | Daily usage statistics for an endpoint |
| POST | /api/v1/endpoint/{endpoint_id}/sms | Send SMS to an endpoint |
| POST | /api/v1/endpoint/{endpoint_id}/quota/data | Set a data quota on an endpoint |
| PATCH | /api/v1/endpoint/{endpoint_id}/connectivity | Reset endpoint connectivity |
| POST | /api/v2/user/invitation | Invite a user to the workspace |

## Key resources

- **Endpoint** — Lifecycle, bulk operations, connectivity, SMS, quotas, traffic extensions, and event listing
- **SIM** — SIM lifecycle and assignment within the Enterprise surface
- **Authentication** — Token retrieval, MFA enrolment, trusted devices, and key management
- **User Management** — Invite, activate, and administer users with MFA controls
- **Organization and Workspaces** — Configure organizations, workspaces, and IP address spaces
- **Tariff Plans and Service Profiles** — List and configure tariff plans and service profiles for the account
- **Integrations and Events** — Configure downstream integrations and read endpoint events

## Why Jentic

- **Setup:** Wiring the EMnify Enterprise API by hand means exchanging credentials at /api/v1/authenticate for a bearer token, threading it through 181 control-plane operations, and building your own retries against https://cdn.emnify.net. Through Jentic you install once, import the EMnify Enterprise API from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** The EMnify Enterprise API puts the endpoint id in the URL path (/api/v1/endpoint/{endpoint_id}/...), so a rule can pin your agent to one cellular endpoint: it can read that endpoint's daily stats and send SMS to it and nothing else. You choose the operations it may call, so ones like changing connectivity or topping up a data quota are not included unless you add them.
- **Credential handling:** Your EMnify 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 'send an SMS to a cellular endpoint' or 'read an endpoint's daily usage', and Jentic returns the matching EMnify operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **EMnify Core API** — Smaller core feature set from the same vendor
- **Particle Device Cloud API** — Integrated IoT device cloud with bundled connectivity
- **Twilio API** — Pair with Twilio for SMS to phones outside the managed fleet

## FAQ

### Why is there no official OpenAPI spec for EMnify Enterprise API?

EMnify does not publish a stable OpenAPI specification at this entry point. Jentic generates and maintains this spec so that AI agents and developers can call EMnify Enterprise 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 EMnify Enterprise API use?

The API uses HTTP Bearer authentication. Call POST /api/v1/authenticate with credentials to obtain a token, then send it in the Authorization header. Through Jentic, credentials are stored encrypted in the vault and the bearer is injected at execution time.

### Can I bulk update IoT endpoints with the EMnify Enterprise API?

Yes. POST, PATCH, and DELETE on /api/v2/endpoint/multi accept arrays of endpoint records for batch operations, which is the recommended path for fleet-scale changes.

### How do I set a data quota on an endpoint through Jentic?

Search Jentic for 'set IoT endpoint data quota', load the schema for POST /api/v1/endpoint/{endpoint_id}/quota/data, and execute it. Use GET on the same path to confirm the active quota.

### What are the rate limits for the EMnify Enterprise API?

The OpenAPI spec does not declare quantitative rate limits; EMnify enforces limits at the account level. Treat HTTP 429 responses as authoritative and back off using the Retry-After header when present.

### Can I reset connectivity on a stuck endpoint?

Yes. PATCH /api/v1/endpoint/{endpoint_id}/connectivity triggers a connectivity reset, and GET on the same path returns the current connectivity state for inspection.

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

Yes. Because you run Jentic One yourself, your own rules decide which of the 181 operations and which credentials the agent may use. Since the endpoint id sits in the URL path (/api/v1/endpoint/{endpoint_id}/...), you can pin the agent to a single cellular endpoint and allow only, say, reading its daily stats via GET /api/v1/endpoint/{endpoint_id}/stats/daily and sending SMS via POST /api/v1/endpoint/{endpoint_id}/sms. Operations you do not grant, such as PATCH /api/v1/endpoint/{endpoint_id}/connectivity or POST /api/v1/endpoint/{endpoint_id}/quota/data, stay off limits, and your token is injected at execution time without ever entering the agent's prompt or logs.
