Migration assurance
listTransactions by order id
listTransactions by order id focuses on migration mapping and reconciliation evidence, not generic API copy. Use it to turn a vague migration into a reviewable test case.
- Target keyword: listTransactions by order id
- Removed: listFinancialEventsByOrderId
- Replacement: listTransactions relatedIdentifierName=ORDER_ID
- Removal date: August 27, 2027
TL;DR
| Deprecated item | Removal date | Replacement | Migration risk | Scanner detection |
|---|---|---|---|---|
| listFinancialEventsByOrderId | August 27, 2027 | listTransactions relatedIdentifierName=ORDER_ID | Order-level refunds or fees can be missed if the filter is wrong or dropped on token pages. | AMZ-FIN-FILTER-001, AMZ-FIN-PAGINATION-001 |
Official status
Amazon documentation lists listFinancialEventsByOrderId as in-scope for this migration. Use the official source before code freeze because deadlines and replacement details can change.
Amazon Finances API v2024-06-19 reference Amazon SP-API deprecation schedule
Production Finances validation plan
Finances migration must protect accounting completeness. The validator evidence should be paired with a manifest that proves windows, nextToken pagination, recursive breakdowns and expected totals for representative close periods.
| Validation area | Production proof to collect |
|---|---|
| Date windows | Split requests into 180-day-or-smaller UTC windows and record the generated ranges. |
| Pagination | Continue on empty pages when nextToken exists and preserve postedAfter/postedBefore on every token request. |
| Breakdowns | Reconcile recursive amounts with deterministic decimals instead of floats. |
| Identifiers | Validate order, settlement and transaction identifiers against expected ledger joins. |
Mapping table
listTransactions by order id should be implemented as a small, reviewable mapping table before release.
| Old field or behavior | New field or behavior | Validation rule |
|---|---|---|
| Order ID input | relatedIdentifierValue | Use the exact Amazon order ID. |
| Filter name | relatedIdentifierName=ORDER_ID | Do not post-filter only in application code. |
| Pagination | same related identifier on nextToken pages | Preserve filter arguments on every page. |
Validation scenario
Replay one shipped order and one refunded order, then compare totals against legacy order-level finance output.
| Input evidence | Expected proof |
|---|---|
| Source scan finding | AMZ-FIN-FILTER-001, AMZ-FIN-PAGINATION-001 points to the old implementation. |
| Sample data | The migration sample covers the field, status, amount or identifier in this page. |
| Reviewer output | A short reconciliation note explains every accepted delta. |
Parser or reconciliation example
Use this as the shape of the unit test or review snippet; adjust names to your codebase.
await listTransactions({ relatedIdentifierName: 'ORDER_ID', relatedIdentifierValue: orderId, postedAfter, postedBefore });Removed resource and replacement
| Old resource | Replacement | Deadline | Validation outcome |
|---|---|---|---|
| listFinancialEventsByOrderId | listTransactions relatedIdentifierName=ORDER_ID | August 27, 2027 | Order-level refunds or fees can be missed if the filter is wrong or dropped on token pages. |
What breaks
| Area | Breakage |
|---|---|
| Code pattern | Code still assumes listFinancialEventsByOrderId. |
| Payload or schema | The migration target is listTransactions relatedIdentifierName=ORDER_ID, so shape, naming or grouping changes. |
| Permission or data access | Field visibility, role access or accounting availability can differ by marketplace and workflow. |
| Pagination, status or field mapping | Mapping mistakes can hide under successful HTTP responses unless samples are reconciled. |
Before/after example
The example is intentionally small so the migration shape is visible in a code review.
Before:
// Old assumption
listFinancialEventsByOrderId
After:
await listTransactions({ relatedIdentifierName: 'ORDER_ID', relatedIdentifierValue: orderId, postedAfter, postedBefore });Scanner detection
| Rule ID | Severity | Evidence pattern | False positive condition | Validation step |
|---|---|---|---|---|
| AMZ-FIN-FILTER-001, AMZ-FIN-PAGINATION-001 | HIGH when mapping drift affects accounting, PII or order state | listFinancialEventsByOrderId | Documentation, comments, generated clients or test fixtures can require manual review. | Capture one production-like sample for listFinancialEventsByOrderId. |
Migration checklist
- Capture one production-like sample for listFinancialEventsByOrderId.
- Normalize it into listTransactions relatedIdentifierName=ORDER_ID.
- Run the mapping table against the sample and record unmatched fields.
- Reconcile the expected totals, statuses, identifiers or access flags.
- Attach the mapping output to the migration ticket.
- Re-scan source and keep the sample evidence with the release gate.
Common mistakes
- Mapping field names without proving semantic equivalence.
- Using one happy-path sample instead of boundary samples.
- Skipping re-scan after the mapper or parser is patched.
Sample report preview
The public sample report shows the same evidence shape used by paid reports: rule ID, severity, file location, redacted evidence, migration mapping, validation step and quality gate.
FAQ
What should listTransactions by order id prove?
It should prove that listFinancialEventsByOrderId maps safely to listTransactions relatedIdentifierName=ORDER_ID for the tested workflow.
What evidence belongs in the ticket?
The source finding, mapping table result, sample input, normalized output and reconciliation note.
Can the page replace production validation?
No. It gives the mapping contract and sample gate; production rollout still needs staged validation.
How does the scanner help?
It flags AMZ-FIN-FILTER-001, AMZ-FIN-PAGINATION-001 evidence and links findings to the relevant mapping or validator page.
Official sources
Validate listTransactions by order id in your source
Run a static scan, review the sample report shape, then unlock the detailed migration report when the evidence is useful.