# Fire Application Events

Application events follow a traditional publish-subscribe model. An application event is fired from an instance of a component. All components that provide a handler for the event are notified.

## Register an Event

A component registers that it may fire an application event by using `<aura:registerEvent>` in its markup. The `name` attribute is required but not used for application events. The `name` attribute is only relevant for component events. This example uses `name="appEvent"` but the value isn’t used anywhere.

```nolang
<aura:registerEvent name="appEvent" type="c:appEvent"/>
```

## Fire an Event

Use `$A.get("e.myNamespace:myAppEvent")` in JavaScript to get an instance of the `myAppEvent` event in the `myNamespace` namespace.

:::note
The syntax to get an instance of an application event is different than the syntax to get a component event, which is `cmp.getEvent("evtName")`.
:::

Use `fire()` to fire the event.

```javascript
var appEvent = $A.get("e.c:appEvent");
// Optional: set some data for the event (also known as event shape)
// A parameter’s name must match the name attribute
// of one of the event’s <aura:attribute> tags
//appEvent.setParams({ "myParam" : myValue });
appEvent.fire();
```

## Events Fired on App Rendering

Some events are automatically fired when an app is rendering. For more information, see [Events Fired During the Rendering Lifecycle](/docs/platform/aura-platform/guide/components-lifecycle.md).

**See Also**

- [Fire Component Events](/docs/platform/aura-platform/guide/events-component-fire.md)
