In Redux, an action is a plain JavaScript object that describes what event occurred in the app. Each action must have a type field that identifies the kind of operation being performed, and it can optionally include a payload carrying additional data.
type: A string that uniquely identifies the action, often namespaced by slice (e.g., counter/increment).
payload: Optional data that provides information needed by the reducer to update the state.
meta and error: Optional fields used for advanced use cases like async operations or error handling.