Completions

Data-layer swarm · Integration Drift Monitor Agent · Response-shape-drift-detection skill · Published June 1, 2026

API response-shape drift detection for marketing-ops vendor APIs

Google Ads API, Meta Marketing API, GA4 Data API, Salesforce REST API, HubSpot CRM v3 API, TikTok Marketing API, LinkedIn Marketing API, Klaviyo API, Stripe API, Shopify Admin API ship per-vendor response-shape primitives. The response-shape-drift-detection skill on the integration-drift-monitor agent — running per-portfolio per-vendor per-endpoint per-field per-response-sample runtime-shape drift detection + per-canonical-downstream-impact-classification + per-canonical-severity-tiering + per-canonical-auto-PR-generation + per-portfolio audit-trail in minutes-not-days at multi-location-data-operator scale — is operator-side architecture above the per-vendor primitive.

What this skill closes

  • Per-vendor per-endpoint runtime JSON-Schema inference — per-genson + per-quicktype + per-jsonschema Draft-7 + Draft-2020-12 from per-response sample with 1-per-1000-response sampling rate and 7-day rolling baseline.
  • Per-field type inference across string + integer + float + boolean + null + array + object + date + datetime + timestamp + decimal + currency-amount + percentage + URL + email + UUID type-canonical-detection.
  • Per-cardinality inference — singleton-to-array + array-to-singleton + nullable-to-non-nullable + required-to-optional + optional-to-required canonical-cardinality-detection.
  • Per-enumeration value detection with rolling value-frequency-table for finite-value-set drift (enumeration value added / removed / renamed) and per-pagination-shape detection (cursor + offset-limit + page-number + Link-header RFC-8288 + stream + keyset).
  • Per-drift classification — breaking-change (field-removed + required-added + type-incompatible) vs non-breaking-change (field-added-optional + enumeration-value-added).
  • Per-downstream-agent impact classification via per-agent-dependency-graph traversal + per-agent-affected detection + per-agent-failure-mode prediction with Critical / High / Medium / Low severity tiering and PagerDuty + Slack + email notification routing.
  • Per-undocumented-change detection via cross-reference vs changelog-feed-ingestion-LLM-classification (sibling skill) + per-vendor-feedback-loop (auto-generate vendor support ticket).
  • Per-auto-PR generation with per-AST-parser (Python + JavaScript + TypeScript + Go + Ruby) code-location detection + per-LSP-references extraction + per-drift-type PR-draft (find-replace for rename + cast for type-change + fallback for removed-field + mapping for enumeration-value) + per-fixture + snapshot-test + mock update.

Why per-vendor-Google-Ads-API-canonical-changelog-RSS-polling breaks at multi-location-data-operator scale

Per-vendor-Google-Ads-API-canonical-changelog-RSS-polling ships per-vendor per-version per-release-note-canonical-text-canonical-blob-canonical-RSS primitive. Per-vendor-Meta-Marketing-API + per-GA4-Data-API + per-Salesforce-API (Spring + Summer + Winter release notes) + per-HubSpot-API + per-TikTok-Marketing-API + per-LinkedIn-Marketing-API + per-Klaviyo-API + per-Stripe-API + per-Shopify-Admin-API canonical-changelog ship per-vendor per-native-changelog-RSS primitives.

At 1-vendor scale per-RSS-polling per-release-note-text-blob primitive is enough. At multi-vendor-multi-location-data-operator scale per-50-to-100-vendor-API-ingestion × per-vendor-changelog-RSS-polling × per-changelog-canonical-text-blob-canonical-LLM-classification-canonical-cost canonical-cross-vendor-canonical-cross-endpoint-canonical-cross-field-canonical-runtime-shape-canonical-detection-blind.

Per-vendor-undocumented-canonical-field-rename + per-canonical-type-change-string-to-int + per-canonical-field-disappearance + per-canonical-enumeration-value-removal + per-canonical-cardinality-change-singleton-to-array + per-canonical-nesting-depth-change per-canonical-downstream-agent-canonical-silent-failure. Per-broken-pipeline-canonical-detection-canonical-72-hours-canonical-business-day-lag + per-downstream-CRM-record-canonical-data-corruption-canonical-detection-canonical-lag + per-attribution-canonical-data-canonical-loss-canonical-detection-canonical-lag + per-revenue-canonical-loss-canonical-from-broken-pipeline-canonical-2-to-7-business-days.

