# Feedback

Submit product feedback and bug reports from agents.

The examples use A2A code mode. MCP exposes the same code mode through its `execute` tool.

## Functions

### `feedback.submit`

```text
feedback.submit(account_id: str, category: "bug_report" | "product_feedback" | "feature_request" | "other", description: str, title: str, attributes?: {}, paid_product_feature?: bool) -> Feedback
```

Submit product feedback.

| Property | Value | Property | Value |
| --- | --- | --- | --- |
| Auth required | `yes` | Execution mode | `sync` |
| Public API route | `POST /v1/public/accounts/{account_id}/feedback` |  |  |

  

### Arguments

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `account_id` | `str` | yes | Account UUID from the route path |
| `category` | `"bug_report" \| "product_feedback" \| "feature_request" \| "other"` | yes |  |
| `description` | `str` | yes |  |
| `title` | `str` | yes |  |
| `attributes` | `{}` | no |  |
| `paid_product_feature` | `bool` | no |  |

  
  

### Returns

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `account_id` | `str` | yes |  |
| `attributes` | `{}` | yes |  |
| `category` | `"bug_report" \| "product_feedback" \| "feature_request" \| "other"` | yes |  |
| `created_at` | `str` | yes |  |
| `created_by_user_id` | `str` | yes |  |
| `description` | `str` | yes |  |
| `id` | `str` | yes |  |
| `paid_product_feature` | `bool` | yes |  |
| `status` | `"new" \| "triaged" \| "planned" \| "in_progress" \| "closed"` | yes |  |
| `submitter_email` | `str` | yes |  |
| `submitter_name` | `str` | yes |  |
| `title` | `str` | yes |  |
| `updated_at` | `str` | yes |  |
| `admin_notes` | `str \| null` | no |  |

  
  

### A2A example

Request:

```json
{
  "request_id": "example",
  "session_id": "session_123",
  "code": "feedback.submit(account_id=\"3c90c3cc-0d44-4b50-8888-8dd25736052a\", category=\"<string>\", description=\"<string>\", title=\"<string>\", attributes=\"<string>\", paid_product_feature=true)"
}
```

Response:

```json
{
  "request_id": "example",
  "status": "completed",
  "result": {
    "last_value": "<string>"
  },
  "responses": [
    {
      "index": 0,
      "function": "feedback.submit",
      "status": "completed",
      "result": "<string>"
    }
  ],
  "complexity_score": 1
}
```

  
  

### MCP example

Request:

```json
{
  "jsonrpc": "2.0",
  "id": "example",
  "method": "tools/call",
  "params": {
    "name": "hybridbox_execute",
    "arguments": {
      "code": "feedback.submit(account_id=\"3c90c3cc-0d44-4b50-8888-8dd25736052a\", category=\"<string>\", description=\"<string>\", title=\"<string>\", attributes=\"<string>\", paid_product_feature=true)"
    }
  }
}
```

Response:

```json
{
  "jsonrpc": "2.0",
  "id": "example",
  "result": {
    "content": [
      {
        "type": "text",
        "text": "{\n  \"request_id\": \"example\",\n  \"status\": \"completed\",\n  \"result\": {\n    \"last_value\": \"<string>\"\n  },\n  \"responses\": [\n    {\n      \"index\": 0,\n      \"function\": \"feedback.submit\",\n      \"status\": \"completed\",\n      \"result\": \"<string>\"\n    }\n  ],\n  \"complexity_score\": 1\n}"
      }
    ],
    "isError": false
  }
}
```
