A capability describes what an endpoint can do. Its versioned interface defines the commands and observations that a client can use. ## Capabilities Inspect the interfaces returned for an endpoint before you operate it. A light can support power and brightness. Another light may support power only. Use the [Device capabilities reference](/docs/reference/capabilities/) for exact schemas. ## Messages A message asks an endpoint to perform an action. For example, the power capability defines turn-on and turn-off. Send a message that the endpoint declares, with the body required by its schema. ## Attributes An attribute reports an observation, such as power ON or OFF. A successful dispatch means Port OS accepted the command; read a current attribute to confirm the resulting state. If no observation is available, the state is unknown. ## Events Events report changes through a supported event transport. They let clients follow observations without treating command acceptance as a device state. See [Events, capabilities and messages](/docs/user-guides/how-to-use-events-capabilities-and-messages/) for the practical workflow.