# Interactions

Base URL: `https://api.brixsignage.com`. Send `Authorization: Bearer $BRIX_API_KEY` unless an operation says Auth: none.

## GET /v1/interactions

List interaction events

List engagement events from your screens, such as on-screen taps, QR code scans, presenter joins, and form submissions.

**Notes.**
- Newest first, at most 1000, from screens at locations the caller can see.

Auth: Bearer token. Permission: `playback-log.view`.

Parameters:

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `from` | query | string | no | ISO-8601 start (default: 7 days ago). |
| `to` | query | string | no | ISO-8601 end (default: now). |
| `screenId` | query | string | no |  |

```bash
curl "https://api.brixsignage.com/v1/interactions" \
  -H "Authorization: Bearer $BRIX_API_KEY"
```

Response 200: Success.

| Field | Type | Description |
| --- | --- | --- |
| `data` | array of object |  |
| `data[].id` | string |  |
| `data[].screenId` | string |  |
| `data[].screenName` | string | The screen id when the screen no longer exists. |
| `data[].at` | string | ISO-8601 timestamp (UTC). |
| `data[].kind` | "touch" \| "qr-scan" \| "screenshare-join" \| "form-submit" |  |
| `data[].detail` | string | A short human-readable summary. |

Response 401: Missing, expired or revoked bearer token.

| Field | Type | Description |
| --- | --- | --- |
| `error` | string | Machine-readable code: `unauthorized`, `forbidden`, `not_found`, `validation_error`, `conflict`, `rate_limited`, `internal_error`, … |
| `message` | string | Human-readable explanation. Safe to show an operator. |
| `requestId` | string | Present on 5xx: quote it to support. |

Response 403: The token lacks the permission this operation needs (see `x-brix-permission`).

| Field | Type | Description |
| --- | --- | --- |
| `error` | string | Machine-readable code: `unauthorized`, `forbidden`, `not_found`, `validation_error`, `conflict`, `rate_limited`, `internal_error`, … |
| `message` | string | Human-readable explanation. Safe to show an operator. |
| `requestId` | string | Present on 5xx: quote it to support. |

Response 5XX: Server error. The body carries a `requestId` to quote to support.

| Field | Type | Description |
| --- | --- | --- |
| `error` | string | Machine-readable code: `unauthorized`, `forbidden`, `not_found`, `validation_error`, `conflict`, `rate_limited`, `internal_error`, … |
| `message` | string | Human-readable explanation. Safe to show an operator. |
| `requestId` | string | Present on 5xx: quote it to support. |
