# Retrieve events

Endpoint: GET /events
Version: 2025-03-26
Security: oauth2, bearerAuth, apiKeyHeader

## Query parameters:

  - `limit` (integer)
    The maximum count of results to retrieve.

  - `startingAfter` (string)
    Return results starting after the provided object identifier.

  - `endingBefore` (string)
    Return results ending before the provided object identifier.

  - `sortBy` (array)
    The data attributes by which to sort the results.

  - `personId` (string)
    Filter by a Borrower's unique identifier. Can be Peach or lender's external identifier.

  - `periodId` (string)
    Use this to limit results to a specific periodId.

  - `loanId` (string)
    Filter by Loan's unique identifier. Can be Peach or lender's external identifier.

  - `caseId` (string)
    Filter by case's object unique identifier. Can be Peach or lender's external identifier.

  - `transactionId` (string)
    Filter by transaction's unique identifier. Can be Peach or lender's external identifier.

  - `createdAtFrom` (string)
    Get events created at or after the specified time.

  - `createdAtTo` (string)
    Get events created before the specified time.

  - `effectiveAtFrom` (string)
    Get events effective at or after the specified time.

  - `effectiveAtTo` (string)
    Get events effective before the specified time.

  - `accrualDate` (string)
    Get events by matching accrual date. To be used for AccrueInterestEvent only.

  - `includeDeleted` (boolean)
    Include events that have been deleted.

  - `events` (string)
    A comma separated list of event names to return.
Event name queries can end with a wildcard `*` character to specify all events starting with the given string.
For example, `case.*` would give all case-related events.

  - `excludeEvents` (string)
    A comma separated list of event names to exclude from the response.
Event name queries can end with a wildcard `*` character to specify all events starting with the given string.
For example, `case.*` would exclude all case-related events.

  - `webhookId` (string)
    The webhook ID to filter events by. This will only include events that were sent to this webhook subscription.

  - `supercaseId` (string)
    The supercase ID to filter events by. Events that don't have this field will be filtered out.

  - `skipTotalCount` (boolean)
    Skip computing the exact `total` count of matching events to improve performance.
When `true`, `total` is returned as an arbitrary large value and must not be relied upon.

  - `creatingMessageIds` (array)
    A comma separated list of creatingMessageIds to return.

## Response 200 fields (application/json):

  - `count` (integer)
    Number of items returned by the current request.

  - `nextUrl` (string)
    URL of the next set of results.

  - `previousUrl` (string)
    URL of the previous set of results.

  - `status` (integer)
    HTTP status code.

  - `total` (integer)
    Total number of items in this result.

  - `data` (array)

  - `data.condition` (string)
    Enum: "balanceNA", "balanceBroken", "balanceRed", "balanceYellow", "balanceGreen"

  - `data.eventType` (string)
    Enum: "autopay.payment.rescheduled"

  - `data.periodId` (string)
    Period's unique identifier.

  - `data.cancellationReason` (string)
    Enum: "invalidPaymentMethod", "paymentMethodRemoved", "tooManyFailedAttempts", "loanFrozen", "loanAccelerated", "loanChargedOff", "loanPaidOff", "canceledByUser", "loanTermsChanged"

  - `data.cardId` (string)
    Card's unique identifier.

  - `data.loanId` (string)
    Loan's unique identifier.

  - `data.newStatus` (string)
    The status of the card.
    Enum: "inactive", "pendingActivation", "pendingFulfillment", "active", "paused", "suspended", "terminated", "canceled", "expired", "invalid"

  - `data.statusChangeReasonCode` (string)
    Enum: "cardCanceled", "cardExpired", "cardInvalid", "cardClosed", "cardDamaged", "cardFraudulent", "cardInactive", "cardLost", "cardPFraud", "cardSuspended", "cardUnauthorized", "cardAcceptorActivityQuestionable", "cardStolen"

  - `data.associatedId` (string)
    Associated object's unique identifier.

  - `data.associatedObject` (string)
    Associated object type.

  - `data.caseId` (string)
    Case's unique identifier.

  - `data.doNotInteractId` (string)
    DNI's unique identifier

  - `data.escalationId` (string)
    Escalation's unique identifier

  - `data.borrowerId` (string)
    The borrower (person) associated with the case. Present on every change type when the case has an associated person; omitted otherwise.

  - `data.templateDescriptorId` (string)

  - `data.userEmail` (string)
    Email of the acting user, snapshotted at event creation time (point-in-time); omitted when unavailable.

  - `data.userId` (string)
    Public id of the user who made the change.

  - `data.userName` (string)
    Display name of the acting user, snapshotted onto the event at creation time (point-in-time; not re-resolved from userId).

  - `data.templateVersionId` (string)

  - `data.previousVersionId` (string)

  - `data.contactExternalId` (string)

  - `data.contactId` (string)
    Contact's unique identifier.

  - `data.closeReason` (string)
    The description of the reason why the account was closed. If passed,