Per-canonical-runtime-canonical-shape-canonical-detection-blind + per-canonical-per-field-canonical-drift-detection-blind + per-canonical-per-endpoint-canonical-cross-response-canonical-shape-diff-blind + per-canonical-per-vendor-canonical-undocumented-change-detection-blind + per-canonical-downstream-canonical-impact-classification-blind. Per-canonical-runtime-canonical-per-response-canonical-shape-canonical-fingerprint + per-canonical-cross-response-canonical-shape-canonical-diff + per-canonical-per-field-canonical-drift-canonical-detection + per-canonical-undocumented-change-detection + per-canonical-downstream-impact-classification is operator-side architecture above per-vendor per-changelog-RSS primitive.

What is in market today

Per-vendor per-marketing-platform-API

Google Ads API (v17 current + v16 deprecated), Microsoft Advertising API, Meta Marketing API + Conversions API + Marketing API Graph, Apple Search Ads API, Amazon Advertising API, TikTok Marketing API, LinkedIn Marketing API, Pinterest Marketing API, Snapchat Marketing API, Reddit Ads API, X Ads API. Per-vendor per-changelog-RSS. Per-canonical-runtime-canonical-per-response-canonical-shape-canonical-fingerprint is not the primitive.

Per-vendor per-analytics-API + per-CRM-API

GA4 Data API + Reporting API + Admin API, Adobe Analytics 2.0 API, Heap REST API + GraphQL, Mixpanel API, Amplitude API, PostHog API, Segment Public API, Snowplow API + Salesforce REST + Bulk + Streaming + SOAP API, HubSpot CRM v3 API, Pipedrive, Zoho, Dynamics 365. Per-vendor per-SDK per-version. Per-canonical-cross-response-canonical-shape-canonical-diff is not the primitive.

Per-vendor per-marketing-automation-API + per-ecommerce-API

Marketo REST + SOAP, Pardot v5, Eloqua, ActiveCampaign, Klaviyo (v2024-10-15), Iterable, Customer.io, Braze, MailChimp Marketing, SendGrid, Postmark + Shopify Admin + Storefront GraphQL, BigCommerce, WooCommerce, Magento 2 REST + GraphQL, Salesforce Commerce Cloud, Adobe Commerce. Per-vendor per-endpoint per-static-spec. Per-canonical-per-field-canonical-drift-canonical-detection + per-canonical-downstream-impact-classification is not the primitive.

Per-vendor per-data-observability

Monte Carlo, Bigeye, Datafold, Soda, Acceldata, Validio, Sifflet, Metaplane, Synq, Re.Data, Great Expectations, dbt Tests. Per-account per-data-asset per-column-level schema-drift. Per-canonical-cross-vendor-canonical-cross-endpoint-canonical-cross-field-canonical-marketing-ops-canonical-coverage is not the primitive.

