Skip to content

Conversation

@devin-ai-integration
Copy link
Contributor

What

Removes two deprecated Amazon Seller Partner API report types per Amazon's deprecation schedule:

  • GET_FBA_SNS_FORECAST_DATA (Subscribe and Save Forecast Report)
  • GET_FBA_SNS_PERFORMANCE_DATA (Subscribe and Save Performance Report)

Amazon Deprecation Timeline:

  • July 25, 2025: Reports start returning empty responses
  • December 11, 2025: Reports completely removed from Amazon SP-API

Related Issues:

Requested by: @aaronsteers
Session: https://app.devin.ai/sessions/05d71798cf98423aafa8130adc279962

How

This is a straightforward deletion of deprecated streams from the manifest-only connector:

  1. Removed stream definitions from manifest.yaml:

    • Deleted complete stream definitions (~80 lines total)
    • Removed from report type enum list
  2. Cleaned up test files:

    • Deleted integration test catalog files for both streams
    • Removed test cases from unit_tests/integration/test_report_based_streams.py
    • Removed bypass entries from acceptance-test-config.yml
  3. Updated metadata and documentation:

    • Added breaking change notice in metadata.yaml for version 5.0.0
    • Set upgrade deadline to December 11, 2025
    • Included link to Amazon's deprecation documentation
  4. Cleaned up ERD and state files:

    • Removed stream entries from erd/discovered_catalog.json, erd/estimated_relationships.json, erd/source.dbml
    • Removed state entries from integration_tests/future_state.json and sample_state.json

Review guide

Critical items to review:

  1. metadata.yaml (lines 56-58) - Verify the breaking change notice is appropriate:

    • Message clearly explains what was removed and why
    • Upgrade deadline matches Amazon's deprecation date (December 11, 2025)
    • Links to Amazon's official deprecation notice
  2. manifest.yaml - Confirm only the two deprecated streams were removed:

    • Lines 167-168: Removed from report type enum
    • Lines 1773-1855: Complete stream definitions deleted
    • No other streams accidentally modified
  3. ERD files - Note that discovered_catalog.json and estimated_relationships.json show large diffs due to JSON reformatting:

    • This is a side effect of using Python's json.dump() to clean up the files
    • Functionality is unchanged, just formatting (compact → pretty-printed)
    • Verify this doesn't break any downstream tooling
  4. Test files - Confirm test cleanup is complete:

    • acceptance-test-config.yml: Two bypass entries removed
    • unit_tests/integration/test_report_based_streams.py: Two test cases removed
    • Integration test catalog files deleted

User Impact

Breaking Change (Version 5.0.0):

  • Users with connections syncing GET_FBA_SNS_FORECAST_DATA or GET_FBA_SNS_PERFORMANCE_DATA will need to:
    1. Upgrade to version 5.0.0 before December 11, 2025
    2. Remove these streams from their connection configuration
    3. Reconfigure affected connections

Timeline:

  • These streams will return empty data starting July 25, 2025
  • Connector will fail to sync these streams after December 11, 2025 if not upgraded

Mitigation:

  • No replacement streams available from Amazon
  • Users should check with Amazon for alternative Subscribe and Save reporting options
  • Proactive communication recommended for affected customers

Can this PR be safely reverted and rolled back?

  • YES 💚

This PR only removes deprecated functionality. If reverted:

  • The deprecated streams would be available again in the connector
  • However, they would return empty data (after July 25, 2025) or fail (after December 11, 2025) due to Amazon's API deprecation
  • No data loss or corruption risk from reverting

…nd Save report types

Remove GET_FBA_SNS_FORECAST_DATA and GET_FBA_SNS_PERFORMANCE_DATA streams per Amazon SP-API deprecation scheduled for December 11, 2025.

Changes:
- Remove deprecated report types from manifest.yaml report type enum
- Remove complete stream definitions for both deprecated reports
- Remove integration test files for deprecated streams
- Update acceptance-test-config.yml to remove deprecated stream entries
- Update unit tests to remove deprecated stream test cases
- Clean up ERD files (discovered_catalog.json, estimated_relationships.json, source.dbml)
- Clean up state files (future_state.json, sample_state.json)
- Add breaking change notice in metadata.yaml for version 5.0.0

Related to: airbytehq/airbyte-internal-issues#14177
Amazon deprecation notice: https://developer-docs.amazon.com/sp-api/changelog/deprecation-of-two-fba-subscribe-and-save-report-types

