Update inventory source
Update an inventory source. Status transitions manage the linked agent lifecycle.
Authorizations
API key or access token
Path Parameters
Inventory source ID
1Body
Request body for updating an inventory source. Only the documented fields are writable. Unknown v2 extension keys are tolerated and ignored solely for legacy client compatibility.
Updated display name
1 - 255AGENT inventory sources can be updated here. MANAGED_SALES_AGENT and MODULAR_SOURCE lifecycle transitions happen through dedicated flows; LINKED_STOREFRONT sources are resolved at runtime from the ambient wholesale pool and have no lifecycle endpoint. Storefront-level ADAPTER dispatch is configured on the storefront, not as an inventory source.
AGENT Updated source status (PENDING → ACTIVE, ACTIVE → DISABLED)
PENDING, ACTIVE, DISABLED Updated agent description
2000Updated agent endpoint URL
2048Updated agent protocol
MCP, A2A Updated agent authentication type
API_KEY, NO_AUTH, JWT, OAUTH, BASIC_AUTH Updated authentication credentials. Omit to keep existing credentials. For BASIC_AUTH agents, use { type: "basic", username, password }.
- Option 1
- Option 2
- Option 3
- Option 4
OAuth audience / resource indicator for OAUTH agents (the protected-resource URI the agent gateway validates). Setting it re-mints the token with this aud claim and returns a fresh authorization URL to re-consent. Sent as both Auth0 audience and RFC 8707 resource.
2048"https://platform.example.com"
Response
Update inventory source
Inventory source response
Globally unique surrogate id (BIGINT serialized as string). Use this when acting on rows the caller does not own (e.g. a seller approving an inbound link).
Storefront-scoped identifier — unique within the row owner's storefront. Use this for actions on the caller's own rows; use id for cross-customer actions.
Display name
Execution type
AGENT, MANAGED_SALES_AGENT, LINKED_STOREFRONT, MODULAR_SOURCE Source lifecycle status
PENDING, ACTIVE, DISABLED Linked agent ID (when executionType is agent)
Creation timestamp (ISO 8601)
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$Last update timestamp (ISO 8601)
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$Public connection family for a preconfigured ad-server source. Omitted for other inventory-source families.
AD_SERVER Ad-server provider for a preconfigured ad-server source. Omitted for other inventory-source families.
citrusad Agent type
SALES, SIGNAL, CREATIVE, OUTCOME Agent endpoint URL
Agent protocol
MCP, A2A Agent description
Agent authentication type
API_KEY, NO_AUTH, JWT, OAUTH, BASIC_AUTH Whether the agent has authentication configured
OAuth authorization info (for OAUTH agents)
Embedded-sales-agent state when executionType is MANAGED_SALES_AGENT. Null/absent for external AGENT-type sources. The current REST surface (/api/v2/storefront/esa/...) remains the way to mutate this state today; subsequent PRs will move those actions under /api/v2/storefront/inventory-sources/:sourceId/....
Always null. Storefront interchange runs through the ambient wholesale pool: a curator discovers any LISTED storefront’s wholesale inventory automatically, with no per-counterparty link to establish. Retained for response-shape stability.
How the underlying agent reports delivery (WEBHOOK, BUCKET, POLLING). Mirrors the AdCP-spec values used when connecting the source. Projected from storefront_agent_source; null for non-AGENT sources.
WEBHOOK, BUCKET, POLLING Polling cadence (DAILY, MONTHLY) — only meaningful when reportingType is POLLING. Projected from storefront_agent_source; null for non-AGENT sources or non-polling reporting.
DAILY, MONTHLY True when this source is routed through an official Scope3-hosted adapter (storefront routing_mode is ADAPTER and the source_id matches the configured adapter). When true, the UI labels this as an official adapter rather than a generic external sales agent.
Explicit reusable SALES Agent capability connected to this Source. Null means the Source requires governed connection reconciliation; endpoint similarity is never used.
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$The backing Agent completeness contract. Managed ESA and initial modular Sources project their fixed WHOLESALE contract.
WHOLESALE, COMPOSING, BOTH Source product-path selection only when the Agent declares BOTH; null for single-mode Agents.
WHOLESALE, COMPOSING, BOTH Effective mode for new discovery. Null when the explicit Agent connection or declaration is unresolved.
WHOLESALE, COMPOSING, BOTH Bounded reconciliation reasons when effective mode cannot be resolved.
SOURCE_NOT_ACTIVE, AGENT_BINDING_MISSING, AGENT_MODE_UNDECLARED, BOTH_SELECTION_REQUIRED, MERCHANDISING_ACCESS_INACTIVE, WHOLESALE_CATALOG_NOT_READY Readiness for the Agent-supplied and Storefront-built product paths. BOTH exposes both entries; neither path silently replaces the other.