> ## Documentation Index
> Fetch the complete documentation index at: https://praison.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# A2 A • Rust AI Agent SDK

> A2A: A2A Interface for PraisonAI Agents Exposes a PraisonAI Agent via the A2A (Agent2Agent) protocol, enabling agent-to-agent communication with other...

# A2A

> Defined in the [**ui**](../modules/ui) module.

<Badge color="orange">Rust AI Agent SDK</Badge>

A2A Interface for PraisonAI Agents Exposes a PraisonAI Agent via the A2A (Agent2Agent) protocol, enabling agent-to-agent communication with other A2A-compatible systems.

## Fields

| Name          | Type                         | Description           |
| ------------- | ---------------------------- | --------------------- |
| `name`        | `String`                     | Agent name            |
| `description` | `String`                     | Agent description     |
| `url`         | `String`                     | A2A endpoint URL      |
| `version`     | `String`                     | Version string        |
| `prefix`      | `String`                     | URL prefix for router |
| `tags`        | `Vec&lt;String&gt;`          | OpenAPI tags          |
| `agent_card`  | `Option&lt;A2AAgentCard&gt;` | Agent card cache      |

## Methods

### `new`

```rust theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
fn new(name: impl Into<String>, url: impl Into<String>) -> Self
```

Create a new A2A interface

**Parameters:**

| Name   | Type                      |
| ------ | ------------------------- |
| `name` | `impl Into&lt;String&gt;` |
| `url`  | `impl Into&lt;String&gt;` |

### `description`

```rust theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
fn description(mut self, description: impl Into<String>) -> Self
```

Set description

**Parameters:**

| Name          | Type                      |
| ------------- | ------------------------- |
| `description` | `impl Into&lt;String&gt;` |

### `version`

```rust theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
fn version(mut self, version: impl Into<String>) -> Self
```

Set version

**Parameters:**

| Name      | Type                      |
| --------- | ------------------------- |
| `version` | `impl Into&lt;String&gt;` |

### `prefix`

```rust theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
fn prefix(mut self, prefix: impl Into<String>) -> Self
```

Set URL prefix

**Parameters:**

| Name     | Type                      |
| -------- | ------------------------- |
| `prefix` | `impl Into&lt;String&gt;` |

### `get_agent_card`

```rust theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
fn get_agent_card(&self) -> A2AAgentCard
```

Get the Agent Card for this A2A instance

### `get_status`

```rust theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
fn get_status(&self) -> HashMap<String, String>
```

Get status

## Source

<Card title="View on GitHub" icon="github" href="https://github.com/MervinPraison/PraisonAI/blob/main/src/praisonai-rust/praisonai/src/parity/ui.rs#L144">
  `praisonai/src/parity/ui.rs` at line 144
</Card>

***

## Related Documentation

<CardGroup cols={2}>
  <Card title="Rust A2A" icon="arrows-left-right" href="/docs/rust/a2a" />

  <Card title="Rust Agent-to-Agent" icon="users" href="/docs/rust/agent-to-agent-a2a" />
</CardGroup>