the `closeReason` value will be used in the `locLineClosed` communication template.
Make sure to phrase the copy as a full sentence or paragraph.

  - `data.closeReasonDetails` (string)
    The reason why the account was closed.
The reasons:
- `requestedByBorrower` - a borrower requested to close the account.
- `inactivity` - the account was closed by lender due to inactivity.
- `terms` - the account was closed by lender because it was created with wrong terms or terms changed later (e.g. re-underwriting, charge off, bankruptcy).
- `technicalIssue` - the account was closed by lender due to a technical issue.
- `fraud` - the account was closed by lender due to fraud.
- `other` - the account was closed by lender due to a reason not listed above.
    Enum: "requestedByBorrower", "inactivity", "terms", "technicalIssue", "fraud", "other"

  - `data.closeRequestedByBorrower` (boolean)
    Set to true if a borrower requested to close the account.
Note: This attribute has been deprecated, and you should use `closeReasonDetails` instead.
- If you pass both `closeRequestedByBorrower` and `closeReasonDetails`, the system will ignore the `closeRequestedByBorrower` attribute.
- If you pass `closeRequestedByBorrower` but not `closeReasonDetails`, the system will set `closeReasonDetails=requestedByBorrower`.

  - `data.sendNotice` (boolean)
    When set to `true`, the system will send a `locLineClosed` notice to the borrower.

  - `data.adverseActionReason` (string)
    The reason why the credit limit was changed.

  - `data.creditLimitAmount` (number)
    The new credit limit amount.

  - `data.sendNotice` (boolean)
    Whether a notice was sent to the borrower

  - `data.caseId` (string)
    An identifier for an existing case.

  - `data.creditLimitPercentage` (number)
    The draw's credit limit as a percentage of the loan's credit limit

  - `data.statusChangedDate` (string)

  - `data.overdueNumberDays` (number)

  - `data.overdueTotalAmount` (number)

  - `data.migrationEventCreatingMessageId` (string)

  - `data.feeType` (string)
    Enum: "foreignTransactionFee", "lateFee", "modificationFee", "purchaseFee", "nsfFee", "serviceFee"

  - `data.feeChargedAt` (string)

  - `data.lockId` (string)

  - `data.expectedBalanceImpact` (string)
    Enum: "increase", "decrease", "unknown"

  - `data.newAmount` (number)

  - `data.oldAmount` (number)

  - `data.deferralType` (string)
    Enum: "capitalizeRemainingBalance"

  - `data.drawIds` (array)

  - `data.dueDates` (array)

  - `data.totalDeferredAmount` (number)

  - `data.atFaultParty` (string)

  - `data.isFullRefund` (boolean)

  - `data.isSendNotice` (boolean)

  - `data.loanDownPaymentAmount` (string)
    Serialized as a decimal string.

  - `data.loanTypeId` (string)
    Loan type's unique identifier.

  - `data.refundAmount` (number)

  - `data.refundId` (string)
    Refund's unique identifier.

  - `data.newStatus` (string)
    The current status of the loan. New loans must be created in `pending`, `originated` or `declined` status.
`pending` - the loan is in the application stage. Loan `atOrigination` details and terms can be changed (via API).
`originated` - the loan was signed by the borrower and originated by the lender. Loan `atOrigination` details cannot be changed. Originated loans do not start accruing interest until activated.
`declined` - an application was declined. This is a terminal state.
`active` - the loan is active. Most loans are expected to be active.
`frozen` - the loan is temporarily frozen. The loan will not accrue any interest, no payments can be processed, and no notifications are sent to the borrower.
`accelerated` - the loan was accelerated. The loan will not accrue any additional interest and the entire balance is due.
`chargedOff` - the loan was charged off.
`paidOff` - the loan was successfully paid off.
`canceled` - the loan was canceled. Canceled loans are not shown in UI. This is a terminal state.
    Enum: "pending", "originated", "declined", "active", "frozen", "accelerated", "chargedOff", "paidOff", "canceled"

  - `data.dueDate` (string, required)
    The due date associated with the period.

  - `data.isOverdue` (boolean, required)
    The new obligation status to be recorded

  - `data.attachments` (array)
    An optional list of documents to attach to the outgoing email.

  - `data.channel` (string)
    The channel where interactions with a borrower occur. For example, an