Co-Authored-By: unknown <>
@devin-ai-integration
Copy link
Contributor Author

Original prompt from API User
Comment from @aaronsteers: /ai-triage\n\nIMPORTANT: The user will expect a response posted back to the PR. You should post exactly one comment back to the respective issue PR. If the user requested a code change or PR, your comment should contain a link to the PR. Assume the user has no access to your session or conversation thread unless/until you respond back to them.\n\nIssue #14177 by @DanyloGL: Source Amazon Seller Partner: Deprecation of two FBA Subscribe and Save report types before 12/11/2025\n\nIssue URL: https://github.com/airbytehq/airbyte-internal-issues/issues/14177\n\nPlease use playbook macro: !issue_triage

PLAYBOOK_md:
# `/ai-triage` Slash Command Playbook

You are AI Triage Devin, an expert at analyzing Airbyte-related issues and providing actionable insights. You are responding to a GitHub slash command request. After reading the provided context, you should post a comment to confirm you understand the request and stating what your next steps will be, along with a link to your session. Once your triage and analysis is complete, update your comment with the full results of your triage. Collapse all of your comments under expandable sections.

IMPORTANT: Expect that your user has no access to the session and cannot talk with you directly. Do not wait for feedback or confirmation on any action.

## Context

You are analyzing the issue provided to you above. You will need to pull comment history on this issue to ensure you have full context.

## Your Task: Static Analysis and Triage

1. **Issue Analysis and Confirmation**: Read the complete issue content including all comments for full context.
   - **Post an initial comment immediately** (within 1-2 minutes) to confirm you understand the assignment and that you are looking into it. Include your session URL.
   - If you are missing any critical information or context (e.g., workspace UUID, connector version, error logs, reproduction steps, customer environment details), include in your initial comment... (9140 chars truncated...)

@devin-ai-integration
Copy link
Contributor Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

@github-actions
Copy link
Contributor

👋 Greetings, Airbyte Team Member!

Here are some helpful tips and reminders for your convenience.

Helpful Resources

PR Slash Commands

Airbyte Maintainers (that's you!) can execute the following slash commands on your PR:

  • /format-fix - Fixes most formatting issues.
  • /bump-version - Bumps connector versions.
    • You can specify a custom changelog by passing changelog. Example: /bump-version changelog="My cool update"
    • Leaving the changelog arg blank will auto-populate the changelog from the PR title.
  • /run-cat-tests - Runs legacy CAT tests (Connector Acceptance Tests)
  • /run-live-tests - Runs live tests for the modified connector(s).
  • /run-regression-tests - Runs regression tests for the modified connector(s).
  • /build-connector-images - Builds and publishes a pre-release docker image for the modified connector(s).
  • JVM connectors:
    • /update-connector-cdk-version connector=<CONNECTOR_NAME> - Updates the specified connector to the latest CDK version.
      Example: /update-connector-cdk-version connector=destination-bigquery
    • /bump-bulk-cdk-version bump=patch changelog='foo' - Bump the Bulk CDK's version. bump can be major/minor/patch.
  • Python connectors:
    • /poe connector source-example lock - Run the Poe lock task on the source-example connector, committing the results back to the branch.
    • /poe source example lock - Alias for /poe connector source-example lock.
    • /poe source example use-cdk-branch my/branch - Pin the source-example CDK reference to the branch name specified.
    • /poe source example use-cdk-latest - Update the source-example CDK dependency to the latest available version.

📝 Edit this welcome message.

@github-actions
Copy link
Contributor

github-actions bot commented Nov 21, 2025

source-amazon-seller-partner Connector Test Results

474 tests   471 ✅  15m 28s ⏱️
  2 suites    3 💤
  2 files      0 ❌

Results for commit 97aa5b8.

♻️ This comment has been updated with latest results.

…ifest.yaml

Removed snake_case references that were causing UndefinedReferenceException:
- Removed $ref entries for get_fba_sns_performance_data and get_fba_sns_forecast_data from streams list
- Removed complete schema definitions for both deprecated streams

This fixes the test failures where all 469 tests were failing due to unresolved stream references.

Co-Authored-By: unknown <>
Updated test_streams_count to expect 43 streams instead of 45, reflecting the removal of 2 deprecated FBA Subscribe and Save report streams (get_fba_sns_performance_data and get_fba_sns_forecast_data).

This fixes the test failure: 'assert 43 == 45'

Co-Authored-By: unknown <>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants