# Message interactions

You can list message interactions on a specific message using the following endpoint. In order to get an Email message, you must have an active Email channel and perform a HTTP request with a [valid access key](https://docs.bird.com/api/api-access/api-authorization)

## List message interactions

> List message interactions

```json
{"openapi":"3.0.3","info":{"title":"Channels","version":"v1"},"servers":[{"url":"https://api.bird.com","description":"Production API"}],"security":[{"accessKey":[]}],"components":{"securitySchemes":{"accessKey":{"description":"Uses the Authorization header: 'AccessKey ' followed by your access key token (e.g., 'Authorization: AccessKey AbCdEfGhIjKlMnOpQrStUvWxYzAbCdEfGhIj')","scheme":"AccessKey","type":"http"}},"schemas":{"MessageInteractionsList":{"type":"object","title":"ChannelMessageInteractionsList","description":"A list of channel messages interactions","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/MessageInteraction"}}}},"MessageInteraction":{"type":"object","title":"ChannelMessageInteraction","additionalProperties":false,"properties":{"id":{"type":"string","format":"uuid"},"messageId":{"type":"string","format":"uuid"},"channelId":{"type":"string","format":"uuid"},"platformId":{"type":"string"},"messagePartId":{"nullable":true,"type":"string","format":"uuid","deprecated":true},"type":{"type":"string","enum":["clicked","delete-request","invalid","opened","read","reported-as-spam","unsubscribe-request","reaction","conversion","subscribe-request","subscribe-consent"]},"messageReference":{"type":"string"},"messagePartsCount":{"type":"number"},"messageTags":{"nullable":true,"type":"array","items":{"type":"string"}},"receiver":{"oneOf":[{"$ref":"#/components/schemas/Connector"},{"$ref":"#/components/schemas/Contacts"}]},"createdAt":{"type":"string","format":"date-time"},"details":{"type":"string"},"context":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}}}},"metadata":{"description":"Metadata is a free-form object that can be used to store any additional information such as platform specific information\n","type":"object","additionalProperties":true,"properties":{"link":{"type":"object","properties":{"name":{"type":"string"},"url":{"type":"string"}}},"button":{"properties":{"payload":{"type":"string"}}},"reaction":{"type":"object","properties":{"emoji":{"type":"string"},"action":{"type":"string"}}},"conversion":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string"},"status":{"type":"string"},"method":{"type":"string"},"timestamp":{"type":"string","format":"date-time"}}},"prefetched":{"type":"boolean"}}}}},"Connector":{"type":"object","title":"ChannelConnector","additionalProperties":false,"properties":{"connector":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"identifierValue":{"type":"string"},"annotations":{"$ref":"#/components/schemas/MessageAnnotations"},"types":{"type":"array","items":{"type":"string"}}},"required":["id"]}},"required":["connector"]},"MessageAnnotations":{"type":"object","title":"MessageAnnotations","description":"Annotations are used to add additional information to a message.\nFor email messages, it can be used to specify a custom sender name.\n","additionalProperties":false,"properties":{"name":{"type":"string"}}},"Contacts":{"type":"object","title":"ChannelContacts","additionalProperties":false,"properties":{"contacts":{"type":"array","minLength":1,"items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string"},"identifierKey":{"type":"string"},"identifierValue":{"type":"string"},"type":{"type":"string"},"countryCode":{"type":"string"},"identifiers":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"identifierKey":{"type":"string"},"identifierValue":{"type":"string"}}}},"platformAddress":{"type":"string"},"platformAddressSelector":{"type":"string","nullable":true},"annotations":{"type":"object","additionalProperties":true,"properties":{"name":{"type":"string"}}}}}}},"required":["contacts"]},"RequestError":{"type":"object","properties":{"code":{"type":"string","description":"A unique code that identifies the error. This code can be used to programmatically identify the error.\n"},"message":{"type":"string","description":"A human-readable message that describes the error. An example is 'The requested resource does not exist: channel not found'.\n"}},"required":["code","message"]}},"responses":{"requestError":{"description":"The request did not pass validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestError"}}}}}},"paths":{"/workspaces/{workspaceId}/channels/{channelId}/messages/{messageId}/interactions":{"get":{"summary":"List message interactions","operationId":"listChannelMessageInteractions","description":"List message interactions","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageInteractionsList"}}}},"404":{"$ref":"#/components/responses/requestError"}}}}}}
```

Email supports the following [message interactions](https://docs.bird.com/api/message-status-and-interactions#message-interactions):

| Interaction         | Description                                       |
| ------------------- | ------------------------------------------------- |
| opened              | A user has opened a message                       |
| clicked             | A user has clicked a link                         |
| reported-as-spam    | A user has reported a message as spam             |
| unsubscribe-request | A user has requested to unsubscribe from messages |

Additional information about the interactions can be found in the `details` field and `metadata.link` object as follows:

<table><thead><tr><th width="213">Interaction</th><th width="159">Details</th><th width="153">metadata.link</th><th>Description</th></tr></thead><tbody><tr><td>opened</td><td>initial_open</td><td></td><td>Recipient opened a message in an email client, thus rendering a tracking pixel at the top of the message</td></tr><tr><td></td><td>open</td><td></td><td>Recipient opened a message in an email client, thus rendering a tracking pixel at the bottom of the message</td></tr><tr><td></td><td>amp_initial_open</td><td></td><td>Recipient opened an AMP message in an email client, thus rendering a tracking pixel at the top of the message</td></tr><tr><td></td><td>amp_open</td><td></td><td>Recipient opened an AMP message in an email client, thus rendering a tracking pixel at the bottom of the message</td></tr><tr><td>clicked</td><td>click</td><td><ul><li><strong>name</strong> - link title</li><li><strong>url</strong> - link url clicked</li></ul></td><td>Recipient clicked a tracked link in a message</td></tr><tr><td></td><td>amp_click</td><td><ul><li><strong>name</strong> - link title</li><li><strong>url</strong> - link url clicked</li></ul></td><td>Recipient clicked a tracked link in an AMP message</td></tr><tr><td>reported-as-spam</td><td>spam_complaint</td><td></td><td>Messages was classified as spam by the recipient</td></tr><tr><td>unsubscribe_request</td><td>link_unsubscribe</td><td></td><td>Recipient clicked the 'unsubscribe' button in an email client</td></tr><tr><td></td><td>list_unsubscribe</td><td></td><td>Recipient clicked an 'unsubscribe' link in an email message</td></tr></tbody></table>
