# InboundSmsMessageDto

A model the API reference uses in a request or a response. The operation pages link every field typed as this model here.

An inbound-SMS log row for the operator review surface. The body is already card-number redacted at
persistence time. Phone numbers are shown in full: an operator needs the sender number to honor a
free-text revocation.

## Fields
- `id` (string(uuid)): Row id.
- `messageSid` (string): Twilio inbound message SID. (nullable)
- `fromPhoneNumber` (string): Sender number (E.164): the recipient who texted in. (nullable)
- `toPhoneNumber` (string): The platform number the message was sent to (E.164). (nullable)
- `body` (string): The message body after card-number redaction. (nullable)
- `keyword` ([SmsInboundKeyword](https://devportal.demo.winkpg.io/docs/api/models/SmsInboundKeyword.md)): Keyword classification of the message.
  Values:
  - `None`: Not a recognized keyword. The message is persisted for operator review; no consent change.
  - `OptOut`: An opt-out keyword (STOP, STOPALL, UNSUBSCRIBE, OPTOUT, CANCEL, END, REVOKE, QUIT).
  - `OptIn`: An opt-in / re-subscribe keyword (START, UNSTOP, YES).
  - `Help`: The HELP keyword: the recipient asked for program identification and a support contact.
- `tenantId` (string(uuid)): Tenant scope of the row. (nullable)
- `merchantId` (string(uuid)): Merchant scope of the row. (nullable)
- `receivedAt` (string(date-time)): When the message was received (UTC).

## See also

- [All documentation](https://devportal.demo.winkpg.io/llms.txt): the machine-readable index of every public page on this site.