How the architecture is set up

  1. Per-portfolio per-canonical-cross-vendor-canonical-API-canonical-substrate-canonical-ingestion. Per-Google-Ads + per-Microsoft-Advertising + per-Meta-Marketing + per-Apple-Search-Ads + per-Amazon-Advertising + per-TikTok + per-LinkedIn + per-Pinterest + per-Snapchat + per-Reddit + per-X canonical-multi-paid + per-GA4 + per-Adobe-Analytics + per-Heap + per-Mixpanel + per-Amplitude + per-PostHog + per-Segment + per-Snowplow canonical-multi-analytics + per-Salesforce + per-HubSpot + per-Pipedrive + per-Zoho + per-Dynamics canonical-multi-CRM + per-Marketo + per-Pardot + per-Eloqua + per-ActiveCampaign + per-Klaviyo + per-Iterable + per-Customer.io + per-Braze + per-MailChimp + per-SendGrid + per-Postmark canonical-multi-marketing-automation + per-Shopify + per-BigCommerce + per-WooCommerce + per-Magento + per-Salesforce-Commerce + per-Adobe-Commerce canonical-multi-ecommerce + per-Stripe + per-PayPal + per-Square + per-Recurly + per-Chargebee + per-Recharge canonical-multi-payment.
  2. Per-portfolio per-canonical-per-vendor-per-endpoint-canonical-response-canonical-sampling. Per-1-per-1000-response-sample-rate + per-7-day-rolling-window + per-sample-storage canonical-sampling.
  3. Per-portfolio per-canonical-per-response-canonical-JSON-Schema-canonical-inference. Per-genson + per-quicktype + per-jsonschema-Draft-7 + per-jsonschema-Draft-2020-12 canonical-JSON-Schema-inference.
  4. Per-portfolio per-canonical-per-response-canonical-field-canonical-path-canonical-extraction. Per-JSONPath + per-jq + per-XPath-for-XML canonical-field-path-extraction.
  5. Per-portfolio per-canonical-per-response-canonical-field-canonical-type-canonical-inference. Per-string + per-integer + per-float + per-boolean + per-null + per-array + per-object + per-date + per-datetime + per-timestamp + per-decimal + per-currency-amount + per-percentage + per-URL + per-email + per-UUID canonical-type-inference.
  6. Per-portfolio per-canonical-per-response-canonical-field-canonical-cardinality-canonical-inference. Per-singleton + per-array + per-nullable + per-required + per-optional canonical-cardinality.
  7. Per-portfolio per-canonical-per-response-canonical-enumeration-canonical-extraction + per-pagination-shape + per-error-shape + per-rate-limit-header-shape. Per-finite-value-set + per-rolling-value-frequency-table + per-cursor + per-offset-limit + per-page-number + per-Link-header-RFC-8288 + per-stream + per-keyset canonical-shape-extraction.
  8. Per-portfolio per-canonical-per-vendor-per-endpoint-canonical-shape-canonical-rolling-7-day-canonical-baseline. Per-baseline-shape-fingerprint-merge + per-baseline-stability-scoring canonical-baseline.
  9. Per-portfolio per-canonical-per-new-response-canonical-vs-baseline-canonical-shape-canonical-diff. Per-field-added + per-removed + per-renamed + per-type-changed + per-cardinality-changed + per-enumeration-value-added + per-removed + per-renamed + per-nesting-depth-changed + per-pagination-shape-changed + per-error-shape-changed + per-rate-limit-header-changed canonical-shape-diff.
  10. Per-portfolio per-canonical-per-drift-canonical-classification. Per-breaking-change (field-removed + required-added + type-incompatible) vs per-non-breaking-change (field-added-optional + enumeration-value-added).
  11. Per-portfolio per-canonical-per-drift-canonical-downstream-canonical-agent-canonical-impact-canonical-classification. Per-agent-dependency-graph-traversal + per-affected-detection + per-failure-mode-prediction canonical-impact-classification.
  12. Per-portfolio per-canonical-per-drift-canonical-severity-canonical-tiering + per-notification-canonical-routing. Per-Critical-breaking-revenue + per-High-breaking-non-revenue + per-Medium-non-breaking-may-affect + per-Low-non-breaking-no-impact canonical-severity + per-PagerDuty + per-Slack + per-email routing.
  13. Per-portfolio per-canonical-undocumented-canonical-detection + per-auto-PR-canonical-generation + audit-trail. Per-cross-reference-vs-changelog-feed + per-undocumented-flag + per-vendor-feedback-loop + per-AST-parser-code-location + per-PR-draft (rename + cast + fallback + mapping) + per-fixture + snapshot-test + mock update + per-PR-routing.

Frequently asked questions

What is API response-shape drift detection for marketing-ops vendor APIs?

