POST /api/v2/storefront/inventory-sources/modular/feed
Creates a real MODULAR_SOURCE for sellers who manage availability through a
spreadsheet, export, or manual feed rather than a live ad-server integration.
The source is created with the built-in avails-feed module and booking ledger.
When execution.mode is omitted, it defaults to manual and also receives the
provider-neutral manual execution module. Buyer media buys then create seller work
items for upstream booking, creative handoff, and final reporting instead of
requiring a provider-specific adapter.
In a /mcp/v3 seller session, call open_page with
{"page":"modular_source_setup"}. This opens the portable Add a modular
source Task. After the seller reviews and confirms the form, the app calls
create_feed_modular_inventory_source, which performs the same production
write described on this page and opens the new source workspace.
create_feed_modular_inventory_source is an app-only completion operation: an
MCP host may expose it to the embedded Task, but it is not intended for the
model to call directly. The same completion operation is available to this
portable Task when a storefront MCP host renders it. The operation and its Task
are listed only for sellers on Premium or Enterprise with the Merchandising
profile. Basic sellers should use the standard inventory-feed setup available
in their storefront instead.
This endpoint does not attach arbitrary provider execution, reporting,
creative, or OMS adapters. upstream_system details remain non-secret setup
metadata until a matching provider module exists.
Request
Parameters
Response
201 Created with the new source id and modular runtime projection:
POST /api/v2/storefront/inventory-sources/{sourceId}/modular/avails-feed.
Preview normalized rows first, then commit only after confirming row grain and
net sellable capacity.
If execution.mode is explicitly upstream_system or none, the response
includes a NO_EXECUTION_MODULE warning. The source cannot finalize buyer
bookings until a compatible trafficking module is attached. Because there is
currently no self-service attach flow, choose manual before uploading
availability unless an operator is provisioning that provider module.
Errors
400 VALIDATION_ERROR— missingnameor invalidsourceId.401 UNAUTHORIZED— missing or invalid API key.404 NOT_FOUND— the caller does not have a storefront.409 CONFLICT— another active source already uses the samesourceId.
Related
Modular lifecycle
How feed, booking, HITL, and reporting stages fit together
Get modular readiness
Inspect modules and lifecycle status
Update module config
Update non-secret module setup
Inventory source tasks
All operations