Rotate ad-server credentials on a live managed sales agent
In-place credential rotation for an already-provisioned tenant. Tenant state — products, principals, sync history — survives. Required for FreeWheel and SpringServe whose credentials rotate; Google Ad Manager rotation uses the ad-server endpoint above since Scope3 manages those credentials.
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
Rotate ad-server credentials on a live managed sales agent
Storefront → managed sales agent connection. A storefront can have multiple connections, each addressed by id.
Stable id for this managed-sales-agent connection. Use this id to address per-PSA actions (provision, deactivate, save ad-server config, etc.). A customer can have multiple PSAs.
Owning customer/storefront id.
-9007199254740991 <= x <= 9007199254740991Lifecycle of the managed sales agent tenant. pending: publisher saved an ad-server config but provisioning has not been attempted. provisioning: upstream call in flight. active: tenant is live. failed: last provisioning attempt failed. deactivated: soft-deleted.
pending, provisioning, active, failed, deactivated Upstream salesagent tenant id. Null until provisioning succeeds.
MCP endpoint exposed by the provisioned managed sales agent tenant. May be a relative path (e.g. /mcp/) — the consumer composes the absolute URL using the upstream salesagent base URL.
A2A endpoint exposed by the provisioned managed sales agent tenant. 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).