# New response to a review received

**Event:** `interaction.response`

**Event name:** `interaction.response`

Sent when Synup detects a new response to an existing review — including responses posted through Synup and responses detected directly on the platform. Responses arrive asynchronously, often well after the original review. Delivered to your Webhooks URL (Reviews webhook). Location-scoped. Use data.interaction.parent_id to link the response to the review it answers.

Source: https://developer.synup.com/webhooks/interaction-response

## Header parameters

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `X-Synup-Signature` | string | required | sha256=base64(HMAC-SHA256(signing_secret, raw_request_body)). Present when the account has generated a signing secret; verify before processing. |

## Request body

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `event` | string | optional | Dotted event name. |
| `timestamp` | string | optional | ISO-8601 datetime Synup detected and processed this interaction (UTC). |
| `account_id` | integer | optional | The Synup account that owns this location. |
| `location_id` | string | optional | Synup's numeric location ID, as a string. |
| `data` | object | optional |  |
| `data.interaction` | object | optional | The review or response. |
| `data.interaction.id` | string | optional | Synup's unique ID (UUID) for this interaction. |
| `data.interaction.type` | string | optional | "Response" for this event. |
| `data.interaction.content` | string | optional | Full text of the review. |
| `data.interaction.rating` | integer | optional | Always null — responses do not carry a rating. |
| `data.interaction.author_name` | string | optional | Name of the business or person who wrote the response (e.g. "Owner"). |
| `data.interaction.author_avatar` | string | optional | Usually null for owner responses. |
| `data.interaction.date` | string | optional | ISO-8601 datetime the review was originally posted on the platform. |
| `data.interaction.source` | string | optional | Platform the review came from (e.g. "maps.google.com", "yelp.com"). |
| `data.interaction.parent_id` | string | optional | The id (UUID) of the original review this response belongs to; use it to link back to a review you already received. |
| `data.interaction.interaction_request_id` | string | optional | Internal tracking ID (UUID) for the crawl request that surfaced this review. |
| `data.interaction.title` | string | optional | "Response from owner" when provided by the platform, otherwise null. |
| `data.interaction.permalink` | string | optional | Direct URL to the review on the original platform. |
| `data.interaction.category` | string | optional | "Review" — responses share the same category value as reviews. |
| `data.interaction.interaction_status` | string | optional | String or null. |
| `agency_account_id` | integer | optional | Present only when the account is managed by a parent agency account. |

## Responses

| Status | Description |
| --- | --- |
| `200` | Acknowledge with any 2xx. A non-2xx (or timeout) is recorded as a failed delivery; failures are logged but not automatically retried at this time. |
