canonical: https://jentic.com/apis/amazonaws.com/aws-iotevents

# AWS IoT Events

Jentic publishes the only available OpenAPI specification for AWS IoT Events, keeping it validated and agent-ready. AWS IoT Events monitors equipment and device fleets for failures or changes in operation by running detector models - state machines that react to incoming telemetry inputs. The control-plane API manages inputs, detector models, alarm models, model versions, and detector model analyses across 26 operations. It is the configuration surface for setting up event-driven automation on top of IoT telemetry.

## For AI agents

Define and version AWS IoT Events inputs, detector models, and alarm models that turn IoT telemetry into stateful event-driven automation across equipment fleets.

## Scope

Does not handle telemetry ingestion, action execution at runtime, or asset modelling - use for IoT Events detector model, alarm model, and input configuration only.

## Capabilities

- Create and version inputs that describe the schema of incoming telemetry messages
- Create and version detector models - state machines that fire actions on transitions
- Create and manage alarm models that watch numeric inputs against thresholds
- Run analyses on detector models to surface logic errors before deployment
- Tag detector models, alarm models, and inputs for ownership and cost allocation
- Update routing options and IAM service roles used by IoT Events
- List and describe model versions to support staged rollouts

## Use cases

### Predictive Maintenance State Machines

Model failure-warning logic for industrial equipment as a detector model - for example, a state machine that tracks temperature, vibration, and runtime hours, transitioning to a 'pre-failure' state when thresholds combine. Each transition can fire SNS, Lambda, or IoT Events Republish actions to alert maintenance crews. Detector model versions support staged rollouts.

Example prompt: Call CreateDetectorModel with detectorModelDefinition containing two states (Normal, Warning), a transition condition on $input.temperature.value > 80, and an SNS publish action on entry to Warning

### Threshold Alarm Management

Use alarm models to watch a single numeric input against high and low thresholds without writing detector model logic. CreateAlarmModel and UpdateAlarmModel manage the watchers, and DescribeAlarm tracks current state including ACK and SNOOZE. Alarm models are simpler than detector models for one-metric guardrails.

Example prompt: Call CreateAlarmModel with alarmRule.simpleRule comparing inputProperty $input.tankSensor.level < 5.0 and severity 4

### Pre-Deployment Logic Validation

Run StartDetectorModelAnalysis on a draft detector model to surface unreachable states, missing transitions, and unused inputs before publishing it to the fleet. GetDetectorModelAnalysisResults returns analysis findings keyed by detector model state. This shortens the iteration loop for engineers building complex state machines.

Example prompt: Call StartDetectorModelAnalysis with a detectorModelDefinition payload, then GetDetectorModelAnalysisResults using the returned analysisId

### AI Agent IoT Operations

Through Jentic, an AI agent can operate IoT Events as a configuration surface - adding alarm models when an operator describes a new threshold, listing existing detector models, or rolling forward a new detector model version. Jentic exposes the 26 operations as discoverable tools.

Example prompt: Search Jentic for 'create aws iot events alarm model', load the CreateAlarmModel schema, and execute it with the alarmRule and roleArn

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | /detector-models | CreateDetectorModel - create a new detector model |
| GET | /detector-models | ListDetectorModels - list detector models |
| GET | /detector-models/{detectorModelName} | DescribeDetectorModel - fetch a detector model definition |
| POST | /inputs | CreateInput - define a new input schema |
| GET | /inputs | ListInputs - list inputs in the account |
| POST | /alarm-models | CreateAlarmModel - create an alarm model |
| GET | /alarm-models | ListAlarmModels - list alarm models |
| GET | /alarm-models/{alarmModelName} | DescribeAlarmModel - fetch an alarm model |

## Key resources

- **Input** — Schema definition for incoming telemetry messages routed into IoT Events
- **DetectorModel** — State machine that fires actions on transitions driven by inputs
- **AlarmModel** — Single-input threshold watcher with built-in ACK and SNOOZE state
- **DetectorModelAnalysis** — Static analysis report that flags issues in a detector model definition

## Why Jentic

- **Setup:** Wiring the IoT Events API by hand means building AWS Signature Version 4 signing, resolving the iotevents.amazonaws.com host, wiring an IAM service role for actions, and handling AWS throttling and retries yourself. Through Jentic you install once, import AWS IoT Events from the API Directory, store the AWS access key and secret once, and your agent calls it.
- **Permission scoping:** IoT Events puts the model name in the URL path (/detector-models/{detectorModelName} and /alarm-models/{alarmModelName}), so a rule can pin your agent to one detector or alarm model: it can describe and version that model and nothing else. You choose the operations it may call, so destructive ones like DeleteDetectorModel or DeleteAlarmModel are not included unless you add them.
- **Credential handling:** Your AWS access key and secret for IoT Events are stored once, encrypted, by your own Jentic One instance and signed with SigV4 at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'create an iot events detector model' or 'list alarm models', and Jentic returns the matching IoT Events operation with its input schema so the agent calls the right endpoint without reading the AWS reference.

## Related APIs

- **AWS IoT Data Plane** — Source of MQTT telemetry that feeds IoT Events inputs
- **AWS IoT SiteWise** — Industrial asset modelling that pairs with IoT Events for equipment-level alarms
- **AWS Lambda** — Lambda is a common action target invoked by IoT Events transitions

## FAQ

### Why is there no official OpenAPI spec for AWS IoT Events?

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

The API uses AWS Signature Version 4 (HMAC) request signing with an AWS access key ID and secret access key. Through Jentic, AWS credentials are stored encrypted in the vault and the agent calls signed operations without seeing the raw keys.

### Can I create a detector model with the AWS IoT Events API?

Yes. Call POST /detector-models with a detectorModelName, a detectorModelDefinition containing states and transitions, and a roleArn that IoT Events uses to invoke actions. The model is versioned, and you can publish a new version with UpdateDetectorModel.

### What are the rate limits for the AWS IoT Events API?

AWS applies per-account, per-region request quotas to IoT Events operations and these vary by call. Detector model creation has lower quotas than list and describe operations. Check AWS Service Quotas for current limits.

### How do I run a detector model analysis through Jentic?

Search Jentic for 'analyze aws iot events detector model', load the StartDetectorModelAnalysis schema, and execute with the detectorModelDefinition payload. Then call GetDetectorModelAnalysisResults using the returned analysisId to read findings.

### What is the difference between a detector model and an alarm model?

A detector model is a full state machine with multiple states, transitions, and actions. An alarm model is a simpler single-input threshold watcher with built-in ACK and SNOOZE behaviour. Use alarm models for straightforward threshold alerts and detector models for multi-step logic.

### Can I limit what my agent is allowed to do with the AWS IoT Events API?

Yes. Jentic One is self-hosted, so your own rules decide which IoT Events operations and AWS credentials the agent may use. Because IoT Events puts the model name in the URL path, such as /detector-models/{detectorModelName} and /alarm-models/{alarmModelName}, you can pin the agent to a single detector or alarm model and let it describe and version only that one. You choose the operations it may call, so destructive ones like DeleteDetectorModel and DeleteAlarmModel stay out unless you add them.
