Skip to content

feat: enable external integrations through API#1302

Open
its-gabo wants to merge 4 commits intostagingfrom
gs_feat_open_api_to_integration
Open

feat: enable external integrations through API#1302
its-gabo wants to merge 4 commits intostagingfrom
gs_feat_open_api_to_integration

Conversation

@its-gabo
Copy link
Collaborator

Overview

This PR introduces integration API key support end-to-end and extends the integration API with a tenant listing endpoint.

Implemented scope includes:

  • Added backend integration module with dedicated API endpoints, service/repository layer, tenant-aware guard, schemas, and DB migrations for integration API keys.
  • Added admin-facing API and frontend settings UI for viewing and rotating integration API keys.
  • Updated generated API client, locale strings, Swagger schemas, and supporting bootstrap/module wiring.
  • Added endpoint to list tenants and made X-Tenant-Id optional for that specific integration route.
  • Added/updated e2e coverage for integration controller behavior.

Business Value

  • Enables secure machine-to-machine integrations through dedicated API keys.
  • Gives admins a straightforward way to manage integration credentials from the product UI.
  • Supports multi-tenant integration scenarios by exposing tenant listing where needed.
  • Improves maintainability and adoption with documented API contracts and typed client updates.

Screenshots / Video

Screen.Recording.2026-02-16.at.11.13.22.mov

@its-gabo its-gabo requested review from Japrolol and Rxbsxn February 16, 2026 10:15
@its-gabo its-gabo self-assigned this Feb 16, 2026
@its-gabo its-gabo added the review me 👀 PR is ready to be reviewed label Feb 16, 2026
@its-gabo its-gabo marked this pull request as ready for review February 16, 2026 10:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

review me 👀 PR is ready to be reviewed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant