Skip to main content
GET /api/v2/storefront/inventory-sources/{sourceId}/esa Returns the connection state for an ad-server-backed (MANAGED_SALES_AGENT) source: provisioning status, upstream endpoints, the non-secret ad-server config view, and cached inventory-sync state.

Request

curl https://api.interchange.io/api/v2/storefront/inventory-sources/retail-gam/esa \
  -H "Authorization: Bearer $SCOPE3_API_KEY"

Parameters

FieldTypeRequiredNotes
sourceIdstring (path)YesStorefront-scoped inventory source ID

Response

{
  "id": "550199",
  "customerId": 4210,
  "provisioningStatus": "active",
  "tenantId": "tnt_retail_gam",
  "mcpUrl": "/mcp/",
  "a2aUrl": "/a2a",
  "adServer": { "type": "google_ad_manager", "networkCode": "12345678" },
  "serviceAccountEmail": "retail-gam-4210@scope3-esa.iam.gserviceaccount.com",
  "lastError": null,
  "lastErrorCode": null,
  "lastTestedAt": "2026-05-02T09:14:00Z",
  "provisionedAt": "2026-04-25T12:10:00Z",
  "deactivatedAt": null,
  "createdAt": "2026-04-25T12:05:00Z",
  "updatedAt": "2026-05-02T09:14:00Z",
  "inventorySync": {
    "status": "success",
    "lastRunAt": "2026-05-02T08:00:00Z",
    "completedAt": "2026-05-02T08:03:00Z",
    "itemCount": 1840,
    "error": null,
    "updatedAt": "2026-05-02T08:03:00Z"
  }
}
provisioningStatus is pending, provisioning, active, failed, or deactivated. adServer is the non-secret config view and never contains credentials. lastErrorCode classifies the most recent failure (ADAPTER_NETWORK_NOT_FOUND, ADAPTER_PERMISSION_DENIED, ADAPTER_INVALID_CREDENTIALS, ADAPTER_INVALID_CONFIG, ADAPTER_CONNECTION_FAILED, or INTERNAL_ERROR). inventorySync is null until the first sync signal lands.

Errors

  • 401 UNAUTHORIZED — missing or invalid API key.
  • 404 NOT_FOUND — no ad-server-backed source with this sourceId.
See Errors for the full error contract.

Inventory source tasks

All operations

Get status

Operational snapshot

Replace ad-server config

Set the ad-server config

Test connection

Probe upstream reachability