API Tender Legacy Action Status
Date: 2026-03-19 Sprint: Platform Cleanup Sprint 103
Scope
This document classifies the tender legacy action routes in and separates route ownership from legacy outbox/event behavior.
Resolving locale, route permissions, and workspace projection.
Current scope: Guest
Category: 10_normative | Version: v1.0.0
Owner: DOCUMENT_CUSTODIAN | Review cycle: 90 days
Approval authority: GOVERNANCE_ADMIN
Documentation portal is read-only. Editing and mutation endpoints are disabled.
Kvary platform is originally created in Georgian. Where a Georgian version exists, Georgian is authoritative for platform UI, documentation, and legal interpretation.
Translations into other languages are provided for convenience. Some records may originate in other languages and carry their own source or legal locale for a specific flow, but where a Georgian version is available, the Georgian version prevails for platform-level wording and interpretation.
Metadata incomplete: Document ID, Version, Status, Owner Role, Last Review Date, Next Review Date, Change Log
Date: 2026-03-19 Sprint: Platform Cleanup Sprint 103
This document classifies the tender legacy action routes in and separates route ownership from legacy outbox/event behavior.
services/api| Route | Local action | Route classification | Event behavior | Verified in-repo caller status |
| --- | --- | --- | --- | --- |
| POST /api/v1/tenders/legacy/propose | proposeTenderFromKes | legacy local-engine action + compatibility bridge | may emit TENDER_CREATED via emitLegacyTenderOutbox | no verified direct in-repo caller |
| POST /api/v1/tenders/legacy/:id/bids | submitLegacyBid | legacy local-engine action + compatibility bridge | may emit BID_SUBMITTED | no verified direct in-repo caller |
| POST /api/v1/tenders/legacy/:id/close | closeLegacyBidding | legacy local-engine action + compatibility bridge | may emit BIDDING_CLOSED | no verified direct in-repo caller |
| POST /api/v1/tenders/legacy/:id/award/propose | proposeLegacyAward | legacy local-engine action + compatibility bridge | may emit AWARD_PROPOSED | no verified direct in-repo caller |
| POST /api/v1/tenders/legacy/:id/award/ratify | ratifyLegacyAward | legacy local-engine action + compatibility bridge | may emit AWARD_RATIFIED | no verified direct in-repo caller |
/legacy/* prefix and feature-flagged enablement show that this cluster exists to preserve older tender behavior at the gateway boundary.emitLegacyTenderOutbox(...) in legacyRoutes.ts posts to:
TENDERS_SERVICE_URLLEGACY_TENDERS_OUTBOX_PATH with default /legacy/tenders/eventslegacy_tender_events outbox behavior is documented as implementedsvc-tenders/legacy/* action cluster temporarily.legacy local-engine action + compatibility bridgegateway-side legacy event emission pathisolate into a narrower compatibility package, especially around the outbox bridge/api/v1/tenders/legacy/*.