<!--
{
  "availability" : [
    "Retention Messaging API: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "RetentionMessaging",
  "identifier" : "/documentation/RetentionMessaging/RealtimeRequestBody",
  "metadataVersion" : "0.1.0",
  "role" : "Object",
  "symbol" : {
    "kind" : "Object",
    "modules" : [
      "Retention Messaging API"
    ],
    "preciseIdentifier" : "data:retention_messaging:RealtimeRequestBody"
  },
  "title" : "RealtimeRequestBody"
}
-->

# RealtimeRequestBody

The request body the App Store server sends to your Get Retention Message endpoint.

```
object RealtimeRequestBody
```

## Discussion

This is the request body for the `Get Retention Message` endpoint, which you can implement to choose retention messages for customers in real time. For more information about the endpoint, see [Setting up your Get Retention Message endpoint](/documentation/RetentionMessaging/setting-up-retention-messaging-endpoint).

The `signedPayload` is a string of three Base64URL-encoded components separated by a period. The string contains the JWS Compact Serialization of the real-time request, signed by the App Store according to the JSON Web Signature (JWS) [IETF RFC 7515](https://datatracker.ietf.org/doc/html/rfc7515) specification.

The three components of the string are a header, a payload, and a signature, in that order.

- To read the real-time request information, Base64URL-decode the payload. Use a [`DecodedRealtimeRequestBody`](/documentation/RetentionMessaging/DecodedRealtimeRequestBody) object to read the payload information.
- To read the header, decode it and use a [`JWSDecodedHeader`](/documentation/RetentionMessaging/JWSDecodedHeader) object to access the information. Use the information in the header to verify the signature.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)