Skip to main content
POST /api/v2/buyer/advertisers/{advertiserId}/event-sources/sync Syncs your event source configurations onto an advertiser. Each source gets an event_source_id you pass on every log-event call. Sync is idempotent — re-sending the same config returns unchanged. Events sent to an unregistered source are rejected, so sync before you log.

Request

curl -X POST https://api.interchange.io/api/v2/buyer/advertisers/12345/event-sources/sync \
  -H "Authorization: Bearer $SCOPE3_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "account": { "account_id": "12345" },
    "event_sources": [
      {
        "event_source_id": "hightouch_purchase",
        "name": "Hightouch Purchase Sync",
        "event_types": ["purchase", "refund"],
        "integration_platform": "Hightouch",
        "mapping": {
          "event_id_field": "id",
          "event_type_field": "event_type",
          "event_time_field": "occurred_at",
          "user_match_fields": ["email_sha256", "sc3clid"],
          "value_field": "revenue",
          "currency_field": "currency",
          "order_id_field": "order_id",
          "consent_field": "consent_status",
          "dedupe_strategy": "Use the warehouse event primary key."
        },
        "test_event_code": "TEST-HIGHTOUCH"
      }
    ]
  }'

Parameters

FieldTypeRequiredNotes
advertiserIdstringYesPath. Owning advertiser
accountobjectYes{ account_id }. account_id must equal the path advertiserId
event_sourcesobject[]Yes1–50 sources to sync
event_sources[].event_source_idstringYesBuyer-assigned ID (1–255 chars)
event_sources[].namestringNoHuman-readable label (1–255 chars)
event_sources[].event_typesenum[]NoRestricts accepted types (e.g. purchase, lead, add_to_cart, custom). Omit to accept all
event_sources[].allowed_domainsstring[]NoDomains authorized to send events for this source
event_sources[].integration_platformstringNoScope3 extension for the source system, such as Hightouch, CRM, MMP, or server API
event_sources[].mappingobjectNoScope3 extension that records the source fields used to produce log-event payloads
event_sources[].mapping.event_id_fieldstringNoSource field mapped to events[].event_id for dedupe and retries
event_sources[].mapping.event_type_fieldstringNoSource field or expression mapped to canonical ADCP event_type
event_sources[].mapping.event_time_fieldstringNoSource timestamp field mapped to event_time
event_sources[].mapping.user_match_fieldsstring[]NoSource fields available for matching, such as click IDs or hashed identifiers
event_sources[].mapping.value_fieldstringNoSource field mapped to events[].custom_data.value
event_sources[].mapping.currency_fieldstringNoSource field mapped to events[].custom_data.currency
event_sources[].mapping.order_id_fieldstringNoSource field mapped to events[].custom_data.order_id
event_sources[].mapping.content_ids_fieldstringNoSource field mapped to product, SKU, or content identifiers
event_sources[].mapping.consent_fieldstringNoSource field used to gate consented event forwarding
event_sources[].mapping.dedupe_strategystringNoHow stable event IDs are generated and deduplicated
event_sources[].mapping.notesstringNoHuman-readable implementation notes for the source contract
event_sources[].test_event_codestringNoDefault test code to use while validating the integration
delete_missingbooleanNoArchive buyer-managed sources not in this payload (default false)

Response

{
  "event_sources": [
    { "event_source_id": "hightouch_purchase", "action": "created" }
  ]
}
action is one of created, updated, unchanged, failed, or deleted. A failed result carries an error message; the rest of the batch still applies.

Errors

  • 400 VALIDATION_ERRORaccount.account_id does not match the path, empty event_sources, or more than 50 sources.
  • 404 NOT_FOUNDadvertiserId does not exist or is not visible to the authenticated customer.
See Errors for the full error contract.

Event source tasks

All event source operations

Log Events guide

How event sources and log-event fit together

Log event

Send events through a registered source

Conversion API

Identity-hashing rules and event payloads