Skip to main content
PUT
/
inventory-sources
/
{sourceId}
/
adapter-config
Rotate ad-server credentials on a live managed sales agent
curl --request PUT \
  --url https://api.interchange.io/api/v2/storefront/inventory-sources/{sourceId}/adapter-config \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "networkCode": "12345678"
}
'
{
  "id": "<string>",
  "customerId": 0,
  "tenantId": "<string>",
  "mcpUrl": "<string>",
  "a2aUrl": "<string>",
  "adServer": {
    "networkCode": "12345678"
  },
  "serviceAccountEmail": "jsmith@example.com",
  "lastError": "<string>",
  "lastErrorCode": "<string>",
  "lastTestedAt": "2023-11-07T05:31:56Z",
  "provisionedAt": "2023-11-07T05:31:56Z",
  "deactivatedAt": "2023-11-07T05:31:56Z",
  "createdAt": "2023-11-07T05:31:56Z",
  "updatedAt": "2023-11-07T05:31:56Z",
  "inventorySync": {
    "lastRunAt": "2023-11-07T05:31:56Z",
    "completedAt": "2023-11-07T05:31:56Z",
    "itemCount": 0,
    "error": "<string>",
    "updatedAt": "2023-11-07T05:31:56Z"
  }
}

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

Authorization
string
header
required

API key or access token

Path Parameters

sourceId
string
required

Inventory source ID

Minimum string length: 1

Body

application/json

Google Ad Manager configuration. Per-customer service-account credentials are managed by Scope3 (publisher grants access in their GAM admin console).

type
enum<string>
required
Available options:
google_ad_manager
networkCode
string
required

Google Ad Manager network code.

Required string length: 1 - 32
Pattern: ^[0-9]+$
Example:

"12345678"

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.

id
string
required

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.

customerId
integer
required

Owning customer/storefront id.

Required range: -9007199254740991 <= x <= 9007199254740991
provisioningStatus
enum<string>
required

Lifecycle 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.

Available options:
pending,
provisioning,
active,
failed,
deactivated
tenantId
string | null
required

Upstream salesagent tenant id. Null until provisioning succeeds.

mcpUrl
string | null
required

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.

a2aUrl
string | null
required

A2A endpoint exposed by the provisioned managed sales agent tenant. May be a relative path (e.g. /a2a) — see mcpUrl for resolution.

adServer
object
required

Publisher-supplied ad-server config. Null if not yet collected.

serviceAccountEmail
string<email> | null
required

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.

Pattern: ^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$
lastError
string | null
required

Failure reason from the most recent provisioning or test-connection attempt.

lastErrorCode
string | null
required

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.

lastTestedAt
string<date-time> | null
required
Pattern: ^(?:(?:\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))$
provisionedAt
string<date-time> | null
required
Pattern: ^(?:(?:\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))$
deactivatedAt
string<date-time> | null
required
Pattern: ^(?:(?:\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))$
createdAt
string<date-time>
required
Pattern: ^(?:(?:\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))$
updatedAt
string<date-time>
required
Pattern: ^(?:(?:\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))$
inventorySync
object
required

Cached inventory-sync state. Null when no signal has landed yet (no webhook delivered and no /status poll has run).