API response-shape drift detection runs per-portfolio per-vendor per-endpoint per-field per-response-sample-canonical-drift-detection + per-canonical-cross-response-canonical-shape-canonical-diff + per-canonical-field-canonical-rename-canonical-detection + per-canonical-field-canonical-type-canonical-change-canonical-detection + per-canonical-field-canonical-cardinality-canonical-change-canonical-detection (per-singleton-to-array + per-array-to-singleton + per-required-to-optional + per-optional-to-required per-canonical-cardinality-diff) + per-canonical-field-canonical-disappearance-canonical-detection + per-canonical-field-canonical-addition-canonical-detection + per-canonical-enumeration-canonical-value-canonical-removal-canonical-detection + per-canonical-enumeration-canonical-value-canonical-addition-canonical-detection + per-canonical-nesting-canonical-depth-canonical-change-canonical-detection + per-canonical-pagination-canonical-shape-canonical-change-canonical-detection + per-canonical-error-canonical-shape-canonical-change-canonical-detection + per-canonical-rate-limit-canonical-header-canonical-change-canonical-detection + per-canonical-downstream-canonical-agent-canonical-impact-canonical-classification + per-canonical-severity-canonical-tiering + per-canonical-auto-PR-canonical-generation + per-portfolio audit-trail. The per-vendor per-marketing-platform-API category includes Google Ads API (v17 current + v16 deprecated), Microsoft Advertising API, Meta Marketing API + Conversions API + Marketing API Graph, Apple Search Ads API, Amazon Advertising API, TikTok Marketing API, LinkedIn Marketing API, Pinterest Marketing API, Snapchat Marketing API, Reddit Ads API, X Ads API (formerly Twitter Ads API). The per-vendor per-analytics-API category includes Google Analytics 4 Data API + Reporting API + Admin API, Adobe Analytics 2.0 API + Customer Journey Analytics API, Heap REST API + GraphQL, Mixpanel API, Amplitude API + Cohort API, PostHog API, Segment Public API + Tracking API, Snowplow API. The per-vendor per-CRM-API category includes Salesforce REST API + Bulk API + Streaming API + SOAP API, HubSpot CRM v3 API + Webhooks, Pipedrive API, Zoho CRM API, Microsoft Dynamics 365 API, SAP CRM API, Sugar CRM API. The per-vendor per-marketing-automation-API category includes Marketo REST API + SOAP API, Pardot v5 API, Eloqua REST API, ActiveCampaign API, Klaviyo API (v2024-10-15 current), Iterable API, Customer.io API, Braze REST API, MailChimp Marketing API, SendGrid API, Postmark API. The per-vendor per-ecommerce-API category includes Shopify Admin API + Storefront GraphQL, BigCommerce API + GraphQL, WooCommerce REST API, Magento 2 REST + GraphQL API, Salesforce Commerce Cloud API, Adobe Commerce API. The per-vendor per-payment-API category includes Stripe API, PayPal REST API, Square API, Recurly API, Chargebee API, Recharge API. The response-shape-drift-detection skill on the integration-drift-monitor agent (1 of the bundle on integration-drift-monitor in the data-layer swarm alongside per-canonical-integration-health-monitoring + per-canonical-changelog-feed-ingestion-LLM-classification + per-canonical-deprecation-sunset-date-countdowns + per-canonical-auto-PR-generation-for-breaking-changes + per-canonical-schema-org-quarterly-audit) — running per-portfolio per-vendor per-endpoint per-field per-response-sample drift detection + per-canonical-downstream-impact-classification + per-canonical-severity-tiering + per-canonical-auto-PR-generation + per-portfolio audit-trail at multi-location-data-operator scale — is operator-side architecture above the per-vendor per-marketing-platform-API + per-analytics-API + per-CRM-API + per-marketing-automation-API + per-ecommerce-API + per-payment-API primitive.

Why does per-vendor-Google-Ads-API-canonical-changelog-RSS-polling break down at multi-location-data-operator scale?

