# Get past transaction by ID

Endpoint: GET /people/{personId}/loans/{loanId}/migration/past-transaction/{transactionId}
Version: 2025-03-26
Security: oauth2, bearerAuth, apiKeyHeader

## Path parameters:

  - `personId` (string, required)
    A Borrower's unique identifier, tied to a person or a business. Can be Peach or a lender's external identifier.

  - `loanId` (string, required)
    The unique identifier of the Loan we wish to retrieve. Can be
Peach or lender's external identifier.

  - `transactionId` (string, required)
    Transaction ID. Can be Peach or lender's external identifier.

## Response 200 fields (application/json):

  - `message` (string)
    Description of the server action or error.

  - `status` (integer)
    HTTP status code.

  - `data` (object)

  - `data.migration` (object)
    Transaction migration related details. This object:
- Can be used only for transactions with an effective date before the "migration cutoff date".
- Can be used for lines that are migrated from another system to Peach. Don't use it for installment loan migration.
- Allows you to pass details on how a transaction was applied/allocated to draws.

For example:
Line of credit had three draws prior to the "migration cutoff date". Balances of draws were:
- Draw A: $650
- Draw B: $70
- Draw B: $0

A payment of $120 was processed. Using this object you can tell the system that $120 was waterfalled/allocated as following:
- Draw A split: $70
- Draw B split: $50
- Draw A split: $0

If you don't pass the `migration` object, then you won't be able to make the following status changes after the "migration cutoff date":
`pending` → `failed`
`succeeded` → `failed`

  - `data.migration.drawSplitDetails` (array)
    The transaction draw level split details are useful if the lender expects failures of previous successful transactions.
When a transaction is applied on the line of credit level, it flows according to the payment waterfall configuration across
multiple draws. At least one element in the `drawSplitDetails` array is required.

  - `data.migration.drawSplitDetails.drawAllocatedAmount` (number)
    The portion/split of the transaction `actualAmount` that was applied/allocated to the `originalDrawId` draw. The sum of all
`drawAllocatedAmount` must be equal to the transaction's `amount`.
If the transaction fails after the "migration cutoff date", the system will increase the applicable "originalDrawId" draw's
non-due principal balance and replay the line.

  - `data.migration.drawSplitDetails.originalDrawId` (string)
    The draw identifier. Can be Peach or lender's external identifier.
All past transactions prior to the "migration cutoff date" will be posted on the "migration" draw. After the "migration cutoff date",
a lender can have multiple draws (e.g. Purchases, Cash Withdrawals, etc.) Use this attribute to indicate the original draw ID that
the transaction was posted on in another system. In case of transaction failure after the "migration cutoff date", the `originalDrawId`
will be used to increase the draw's "non-due principal" balance.
Transactions can be posted on the line or draw level. If the transaction was originally posted on the draw level, choose one of the
post migration draws (e.g. Purchases).

