Skip to main content
POST
/
storefronts
/
{storefrontId}
/
demand-signals
/
{signalId}
/
test-fit
Preview the agent response (dry-run)
curl --request POST \
  --url https://api.interchange.io/api/v2/storefront/storefronts/{storefrontId}/demand-signals/{signalId}/test-fit \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "overrides": {
    "includeProductIds": [
      "<string>"
    ],
    "excludeProductIds": [
      "<string>"
    ],
    "cpmOverrides": {},
    "notesOverride": "<string>"
  }
}
'
{
  "matchScore": 50,
  "factors": [
    {
      "id": "<string>",
      "label": "<string>",
      "weight": 50,
      "score": 50,
      "detail": "<string>"
    }
  ],
  "products": [
    {
      "productId": "<string>",
      "name": "<string>",
      "description": "<string>",
      "publisherDomain": "<string>",
      "channel": "<string>",
      "cpm": 123,
      "currency": "<string>",
      "estimatedImpressions": 4503599627370495,
      "fitScore": 50,
      "factors": [
        {
          "id": "<string>",
          "label": "<string>",
          "weight": 50,
          "score": 50,
          "detail": "<string>"
        }
      ],
      "skipReason": "<string>"
    }
  ],
  "productsConsidered": 4503599627370495,
  "draftReply": {
    "text": "<string>"
  },
  "headlineCpm": 1,
  "headlineCurrency": "<string>",
  "skippedProducts": [
    {
      "productId": "<string>",
      "name": "<string>",
      "description": "<string>",
      "publisherDomain": "<string>",
      "channel": "<string>",
      "cpm": 123,
      "currency": "<string>",
      "estimatedImpressions": 4503599627370495,
      "fitScore": 50,
      "factors": [
        {
          "id": "<string>",
          "label": "<string>",
          "weight": 50,
          "score": 50,
          "detail": "<string>"
        }
      ],
      "skipReason": "<string>"
    }
  ]
}

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

storefrontId
integer
required
Required range: x <= 9007199254740991
signalId
integer
required
Required range: x <= 9007199254740991

Body

application/json
overrides
object

Response

Preview the agent response (dry-run)

Dry-run result for the test-fit modal. Contains everything needed to render the auto-quote score, products, and agent-reply preview. Does NOT persist a response — call POST .../respond to send.

matchScore
integer
required
Required range: 0 <= x <= 100
verdict
enum<string>
required
Available options:
AUTO-QUOTE,
REVIEW,
PASS
factors
object[]
required
products
object[]
required
productsConsidered
integer
required
Required range: 0 <= x <= 9007199254740991
draftReply
object
required
headlineCpm
number | null
required
Required range: x > 0
headlineCurrency
string | null
required
Required string length: 3
skippedProducts
object[]