# androidx.a2ui.model.protocol

*** ** * ** ***

## Interfaces

|---|---|
| `https://developer.android.com/reference/kotlin/androidx/a2ui/model/protocol/A2uiClientToServerMessage` | The unified interface for all messages sent from the A2UI client to the A2A server. |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/model/protocol/A2uiExecutionContext` | Provides environment access, dynamic payload evaluation, and function execution capabilities within the scope of a specific component. |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/model/protocol/A2uiInlineCatalog` | Represents an inline catalog that can be advertised inside `https://developer.android.com/reference/kotlin/androidx/a2ui/model/protocol/A2uiClientCapabilities`. |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/model/protocol/A2uiServerToClientMessage` | The unified interface for all messages sent from the A2A server to the A2UI client. |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/model/protocol/A2uiUserAction` | Defines an A2UI component user interaction. |

## Classes

|---|---|
| `https://developer.android.com/reference/kotlin/androidx/a2ui/model/protocol/A2uiClientCapabilities` | Represents the client capabilities advertisement sent to the agent during system initialization. |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/model/protocol/A2uiClientDataModel` | Represents the client data model synchronization payload sent to the agent. |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/model/protocol/A2uiClientErrorMessage` | Represents a client-side execution or validation error reported to the server. |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/model/protocol/A2uiClientEventMessage` | Represents a client event message to be sent to the server. |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/model/protocol/A2uiComponentPayload` | Represents a single UI component's payload. |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/model/protocol/A2uiCreateSurfaceMessage` | Creates a new surface instance on the client. |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/model/protocol/A2uiDataPath` | Parses JSON pointer strings (RFC 6901) into segments. |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/model/protocol/A2uiDeleteSurfaceMessage` | Destroys an existing surface and frees its associated resources. |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/model/protocol/A2uiEventAction` | Defines an event action triggered by a user interaction to be sent to the server. |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/model/protocol/A2uiFunctionCallAction` | Defines a local component function execution action triggered by a user interaction. |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/model/protocol/A2uiUpdateComponentsMessage` | Updates or replaces components in the surface's registry, which can include modifying static component properties (e.g., text, colors) or changing structural layout templates. |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/model/protocol/A2uiUpdateDataModelMessage` | Updates the data model of a surface. |

## Exceptions

|---|---|
| `https://developer.android.com/reference/kotlin/androidx/a2ui/model/protocol/A2uiException` | Base class for all A2UI protocol and execution errors. |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/model/protocol/A2uiException.A2uiRuntimeException` | Thrown for any client-side runtime or execution failures (such as dynamic binding or function evaluation failures) that should be reported to the agent and are not structural validation errors |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/model/protocol/A2uiException.A2uiValidationException` | Thrown when an incoming JSON payload from the server structurally violates its defined `A2uiSchema`. |

## Objects

|---|---|
| `https://developer.android.com/reference/kotlin/androidx/a2ui/model/protocol/A2uiProtocolConstants` | Common constants used across the A2UI protocol data models. |