<!--
{
  "documentType" : "article",
  "framework" : "RetentionMessaging",
  "identifier" : "/documentation/RetentionMessaging/data-types",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Data types"
}
-->

# Data types

Refer to these data types for request and response payloads.

## Topics

### Images

[`uuid imageIdentifier`](/documentation/RetentionMessaging/imageIdentifier)

A unique identifier for an image that you provide when you upload the image.

[`string imageState`](/documentation/RetentionMessaging/imageState)

The approval state of an image.

[`string imageSize`](/documentation/RetentionMessaging/imageSize)

The size of an image.

[`string altText`](/documentation/RetentionMessaging/altText)

The alternative text for a corresponding image.

### Messages

[`uuid messageIdentifier`](/documentation/RetentionMessaging/messageIdentifier)

A unique identifier for a message, which you provide when you upload the message.

[`string messageState`](/documentation/RetentionMessaging/messageState)

The approval state of the message.

[`string body`](/documentation/RetentionMessaging/body)

The body text you provide for a message.

[`object BulletPoint`](/documentation/RetentionMessaging/BulletPoint)

The text and its bullet-point image to include in a retention message’s bulleted list.

[`string bulletPointText`](/documentation/RetentionMessaging/bulletPointText)

The text you provide for an individual bullet-list item.

[`string header`](/documentation/RetentionMessaging/header)

The header text you provide that appears above the body text in a message.

[`string headerPosition`](/documentation/RetentionMessaging/headerPosition)

The position where the header text appears in a message.

### Default message configuration

[`string locale`](/documentation/RetentionMessaging/locale)

A string that represents a locale short code.

[`string productId`](/documentation/RetentionMessaging/productId)

A unique identifier for a product, which you create in App Store Connect.

### Real-time request body

[`string signedPayload`](/documentation/RetentionMessaging/signedPayload)

The payload in a JSON Web Signature (JWS) format, signed by the App Store.

[`string originalTransactionId`](/documentation/RetentionMessaging/originalTransactionId)

The original transaction identifier of an In-App Purchase.

[`int64 appAppleId`](/documentation/RetentionMessaging/appAppleId)

The unique identifier of an app in the App Store.

[`uuid requestIdentifier`](/documentation/RetentionMessaging/requestIdentifier)

A unique identifier the App Store server creates for its requests.

[`timestamp signedDate`](/documentation/RetentionMessaging/signedDate)

The UNIX time, in milliseconds, that the App Store signed the JSON Web Signature data.

[`string environment`](/documentation/RetentionMessaging/environment)

The server environment, either sandbox or production.

### Real-time request header

[`object JWSDecodedHeader`](/documentation/RetentionMessaging/JWSDecodedHeader)

A decoded JSON Web Signature (JWS) header.

[`string alg`](/documentation/RetentionMessaging/alg)

An algorithm you use to sign a JSON Web Signature (JWS).

[`[string] x5c`](/documentation/RetentionMessaging/x5c)

A JSON Web Signature (JWS) header parameter that contains the certificate chain that corresponds to the key you use to digitally sign the JWS.

### Real-time response body

[`object message`](/documentation/RetentionMessaging/message)

A message identifier you provide in a real-time response to your Get Retention Message endpoint.

[`object alternateProduct`](/documentation/RetentionMessaging/alternateProduct)

A switch-plan message and product ID you provide in a real-time response to your Get Retention Message endpoint.

[`object promotionalOffer`](/documentation/RetentionMessaging/promotionalOffer)

A promotional offer and message you provide in a real-time response to your Get Retention Message endpoint.

[`object advancedCommerceInfo`](/documentation/RetentionMessaging/advancedCommerceInfo)

A response object you provide to present an offer or switch-plan recommendation message.

### Real-time URL

[`string realtimeURL`](/documentation/RetentionMessaging/realtimeURL)

A string that contains the URL you provide for your Get Retention Message endpoint.

### Performance testing

[`object PerformanceTestConfig`](/documentation/RetentionMessaging/PerformanceTestConfig)

An object that enumerates the test configuration parameters.

[`object PerformanceTestRequest`](/documentation/RetentionMessaging/PerformanceTestRequest)

The request object you provide for a performance test that contains an original transaction identifier.

[`object PerformanceTestResponse`](/documentation/RetentionMessaging/PerformanceTestResponse)

The performance test response object.

[`object PerformanceTestResponseTimes`](/documentation/RetentionMessaging/PerformanceTestResponseTimes)

An object that describes test response times.

[`object PerformanceTestResultResponse`](/documentation/RetentionMessaging/PerformanceTestResultResponse)

An object the API returns that describes the performance test results.

[`string PerformanceTestStatus`](/documentation/RetentionMessaging/PerformanceTestStatus)

The status of the performance test.

[`object Failures`](/documentation/RetentionMessaging/Failures)

A map of server-to-server notification failure reasons and counts that represent the number of failures during a performance test.

[`string sendAttemptResult`](/documentation/RetentionMessaging/sendAttemptResult)

The success or error information the App Store server records when it attempts to send an App Store server notification to your server.

[`uuid requestId`](/documentation/RetentionMessaging/requestId)

The identifier of the performance test request.

### Promotional offer signature V2

[`string promotionalOfferSignatureV2`](/documentation/RetentionMessaging/promotionalOfferSignatureV2)

The promotional-offer signature you generate in a JSON Web Signature (JWS) format.

### Promotional offer signature V1

[`object promotionalOfferSignatureV1`](/documentation/RetentionMessaging/promotionalOfferSignatureV1)

The promotional-offer signature you generate using an earlier signature version.

### Advanced commerce information

[`string advancedCommerceData`](/documentation/RetentionMessaging/advancedCommerceData)

A Base64-encoded JSON object which contains a JWS with information describing an offer or switch-plan recommendation.

### Alternate product information

[`string billingPlanType`](/documentation/RetentionMessaging/billingPlanType)



---

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)