Skip to main content
GET /api/v2/storefront/inventory-sources/{sourceId}/modular Returns the runtime projection for a MODULAR_SOURCE: per-module contracts, lifecycle stages, missing setup fields, issues, and open source-side work-item counts. This reflects configuration completeness, not a guarantee that runtime inputs or upstream booking have completed.

Request

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

Parameters

FieldTypeRequiredNotes
sourceIdstring (path)YesStorefront-scoped inventory source ID

Response

{
  "inventorySource": {
    "id": "900222",
    "storefrontId": "42",
    "sourceId": "retail-modular",
    "name": "Retail Modular Source",
    "executionType": "MODULAR_SOURCE",
    "status": "ACTIVE",
    "healthStatus": "healthy",
    "lastError": null,
    "lastCheckedAt": "2026-05-02T09:00:00Z"
  },
  "modules": [
    {
      "moduleRowId": "mod_01",
      "inventorySourceId": "900222",
      "moduleInstanceId": "inventory-feed-1",
      "kind": "INVENTORY_FEED",
      "name": "Avails Feed",
      "provider": "csv_feed",
      "status": "ACTIVE",
      "contractId": "ctr_inventory_feed",
      "contractVersion": "1.2.0",
      "contract": null,
      "configuredFieldKeys": ["feedUrl", "refreshCron"],
      "missingSetupFieldsBySource": [],
      "lifecycle": [
        {
          "stage": "INGEST_AVAILS",
          "mode": "AUTOMATED",
          "description": "Pull avails from the configured feed.",
          "outputKeys": ["avails"],
          "requiredFieldsBySource": [],
          "missingSetupFieldsBySource": [],
          "moduleConfigReady": true
        }
      ],
      "openWorkItemCount": 0,
      "lastError": null,
      "lastCheckedAt": "2026-05-02T09:00:00Z",
      "issues": []
    }
  ],
  "openWorkItemCount": 0
}
Each module has a kind (INVENTORY_FEED, BOOKING_LEDGER, TRAFFICKING, STATUS_SYNC, REPORTING_IMPORT) and a status (CONFIGURING, ACTIVE, DISABLED, ERROR). missingSetupFieldsBySource[] groups unconfigured contract fields by where the value should come from (e.g. MODULE_CONFIG, INVENTORY_FEED). Each lifecycle[] stage reports its fulfilment mode (AUTOMATED, HITL, UNSUPPORTED) and a moduleConfigReady flag. openWorkItemCount rolls up open human-in-the-loop work.

Errors

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

Inventory source tasks

All operations

Update module config

Fill in missing module config

Get inventory source

Read the source row

Inventory sources overview

Concepts and lifecycle