# Message interactions

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

## 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","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/channels.messages.interactions.interaction"}}}},"channels.messages.interactions.interaction":{"properties":{"bodyTemplateProjectId":{"format":"uuid","type":"string"},"channelId":{"format":"uuid","type":"string"},"context":{"$ref":"#/components/schemas/channels.messages.context"},"createdAt":{"format":"date-time","type":"string"},"details":{"type":"string"},"id":{"format":"uuid","type":"string"},"isFirstInteraction":{"type":"boolean"},"isFirstInteractionIncludingBots":{"type":"boolean"},"journey":{"$ref":"#/components/schemas/channels.messages.metadata.flow"},"messageCreatedAt":{"format":"date-time","type":"string"},"messageId":{"format":"uuid","type":"string"},"messagePartsCount":{"format":"int32","type":"integer"},"messageReference":{"type":"string"},"messageTags":{"items":{"type":"string"},"type":"array"},"metadata":{"$ref":"#/components/schemas/channels.messages.interactions.metadata"},"notification":{"$ref":"#/components/schemas/channels.notifications.message_notification"},"platformId":{"type":"string"},"platformReferenceId":{"type":"string"},"receiver":{"$ref":"#/components/schemas/channels.participants.receiver"},"type":{"$ref":"#/components/schemas/channels.messages.interactions.type"},"useCaseType":{"$ref":"#/components/schemas/channels.use_case_type"}},"required":["id","type","createdAt","messageId","channelId","platformId","messageReference","messagePartsCount","receiver","context"],"type":"object"},"channels.messages.context":{"properties":{"id":{"type":"string"},"tagIds":{"items":{"format":"uuid","type":"string"},"type":"array"},"type":{"type":"string"}},"type":"object"},"channels.messages.metadata.flow":{"properties":{"id":{"format":"uuid","type":"string"},"name":{"type":"string"},"runId":{"format":"uuid","type":"string"},"scheduleExecutionId":{"format":"uuid","type":"string"},"stepId":{"type":"string"}},"title":"Message Flow Meta","type":"object"},"channels.messages.interactions.metadata":{"properties":{"button":{"$ref":"#/components/schemas/channels.messages.interactions.metadata.button"},"conversion":{"$ref":"#/components/schemas/channels.messages.interactions.metadata.conversion"},"extraInformation":{"additionalProperties":{"type":"string"},"type":"object"},"link":{"$ref":"#/components/schemas/channels.messages.interactions.metadata.link"},"prefetched":{"type":"boolean"},"reaction":{"$ref":"#/components/schemas/channels.messages.interactions.metadata.reaction"},"renderedContentBlocks":{"items":{"type":"string"},"type":"array"},"subscriptionList":{"$ref":"#/components/schemas/channels.messages.interactions.metadata.subscription_list"}},"type":"object"},"channels.messages.interactions.metadata.button":{"properties":{"payload":{"type":"string"}},"required":["payload"],"type":"object"},"channels.messages.interactions.metadata.conversion":{"properties":{"method":{"$ref":"#/components/schemas/channels.messages.interactions.metadata.conversion_method"},"status":{"$ref":"#/components/schemas/channels.messages.interactions.metadata.conversion_status"},"timestamp":{"description":"Timestamp of when the conversion was recorded","format":"date-time","type":"string"},"type":{"$ref":"#/components/schemas/channels.messages.interactions.metadata.conversion_type"}},"title":"Channel Message Conversion","type":"object"},"channels.messages.interactions.metadata.conversion_method":{"description":"Method of entering the code","enum":["unknown","manual","auto"],"title":"Message Interaction Conversion Method","type":"string"},"channels.messages.interactions.metadata.conversion_status":{"description":"Status of the conversion","enum":["converted","canceled","not_converted","incorrect_code","resent","received_after_expiration"],"title":"Message Interaction Conversion Status","type":"string"},"channels.messages.interactions.metadata.conversion_type":{"description":"Type of conversion","enum":["otp","url","promo_code"],"title":"Message Interaction Conversion Type","type":"string"},"channels.messages.interactions.metadata.link":{"properties":{"clickType":{"$ref":"#/components/schemas/channels.messages.interactions.metadata.link_click_type"},"name":{"type":"string"},"url":{"type":"string"}},"required":["name","url"],"type":"object"},"channels.messages.interactions.metadata.link_click_type":{"enum":["link","button"],"title":"Message Interaction Link Click Type","type":"string"},"channels.messages.interactions.metadata.reaction":{"properties":{"action":{"$ref":"#/components/schemas/channels.messages.interactions.metadata.reaction_action"},"emoji":{"type":"string"}},"required":["emoji","action"],"type":"object"},"channels.messages.interactions.metadata.reaction_action":{"enum":["react","unreact"],"title":"Message Interaction Reaction Action","type":"string"},"channels.messages.interactions.metadata.subscription_list":{"properties":{"subscriptionListId":{"format":"uuid","type":"string"}},"required":["subscriptionListId"],"type":"object"},"channels.notifications.message_notification":{"properties":{"template":{"type":"string"},"url":{"type":"string"}},"required":["url"],"type":"object"},"channels.participants.receiver":{"properties":{"connector":{"$ref":"#/components/schemas/channels.participants.connector"},"contacts":{"items":{"$ref":"#/components/schemas/channels.participants.contact"},"type":"array"},"device":{"$ref":"#/components/schemas/channels.participants.device"},"inbox":{"$ref":"#/components/schemas/channels.participants.inbox"},"userContacts":{"items":{"$ref":"#/components/schemas/channels.participants.user_contact"},"type":"array"}},"type":"object"},"channels.participants.connector":{"properties":{"annotations":{"$ref":"#/components/schemas/channels.participants.contact_annotation"},"id":{"format":"uuid","type":"string"},"identifierValue":{"description":"The identifier value of the sender or receiver connector (e.g. email address or phone number).","type":"string"},"types":{"items":{"type":"string"},"type":"array"}},"required":["id"],"type":"object"},"channels.participants.contact_annotation":{"description":"Annotations add extra information to a sender or receiver. For email messages, the name annotation overrides the display name.","properties":{"name":{"type":"string"}},"type":"object"},"channels.participants.contact":{"properties":{"contactAnnotation":{"$ref":"#/components/schemas/channels.participants.contact_annotation"},"countryCode":{"type":"string"},"id":{"description":"The ID of the contact.","format":"uuid","type":"string"},"identifierKey":{"description":"The identifier key for finding the contact (e.g. emailaddress, phonenumber). For WhatsApp channels with BSUID support, use `whatsappbsuid` to send to a contact by their Business-Scoped User ID.","type":"string"},"identifierValue":{"description":"The identifier value for finding the contact.","type":"string"},"identifiers":{"description":"Additional identifiers to augment the contact during resolution.","items":{"$ref":"#/components/schemas/channels.participants.identifier"},"type":"array"},"platformAddress":{"description":"The resolved platform address used to deliver the message (e.g. phone number or email address).","type":"string"},"platformAddressSelector":{"description":"An expression that defines how we resolve the platform address from a contact. Optional override for the default resolution logic.","type":"string"},"receiverExpression":{"type":"string"},"receiverValue":{"type":"string"},"type":{"description":"The type of the receiver (e.g. to, cc, bcc for email).","type":"string"}},"type":"object"},"channels.participants.identifier":{"properties":{"identifierKey":{"description":"The identifier key for finding the contact (e.g. emailaddress, phonenumber).","type":"string"},"identifierValue":{"description":"The identifier value for finding the contact.","type":"string"}},"required":["identifierKey","identifierValue"],"type":"object"},"channels.participants.device":{"properties":{"gateway":{"$ref":"#/components/schemas/channels.participants.push_notification_gateway"},"id":{"format":"uuid","type":"string"},"identifierValue":{"type":"string"}},"required":["id","identifierValue","gateway"],"type":"object"},"channels.participants.push_notification_gateway":{"enum":["firebase","apns","web"],"type":"string"},"channels.participants.inbox":{"properties":{"emailRecipientType":{"type":"string"},"id":{"format":"uuid","type":"string"},"identifierKey":{"type":"string"},"identifierValue":{"type":"string"},"type":{"$ref":"#/components/schemas/channels.inbox_type"}},"required":["id","type","identifierKey","identifierValue"],"type":"object"},"channels.inbox_type":{"enum":["user","group"],"type":"string"},"channels.participants.user_contact":{"properties":{"id":{"format":"uuid","type":"string"},"identifierKey":{"type":"string"},"identifierValue":{"type":"string"},"type":{"type":"string"}},"required":["id","identifierKey","identifierValue"],"type":"object"},"channels.messages.interactions.type":{"enum":["invalid","read","opened","clicked","reported-as-spam","unsubscribe-request","delete","reaction","subscribe-request","subscribe-consent","conversion"],"title":"Message Interaction Type","type":"string"},"channels.use_case_type":{"enum":["unspecified","marketing","otp","transactional","conversation","test"],"type":"string"},"error.detailed":{"additionalProperties":false,"description":"An error returned from the API that includes additional details about the error. The `details` property can contain any additional information about the error that may be helpful for debugging or understanding the error.\n","properties":{"code":{"description":"A unique code that identifies the error. This code can be used to programmatically identify the error.","minLength":3,"type":"string"},"details":{"additionalProperties":true,"description":"Any additional information about the error that may be helpful for debugging or understanding the error.","type":"object"},"message":{"description":"A human-readable message that describes the error.","minLength":1,"type":"string"}},"required":["code","message"],"title":"DetailedError","type":"object"}},"responses":{"requestError":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/error.detailed"}}},"description":"An error"}}},"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"}}}}}}
```

WhatsApp supports the following [message interactions](/api/channels-api/message-status-and-interactions.md#message-interactions):

| Interaction | Description                             |
| ----------- | --------------------------------------- |
| Read        | A user has read a message               |
| Clicked     | A user has clicked a quick reply button |

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

<table><thead><tr><th>Interaction</th><th width="141">details</th><th width="177">metadata.button.</th><th>Description</th></tr></thead><tbody><tr><td>Clicked</td><td>item_<strong>N</strong>_clicked</td><td><ul><li>payload - user supplied payload sent in action button</li></ul></td><td>Recipient clicked a quick reply button. <br><br><strong>N =</strong> the position of the item in the actions array of the associated message</td></tr></tbody></table>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.bird.com/api/channels-api/supported-channels/programmable-whatsapp/message-interactions.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