outbound call with a borrower is considered a `voice` interaction.
**DEPRECATED**: The `fax` channel is deprecated: new interactions
cannot be created with the `fax` channel. It will be removed
from completely in the future.
    Enum: "voice", "email", "fax", "text", "chat", "mail", "gui", "document"

  - `data.context` (object)
    Additional context to be passed when creating a message from preset templates for communication

  - `data.isTransactional` (boolean)

  - `data.loanIds` (array)

  - `data.previousInteractionId` (string)
    If a previous interaction identifier is provided, the current and previous interactions will be linked. This can either be Peach's or a lender's external identifier.

  - `data.subject` (string, required)
    The subject of the interaction. The subject identifies the category of the content
in the message.
Most subjects have an associated implicit theme. e.g., `loanOverdueFirstNotice` has
a theme of `opsCollDebt`. For these subjects it is not necessary to specify a theme.
Some subjects like `freeForm` and `custom<N>` do not have an implicit theme. When
using these subjects you must specify a `theme`.
**DEPRECATED**: `locStatementGenerated` and `locStatementRegenerated` are deprecated.
They will be automatically converted into `statementGenerated` and `statementRegenerated`
respectively. You should switch to use those subjects directly.
**DEPRECATED**: `failedSettlementPeach` is deprecated. This was always a subject used by
the Peach application internally, and will no longer be used. Attempts to set this
subject will be rejected with a 400 error.
    Enum: "annualPrivacyPolicyNotice", "autopayAgreement", "autopayAmountChanged", "autopayCanceledBySystem", "autopayEnabled", "autopayEnableReminder", "autopayPaymentCanceled", "autopayPaymentMethodUpdated", "autopayPaymentReminder", "autopayPaymentRescheduled", "cardExpiresReminder", "caseEscalation", "ceaseCommunicationAcknowledgement", "ceaseCommunicationRefuseToPay", "confirmationCode", "contactTakeover", "creditNegativeInfoReported", "creditPositiveInfoReported", "custom1", "custom2", "custom3", "custom4", "custom5", "custom6", "custom7", "custom8", "custom9", "custom10", "custom11", "custom12", "custom13", "custom14", "custom15", "custom16", "custom17", "custom18", "custom19", "custom20", "custom21", "custom22", "custom23", "custom24", "custom25", "custom26", "custom27", "custom28", "custom29", "custom30", "custom31", "custom32", "custom33", "custom34", "custom35", "custom36", "custom37", "custom38", "custom39", "custom40", "custom41", "custom42", "custom43", "custom44", "custom45", "custom46", "custom47", "custom48", "custom49", "custom50", "custom51", "custom52", "custom53", "custom54", "custom55", "custom56", "custom57", "custom58", "custom59", "custom60", "custom61", "custom62", "custom63", "custom64", "custom65", "custom66", "custom67", "custom68", "custom69", "custom70", "custom71", "custom72", "custom73", "custom74", "custom75", "custom76", "custom77", "custom78", "custom79", "custom80", "custom81", "custom82", "custom83", "custom84", "custom85", "custom86", "custom87", "custom88", "custom89", "custom90", "custom91", "custom92", "custom93", "custom94", "custom95", "custom96", "custom97", "custom98", "custom99", "custom100", "debtValidationNotice", "debtValidationNoticeArizona", "debtValidationNoticeAutomatic", "debtValidationNoticeNYCYonkers", "debtValidationNoticePuertoRico", "deceasedConfirmationOfPayoff", "deceasedNoticeToRepresentative", "deceasedNotificationUponDeath", "disputeOfDebtConfirmed", "disputeOfDebtSubmitDocumentation", "disputeOfDebtSubmitDocumentationReminder", "disputeOfDebtUnableToConfirm", "disputeOfDebtUnableToResolve", "documentUploadFailed", "downpaymentFailed", "drawFundsDisclosure", "electronicConsentOptOut", "failedSettlementInvestor", "failedSettlementPeach", "freeForm", "freeFormBranded", "futurepayCanceled", "futurepayPaymentDueReminder", "identityTheftIncompleteDocumentation", "identityTheftNotValidated", "identityTheftSubmitDocumentation", "identityTheftSubmitDocumentationFirstReminder", "identityTheftSubmitDocumentationSecondReminder", "identityTheftValidated", "letterReturnedToSender", "loanAccelerated", "loanCanceled", "loanChargedOffUnsecured", "loanDetails", "loanFeeCharged", "loanFreeze", "loanManualPaymentDisclosure", "loanOverdueFifthNotice", "loanOverdueFirstNotice", "loanOverdueFourthNotice", "loanOverdueSecondNotice", "loanOverdueSixthNotice", "loanOverdueThirdNotice", "loanPaidOff", "loanPaymentScheduleChanged", "loanPayoffStatement", "loanRefundProcessed", "loanRightToCurePersonalUnsecured", "loanRightToCurePersonalUnsecuredColorado", "loanRightToCurePersonalUnsecuredDC", "loanRightToCurePersonalUnsecuredIowa", "loanRightToCurePersonalUnsecuredKansas", "loanRightToCurePersonalUnsecuredMaine", "loanRightToCurePersonalUnsecuredMissouri", "loanRightToCurePersonalUnsecuredSouthCarolina", "loanRightToCurePersonalUnsecuredWestVirginia", "loanRightToCurePersonalUnsecuredWisconsin", "loanTermsChangeAgreement", "loanUnfreeze", "locCreditLimitChanged", "locInterestRateChanged", "locLineClosed", "locStatementGenerated", "locStatementRegenerated", "loginFirstPaymentReminder", "microdepositFailed", "microdepositProcessing", "microdepositReminder", "oneTimeCode", "paydayConsumerRightsNotice", "paydayFirstPaymentWithdrawal", "paymentDisputed", "paymentDueDateReminder", "paymentFailed", "paymentMethodAdded", "paymentMethodUpdated", "paymentProcessing", "paymentRescheduled", "paymentReversalFailed", "paymentReversalProcessing", "paymentSuccessful", "payoffStatementDocument", "promiseToPayPeriodKept", "promiseToPayPeriodMissed", "promiseToPayPlanCanceled", "promiseToPayPlanCreated", "promoProgramCanceled", "promoProgramEligibilityAtRisk", "promoProgramExercised", "promoProgramReminder", "reimbursementFailed", "reimbursementProcessed", "reimbursementScheduled", "scraApplicationDenied", "scraBenefitsApplied", "scraBenefitsExpiringNotice", "scraCGFlaggedDocumentRequest", "scraServicemanNotifiedDocumentRequest", "settlementOffer", "settlementOfferFirstReminder", "statement", "statementLOC", "statementGenerated", "statementRegenerated", "unmonitoredEmailAddress", "updateBankAccountConnection"

  - `data.supercaseBulkOperationId` (string)
    If a `SupercaseBulkOperation` created this event, this is that ID

  - `data.theme` (string)
    The reason why an interaction occurred.
