Skip to content

Un-deprecate GET /system/{fides_key}/connection endpoint#7668

Merged
adamsachs merged 2 commits intomainfrom
undeprecate-get-system-connections
Mar 16, 2026
Merged

Un-deprecate GET /system/{fides_key}/connection endpoint#7668
adamsachs merged 2 commits intomainfrom
undeprecate-get-system-connections

Conversation

@adamsachs
Copy link
Copy Markdown
Contributor

@adamsachs adamsachs commented Mar 16, 2026

Description Of Changes

Un-deprecates the get_system_connections endpoint (GET /system/{fides_key}/connection) that was marked deprecated in #7432 as part of the system-integration linking refactor.

The deprecation suggested using GET /connection (with linked_systems in the response) or GET /connection/{connection_key}/system-links as alternatives. However, neither replaces the system-centric access pattern this endpoint provides:

  • GET /connection returns all connections and has no system_fides_key filter — you'd have to fetch every page and filter client-side.
  • GET /connection/{key}/system-links goes the wrong direction (connection → systems, not system → connections).
  • orphaned_from_system is a boolean filter, not a system-specific one.

The get_system_connections endpoint remains the only efficient way to answer "what integrations are linked to this system?" The endpoint was already correctly updated in #7432 to use the new SystemConnectionConfigLink join table, so it works with the new data model — it just shouldn't have been marked deprecated.

The other system-scoped write endpoints (patch_connections, patch_connection_secrets, delete_connection, instantiate_connection_from_template) remain deprecated since they are genuinely replaced by the connection-centric and system-links APIs.

Code Changes

  • src/fides/api/v1/endpoints/system.py - Remove deprecated=True flag and deprecation docstring from get_system_connections

Steps to Confirm

  1. Verify the GET /system/{fides_key}/connection endpoint no longer shows as deprecated in the OpenAPI docs
  2. Verify the endpoint still correctly returns paginated connection configs for a given system

Pre-Merge Checklist

  • Issue requirements met
  • All CI pipelines succeeded
  • CHANGELOG.md updated
    • Add a db-migration This indicates that a change includes a database migration label to the entry if your change includes a DB migration
    • Add a high-risk This issue suggests changes that have a high-probability of breaking existing code label to the entry if your change includes a high-risk change (i.e. potential for performance impact or unexpected regression) that should be flagged
    • Updates unreleased work already in Changelog, no new entry necessary
  • UX feedback:
    • All UX related changes have been reviewed by a designer
    • No UX review needed
  • Followup issues:
    • Followup issues created
    • No followup issues
  • Database migrations:
    • Ensure that your downrev is up to date with the latest revision on main
    • Ensure that your downgrade() migration is correct and works
      • If a downgrade migration is not possible for this change, please call this out in the PR description!
    • No migrations
  • Documentation:
    • Documentation complete, PR opened in fidesdocs
    • Documentation issue created in fidesdocs
    • If there are any new client scopes created as part of the pull request, remember to update public-facing documentation that references our scope registry
    • No documentation updates required

The get_system_connections endpoint was deprecated in #7432 as part of the
system-integration linking refactor, but it serves a distinct access pattern
(system → connections) that the new system-links API does not replace. The
new endpoints are connection-centric (connection → systems), so there is no
efficient way to answer "what connections are linked to this system?" without
this endpoint.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@vercel
Copy link
Copy Markdown
Contributor

vercel bot commented Mar 16, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

2 Skipped Deployments
Project Deployment Actions Updated (UTC)
fides-plus-nightly Ignored Ignored Preview Mar 16, 2026 7:26pm
fides-privacy-center Ignored Ignored Mar 16, 2026 7:26pm

Request Review

@adamsachs adamsachs marked this pull request as ready for review March 16, 2026 19:21
@adamsachs adamsachs requested a review from a team as a code owner March 16, 2026 19:21
@adamsachs adamsachs requested review from JadeCara and removed request for a team March 16, 2026 19:21
@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps bot commented Mar 16, 2026

Greptile Summary

Removes the deprecation marker from the GET /system/{fides_key}/connection endpoint. This endpoint remains the only efficient server-side way to query "which connections are linked to a given system?" — the newer connection-centric APIs (GET /connection and GET /connection/{key}/system-links) navigate in the opposite direction and don't support filtering by system. The endpoint's underlying query already uses the new SystemConnectionConfigLink join table, so no logic changes are needed.

  • Removed deprecated=True from the get_system_connections route decorator
  • Simplified the docstring to remove the deprecation notice
  • Other system-scoped write endpoints (patch_connections, patch_connection_secrets, delete_connection, instantiate_connection_from_template) correctly remain deprecated

Confidence Score: 5/5

  • This PR is safe to merge — it only removes a deprecation flag and updates a docstring with no behavioral changes.
  • The change is purely declarative (removing deprecated=True and a docstring update). No logic, query behavior, or API contract is modified. The endpoint already works correctly with the new SystemConnectionConfigLink join table. The justification for un-deprecating is well-reasoned and confirmed by codebase analysis.
  • No files require special attention.

Important Files Changed

Filename Overview
src/fides/api/v1/endpoints/system.py Removes deprecated=True from the get_system_connections endpoint decorator and simplifies the docstring. No logic changes. The endpoint correctly uses the SystemConnectionConfigLink join table and remains the only efficient way to query connections by system.

Last reviewed commit: 8880874

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@adamsachs adamsachs requested review from galvana and removed request for JadeCara March 16, 2026 19:28
@adamsachs adamsachs enabled auto-merge March 16, 2026 19:34
@adamsachs adamsachs disabled auto-merge March 16, 2026 19:40
@adamsachs adamsachs merged commit 7b54e74 into main Mar 16, 2026
57 checks passed
@adamsachs adamsachs deleted the undeprecate-get-system-connections branch March 16, 2026 19:44
adamsachs added a commit that referenced this pull request Mar 16, 2026
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants