

# Events in Amazon EventBridge
Events

An *event* indicates a change in an environment such as an AWS environment, a SaaS partner service or application, or one of your applications or services. The following are examples of events:
+ Amazon EC2 generates an event when the state of an instance changes, such as from pending to running.
+ AWS CloudFormation generates an event when it creates, updates, or deletes a stack.
+ AWS CloudTrail publishes events when you make API calls.

You can also set up scheduled events that are generated on a periodic basis. 

Events are represented as JSON objects and they all have a similar structure, and the same top-level fields. For more information, see [Event structure](https://docs.aws.amazon.com/eventbridge/latest/ref/welcome.html#overiew-event-structure) in the *EventBridge Events Reference*.

## Events from AWS services
AWS service events

Many AWS services generate events that EventBridge receives. When an AWS service in your account sends an event to EventBridge, it goes to your account’s default event bus.

For a list of AWS services that send events to EventBridge, and the events they send, see the [EventBridge Events Reference](https://docs.aws.amazon.com/eventbridge/latest/ref/welcome.html).

AWS services send events to EventBridge on a *durable* or *best-effort basis*. For more information, see [Event delivery level](https://docs.aws.amazon.com/eventbridge/latest/ref/welcome.html#event-delivery-level) in the *EventBridge Events Reference*.

 The following video explains the basics of events:




 The following video covers the ways events get to EventBridge:




# Sending events with `PutEvents` in Amazon EventBridge
Sending events with PutEvents

The `PutEvents` action sends multiple [events](eb-events.md) to EventBridge in a single request. For more information, see [PutEvents](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutEvents.html) in the *Amazon EventBridge API Reference* and [put-events](https://docs.aws.amazon.com/cli/latest/reference/events/put-events.html) in the *AWS CLI Command Reference*.

Each `PutEvents` request can support a limited number of entries. For more information, see [Amazon EventBridge quotas](eb-quota.md). The `PutEvents` operation attempts to process all entries in the natural order of the request. After you call `PutEvents`, EventBridge assigns each event a unique ID.

The following example Java code sends two identical events to EventBridge.

------
#### [ AWS SDK for Java Version 2.x ]

```
EventBridgeClient eventBridgeClient =
    EventBridgeClient.builder().build();

PutEventsRequestEntry requestEntry = PutEventsRequestEntry.builder()
    .resources("resource1", "resource2")
    .source("com.mycompany.myapp")
    .detailType("myDetailType")
    .detail("{ \"key1\": \"value1\", \"key2\": \"value2\" }")
    .build();

List <
PutEventsRequestEntry > requestEntries = new ArrayList <
PutEventsRequestEntry > ();
requestEntries.add(requestEntry);

PutEventsRequest eventsRequest = PutEventsRequest.builder()
    .entries(requestEntries)
    .build();

PutEventsResponse result = eventBridgeClient.putEvents(eventsRequest);

for (PutEventsResultEntry resultEntry: result.entries()) {
    if (resultEntry.eventId() != null) {
        System.out.println("Event Id: " + resultEntry.eventId());
    } else {
        System.out.println("PutEvents failed with Error Code: " + resultEntry.errorCode());
    }
}
```

------
#### [ AWS SDK for Java Version 1.0 ]

```
EventBridgeClient eventBridgeClient =
    EventBridgeClient.builder().build();
    
PutEventsRequestEntry requestEntry = new PutEventsRequestEntry()
        .withTime(new Date())
        .withSource("com.mycompany.myapp")
        .withDetailType("myDetailType")
        .withResources("resource1", "resource2")
        .withDetail("{ \"key1\": \"value1\", \"key2\": \"value2\" }");

PutEventsRequest request = new PutEventsRequest()
        .withEntries(requestEntry, requestEntry);

PutEventsResult result = awsEventsClient.putEvents(request);

for (PutEventsResultEntry resultEntry : result.getEntries()) {
    if (resultEntry.getEventId() != null) {
        System.out.println("Event Id: " + resultEntry.getEventId());
    } else {
        System.out.println("Injection failed with Error Code: " + resultEntry.getErrorCode());
    }
}
```

------

After you run this code, the `PutEvents` result includes an array of response entries. Each entry in the response array corresponds to an entry in the request array in order from the beginning to the end of the request and response. The response `Entries` array always includes the same number of entries as the request array.

## Handling failures with `PutEvents`


By default, if an individual entry within a request fails, EventBridge continues processing the rest of the entries in the request. A response `Entries` array can include both successful and unsuccessful entries. You must detect unsuccessful entries and include them in a subsequent call.

Successful result entries include an `Id` value, and unsuccessful result entries include `ErrorCode` and `ErrorMessage` values. `ErrorCode` describes the type of error. `ErrorMessage` provides more information about the error. The following example has three result entries for a `PutEvents` request. The second entry is unsuccessful.

```
{
    "FailedEntryCount": 1, 
    "Entries": [
        {
            "EventId": "11710aed-b79e-4468-a20b-bb3c0c3b4860"
        },
        {   "ErrorCode": "InternalFailure",
            "ErrorMessage": "Internal Service Failure"
        },
        {
            "EventId": "d804d26a-88db-4b66-9eaf-9a11c708ae82"
        }
    ]
}
```

**Note**  
If you use `PutEvents` to publish an event to an event bus that does not exist, EventBridge event matching will not find a corresponding rule and will drop the event. Although EventBridge will send a `200` response, it will not fail the request or include the event in the `FailedEntryCount` value of the request response.

You can include entries that are unsuccessful in subsequent `PutEvents` requests. First, to find out if there are failed entries in the request, check the `FailedRecordCount` parameter in `PutEventsResult`. If it isn't zero, then you can add each `Entry` that has an `ErrorCode` that is not null to a subsequent request. The following example shows a failure handler.

```
PutEventsRequestEntry requestEntry = new PutEventsRequestEntry()
        .withTime(new Date())
        .withSource("com.mycompany.myapp")
        .withDetailType("myDetailType")
        .withResources("resource1", "resource2")
        .withDetail("{ \"key1\": \"value1\", \"key2\": \"value2\" }");

List<PutEventsRequestEntry> putEventsRequestEntryList = new ArrayList<>();
for (int i = 0; i < 3; i++) {
    putEventsRequestEntryList.add(requestEntry);
}

PutEventsRequest putEventsRequest = new PutEventsRequest();
putEventsRequest.withEntries(putEventsRequestEntryList);
PutEventsResult putEventsResult = awsEventsClient.putEvents(putEventsRequest);

while (putEventsResult.getFailedEntryCount() > 0) {
    final List<PutEventsRequestEntry> failedEntriesList = new ArrayList<>();
    final List<PutEventsResultEntry> PutEventsResultEntryList = putEventsResult.getEntries();
    for (int i = 0; i < PutEventsResultEntryList.size(); i++) {
        final PutEventsRequestEntry putEventsRequestEntry = putEventsRequestEntryList.get(i);
        final PutEventsResultEntry putEventsResultEntry = PutEventsResultEntryList.get(i);
        if (putEventsResultEntry.getErrorCode() != null) {
            failedEntriesList.add(putEventsRequestEntry);
        }
    }
    putEventsRequestEntryList = failedEntriesList;
    putEventsRequest.setEntries(putEventsRequestEntryList);
    putEventsResult = awsEventsClient.putEvents(putEventsRequest);
    }
```

## Sending events using the AWS CLI


You can use the AWS CLI to send custom events to EventBridge so they can be processed. The following example puts one custom event into EventBridge:

```
aws events put-events \
--entries '[{"Time": "2016-01-14T01:02:03Z", "Source": "com.mycompany.myapp", "Resources": ["resource1", "resource2"], "DetailType": "myDetailType", "Detail": "{ \"key1\": \"value1\", \"key2\": \"value2\" }"}]'
```

You can also create a JSON file that contains custom events.

```
[
  {
    "Time": "2016-01-14T01:02:03Z",
    "Source": "com.mycompany.myapp",
    "Resources": [
      "resource1",
      "resource2"
    ],
    "DetailType": "myDetailType",
    "Detail": "{ \"key1\": \"value1\", \"key2\": \"value2\" }"
  }
]
```

Then, to use the AWS CLI to read the entries from this file and send events, at a command prompt, type:

```
aws events put-events --entries file://entries.json
```

## Calculating PutEvents event entry size
Calculating event entry size

When you send custom events to EventBridge using the `PutEvents` action, you can batch up to 10 event entries into one request for efficiency. The total request size—that is, the sum of all event entries in the request—must be less than 1 MB. This limit applies to the request as a whole, not to individual entries. A single event can use up to the full 1 MB if it is the only entry in the request. You can calculate the entry size before you send the events.



**Note**  
The size limit is imposed on the *entry*. Even if the entry is less than the size limit, the *event* in EventBridge is always larger than the entry size due to the necessary characters and keys of the JSON representation of the event. For more information, see [Events in Amazon EventBridge](eb-events.md).

EventBridge calculates the `PutEventsRequestEntry` size as follows:
+ If specified, the `Time` parameter is 14 bytes.
+ The `Source` and `DetailType` parameters are the number of bytes for their UTF-8 encoded forms.
+ If specified, the `Detail` parameter is the number of bytes for its UTF-8 encoded form.
+ If specified, each entry of the `Resources` parameter is the number of bytes for its UTF-8 encoded forms.

The following example Java code calculates the size of a given `PutEventsRequestEntry` object. In order to verify the 1MB limit is not violated, you need to perform the calculation for all events in a request.

```
int getSize(PutEventsRequestEntry entry) {
    int size = 0;
    if (entry.getTime() != null) {
        size += 14;
    }
    size += entry.getSource().getBytes(StandardCharsets.UTF_8).length;
    size += entry.getDetailType().getBytes(StandardCharsets.UTF_8).length;
    if (entry.getDetail() != null) {
        size += entry.getDetail().getBytes(StandardCharsets.UTF_8).length;
    }
    if (entry.getResources() != null) {
        for (String resource : entry.getResources()) {
            if (resource != null) {
                size += resource.getBytes(StandardCharsets.UTF_8).length;
            }
        }
    }
    return size;
}
```

**Note**  
If the entry size is larger than 1MB, we recommend uploading the event to an Amazon S3 bucket and including the `Object URL` in the `PutEvents` entry.

# How EventBridge retries delivering events
Retrying event delivery

Sometimes an [event](eb-events.md) isn't successfully delivered to the [target](eb-targets.md) specified in a [rule](eb-rules.md). This can happen, for example:
+ If the target resource is unavailable
+ Due to network conditions

When an event isn't successfully delivered to a target because of retriable errors, EventBridge retries sending the event. You set the length of time it tries, and number of retry attempts in the **Retry policy** settings for the target. By default, EventBridge retries sending the event for 24 hours and up to 185 times with an [exponential back off and *jitter*](https://aws.amazon.com/blogs/architecture/exponential-backoff-and-jitter/), or randomized delay.

If an event isn't delivered after all retry attempts are exhausted, the event is dropped and EventBridge doesn't continue to process it.

To avoid losing events after they fail to be delivered to a target, configure a dead-letter queue (DLQ) to receive all failed events. For more information, see [Using dead-letter queues to process undelivered events in EventBridge](eb-rule-dlq.md).

# Using dead-letter queues to process undelivered events in EventBridge
Using dead-letter queues

To avoid losing events after they fail to be delivered to a target, you can configure a dead-letter queue (DLQ) and send all failed events to it for processing later.

EventBridge DLQs are standard Amazon SQS queues that EventBridge uses to store events that couldn't successfully be delivered to a target. When you create a rule and add a target, you can choose whether or not to use a DLQ. When you configure a DLQ, you can retain any events that weren't successfully delivered. Then you can resolve the issue that resulted in the failed event delivery and process the events at a later time.

When you configure a DLQ for a target of a rule, EventBridge sends the events with failed invocations to the Amazon SQS queue selected. 

Event errors are handled in different ways. Some events are dropped or sent to a DLQ without any retry attempts. For example, for errors that result from missing permissions to a target, a target resource that no longer exists, or a target that cannot be found due to an invalid address or DNS lookup failure, no retry attempts will happen until action is taken to resolve the underlying issue. EventBridge sends these events directly to the target DLQ, if you have specified one.

When an event delivery fails, EventBridge publishes an event to Amazon CloudWatch metrics indicating that a target `invocation` failed. If you use a DLQ, additional metrics are sent to CloudWatch including `InvocationsSentToDLQ` and `InvocationsFailedToBeSentToDLQ`. 

You can also specify DLQs for event buses, if you use AWS KMS customer managed keys to encrypt events at rest. For more information, see [Using dead-letter queues to capture encrypted event errors in EventBridge](eb-encryption-event-bus-dlq.md).

Each message in your DLQ will include the following custom attributes:
+ `RULE_ARN`
+ `TARGET_ARN`
+ `ERROR_CODE`

  The following is a sample of the error codes a DLQ can return:
  + `ACTION_DECRYPTION_FAILURE`
  + `CONNECTION_FAILURE`
  + `CROSS_ACCOUNT_INGESTION_FAILED`
  + `CROSS_REGION_INGESTION_FAILED`
  + `ERROR_FROM_TARGET`
  + `EVENT_DECRYPTION_FAILURE`
  + `EVENT_ENCRYPTION_FAILURE`
  + `EVENTS_IN_BATCH_REQUEST_REJECTED`
  + `FAILED_TO_ASSUME_ROLE`
  + `INTERNAL_ERROR`
  + `INVALID_JSON`
  + `INVALID_PARAMETER`
  + `NO_PERMISSIONS`
  + `NO_RESOURCE`
  + `RESOURCE_ALREADY_EXISTS`
  + `RESOURCE_LIMIT_EXCEEDED`
  + `RESOURCE_MODIFICATION_COLLISION`
  + `RULE_DECRYPTION_FAILURE`
  + `SDK_CLIENT_ERROR`
  + `THIRD_ACCOUNT_HOP_DETECTED`
  + `THIRD_REGION_HOP_DETECTED`
  + `THROTTLING`
  + `TIMEOUT`
  + `TRANSIENT_ASSUME_ROLE`
  + `UNKNOWN`
+ `ERROR_MESSAGE`
+ `EXHAUSTED_RETRY_CONDITION`

  The following conditions can be returned:
  + `MaximumRetryAttempts`
  + `MaximumEventAgeInSeconds`
+ `RETRY_ATTEMPTS`

 The following video goes over setting up DLQs:




**Topics**
+ [

## Considerations for using a dead-letter queue
](#eb-dlq-considerations)
+ [

## Granting permissions to the dead-letter queue
](#eb-dlq-perms)
+ [

## How to resend events from a dead-letter queue
](#eb-dlq-resend)

## Considerations for using a dead-letter queue
Considerations for using DLQs

Consider the following when configuring a DLQ for EventBridge.
+ Only [standard queues](https://docs.aws.amazon.com//AWSSimpleQueueService/latest/SQSDeveloperGuide/standard-queues.html) are supported. You can't use a FIFO queue for a DLQ in EventBridge.
+ EventBridge includes event metadata and message attributes in the message, including: the Error Code, Error Message, the Exhausted Retry Condition, Rule ARN, Retry Attempts, and the Target ARN. You can use these values to identify an event and the cause of the failure.
+ Permissions for DLQs in the same account:
  + If you add a target to a rule using the console, and you choose an Amazon SQS queue in the same account, a [resource-based policy](eb-use-resource-based.md) that grants EventBridge access to the queue is attached to the queue for you.
  + If you use the `PutTargets` operation of the EventBridge API to add or update a target for a rule, and you choose an Amazon SQS queue in the same account, you must manually grant permissions to the queue selected. To learn more, see [Granting permissions to the dead-letter queue](#eb-dlq-perms).
+ Permissions for using Amazon SQS queues from a different AWS account.
  + If you create a rule from the console, queues from other accounts aren't displayed for you to select. You must provide the ARN for the queue in the other account, and then manually attach a resource-based policy to grant permission to the queue. To learn more, see [Granting permissions to the dead-letter queue](#eb-dlq-perms).
  + If you create a rule using the API, you must manually attach a resource-based policy to the SQS queues in another account that is used as the dead-letter queue. To learn more, see [Granting permissions to the dead-letter queue](#eb-dlq-perms).
+ The Amazon SQS queue you use must be in the same Region in which you create the rule.

## Granting permissions to the dead-letter queue
Granting permissions to DLQs

To successfully deliver events to the queue, EventBridge must have permission to do so. When you specify a DLQ using the EventBridge console, the permissions are automatically added. This includes:
+ When you configure a DLQ for a target of a rule.
+ When you configure a DLQ for an event bus where you've specified that EventBridge use an AWS KMS customer managed key to encrypt events at rest. 

  For more information, see [Using dead-letter queues to capture encrypted event errors in EventBridge](eb-encryption-event-bus-dlq.md).

 If you specify a DLQ using the API, or use a queue that is in a different AWS account, you must manually create a resource-based policy that grants the required permissions and then attach it to the queue.

**Target dead-letter queue permissions example**

The following resource-based policy demonstrates how to grant the required permissions for EventBridge to send event messages to an Amazon SQS queue. The policy example grants the EventBridge service permissions to use the `SendMessage` operation to send messages to a queue named "MyEventDLQ". The queue must be in the us-west-2 Region in AWS account 123456789012. The `Condition` statement allows only requests that come from a rule named "MyTestRule" that is created in the us-west-2 Region in the AWS account 123456789012.

```
{
  "Sid": "Dead-letter queue permissions",
  "Effect": "Allow",
  "Principal": {
     "Service": "events.amazonaws.com"
  },
  "Action": "sqs:SendMessage",
  "Resource": "arn:aws:sqs:us-west-2:123456789012:MyEventDLQ",
  "Condition": {
    "ArnEquals": {
      "aws:SourceArn": "arn:aws:events:us-west-2:123456789012:rule/MyTestRule"
    }
  }
}
```

**Event bus dead-letter queue permissions example**

The following resource-based policy demonstrates how to grant the required permissions when specifying a DLQ for an event bus. In this case, `aws:SourceArn` specifies the ARN of the event bus sending the events to the DLQ. Here again in this example, the queue must be in the same Region as the event bus.

```
{
  "Sid": "Dead-letter queue permissions",
  "Effect": "Allow",
  "Principal": {
     "Service": "events.amazonaws.com"
  },
  "Action": "sqs:SendMessage",
  "Resource": "arn:aws:sqs:region:account-id:queue-name",
  "Condition": {
    "ArnEquals": {
      "aws:SourceArn": "arn:aws:events:region:account-id:event-bus/event-bus-arn"
    }
  }
}
```

To attach the policy to the queue, use the Amazon SQS console, open the queue, then choose the **Access policy** and edit the policy. You can also use the AWS CLI. To learn more, see [Amazon SQS permissions](eb-use-resource-based.md#eb-sqs-permissions).

## How to resend events from a dead-letter queue
Resending events from DLQs

You can move messages out of a DLQ in two ways:
+ Avoid writing Amazon SQS consumer logic – Set your DLQ as an event source to the Lambda function to drain your DLQ.
+ Write Amazon SQS consumer logic – Use the Amazon SQS API, AWS SDK, or AWS CLI to write custom consumer logic for polling, processing, and deleting the messages in the DLQ.

# AWS service events delivered via AWS CloudTrail
Events via CloudTrail

 AWS CloudTrail is a service that automatically records events such as AWS API calls. You can create EventBridge rules that use the information from CloudTrail. For more information about CloudTrail, see [What is AWS CloudTrail?](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html).

CloudTrail sends the following types of events to the default EventBridge event bus. In each case, the `detail-type` value of the event is the listed event type:
+ `AWS API Call via CloudTrail`

  Events that represent a request to a public AWS service API.

  For more information, see [Understanding CloudTrail events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-events.html) in the *AWS CloudTrail User Guide*.
+ `AWS Console Signin via CloudTrail`

  Attempts to sign in to the AWS Management Console, the AWS Discussion Forums, and the AWS Support Center. 

  For more information, see [AWS Management Console sign-in events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-aws-console-sign-in-events.html) in the *AWS CloudTrail User Guide*.
+ `AWS Console Action via CloudTrail`

  Actions that were taken in the console that were not an API calls.

  For more information, see [AWS Management Console sign-in events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-aws-console-sign-in-events.html) in the *AWS CloudTrail User Guide*.
+ `AWS Service Event via CloudTrail`

  Events created by AWS services but are not directly triggered by a request to a public AWS service API.

  For more information, see [AWS service events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/non-api-aws-service-events.html) in the *AWS CloudTrail User Guide*.
+ `AWS Insight via CloudTrail`

  Insights events are triggered by CloudTrail when customer enables the CloudTrail Insight feature.

  For more information, see [CloudTrail Insights](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-insight-details.html) in the *AWS CloudTrail User Guide*.

To record events with one of the CloudTrail `detail-type` values, you must enable a CloudTrail trail with logging. For more information, see [Working with CloudTrail trails](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-trails.html) in the *AWS CloudTrail User Guide*.

Some occurrences in AWS services can be reported to EventBridge both by the service itself and by CloudTrail. For example, an Amazon EC2 API call that starts an instance generates multiple events:
+ `EC2 Instance State-change Notification` events sent directly from Amazon EC2 to EventBridge, as the instance enters the `pending` and then `running` states. For example:

  ```
  {
      . . . 
     "detail-type":"EC2 Instance State-change Notification",
     "source":"aws.ec2",
      . . . 
     "detail":{
        "instance-id":"i-abcd1111",
        "state":"pending"
     }
  }
  ```
+ An `AWS API Call via CloudTrail` event sent from CloudTrail to EventBridge that represents the API call itself. For example:

  ```
  {
      . . . 
     "detail-type":"AWS API Call via CloudTrail",
     "source":"aws.ec2",
      . . . 
     ],
    "detail": {
      "eventSource": "ec2.amazonaws.com",
      "eventName": "StartInstances"
      }
  }
  ```

**Note**  
If you use a `Put*Events` API call event as the basis for creating an event pattern, make sure the final event pattern does not exceed 1 MB. The maximum size of any `Put*Events` requests is 1 MB. For more information, see [](eb-putevents.md).

For more information about the services that CloudTrail supports, see [CloudTrail supported services and integrations](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-aws-service-specific-topics.html) in the *CloudTrail User Guide*.

# Receiving read-only management events from AWS services
Management events

You can set up rules on your default or custom event bus to receive read-only *management events* from AWS services via CloudTrail. Management events provide visibility into management operations that are performed on resources in your AWS account. These are also known as control plane operations. For more information, see [Logging management events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-management-events-with-cloudtrail.html#logging-management-events) in the *CloudTrail User Guide*.

For each rule on the default or custom event buses, you can set the rule state to control the types of events to receive:
+ Disable the rule so that EventBridge does not match events against the rule.
+ Enable the rule so that EventBridge matches events against the rule, except for read-only AWS management events delivered through CloudTrail.
+ Enable the rule so that EventBridge matches all events against the rule, *including* read-only management events delivered through CloudTrail.

Partner event buses do not receive AWS events.

Some things to consider when deciding whether to receive read-only management events:
+ Certain read-only management events, such as AWS Key Management Service `GetKeyPolicy` and `DescribeKey`, or IAM `GetPolicy` and `GetRole` events, occur at a much higher volume than typical change events. 
+ You may already be receiving read-only management events even if those events don't start with `Describe`, `Get`, or `List`. One such example is `TestEventPattern` from EventBridge.

  For a list of read-only management events that do not adhere to the `Describe`, `Get`, or `List` naming convention, by AWS services, see [Management events generated by AWS services in EventBridge](eb-service-management-event-list.md).

**To create a rule that receives read-only management events using the AWS CLI**
+ Use the `put-rule` command to create or update the rule, using parameters to:
  + Specify that the rule belongs on the default event bus, or a specific custom event bus
  + Set rule state as `ENABLED_WITH_ALL_CLOUDTRAIL_MANAGEMENT_EVENTS`

  `aws events put-rule --name "ruleForManagementEvents" --event-bus-name "default" --state "ENABLED_WITH_ALL_CLOUDTRAIL_MANAGEMENT_EVENTS"`

**Note**  
Enabling a rule for CloudWatch management events is supported through the AWS CLI and CloudFormation templates only. 

**Example**  
The following example illustrates how to match against specific events. Best practice is to define a dedicated rule for matching specific events, for clarity and ease of editing.   
In this case, the dedicated rule matches the `AssumeRole` management event from AWS Security Token Service.   

```
{
    "source" : [ "aws.sts" ],
    "detail-type": ["AWS API Call via CloudTrail"],
    "detail" : {
        "eventName" : ["AssumeRole"]
    }
}
```

# Management events generated by AWS services in EventBridge
Management event list

In general, APIs that generate management (or read-only) events start with the verbs `Describe`, `Get`, or `List`. The table below list AWS services and the management events they generate that do not follow this naming convention. For more information on management events, see [Receiving read-only management events from AWS services](eb-service-event-cloudtrail-management.md).

## Management events that don't start with `Describe`, `Get`, or `List`
Management events

The following table list AWS services and the management events they generate that do not follow typical naming conventions of starting with `Describe`, `Get`, or `List`. 


| Service | Event name | Event type | 
| --- | --- | --- | 
| Alexa for Business | ResolveRoom | API call | 
| Alexa for Business | SearchAddressBooks | API call | 
| Alexa for Business | SearchContacts | API call | 
| Alexa for Business | SearchDevices | API call | 
| Alexa for Business | SearchProfiles | API call | 
| Alexa for Business | SearchRooms | API call | 
| Alexa for Business | SearchSkillGroups | API call | 
| Alexa for Business | SearchUsers | API call | 
| IAM Access Analyzer | ValidatePolicy | API call | 
| AWS AdSpace Clean Rooms | BatchGetSchema | API call | 
| AWS Amplify UI Builder | ExportComponents | API call | 
| AWS Amplify UI Builder | ExportForms | API call | 
| AWS Amplify UI Builder | ExportThemes | API call | 
| Amazon OpenSearch Service | BatchGetCollection | API call | 
| Amazon API Gateway | ExportApi | API call | 
| AWS AppConfig | ValidateConfiguration | API call | 
| Amazon AppFlow | RetrieveConnectorData | API call | 
| Amazon CloudWatch Application Insights | UpdateApplicationDashboardConfiguration | API call | 
| Amazon Athena | BatchGetNamedQuery | API call | 
| Amazon Athena | BatchGetPreparedStatement | API call | 
| Amazon Athena | BatchGetQueryExecution | API call | 
| Amazon Athena | CheckQueryCompatibility | API call | 
| Amazon Athena | ExportNotebook | API call | 
| AWS Auto Scaling | AreScalableTargetsRegistered | API call | 
| AWS Auto Scaling | Test | API call | 
| AWS Marketplace | SearchAgreements | API call | 
| AWS Backup | CreateLegalHold | API call | 
| AWS Backup | ExportBackupPlanTemplate | API call | 
| AWS Backup gateway | TestHypervisorConfiguration | API call | 
| AWS Billing and Cost Management | AWSPaymentInstrumentGateway.Get | Console action | 
| AWS Billing and Cost Management | AWSPaymentPortalService.DescribeMakePaymentPage | Console action | 
| AWS Billing and Cost Management | AWSPaymentPortalService.DescribePaymentsDashboard | Console action | 
| AWS Billing and Cost Management | AWSPaymentPortalService.GetAccountPreferences | Console action | 
| AWS Billing and Cost Management | AWSPaymentPortalService.GetAdvancePaySummary | Console action | 
| AWS Billing and Cost Management | AWSPaymentPortalService.GetAsoBulkDownload | Console action | 
| AWS Billing and Cost Management | AWSPaymentPortalService.GetBillingContactAddress | Console action | 
| AWS Billing and Cost Management | AWSPaymentPortalService.GetDocuments | Console action | 
| AWS Billing and Cost Management | AWSPaymentPortalService.GetEligiblePaymentInstruments | Console action | 
| AWS Billing and Cost Management | AWSPaymentPortalService.GetEntitiesByIds | Console action | 
| AWS Billing and Cost Management | AWSPaymentPortalService.GetFundingDocuments | Console action | 
| AWS Billing and Cost Management | AWSPaymentPortalService.GetKybcValidationStatus | Console action | 
| AWS Billing and Cost Management | AWSPaymentPortalService.GetOneTimePasswordStatus | Console action | 
| AWS Billing and Cost Management | AWSPaymentPortalService.GetPaymentHistory | Console action | 
| AWS Billing and Cost Management | AWSPaymentPortalService.GetPaymentProfileByArn | Console action | 
| AWS Billing and Cost Management | AWSPaymentPortalService.GetPaymentProfileCurrencies | Console action | 
| AWS Billing and Cost Management | AWSPaymentPortalService.GetPaymentProfiles | Console action | 
| AWS Billing and Cost Management | AWSPaymentPortalService.GetPaymentProfileServiceProviders | Console action | 
| AWS Billing and Cost Management | AWSPaymentPortalService.GetPaymentsDue | Console action | 
| AWS Billing and Cost Management | AWSPaymentPortalService.GetRemittanceInformation | Console action | 
| AWS Billing and Cost Management | AWSPaymentPortalService.GetTaxInvoiceMetadata | Console action | 
| AWS Billing and Cost Management | AWSPaymentPortalService.GetTermsAndConditionsForProgramGroup | Console action | 
| AWS Billing and Cost Management | AWSPaymentPortalService.GetTransactionsHistory | Console action | 
| AWS Billing and Cost Management | AWSPaymentPortalService.GetUnappliedFunds | Console action | 
| AWS Billing and Cost Management | AWSPaymentPortalService.GetUnpaidInvoices | Console action | 
| AWS Billing and Cost Management | AWSPaymentPreferenceGateway.Get | Console action | 
| AWS Billing and Cost Management | CancelBulkDownload | Console action | 
| AWS Billing and Cost Management | DownloadCommercialInvoice | Console action | 
| AWS Billing and Cost Management | DownloadCsv | Console action | 
| AWS Billing and Cost Management | DownloadDoc | Console action | 
| AWS Billing and Cost Management | DownloadECSVForBillingPeriod | Console action | 
| AWS Billing and Cost Management | DownloadPaymentHistory | Console action | 
| AWS Billing and Cost Management | DownloadRegistrationDocument | Console action | 
| AWS Billing and Cost Management | DownloadTaxInvoice | Console action | 
| AWS Billing and Cost Management | FindBankRedirectPaymentInstruments | Console action | 
| AWS Billing and Cost Management | FindECSVForBillingPeriod | Console action | 
| AWS Billing and Cost Management | ValidateReportDestination | Console action | 
| AWS Billing and Cost Management | VerifyChinaPaymentEligibility | Console action | 
| Amazon Braket | SearchCompilations | API call | 
| Amazon Braket | SearchDevices | API call | 
| Amazon Braket | SearchQuantumTasks | API call | 
| Amazon Connect Cases | BatchGetField | API call | 
| Amazon Connect Cases | SearchCases | API call | 
| Amazon Connect Cases | SearchRelatedItems | API call | 
| Amazon Chime | RetrieveDataExports | API call | 
| Amazon Chime | SearchChannels | API call | 
| Amazon Chime SDK Identity | DeleteProfile | Service event | 
| Amazon Chime SDK Identity | DeleteWorkTalkAccount | Service event | 
| AWS Clean Rooms | BatchGetSchema | API call | 
| Amazon Cloud Directory | BatchRead | API call | 
| Amazon Cloud Directory | LookupPolicy | API call | 
| CloudFormation | DetectStackDrift | API call | 
| CloudFormation | DetectStackResourceDrift | API call | 
| CloudFormation | DetectStackSetDrift | API call | 
| CloudFormation | EstimateTemplateCost | API call | 
| CloudFormation | ValidateTemplate | API call | 
| AWS CloudShell | RedeemCode | API call | 
| AWS CloudTrail | LookupEvents | API call | 
| AWS CodeArtifact | ReadFromRepository | API call | 
| AWS CodeArtifact | SearchPackages | API call | 
| AWS CodeArtifact | VerifyResourcesExistForTagris | API call | 
| AWS CodeBuild | BatchGetBuildBatches | API call | 
| AWS CodeBuild | BatchGetBuilds | API call | 
| AWS CodeBuild | BatchGetProjects | API call | 
| AWS CodeBuild | BatchGetReportGroups | API call | 
| AWS CodeBuild | BatchGetReports | API call | 
| AWS CodeBuild | BatchPutCodeCoverages | API call | 
| AWS CodeBuild | BatchPutTestCases | API call | 
| AWS CodeBuild | RequestBadge | Service event | 
| AWS CodeCommit | BatchDescribeMergeConflicts | API call | 
| AWS CodeCommit | BatchGetCommits | API call | 
| AWS CodeCommit | BatchGetPullRequests | API call | 
| AWS CodeCommit | BatchGetRepositories | API call | 
| AWS CodeCommit | EvaluatePullRequestApprovalRules | API call | 
| AWS CodeCommit | GitPull | API call | 
| AWS CodeDeploy | BatchGetApplicationRevisions | API call | 
| AWS CodeDeploy | BatchGetApplications | API call | 
| AWS CodeDeploy | BatchGetDeploymentGroups | API call | 
| AWS CodeDeploy | BatchGetDeploymentInstances | API call | 
| AWS CodeDeploy | BatchGetDeployments | API call | 
| AWS CodeDeploy | BatchGetDeploymentTargets | API call | 
| AWS CodeDeploy | BatchGetOnPremisesInstances | API call | 
| Amazon CodeGuru Profiler | BatchGetFrameMetricData | API call | 
| Amazon CodeGuru Profiler | SubmitFeedback | API call | 
| AWS CodePipeline | PollForJobs | API call | 
| AWS CodePipeline | PollForThirdPartyJobs | API call | 
| CodeConnections | StartAppRegistrationHandshake | API call | 
| CodeConnections | StartOAuthHandshake | API call | 
| CodeConnections | ValidateHostWebhook | API call | 
| Amazon CodeWhisperer | CreateCodeScan | API call | 
| Amazon CodeWhisperer | CreateProfile | API call | 
| Amazon CodeWhisperer | CreateUploadUrl | API call | 
| Amazon CodeWhisperer | GenerateRecommendations | API call | 
| Amazon CodeWhisperer | UpdateProfile | API call | 
| Amazon Cognito Identity | LookupDeveloperIdentity | API call | 
| Amazon Cognito user pools | AdminGetDevice | API call | 
| Amazon Cognito user pools | AdminGetUser | API call | 
| Amazon Cognito user pools | AdminListDevices | API call | 
| Amazon Cognito user pools | AdminListGroupsForUser | API call | 
| Amazon Cognito user pools | AdminListUserAuthEvents | API call | 
| Amazon Cognito user pools | Beta\$1Authorize\$1GET | Service event | 
| Amazon Cognito user pools | Confirm\$1GET | Service event | 
| Amazon Cognito user pools | ConfirmForgotPassword\$1GET | Service event | 
| Amazon Cognito user pools | Error\$1GET | Service event | 
| Amazon Cognito user pools | ForgotPassword\$1GET | Service event | 
| Amazon Cognito user pools | IntrospectToken | API call | 
| Amazon Cognito user pools | Login\$1Error\$1POST | Service event | 
| Amazon Cognito user pools | Login\$1GET | Service event | 
| Amazon Cognito user pools | Mfa\$1GET | Service event | 
| Amazon Cognito user pools | MfaOption\$1GET | Service event | 
| Amazon Cognito user pools | ResetPassword\$1GET | Service event | 
| Amazon Cognito user pools | Signup\$1GET | Service event | 
| Amazon Cognito user pools | UserInfo\$1GET | Service event | 
| Amazon Cognito user pools | UserInfo\$1POST | Service event | 
| Amazon Cognito Sync | BulkPublish | API call | 
| Amazon Comprehend | BatchContainsPiiEntities | API call | 
| Amazon Comprehend | BatchDetectDominantLanguage | API call | 
| Amazon Comprehend | BatchDetectEntities | API call | 
| Amazon Comprehend | BatchDetectKeyPhrases | API call | 
| Amazon Comprehend | BatchDetectPiiEntities | API call | 
| Amazon Comprehend | BatchDetectSentiment | API call | 
| Amazon Comprehend | BatchDetectSyntax | API call | 
| Amazon Comprehend | BatchDetectTargetedSentiment | API call | 
| Amazon Comprehend | ClassifyDocument | API call | 
| Amazon Comprehend | ContainsPiiEntities | API call | 
| Amazon Comprehend | DetectDominantLanguage | API call | 
| Amazon Comprehend | DetectEntities | API call | 
| Amazon Comprehend | DetectKeyPhrases | API call | 
| Amazon Comprehend | DetectPiiEntities | API call | 
| Amazon Comprehend | DetectSentiment | API call | 
| Amazon Comprehend | DetectSyntax | API call | 
| Amazon Comprehend | DetectTargetedSentiment | API call | 
| Amazon Comprehend | DetectToxicContent | API call | 
| AWS Compute Optimizer | ExportAutoScalingGroupRecommendations | API call | 
| AWS Compute Optimizer | ExportEBSVolumeRecommendations | API call | 
| AWS Compute Optimizer | ExportECInstanceRecommendations | API call | 
| AWS Compute Optimizer | ExportECSServiceRecommendations | API call | 
| AWS Compute Optimizer | ExportLambdaFunctionRecommendations | API call | 
| AWS Compute Optimizer | ExportRDSInstanceRecommendations | API call | 
| AWS Config | BatchGetAggregateResourceConfig | API call | 
| AWS Config | BatchGetResourceConfig | API call | 
| AWS Config | SelectAggregateResourceConfig | API call | 
| AWS Config | SelectResourceConfig | API call | 
| Amazon Connect | AdminGetEmergencyAccessToken | API call | 
| Amazon Connect | SearchQueues | API call | 
| Amazon Connect | SearchRoutingProfiles | API call | 
| Amazon Connect | SearchSecurityProfiles | API call | 
| Amazon Connect | SearchUsers | API call | 
| AWS Glue DataBrew | SendProjectSessionAction | API call | 
| AWS Data Pipeline | EvaluateExpression | API call | 
| AWS Data Pipeline | QueryObjects | API call | 
| AWS Data Pipeline | ValidatePipelineDefinition | API call | 
| AWS DataSync | VerifyResourcesExistForTagris | API call | 
| AWS DeepLens | BatchGetDevice | API call | 
| AWS DeepLens | BatchGetModel | API call | 
| AWS DeepLens | BatchGetProject | API call | 
| AWS DeepLens | CreateDeviceCertificates | API call | 
| AWS DeepRacer | AdminGetAccountConfig | API call | 
| AWS DeepRacer | AdminListAssociatedUsers | API call | 
| AWS DeepRacer | TestRewardFunction | API call | 
| AWS DeepRacer | VerifyResourcesExistForTagris | API call | 
| Amazon Detective | BatchGetGraphMemberDatasources | API call | 
| Amazon Detective | BatchGetMembershipDatasources | API call | 
| Amazon Detective | SearchGraph | API call | 
| Amazon DevOps Guru | SearchInsights | API call | 
| Amazon DevOps Guru | SearchOrganizationInsights | API call | 
| AWS Database Migration Service | BatchStartRecommendations | API call | 
| AWS Database Migration Service | ModifyRecommendation | API call | 
| AWS Database Migration Service | StartRecommendations | API call | 
| AWS Database Migration Service | VerifyResourcesExistForTagris | API call | 
| AWS Directory Service | VerifyTrust | API call | 
| Amazon Elastic Compute Cloud | ConfirmProductInstance | API call | 
| Amazon Elastic Compute Cloud | ReportInstanceStatus | API call | 
| Amazon Elastic Container Registry | BatchCheckLayerAvailability | API call | 
| Amazon Elastic Container Registry | BatchGetImage | API call | 
| Amazon Elastic Container Registry | BatchGetImageReferrer | API call | 
| Amazon Elastic Container Registry | BatchGetRepositoryScanningConfiguration | API call | 
| Amazon Elastic Container Registry | DryRunEvent | Service event | 
| Amazon Elastic Container Registry | PolicyExecutionEvent | Service event | 
| Amazon Elastic Container Registry Public | BatchCheckLayerAvailability | API call | 
| Amazon Elastic Container Service | DiscoverPollEndpoint | API call | 
| Amazon Elastic Container Service | FindSubfleetRoute | API call | 
| Amazon Elastic Container Service | ValidateResources | API call | 
| Amazon Elastic Container Service | VerifyTaskSetsExist | API call | 
| Amazon Elastic Kubernetes Service | AccessKubernetesApi | API call | 
| AWS Elastic Beanstalk | CheckDNSAvailability | API call | 
| AWS Elastic Beanstalk | RequestEnvironmentInfo | API call | 
| AWS Elastic Beanstalk | RetrieveEnvironmentInfo | API call | 
| AWS Elastic Beanstalk | ValidateConfigurationSettings | API call | 
| Amazon Elastic File System | NewClientConnection | Service event | 
| Amazon Elastic File System | UpdateClientConnection | Service event | 
| Amazon Elastic Transcoder | ReadJob | API call | 
| Amazon Elastic Transcoder | ReadPipeline | API call | 
| Amazon Elastic Transcoder | ReadPreset | API call | 
| Amazon EventBridge | TestEventPattern | API call | 
| Amazon EventBridge | TestScheduleExpression | API call | 
| Amazon FinSpace API | BatchListCatalogNodesByDataset | API call | 
| Amazon FinSpace API | BatchListNodesByDataset | API call | 
| Amazon FinSpace API | BatchValidateAccess | API call | 
| Amazon FinSpace API | CreateAuditRecordsQuery | API call | 
| Amazon FinSpace API | SearchDatasets | API call | 
| Amazon FinSpace API | SearchDatasetsV | API call | 
| Amazon FinSpace API | ValidateIdToken | API call | 
| AWS Firewall Manager | DisassociateAdminAccount | API call | 
| Amazon Forecast | InvokeForecastEndpoint | API call | 
| Amazon Forecast | QueryFeature | API call | 
| Amazon Forecast | QueryForecast | API call | 
| Amazon Forecast | QueryWhatIfForecast | API call | 
| Amazon Forecast | VerifyResourcesExistForTagris | API call | 
| Amazon Fraud Detector | BatchGetVariable | API call | 
| Amazon Fraud Detector | VerifyResourcesExistForTagris | API call | 
| FreeRTOS | VerifyEmailAddress | API call | 
| Amazon GameLift Servers | RequestUploadCredentials | API call | 
| Amazon GameLift Servers | ResolveAlias | API call | 
| Amazon GameLift Servers | SearchGameSessions | API call | 
| Amazon GameLift Servers | ValidateMatchmakingRuleSet | API call | 
| Amazon GameSparks | ExportSnapshot | API call | 
| Amazon Location Service | BatchGetDevicePosition | API call | 
| Amazon Location Service | CalculateRoute | API call | 
| Amazon Location Service | CalculateRouteMatrix | API call | 
| Amazon Location Service | SearchPlaceIndexForPosition | API call | 
| Amazon Location Service | SearchPlaceIndexForSuggestions | API call | 
| Amazon Location Service | SearchPlaceIndexForText | API call | 
| Amazon Glacier | InitiateJob | API call | 
| AWS Glue | BatchGetBlueprints | API call | 
| AWS Glue | BatchGetColumnStatisticsForTable | API call | 
| AWS Glue | BatchGetCrawlers | API call | 
| AWS Glue | BatchGetCustomEntityTypes | API call | 
| AWS Glue | BatchGetDataQualityResult | API call | 
| AWS Glue | BatchGetDevEndpoints | API call | 
| AWS Glue | BatchGetJobs | API call | 
| AWS Glue | BatchGetMLTransform | API call | 
| AWS Glue | BatchGetPartition | API call | 
| AWS Glue | BatchGetTriggers | API call | 
| AWS Glue | BatchGetWorkflows | API call | 
| AWS Glue | QueryJobRuns | API call | 
| AWS Glue | QueryJobRunsAggregated | API call | 
| AWS Glue | QueryJobs | API call | 
| AWS Glue | QuerySchemaVersionMetadata | API call | 
| AWS Glue | SearchTables | API call | 
| AWS HealthLake | ReadResource | API call | 
| AWS HealthLake | SearchWithGet | API call | 
| AWS HealthLake | SearchWithPost | API call | 
| AWS Identity and Access Management | GenerateCredentialReport | API call | 
| AWS Identity and Access Management | GenerateOrganizationsAccessReport | API call | 
| AWS Identity and Access Management | GenerateServiceLastAccessedDetails | API call | 
| AWS Identity and Access Management | SimulateCustomPolicy | API call | 
| AWS Identity and Access Management | SimulatePrincipalPolicy | API call | 
| AWS Identity Store | IsMemberInGroups | API call | 
| AWS Identity Store Auth | BatchGetSession | API call | 
| Amazon Inspector Classic | PreviewAgents | API call | 
| Amazon Inspector Classic | BatchGetAccountStatus | API call | 
| Amazon Inspector Classic | BatchGetFreeTrialInfo | API call | 
| Amazon Inspector Classic | BatchGetMember | API call | 
| AWS Invoicing | ValidateDocumentDeliveryS3LocationInfo | API call | 
| AWS IoT | SearchIndex | API call | 
| AWS IoT | TestAuthorization | API call | 
| AWS IoT | TestInvokeAuthorizer | API call | 
| AWS IoT | ValidateSecurityProfileBehaviors | API call | 
| AWS IoT Analytics | SampleChannelData | API call | 
| AWS IoT SiteWise | GatewaysVerifyResourcesExistForTagrisInternal | API call | 
| AWS IoT Things Graph | SearchEntities | API call | 
| AWS IoT Things Graph | SearchFlowExecutions | API call | 
| AWS IoT Things Graph | SearchFlowTemplates | API call | 
| AWS IoT Things Graph | SearchSystemInstances | API call | 
| AWS IoT Things Graph | SearchSystemTemplates | API call | 
| AWS IoT Things Graph | SearchThings | API call | 
| AWS IoT TwinMaker | ExecuteQuery | API call | 
| AWS IoT Wireless | CreateNetworkAnalyzerConfiguration | API call | 
| AWS IoT Wireless | DeleteNetworkAnalyzerConfiguration | API call | 
| AWS IoT Wireless | DeregisterWirelessDevice | API call | 
| Amazon Interactive Video Service | BatchGetChannel | API call | 
| Amazon Interactive Video Service | BatchGetStreamKey | API call | 
| Amazon Kendra | BatchGetDocumentStatus | API call | 
| Amazon Kendra | Query | API call | 
| Amazon Managed Service for Apache Flink | DiscoverInputSchema | API call | 
| AWS Key Management Service | Decrypt | API call | 
| AWS Key Management Service | Encrypt | API call | 
| AWS Key Management Service | GenerateDataKey | API call | 
| AWS Key Management Service | GenerateDataKeyPair | API call | 
| AWS Key Management Service | GenerateDataKeyPairWithoutPlaintext | API call | 
| AWS Key Management Service | GenerateDataKeyWithoutPlaintext | API call | 
| AWS Key Management Service | GenerateMac | API call | 
| AWS Key Management Service | GenerateRandom | API call | 
| AWS Key Management Service | ReEncrypt | API call | 
| AWS Key Management Service | Sign | API call | 
| AWS Key Management Service | Verify | API call | 
| AWS Key Management Service | VerifyMac | API call | 
| AWS Lake Formation | SearchDatabasesByLFTags | API call | 
| AWS Lake Formation | SearchTablesByLFTags | API call | 
| AWS Lake Formation | StartQueryPlanning | API call | 
| Amazon Lex | BatchCreateCustomVocabularyItem | API call | 
| Amazon Lex | BatchDeleteCustomVocabularyItem | API call | 
| Amazon Lex | BatchUpdateCustomVocabularyItem | API call | 
| Amazon Lex | DeleteCustomVocabulary | API call | 
| Amazon Lex | SearchAssociatedTranscripts | API call | 
| Amazon Lightsail | CreateGUISessionAccessDetails | API call | 
| Amazon Lightsail | DownloadDefaultKeyPair | API call | 
| Amazon Lightsail | IsVpcPeered | API call | 
| Amazon CloudWatch Logs | FilterLogEvents | API call | 
| Amazon Macie | BatchGetCustomDataIdentifiers | API call | 
| Amazon Macie | UpdateFindingsFilter | API call | 
| AWS Elemental MediaConnect | ManagedDescribeFlow | API call | 
| AWS Elemental MediaConnect | PrivateDescribeFlowMeta | API call | 
| AWS Application Migration Service | OperationalDescribeJobLogItems | API call | 
| AWS Application Migration Service | OperationalDescribeJobs | API call | 
| AWS Application Migration Service | OperationalDescribeReplicationConfigurationTemplates | API call | 
| AWS Application Migration Service | OperationalDescribeSourceServer | API call | 
| AWS Application Migration Service | OperationalGetLaunchConfiguration | API call | 
| AWS Application Migration Service | OperationalListSourceServers | API call | 
| AWS Application Migration Service | VerifyClientRoleForMgn | API call | 
| AWS HealthOmics | VerifyResourceExists | API call | 
| AWS HealthOmics | VerifyResourcesExistForTagris | API call | 
| Amazon Polly | SynthesizeLongSpeech | API call | 
| Amazon Polly | SynthesizeSpeech | API call | 
| Amazon Polly | SynthesizeSpeechGet | API call | 
| AWS service providing managed private networks | Ping | API call | 
| AWS Proton | DeleteEnvironmentTemplateVersion | API call | 
| AWS Proton | DeleteServiceTemplateVersion | API call | 
| Amazon QLDB | ShowCatalog | API call | 
| Amazon Quick | GenerateEmbedUrlForAnonymousUser | API call | 
| Amazon Quick | GenerateEmbedUrlForRegisteredUser | API call | 
| Amazon Quick | QueryDatabase | Service event | 
| Amazon Quick | SearchAnalyses | API call | 
| Amazon Quick | SearchDashboards | API call | 
| Amazon Quick | SearchDataSets | API call | 
| Amazon Quick | SearchDataSources | API call | 
| Amazon Quick | SearchFolders | API call | 
| Amazon Quick | SearchGroups | API call | 
| Amazon Quick | SearchUsers | API call | 
| Amazon Relational Database Service | DownloadCompleteDBLogFile | API call | 
| Amazon Relational Database Service | DownloadDBLogFilePortion | API call | 
| Amazon Rekognition | CompareFaces | API call | 
| Amazon Rekognition | DetectCustomLabels | API call | 
| Amazon Rekognition | DetectFaces | API call | 
| Amazon Rekognition | DetectLabels | API call | 
| Amazon Rekognition | DetectModerationLabels | API call | 
| Amazon Rekognition | DetectProtectiveEquipment | API call | 
| Amazon Rekognition | DetectText | API call | 
| Amazon Rekognition | RecognizeCelebrities | API call | 
| Amazon Rekognition | SearchFaces | API call | 
| Amazon Rekognition | SearchFacesByImage | API call | 
| Amazon Rekognition | SearchUsers | API call | 
| Amazon Rekognition | SearchUsersByImage | API call | 
| AWS Resource Explorer | BatchGetView | API call | 
| AWS Resource Explorer | Search | API call | 
| AWS Resource Groups | SearchResources | API call | 
| AWS Resource Groups | ValidateResourceSharing | API call | 
| AWS RoboMaker | BatchDescribeSimulationJob | API call | 
| Amazon Route 53 | TestDNSAnswer | API call | 
| Amazon Route 53 Domains | checkAvailabilities | API call | 
| Amazon Route 53 Domains | CheckDomainAvailability | API call | 
| Amazon Route 53 Domains | checkDomainTransferability | API call | 
| Amazon Route 53 Domains | CheckDomainTransferability | API call | 
| Amazon Route 53 Domains | isEmailReachable | API call | 
| Amazon Route 53 Domains | searchDomains | API call | 
| Amazon Route 53 Domains | sendVerificationMessage | API call | 
| Amazon Route 53 Domains | ViewBilling | API call | 
| Amazon Route 53 Domains | viewBilling | API call | 
| Amazon CloudWatch RUM | BatchGetRumMetricDefinitions | API call | 
| Amazon Simple Storage Service | echo | API call | 
| Amazon Simple Storage Service | GenerateInventory | Service event | 
| Amazon SageMaker AI | BatchDescribeModelPackage | API call | 
| Amazon SageMaker AI | DeleteModelCard | API call | 
| Amazon SageMaker AI | QueryLineage | API call | 
| Amazon SageMaker AI | RenderUiTemplate | API call | 
| Amazon SageMaker AI | Search | API call | 
| Amazon EventBridge Schemas | ExportSchema | API call | 
| Amazon EventBridge Schemas | SearchSchemas | API call | 
| Amazon SimpleDB | DomainMetadata | API call | 
| AWS Secrets Manager | ValidateResourcePolicy | API call | 
| AWS Service Catalog | ScanProvisionedProducts | API call | 
| AWS Service Catalog | SearchProducts | API call | 
| AWS Service Catalog | SearchProductsAsAdmin | API call | 
| AWS Service Catalog | SearchProvisionedProducts | API call | 
| Amazon SES | BatchGetMetricData | API call | 
| Amazon SES | TestRenderEmailTemplate | API call | 
| Amazon SES | TestRenderTemplate | API call | 
| Amazon Simple Notification Service | CheckIfPhoneNumberIsOptedOut | API call | 
| AWS SQL Workbench | BatchGetNotebookCell | API call | 
| AWS SQL Workbench | ExportNotebook | API call | 
| Amazon EC2 Systems Manager | ExecuteApi | API call | 
| AWS Systems Manager Incident Manager | DeleteContactChannel | API call | 
| AWS IAM Identity Center | IsMemberInGroup | API call | 
| AWS IAM Identity Center | SearchGroups | API call | 
| AWS IAM Identity Center | SearchUsers | API call | 
| AWS STS | AssumeRole | API call | 
| AWS STS | AssumeRoleWithSAML | API call | 
| AWS STS | AssumeRoleWithWebIdentity | API call | 
| AWS STS | DecodeAuthorizationMessage | API call | 
| AWS Tax Settings | BatchGetTaxExemptions | API call | 
| AWS WAFV2 | CheckCapacity | API call | 
| AWS WAFV2 | GenerateMobileSdkReleaseUrl | API call | 
| AWS Well-Architected Tool | ExportLens | API call | 
| AWS Well-Architected Tool | TagResource | API call | 
| AWS Well-Architected Tool | UntagResource | API call | 
| AWS Well-Architected Tool | UpdateGlobalSettings | API call | 
| Amazon Connect Wisdom | QueryAssistant | API call | 
| Amazon Connect Wisdom | SearchContent | API call | 
| Amazon Connect Wisdom | SearchSessions | API call | 
| Amazon WorkDocs | AbortDocumentVersionUpload | API call | 
| Amazon WorkDocs | AddUsersToGroup | API call | 
| Amazon WorkDocs | BatchGetUsers | API call | 
| Amazon WorkDocs | CheckAlias | API call | 
| Amazon WorkDocs | CompleteDocumentVersionUpload | API call | 
| Amazon WorkDocs | CreateAnnotation | API call | 
| Amazon WorkDocs | CreateComment | API call | 
| Amazon WorkDocs | CreateFeedbackRequest | API call | 
| Amazon WorkDocs | CreateFolder | API call | 
| Amazon WorkDocs | CreateGroup | API call | 
| Amazon WorkDocs | CreateShare | API call | 
| Amazon WorkDocs | CreateUser | API call | 
| Amazon WorkDocs | DeleteAnnotation | API call | 
| Amazon WorkDocs | DeleteComment | API call | 
| Amazon WorkDocs | DeleteDocument | API call | 
| Amazon WorkDocs | DeleteFeedbackRequest | API call | 
| Amazon WorkDocs | DeleteFolder | API call | 
| Amazon WorkDocs | DeleteFolderContents | API call | 
| Amazon WorkDocs | DeleteGroup | API call | 
| Amazon WorkDocs | DeleteOrganizationShare | API call | 
| Amazon WorkDocs | DeleteUser | API call | 
| Amazon WorkDocs | DownloadDocumentVersion | API call | 
| Amazon WorkDocs | DownloadDocumentVersionUnderlays | API call | 
| Amazon WorkDocs | InitiateDocumentVersionUpload | API call | 
| Amazon WorkDocs | LogoutUser | API call | 
| Amazon WorkDocs | PaginatedOrganizationActivity | API call | 
| Amazon WorkDocs | PublishAnnotations | API call | 
| Amazon WorkDocs | PublishComments | API call | 
| Amazon WorkDocs | RestoreDocument | API call | 
| Amazon WorkDocs | RestoreFolder | API call | 
| Amazon WorkDocs | SearchGroups | API call | 
| Amazon WorkDocs | SearchOrganizationUsers | API call | 
| Amazon WorkDocs | TransferUserResources | API call | 
| Amazon WorkDocs | UpdateAnnotation | API call | 
| Amazon WorkDocs | UpdateComment | API call | 
| Amazon WorkDocs | UpdateDocument | API call | 
| Amazon WorkDocs | UpdateDocumentVersion | API call | 
| Amazon WorkDocs | UpdateFolder | API call | 
| Amazon WorkDocs | UpdateGroup | API call | 
| Amazon WorkDocs | UpdateOrganization | API call | 
| Amazon WorkDocs | UpdateUser | API call | 
| Amazon WorkMail | AssumeImpersonationRole | API call | 
| Amazon WorkMail | QueryDnsRecords | API call | 
| Amazon WorkMail | SearchMembers | API call | 
| Amazon WorkMail | TestAvailabilityConfiguration | API call | 
| Amazon WorkMail | TestInboundMailFlowRules | API call | 
| Amazon WorkMail | TestOutboundMailFlowRules | API call | 

# Amazon EventBridge events detail reference
EventBridge events

EventBridge itself emits the following events. These events are automatically sent to the default event bus as with any other AWS service.

For definitions of the metadata fields that are included in all events, see [AWS service event metadata](https://docs.aws.amazon.com/eventbridge/latest/ref/events-structure.html) in the *Events Reference*.


| Event detail type | Description | 
| --- | --- | 
|   [Scheduled Event](#event-detail-scheduled-event)   |  Represents a scheduled event. | 
|   [Schema Created](#event-detail-schema-created)   |  Represents the creation of a new event schema. | 
|   [Schema Version Created](#event-detail-schema-version-created)   |  Represents the creation of a new version of a new or existing event schema.  | 
|   [Connection state events](#event-detail-connection-state)   |  Represents a change in the state of a connection.  | 
|   [API Destination state events](#event-detail-api-destination-state)   |  Represents a change in the state of an API destination.  | 

## Schedule events
Schedule events

EventBridge sends the following schedule events to the default event bus. For more information, see [Scheduler](using-eventbridge-scheduler.md).

### Scheduled Event


Represents a scheduled event.

The `source` and `detail-type` fields are included because they contain specific values for EventBridge events. For definitions of the other metadata fields that are included in all events, see [AWS service event metadata](https://docs.aws.amazon.com/eventbridge/latest/ref/events-structure.html) in the *Events Reference*.

```
{
  . . .,
  "detail-type": "Scheduled Event",
  "source": "aws.events",
  . . .,
  "detail": {}
}
```

`detail-type`  <a name="scheduled-event-detail-type"></a>
Identifies the type of event.  
For this event, this value is `Scheduled Event`.  
Required: Yes

`source`  <a name="scheduled-event-source"></a>
Identifies the service that generated the event. For EventBridge events, this value is `aws.events`.  
Required: Yes

`detail`  <a name="scheduled-event-detail"></a>
A JSON object that contains information about the event. The service generating the event determines the content of this field.  
Required: Yes  
There are no required fields in this object for `Scheduled Event` events.

**Example Scheduled Event event**  <a name="event-detail-scheduled-event.example"></a>

```
{
  "version": "0",
  "id": "89d1a02d-5ec7-412e-82f5-13505f849b41",
  "detail-type": "Scheduled Event",
  "source": "aws.events",
  "account": "123456789012",
  "time": "2016-12-30T18:44:49Z",
  "region": "us-east-1",
  "resources": ["arn:aws:events:us-east-1:123456789012:rule/SampleRule"],
  "detail": {}
}
```

## Schema registry events
Schema events

EventBridge sends the following schema registry events to the default event bus. For more information, see [](eb-schema.md).

### Schema Created


Represents the creation of a new schema.

When a schema is created, EventBridge sends both a `Schema Created` and a `Schema Version Created` event.

The `source` and `detail-type` fields are included because they contain specific values for EventBridge events. For definitions of the other metadata fields that are included in all events, see [AWS service event metadata](https://docs.aws.amazon.com/eventbridge/latest/ref/events-structure.html) in the *Events Reference*.

```
{
  . . .,
  "detail-type": "Schema Created",
  "source": "aws.schemas",
  . . .,
  "detail": {
    "SchemaName" : "String",
    "SchemaType" : "String",
    "RegistryName" : "String",
    "CreationDate" : "DateTime",
    "Version" : "Number"
  }
}
```

`detail-type`  <a name="schema-created-detail-type"></a>
Identifies the type of event.  
For this event, this value is `Schema Created`.  
Required: Yes

`source`  <a name="schema-created-source"></a>
Identifies the service that generated the event. For EventBridge events, this value is `aws.schemas`.  
Required: Yes

`detail`  <a name="schema-created-detail"></a>
A JSON object that contains information about the event. The service generating the event determines the content of this field.  
Required: Yes  
For this event, this data includes:    
`SchemaName`  <a name="schema-created-schema-name"></a>
The name of the schema.  
Required: Yes  
`SchemaType`  <a name="schema-created-schema-type"></a>
The type of schema.  
Valid values: `OpenApi3` \$1 `JSONSchemaDraft4`  
Required: Yes  
`RegistryName`  <a name="schema-created-registry-name"></a>
The name of the registry that contains the schema.  
Required: Yes  
`CreationDate`  <a name="schema-created-creation-date"></a>
The date the schema was created.  
Required: Yes  
`Version`  <a name="schema-created-version"></a>
The version of the schema.  
For `Schema Created` events, this value will always be `1`.  
Required: Yes

**Example Schema Created event**  <a name="event-detail-schema-created.example"></a>

```
{
  "version": "0",
  "id": "01234567-0123-0123-0123-012345678901",
  "detail-type": "Schema Created",
  "source": "aws.schemas",
  "account": "123456789012",
  "time": "2019-05-31T21:49:54Z",
  "region": "us-east-1",
  "resources": ["arn:aws:schemas:us-east-1::schema/myRegistry/mySchema"],
  "detail": {
    "SchemaName": "mySchema",
    "SchemaType": "OpenApi3",
    "RegistryName": "myRegistry",
    "CreationDate": "2019-11-29T20:08:55Z",
    "Version": "1"
  }
}
```

### Schema Version Created


Represents the creation of a new version of a new or existing event schema.

When a schema is created, EventBridge sends both a `Schema Created` and a `Schema Version Created` event.

The `source` and `detail-type` fields are included because they contain specific values for EventBridge events. For definitions of the other metadata fields that are included in all events, see [AWS service event metadata](https://docs.aws.amazon.com/eventbridge/latest/ref/events-structure.html) in the *Events Reference*.

```
{
  . . .,
  "detail-type": "Schema Version Created",
  "source": "aws.schemas",
  . . .,
  "detail": {
    "SchemaName" : "String",
    "SchemaType" : "String",
    "RegistryName" : "String",
    "CreationDate" : "DateTime",
    "Version" : "Number"
  }
}
```

`detail-type`  <a name="schema-version-created-detail-type"></a>
Identifies the type of event.  
For this event, this value is `Schema Version Created`.  
Required: Yes

`source`  <a name="schema-version-created-source"></a>
Identifies the service that generated the event. For EventBridge events, this value is `aws.schemas`.  
Required: Yes

`detail`  <a name="schema-version-created-detail"></a>
A JSON object that contains information about the event. The service generating the event determines the content of this field.  
Required: Yes  
For this event, this data includes:    
`SchemaName`  <a name="schema-version-created-schema-name"></a>
The name of the schema.  
Required: Yes  
`SchemaType`  <a name="schema-version-created-schema-type"></a>
The type of schema.  
Valid values: `OpenApi3` \$1 `JSONSchemaDraft4`  
Required: Yes  
`RegistryName`  <a name="schema-version-created-registry-name"></a>
The name of the registry that contains the schema.  
Required: Yes  
`CreationDate`  <a name="schema-version-created-creation-date"></a>
The date the schema version was created.  
Required: Yes  
`Version`  <a name="schema-version-created-version"></a>
The version of the schema.  
Required: Yes

**Example Schema Version Created event**  <a name="event-detail-schema-version-created.example"></a>

```
{
  "version": "0",
  "id": "01234567-0123-0123-0123-012345678901",
  "detail-type": "Schema Version Created",
  "source": "aws.schemas",
  "account": "123456789012",
  "time": "2019-05-31T21:49:54Z",
  "region": "us-east-1",
  "resources": ["arn:aws:schemas:us-east-1::schema/myRegistry/mySchema"],
  "detail": {
    "SchemaName": "mySchema",
    "SchemaType": "OpenApi3",
    "RegistryName": "myRegistry",
    "CreationDate": "2019-11-29T20:08:55Z",
    "Version": "5"
  }
}
```

## Connection events
Connection events

EventBridge sends the following connection events to the default event bus. For more information, see [Connections](eb-target-connection.md).

### Connection state events


These events each represent a change in the state of a new or existing connection.

The `source` and `detail-type` fields are included because they contain specific values for EventBridge events. For definitions of the other metadata fields that are included in all events, see [AWS service event metadata](https://docs.aws.amazon.com/eventbridge/latest/ref/events-structure.html) in the *Events Reference*.

```
{
  . . .,
  "detail-type": "Connection status",
  "source": "aws.events",
  . . .,
  "detail": {
    "ConnectionName" : "String",
    "StateReason" : "String",
    "Timestamp" : "DateTime"
  }
}
```

`detail-type`  <a name="connection-state-detail-type"></a>
Identifies the type of event.  
For this event, this value is one of the following:   
+ `Connection Creation Started`
+ `Connection Update Started`
+ `Connection Deletion Started`
+ `Connection Activated`
+ `Connection Authorized`
+ `Connection Authorization Started`
+ `Connection Deauthorization Started`
+ `Connection Deauthorized`
+ `Connection Failed Connectivity`
Required: Yes

`source`  <a name="connection-state-source"></a>
Identifies the service that generated the event. For EventBridge events, this value is `aws.events`.  
Required: Yes

`detail`  <a name="connection-state-detail"></a>
A JSON object that contains information about the event. The service generating the event determines the content of this field.  
Required: Yes  
For this event, this data includes:    
`ConnectionName`  <a name="connection-state-connection-name"></a>
The name of the connection.  
Required: Yes  
`StateReason`  <a name="connection-state-state-reason"></a>
The reason the connection state has changed.  
Required: No  
`Timestamp`  <a name="connection-state-timestamp"></a>
The time and date the connection state changed.  
Required: Yes

**Example Connection state event**  <a name="event-detail-connection-state.example"></a>

```
{
    "version": "0",
    "id": "1d7a4ac6-a50a-745f-a331-a0d802f7badb",
    "detail-type": "Connection Creation Started",
    "source": "aws.events",
    "account": "123456789012",
    "time": "2024-10-28T09:08:20Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:events:us-east-1:123456789012:connection/sample-connection/ee7e4d52-8df0-4bed-a0d5-fa7dea43fcf8"
    ],
    "detail": {
        "ConnectionName": "sample-connection",
        "Timestamp": "2024-10-24 09:26:35 +0000 UTC"
    }
}
```

## API Destination events
API Destination events

EventBridge sends the following API destination events to the default event bus. For more information, see [API destinations](eb-api-destinations.md).

### API Destination state events


These events each represents a change in the state of an API destination.

The `source` and `detail-type` fields are included because they contain specific values for EventBridge events. For definitions of the other metadata fields that are included in all events, see [AWS service event metadata](https://docs.aws.amazon.com/eventbridge/latest/ref/events-structure.html) in the *Events Reference*.

```
{
  . . .,
  "detail-type": "API Destination status",
  "source": "aws.events",
  . . .,
  "detail": {
    "ApiDestinationName" : "String",
    "Timestamp" : "DateTime"
  }
}
```

`detail-type`  <a name="api-destination-state-detail-type"></a>
Identifies the type of event.  
For this event, this value is one of the following:   
+ `API Destination Activated`
+ `API Destination Deactivated`
Required: Yes

`source`  <a name="api-destination-state-source"></a>
Identifies the service that generated the event. For EventBridge events, this value is `aws.events`.  
Required: Yes

`detail`  <a name="api-destination-state-detail"></a>
A JSON object that contains information about the event. The service generating the event determines the content of this field.  
Required: Yes  
For this event, this data includes:    
`ApiDestinationName`  <a name="api-destination-state-connection-name"></a>
The name of the API destination.  
Required: Yes  
`Timestamp`  <a name="api-destination-state-timestamp"></a>
The time and date the API destination state changed.  
Required: Yes

**Example API destination state event**  <a name="event-detail-api-destination-state.example"></a>

```
{
    "version": "0",
    "id": "1d7a4ac6-a50a-745f-a331-a0d802f7badb",
    "detail-type": "API Destination Deactivated",
    "source": "aws.events",
    "account": "123456789012",
    "time": "2024-10-28T09:08:20Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:events:us-east-1:123456789012:api-destination/sample-api-destination/ee7e4d52-8df0-4bed-a0d5-fa7dea43fcf8"
    ],
    "detail": {
        "ApiDestinationName": "sample-api-destination",
        "Timestamp": "2024-10-24 09:26:35 +0000 UTC"
    }
}
```