Per-vendor-Google-Ads-API-canonical-changelog-RSS-polling ships per-vendor per-version per-release-note-canonical-text-canonical-blob-canonical-RSS primitive. Per-vendor-Meta-Marketing-API-canonical-changelog + per-GA4-Data-API-canonical-changelog + per-Salesforce-API-canonical-Spring-Summer-Winter-release-notes + per-HubSpot-API-canonical-changelog + per-TikTok-Marketing-API-canonical-changelog + per-LinkedIn-Marketing-API-canonical-changelog + per-Klaviyo-API-canonical-changelog + per-Stripe-API-canonical-changelog + per-Shopify-Admin-API-canonical-changelog ship per-vendor per-native-changelog-RSS primitives. At 1-vendor scale per-RSS-polling per-release-note-text-blob primitive is enough. At multi-vendor-multi-location-data-operator scale per-50-to-100-vendor-API-ingestion × per-per-vendor-changelog-RSS-polling × per-per-changelog-canonical-text-blob-canonical-LLM-classification-canonical-cost canonical-cross-vendor-canonical-cross-endpoint-canonical-cross-field-canonical-runtime-shape-canonical-detection-blind. Per-vendor-undocumented-canonical-field-rename + per-canonical-type-change-string-to-int + per-canonical-field-disappearance + per-canonical-enumeration-value-removal + per-canonical-cardinality-change-singleton-to-array + per-canonical-nesting-depth-change per-canonical-downstream-agent-canonical-silent-failure. Per-broken-pipeline-canonical-detection-canonical-72-hours-canonical-business-day-lag + per-downstream-CRM-record-canonical-data-corruption-canonical-detection-canonical-lag + per-attribution-canonical-data-canonical-loss-canonical-detection-canonical-lag + per-revenue-canonical-loss-canonical-from-broken-pipeline-canonical-2-to-7-business-days. Per-canonical-runtime-canonical-shape-canonical-detection-blind + per-canonical-per-field-canonical-drift-detection-blind + per-canonical-per-endpoint-canonical-cross-response-canonical-shape-diff-blind + per-canonical-per-vendor-canonical-undocumented-change-detection-blind + per-canonical-downstream-canonical-impact-classification-blind. Per-vendor-Google-Ads-API + Meta-Marketing + GA4 + Salesforce + HubSpot + TikTok + LinkedIn + Klaviyo + Stripe + Shopify ship per-vendor per-changelog-RSS primitive. Per-canonical-runtime-canonical-per-response-canonical-shape-canonical-fingerprint + per-canonical-cross-response-canonical-shape-canonical-diff + per-canonical-per-field-canonical-drift-canonical-detection + per-canonical-undocumented-change-detection + per-canonical-downstream-impact-classification is operator-side architecture above per-vendor per-changelog-RSS primitive.

What does per-portfolio per-canonical-runtime-canonical-per-response-canonical-shape-canonical-fingerprint do?

Per-portfolio per-canonical-runtime-canonical-per-response-canonical-shape-canonical-fingerprint runs per-portfolio per-canonical-per-vendor-per-endpoint-canonical-response-canonical-sampling (per-response-canonical-sample-canonical-storage + per-response-canonical-sample-canonical-rolling-window-canonical-7-days + per-response-canonical-sample-canonical-rate-canonical-1-per-1000-responses per-canonical-sampling) + per-canonical-per-response-canonical-JSON-Schema-canonical-inference (per-genson-Python-canonical-JSON-Schema-inference + per-quicktype-canonical-JSON-Schema-inference + per-jsonschema-canonical-Draft-7-canonical-spec + per-jsonschema-canonical-Draft-2020-12-canonical-spec per-canonical-JSON-Schema-inference) + per-canonical-per-response-canonical-field-canonical-path-canonical-extraction (per-JSONPath-canonical-extraction + per-jq-canonical-extraction + per-XPath-for-XML-canonical-extraction per-canonical-field-path-extraction) + per-canonical-per-response-canonical-field-canonical-type-canonical-inference (per-string + per-integer + per-float + per-boolean + per-null + per-array + per-object + per-date + per-datetime + per-timestamp + per-decimal + per-currency-amount + per-percentage + per-URL + per-email + per-UUID per-canonical-type-inference) + per-canonical-per-response-canonical-field-canonical-cardinality-canonical-inference (per-singleton + per-array + per-nullable + per-required + per-optional per-canonical-cardinality) + per-canonical-per-response-canonical-enumeration-canonical-value-canonical-extraction (per-finite-value-set + per-rolling-value-frequency-table per-canonical-enumeration-extraction) + per-canonical-per-response-canonical-nesting-canonical-depth-canonical-computation + per-canonical-per-response-canonical-pagination-canonical-shape-canonical-extraction (per-cursor-based + per-offset-limit + per-page-number + per-link-header-RFC-8288 + per-stream + per-keyset per-canonical-pagination-extraction) + per-canonical-per-response-canonical-shape-canonical-fingerprint-canonical-storage. Per-portfolio audit-trail.