For example:
- An outbound debt collection call should be marked as `opsCollDebt`.
- An annual privacy policy update email should be marked as `opsServicing`.
- A customer service response to borrower's inquiry should be marked as `opsServicing`.

**DEPRECATED**: `inbBug`, `inbHumanLove`, and `opsServicingNegativeCreditReportNotice` are deprecated:
you cannot create or update interactions to have these values.
    Enum: "agentNotification", "opsCollDebt", "opsCollLocateBorrower", "opsCollVerifyEmployment", "opsCollContactEmployerNotice", "opsServicingDebtValidation", "opsServicingNegativeCreditReportNotice", "opsServicingTimeBarredNotice", "opsServicing", "opsAccountCredentials", "inbMissingFeature", "inbEducation", "inbBug", "inbRequest", "inbHumanLove", "inbUnknown", "inbOther", "inbServicing", "inbCollections", "inbPayments", "inbFraud", "inbGeneralInquiry"

  - `data.statementId` (string)
    Statement's unique identifier.

  - `data.ownerId` (string)
    Payment instrument owner's unique identifier. Currently, the owner can be a borrower, investor, broker or payment processor.

  - `data.ownerType` (string)
    Type of owner of the payment instrument.
    Enum: "person", "investor", "broker", "paymentProcessor"

  - `data.paymentInstrumentId` (string)
    Payment Instrument's unique identifier.

  - `data.changes` (object)

  - `data.consentId` (string)
    Consent's unique identifier.

  - `data.amount` (number)
    The amount of the chargeback

  - `data.description` (string)
    The description of the chargeback

  - `data.reasonCode` (string)
    The reason code

  - `data.transactionId` (string)
    Transaction's unique identifier.

  - `data.amount` (number)
    The amount of the reversal

  - `data.reversedAmount` (number)
    The sum of all of the reversals of the original transaction.

  - `data.reversedTransactionId` (string)
    Unique identifier of the original transaction.

  - `data.newScheduledDate` (string)

  - `data.oldScheduledDate` (string)

  - `data.paymentInstrumentType` (string)
    Enum: "bankAccount"

  - `data.transactionCreatedAt` (string)

  - `data.transactionCurrency` (string)

  - `data.transactionIsExternal` (boolean)

  - `data.transactionScheduledAmount` (number)

  - `data.transactionScheduledDate` (string)

  - `data.purchaseId` (string)
    Purchase's unique identifier.

  - `data.lineOfCreditId` (string)
    Line of Credit's unique identifier.

  - `data.newStatus` (string)

  - `data.oldStatus` (string)

  - `data.isPastPurchaseDispute` (boolean)
    Whether the purchase dispute is for a past purchase or not. Past purchases are used in LOC migrations. Past purchases have effective dates before the migration cutoff date.

  - `data.purchaseDisputeId` (string)
    Purchase dispute's unique identifier.

  - `data.status` (string)
    Enum: "unsubmitted", "submitted", "expired", "won", "lost", "canceled"

  - `data.creditAgencyId` (string)
    Credit agency's unique identifier.

  - `data.startDate` (string)

  - `data.stopDate` (string)

  - `data.feeAmount` (number)
    The fee amount capitalized.

  - `data.interestAmount` (number)
    The interest amount capitalized.

  - `data.isReplay` (boolean)
    `true` if capitalization was updated after the overdue date.

  - `data.obligationId` (string)
    Obligation unique identifier.

  - `data.amount` (number)

  - `data.reason` (string)
    Enum: "insufficientFunds", "chargeback", "accountClosed", "invalidAccount", "unknownReason", "invalidCvv", "invalidExpirationDate", "avsFailed", "networkError", "cardDeclined", "accountFrozen", "deceased", "invalidRouting", "paymentStopped", "microdepositsFailed", "incorrectNumber", "fraudulent", "unauthorizedDebit", "microdepositsAttemptFailed"

  - `data.settlementIds` (array)

  - `data.balances` (object)
    The balances of the loan after the balance change.
