Replace ad-server source config
Set the ad-server configuration on an ad-server-backed inventory source. The body is a full replacement (PUT semantics); PATCH is accepted as an alias for backwards compatibility with the legacy /psa/ad-server route.
Documentation Index
Fetch the complete documentation index at: https://docs.interchange.io/llms.txt
Use this file to discover all available pages before exploring further.
Authorizations
API key or access token
Path Parameters
Inventory source ID
1Body
- Option 1
- Option 2
- Option 3
Google Ad Manager configuration. Per-customer service-account credentials are managed by Scope3 (publisher grants access in their GAM admin console).
Response
Replace ad-server source config
Storefront → managed ad-server source connection. A storefront can have multiple connections, each addressed by id.
Stable id for this managed ad-server source. Use this id to address per-source actions (provision, deactivate, save ad-server config, etc.). A customer can have multiple managed sources.
Owning customer/storefront id.
-9007199254740991 <= x <= 9007199254740991Lifecycle of the managed ad-server source. pending: publisher saved an ad-server config but provisioning has not been attempted. provisioning: upstream call in flight. active: source is live. failed: last provisioning attempt failed. deactivated: soft-deleted.
pending, provisioning, active, failed, deactivated Upstream managed-source id for the managed ad-server source. Null until provisioning succeeds.
MCP endpoint exposed by the provisioned managed ad-server source. May be a relative path (e.g. /mcp/) — the consumer composes the absolute URL using the upstream base URL.
A2A endpoint exposed by the provisioned managed ad-server source. May be a relative path (e.g. /a2a) — see mcpUrl for resolution.
Publisher-supplied ad-server config. Null if not yet collected.
- Option 1
- Option 2
- Option 3
Per-customer service-account email the publisher must grant access to in their ad server. Created when ad-server config is saved. Surfaced so the UI can show it during onboarding.
^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$Failure reason from the most recent provisioning or test-connection attempt.
Machine-readable classification of the most recent provisioning failure. ADAPTER_NETWORK_NOT_FOUND (typo), ADAPTER_PERMISSION_DENIED (GAM grant still propagating), ADAPTER_INVALID_CREDENTIALS (storefront service account broken), ADAPTER_INVALID_CONFIG (bad field-level config), and ADAPTER_CONNECTION_FAILED (transient blip) are the adapter probe failures. INTERNAL_ERROR indicates an upstream or platform problem. Null when there has been no failure or after a successful provision.
^(?:(?:\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))$^(?:(?:\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))$^(?:(?:\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))$^(?:(?:\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))$^(?:(?:\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))$Cached inventory-sync state. Null when no signal has landed yet (no webhook delivered and no /status poll has run).