How does per-portfolio per-canonical-cross-response-canonical-shape-canonical-diff-canonical-drift-canonical-detection work?

Per-portfolio per-canonical-cross-response-canonical-shape-canonical-diff-canonical-drift-canonical-detection runs per-portfolio per-canonical-per-vendor-per-endpoint-canonical-shape-canonical-rolling-7-day-canonical-baseline-canonical-computation (per-baseline-canonical-shape-canonical-fingerprint-canonical-merge + per-baseline-canonical-shape-canonical-stability-canonical-scoring per-canonical-baseline-computation) + per-canonical-per-new-response-canonical-vs-baseline-canonical-shape-canonical-diff (per-field-canonical-added + per-field-canonical-removed + per-field-canonical-renamed + per-field-canonical-type-canonical-changed-string-to-int + per-field-canonical-cardinality-canonical-changed-singleton-to-array + per-field-canonical-required-to-optional + per-enumeration-canonical-value-canonical-added + per-enumeration-canonical-value-canonical-removed + per-enumeration-canonical-value-canonical-renamed + per-nesting-canonical-depth-canonical-changed + per-pagination-canonical-shape-canonical-changed + per-error-canonical-shape-canonical-changed + per-rate-limit-canonical-header-canonical-changed per-canonical-shape-diff) + per-canonical-per-drift-canonical-classification (per-canonical-breaking-change-canonical-field-removed + per-canonical-breaking-change-canonical-required-added + per-canonical-breaking-change-canonical-type-changed-incompatible + per-canonical-non-breaking-change-canonical-field-added-optional + per-canonical-non-breaking-change-canonical-enumeration-value-added per-canonical-drift-classification) + per-canonical-per-drift-canonical-downstream-canonical-agent-canonical-impact-canonical-classification (per-agent-canonical-dependency-graph-canonical-traversal + per-agent-canonical-affected-canonical-detection + per-agent-canonical-failure-mode-canonical-prediction per-canonical-impact-classification) + per-canonical-per-drift-canonical-severity-canonical-tiering (per-Critical-breaking-change-canonical-downstream-canonical-revenue-impact + per-High-breaking-change-canonical-non-revenue + per-Medium-non-breaking-canonical-may-affect + per-Low-non-breaking-canonical-no-impact per-canonical-severity-tiering) + per-canonical-per-drift-canonical-notification-canonical-routing (per-on-call-canonical-PagerDuty + per-Slack-canonical-channel + per-email-canonical-engineering-lead per-canonical-notification-routing). Per-portfolio audit-trail.

What does per-portfolio per-canonical-undocumented-canonical-change-canonical-detection + per-canonical-auto-PR-canonical-generation do?

Per-portfolio per-canonical-undocumented-canonical-change-canonical-detection runs per-portfolio per-canonical-per-detected-drift-canonical-cross-reference-canonical-vs-canonical-changelog-feed (per-drift-detected-on-2026-06-01-canonical-vs-canonical-Google-Ads-API-changelog-RSS-canonical-search + per-vendor-changelog-canonical-LLM-classification-canonical-cross-reference + per-changelog-feed-ingestion-LLM-classification-skill-canonical-cross-reference per-canonical-cross-reference) + per-canonical-undocumented-canonical-flag (per-drift-detected-but-not-in-changelog-canonical-undocumented-flag + per-undocumented-canonical-priority-canonical-escalation per-canonical-undocumented-flag) + per-canonical-vendor-canonical-feedback-canonical-loop (per-undocumented-drift-canonical-vendor-canonical-support-ticket-canonical-auto-generation + per-vendor-canonical-status-page-canonical-monitoring per-canonical-vendor-feedback). Per-canonical-auto-PR-canonical-generation runs per-portfolio per-canonical-per-drift-canonical-affected-canonical-downstream-canonical-code-canonical-location-canonical-detection (per-grep-canonical-codebase-for-field-name + per-AST-canonical-parser-canonical-Python-JavaScript-TypeScript-Go-Ruby + per-LSP-canonical-language-server-canonical-references-canonical-extraction per-canonical-code-location-detection) + per-canonical-per-drift-canonical-PR-canonical-draft-canonical-generation (per-field-rename-canonical-find-replace-canonical-PR-draft + per-type-change-canonical-cast-canonical-PR-draft + per-removed-field-canonical-fallback-canonical-PR-draft + per-enumeration-value-canonical-mapping-canonical-PR-draft per-canonical-PR-draft) + per-canonical-PR-canonical-tests-canonical-update-canonical-generation (per-fixture-canonical-update + per-snapshot-canonical-test-canonical-update + per-mock-canonical-update per-canonical-test-update) + per-canonical-PR-canonical-routing-canonical-to-canonical-correct-canonical-repo + per-canonical-PR-canonical-reviewer-canonical-assignment. Per-portfolio audit-trail.