Contains a subset of the fields found in the Get loan balances response body.

  - `data.balances.authorizedAmount` (number)
    The total amount of purchases in `authorized` status.
`authorizedAmount` is used in the calculation of the following amounts: `availableCreditAmount`, `openToBuyAmount`, `utilizationAmount`.
`authorizedAmount` is NOT used in the calculations of the following amounts: `overLimitAmount`.
Only applicable to lines of credit.

  - `data.balances.availableCreditAmount` (number)
    The available credit amount to use. If the borrower exceeded their credit limit, the `availableCreditAmount` will be zero.
For lines of credit only:
- `availableCreditAmount` takes into account `authorizedAmount`. Authorized purchases decrease the `availableCreditAmount`.
- The amount can be greater than `creditLimitAmount`. It happens only when the total amount of payments made by the borrower
plus the total amount of service credits exceeds the line or draw balance. Any future purchases will first deplete the
overpayment amount (also called `reimbursementAmount`).

Only applicable to lines of credit or installment loans with multi-advances.

  - `data.balances.calculatedAt` (string)
    The date and time the balance was calculated.

  - `data.balances.openToBuyAmount` (number)
    The amount of available credit a borrower has based on the `utilizationAmount` and transactions' hold day end date.
The difference between `availableCreditAmount` and the `openToBuyAmount` is that `availableCreditAmount` doesn't
take into account transactions' hold days. In other words, `availableCreditAmount` is more optimistic.
For lines of credit only:
- `openToBuyAmount` takes into account `authorizedAmount`. Authorized purchases decrease the `openToBuyAmount`.

