---
id: ADR-COM-FUL-020
title: Host import routes alongside their collection owners
product_area: commerce
module: fulfillment
revision: 1
status: proposed
design_intent: proposed
source_sha:
  services-commerce: c8b66a98e2490617aec38ba5c8165dd9bd0a8f9b
decision: >-
  Serve each collection’s data-job routes from its owning HTTP function while
  sharing job dispatch and execution.
constrains:
  - SVC-COM-FUL-data-operations
  - WF-COM-FUL-019
  - RESP-COM
origin: >-
  services-commerce:docs/migrations/data-operations/README.md#D-C-11 (build
  decision, CRM's arrangement); Platform's Data Job Engine plan as cited;
  OQ-COM-FUL-003; FND-COM-FUL-040
alternatives:
  - option: Serve all data-job collections through one HTTP function.
    why_not: >-
      The current route layout assigns collection paths to their owning HTTP
      function.
  - option: Place each collection import with its record-owning module.
    why_not: >-
      Collection-specific import ownership remains a product question even
      though routes already follow owners.
consequences:
  - Each collection’s function serves its own data-job routes.
  - Initial imports operate under the loading-state gate.
  - Product still needs to assign collection-specific import ownership.
supersedes: []
evidence:
  - >-
    services-commerce at c8b66a98:
    modules/data-operations/aws/api/data-operations.routes.ts;
    aws/data-operations.module.ts; docs/migrations/data-operations/README.md.
---

# Host import routes alongside their collection owners

## Context

Migration spans collections with different owners and write authorities.

## Decision

Serve each collection’s data-job routes from its owning HTTP function while sharing job dispatch and execution.

## Alternatives Considered

Serve all data-job collections through one HTTP function. The current route layout assigns collection paths to their owning HTTP function.

Place each collection import with its record-owning module. Collection-specific import ownership remains a product question even though routes already follow owners.

## Consequences

Collection authority remains distinct from import ownership. Product must decide which module owns collection-specific migration design.