What does per-portfolio per-canonical-cross-vendor-canonical-API-canonical-substrate-canonical-ingestion + per-integration-drift-monitor-agent-canonical-bundle do?

Per-portfolio per-canonical-cross-vendor-canonical-API-canonical-substrate-canonical-ingestion runs per-portfolio per-canonical-Google-Ads-API + per-canonical-Microsoft-Advertising-API + per-canonical-Meta-Marketing-API + per-canonical-Apple-Search-Ads-API + per-canonical-Amazon-Advertising-API + per-canonical-TikTok-Marketing-API + per-canonical-LinkedIn-Marketing-API + per-canonical-Pinterest-Marketing-API + per-canonical-Snapchat-Marketing-API + per-canonical-Reddit-Ads-API + per-canonical-X-Ads-API canonical-multi-paid-substrate + per-canonical-GA4-Data-API + per-canonical-Adobe-Analytics-2.0-API + per-canonical-Heap-API + per-canonical-Mixpanel-API + per-canonical-Amplitude-API + per-canonical-PostHog-API + per-canonical-Segment-API + per-canonical-Snowplow-API canonical-multi-analytics-substrate + per-canonical-Salesforce-REST-API + per-canonical-HubSpot-CRM-v3-API + per-canonical-Pipedrive-API + per-canonical-Zoho-CRM-API + per-canonical-Microsoft-Dynamics-365-API canonical-multi-CRM-substrate + per-canonical-Marketo-REST-API + per-canonical-Pardot-v5-API + per-canonical-Eloqua-API + per-canonical-ActiveCampaign-API + per-canonical-Klaviyo-API + per-canonical-Iterable-API + per-canonical-Customer.io-API + per-canonical-Braze-API + per-canonical-MailChimp-Marketing-API + per-canonical-SendGrid-API + per-canonical-Postmark-API canonical-multi-marketing-automation-substrate + per-canonical-Shopify-Admin-API + per-canonical-Shopify-Storefront-GraphQL + per-canonical-BigCommerce-API + per-canonical-WooCommerce-REST-API + per-canonical-Magento-2-API + per-canonical-Salesforce-Commerce-Cloud-API + per-canonical-Adobe-Commerce-API canonical-multi-ecommerce-substrate + per-canonical-Stripe-API + per-canonical-PayPal-REST-API + per-canonical-Square-API + per-canonical-Recurly-API + per-canonical-Chargebee-API + per-canonical-Recharge-API canonical-multi-payment-substrate. Per-integration-drift-monitor-agent-canonical-bundle integrates the response-shape-drift-detection skill with sibling skills on the same agent: per-canonical-integration-health-monitoring (skill sibling — uses response-shape baseline for health monitoring) + per-canonical-changelog-feed-ingestion-LLM-classification (skill sibling — cross-references detected drift with changelog feed) + per-canonical-deprecation-sunset-date-countdowns (skill sibling — uses drift detection for deprecation tracking) + per-canonical-auto-PR-generation-for-breaking-changes (skill sibling — generates auto-PR for breaking drift) + per-canonical-schema-org-quarterly-audit (skill sibling — sister skill for schema.org spec-version drift). Per-portfolio audit-trail.

Engage the integration-drift-monitor agent

Per-portfolio per-vendor per-endpoint per-field per-response-sample drift detection + per-downstream-impact-classification + per-severity-tiering + per-auto-PR-generation + per-portfolio audit-trail shipped as the orchestration layer above your existing per-marketing-platform-API + per-analytics-API + per-CRM-API + per-marketing-automation-API + per-ecommerce-API + per-payment-API primitive.