Skip to main content
GET
/
campaigns
/
{campaignId}
Get campaign
curl --request GET \
  --url https://api.interchange.io/api/v2/buyer/campaigns/{campaignId} \
  --header 'Authorization: Bearer <token>'
{
  "campaign": {
    "campaignId": "cmp_987654321",
    "advertiserId": "12345",
    "name": "Summer 2025 Campaign",
    "createdAt": "2025-01-15T10:30:00Z",
    "updatedAt": "2025-01-20T14:45:00Z",
    "mediaBuyRefs": [
      {
        "mediaBuyId": "mb_ETBn4gJ9Wu",
        "status": "ACTIVE"
      }
    ],
    "brief": "<string>",
    "flightDates": {
      "startDate": "2025-01-15T00:00:00Z",
      "endDate": "2025-03-31T23:59:59Z"
    },
    "budget": {
      "total": 1,
      "currency": "USD",
      "dailyCap": 1
    },
    "mediaBudget": {
      "total": 1,
      "currency": "<string>"
    },
    "fees": [
      {
        "label": "<string>",
        "amount": 1,
        "currency": "<string>",
        "marginPercent": 1,
        "unitPrice": 1
      }
    ],
    "allocatedBudget": 7500,
    "unallocatedBudget": 2500,
    "pacingPeriods": {
      "periods": [
        {
          "label": "<string>",
          "start": "<string>",
          "end": "<string>",
          "weight": 5,
          "budget": 1
        }
      ]
    },
    "constraints": {
      "geo_countries": [
        "<string>"
      ],
      "geo_countries_exclude": [
        "<string>"
      ],
      "geo_regions": [
        "<string>"
      ],
      "geo_regions_exclude": [
        "<string>"
      ],
      "geo_metros": [
        {
          "system": "nielsen_dma",
          "values": [
            "<string>"
          ]
        }
      ],
      "geo_metros_exclude": [
        {
          "system": "nielsen_dma",
          "values": [
            "<string>"
          ]
        }
      ],
      "geo_postal_areas": [
        {
          "country": "<string>",
          "system": "postal_code",
          "values": [
            "<string>"
          ]
        }
      ],
      "geo_postal_areas_exclude": [
        {
          "country": "<string>",
          "system": "postal_code",
          "values": [
            "<string>"
          ]
        }
      ],
      "language": [
        "<string>"
      ],
      "device_platform": [
        "ios"
      ],
      "device_type": [
        "desktop"
      ],
      "device_type_exclude": [
        "desktop"
      ],
      "channels": [
        "<string>"
      ],
      "countries": [
        "<string>"
      ]
    },
    "storefronts": [
      {
        "id": 42,
        "platformId": "acme-media",
        "name": "Acme Media"
      }
    ],
    "performanceConfig": {
      "optimizationGoals": [
        {
          "kind": "event",
          "eventSources": [
            {
              "eventSourceId": "website_pixel",
              "customEventName": "<string>",
              "valueField": "value",
              "valueFactor": 1
            }
          ],
          "target": {
            "kind": "cost_per",
            "value": 25
          },
          "attributionWindow": {
            "postClick": {
              "interval": 7,
              "unit": "days"
            },
            "postView": {
              "interval": 1,
              "unit": "days"
            }
          },
          "priority": 1
        }
      ]
    },
    "catalogId": 42,
    "discoveryId": "session_abc123",
    "productCount": 15,
    "products": [
      {
        "productId": "prod_123"
      }
    ],
    "audiences": [
      {
        "audienceId": "aud_123",
        "name": "Tech Enthusiasts 25-34",
        "status": "READY",
        "type": "TARGET",
        "enabledAt": "2025-03-01T12:00:00Z"
      }
    ],
    "creativeFormats": {
      "required": [
        {
          "agent_url": "<string>",
          "id": "<string>"
        }
      ],
      "covered": [
        {
          "agent_url": "<string>",
          "id": "<string>"
        }
      ],
      "missing": [
        {
          "agent_url": "<string>",
          "id": "<string>"
        }
      ]
    },
    "propertyLists": {
      "propertyLists": [
        {
          "listId": "<string>",
          "name": "<string>",
          "propertyCount": 4503599627370495,
          "createdAt": "<string>",
          "updatedAt": "<string>",
          "viaMediaBuys": [
            {
              "mediaBuyId": "<string>",
              "packageIds": [
                "<string>"
              ]
            }
          ]
        }
      ],
      "summary": {
        "totalLists": 4503599627370495,
        "includeCount": 4503599627370495,
        "excludeCount": 4503599627370495
      }
    },
    "mediaBuys": [
      {
        "mediaBuyId": "<string>",
        "name": "<string>",
        "status": "<string>",
        "createdAt": "2023-11-07T05:31:56Z",
        "updatedAt": "2023-11-07T05:31:56Z",
        "startTime": "2025-04-14T00:00:00Z",
        "endTime": "2025-04-30T23:59:59Z",
        "products": [
          {
            "productId": "<string>",
            "productName": "<string>",
            "publisherName": "<string>",
            "salesAgentName": "<string>",
            "budget": 123,
            "budgetCurrency": "<string>"
          }
        ],
        "pacingPeriods": {
          "periods": [
            {
              "label": "<string>",
              "start": "<string>",
              "end": "<string>",
              "weight": 5,
              "budget": 1
            }
          ]
        },
        "packages": [
          {
            "packageId": "<string>",
            "status": "<string>",
            "productIds": [
              "<string>"
            ],
            "budget": 123,
            "budgetCurrency": "<string>",
            "pacing": "<string>",
            "bidPrice": 123,
            "delivery": {
              "impressions": 123,
              "spend": 123,
              "clicks": 123
            }
          }
        ],
        "optimizationGoals": [
          {
            "kind": "metric",
            "metric": "clicks",
            "reach_unit": "individuals",
            "target_frequency": {
              "window": {
                "interval": 2,
                "unit": "seconds"
              },
              "min": 2,
              "max": 2
            },
            "view_duration_seconds": 123,
            "target": {
              "kind": "cost_per",
              "value": 123
            },
            "priority": 2
          }
        ],
        "performance": {
          "impressions": 123,
          "spend": 123,
          "clicks": 123,
          "views": 123,
          "completedViews": 123,
          "conversions": 123,
          "leads": 123,
          "lastUpdated": "2023-11-07T05:31:56Z"
        }
      }
    ],
    "dataDelivery": {
      "outputs": [
        {
          "outputConfigId": "<string>",
          "enabled": true,
          "credentialId": "<string>",
          "credentialName": "<string>",
          "deliveryConfig": {
            "type": "GCS",
            "pathPrefix": "",
            "format": "JSONL"
          },
          "createdAt": "<string>",
          "updatedAt": "<string>",
          "syncWeeklyDay": 3
        }
      ]
    },
    "frequencyCaps": [
      {
        "max_impressions": 3,
        "window": {
          "interval": 2,
          "unit": "seconds"
        },
        "id": "12345",
        "targetId": "camp_abc123",
        "createdAt": "<string>",
        "updatedAt": "<string>",
        "archivedAt": "<string>"
      }
    ]
  }
}

Authorizations

Authorization
string
header
required

API key or access token

Path Parameters

id
string
required

Unique identifier for the campaign

Minimum string length: 1
Example:

"cmp_987654321"

Query Parameters

mediaBuyId

Filter the embedded mediaBuys[] array to only the media buys with these IDs. Accepts a single ID (?mediaBuyId=mb_X) or repeated values (?mediaBuyId=mb_X&mediaBuyId=mb_Y). The campaign object itself is unchanged; only the nested media buys are narrowed. Use to drill into specific buys without loading every buy on the campaign (helps when the full tree exceeds an LLM context window). mediaBuyRefs still lists every buy on the campaign so callers can discover IDs.

Example:

"mb_ETBn4gJ9Wu"

includePropertyLists

When true, embed a propertyLists aggregate showing the include/exclude lists actually applied to this campaign via its media-buy packages. Defaults to false to keep the response small. To fetch the aggregate without the rest of the campaign, use GET /campaigns/:campaignId/property-lists.

Example:

"true"

Response

Get campaign

Response containing a single campaign

campaign
object
required

Campaign resource representation