Only applicable to lines of credit.

  - `data.balances.outstandingBalances` (object)
    When a loan is `active`, outstanding balances combine non-due, due, and overdue balances. When a loan is
`accelerated`, outstanding balances are equal to non-accrual balances. When a loan is `chargedOff`,
outstanding balances are equal to charged-off balances.

  - `data.balances.outstandingBalances.outstandingFeesAmount` (number)
    The fees portion of the `outstandingTotalAmount`.

  - `data.balances.outstandingBalances.outstandingInterestAmount` (number)
    The interest portion of the `outstandingTotalAmount`.

  - `data.balances.outstandingBalances.outstandingPrincipalAmount` (number)
    The principal portion of the `outstandingTotalAmount`.

  - `data.balances.outstandingBalances.outstandingTotalAmount` (number)
    The total outstanding balance sums outstanding principal, interest, and fees. Also called the loan payoff amount.
If the loan is charged off, the outstanding totalAmount will be equal to the `chargedOffTotalAmount`.

  - `data.balances.overdueBalances` (object)
    Overdue balances represent balances that are overdue.

  - `data.balances.overdueBalances.overdueTotalAmount` (number)
    The total overdue balance sums overdue principal, interest, and fees.

  - `data.balances.paidBalances` (object)
    If loan balance was affected by transaction(s) (e.g. payment), this object will contain details of the paid amounts.
The system will populate `paidBalances` attributes in two scenarios:
1. A transaction, a payment or service credit, was applied without triggering a replay. In this scenario, amounts
will show how much of the loan balance was paid by the transaction.
2. A replay was triggered. In this scenario, the system will sum up how much of the loan balance was paid by all
transactions that were reapplied from "replay start timestamp" until "replay end timestamp". If there were no
transactions in the replay period that impacted the loan balance, the `paidTotalAmount` and other attributes in the object will be zeros.

Outside of these scenarios, the values will be zero.

  - `data.balances.paidBalances.paidFeesAmount` (number)
    The amount of `paidTotalAmount` allocated to fees.

  - `data.balances.paidBalances.paidInterestAmount` (number)
    The amount of `paidTotalAmount` allocated to interest.

  - `data.balances.paidBalances.paidOverAmount` (number)
    Stores any excess amount that was not allocated to principal, interest or fees.
For example:
- A check in amount greater than outstanding balance was applied.
- The overpayment portion (aka balance owed to a borrower) will be reported as `paidOverAmount`.

  - `data.balances.paidBalances.paidPrincipalAmount` (number)
    The amount of `paidTotalAmount` allocated to principal.

  - `data.balances.paidBalances.paidReimbursementsAmount` (number)
    The total amount of reimbursements that were sent back to a borrower.

  - `data.balances.paidBalances.paidTotalAmount` (number)
    The paid amount that impacted/lowered the balance.

  - `data.balances.reimbursementAmount` (number)
    The total amount that a lender owes to the borrower. The amount was not sent to the borrower yet.
After a reimbursement is processed, the amount is reduced accordingly.

  - `data.balances.utilizationAmount` (number)
    The loan or draw utilization amount. In other words, the amount of credit used by the borrower.
For lines of credit only:
- The amount is calculated based on the loan type `creditLimit.utilizationCalculation` configuration.
For example: line of credit utilization can be calculated as the sum of principal buckets only without any interest or fees.
- `utilizationAmount` takes into account `authorizedAmount`. Authorized purchases increase the `utilizationAmount`.
- The amount can be negative. Negative amount happens only when the total amount of payments made by the borrower plus
the total amount of service credits exceeds the line or draw balance. Any future purchases will first deplete the
overpayment amount (also called `reimbursementAmount`).

Only applicable to line of credits or installment loans with multi-advances.

  - `data.eventId` (string)
    The creatingMessageId of the event that caused the balance change.

  - `data.interestAccruedAmount` (number)
    The amount of interest accrued. Only set for daily loan maintenance and catchup interest accrual.

  - `data.replayEndedAt` (string)
    Replay ended at timestamp. Only populated for replay events.

  - `data.replayId` (string)
    Replay's unique identifier.

  - `data.replayStartedAt` (string)
    Replay started at timestamp. Only populated for replay events.

  - `data.supercaseId` (string)
    Supercase's unique identifier.

