@adcp/sdk API Reference - v14.3.0
    Preparing search index...

    Interface AccountChange

    Immutable metadata for one committed material change to account-scoped state recoverable through an authoritative AdCP read. The record is an ordered invalidation and audit aid, not a historical resource snapshot. Sellers MUST NOT include credentials, financial account numbers, raw audience members, raw logged events, webhook bodies, or unbounded before/after values.

    interface AccountChange {
        change_id: string;
        recorded_at: string;
        occurred_at?: string;
        batch_id?: string;
        resource: {
            type: string;
            account_id: string;
            resource_id: string;
            parent_ids?: { [k: string]: string | undefined };
        };
        action: string;
        origin: {
            kind: | "unknown"
            | "adcp"
            | "seller_operator"
            | "seller_system"
            | "connected_platform";
            connection_id?: string;
        };
        resource_revision?: string
        | number;
        changed_paths?: string[];
        repair: {
            task:
                | "get_signals"
                | "get_account_financials"
                | "sync_event_sources"
                | "sync_audiences"
                | "sync_catalogs"
                | "list_accounts"
                | "get_media_buys"
                | "get_media_buy_delivery"
                | "list_creatives"
                | "list_products";
            available?: boolean;
            unavailable_reason?: | "other"
            | "deleted"
            | "legal_erasure"
            | "purged"
            | "access_revoked";
        };
        actor?: {
            type: "operator"
            | "platform"
            | "unknown"
            | "principal"
            | "system";
            id?: string;
        };
        reason?: string;
        summary?: string;
        ext?: ExtensionObject;
    }
    Index
    change_id: string

    Stable seller-generated identifier for this logical change. Retries and notification re-emissions reuse this identifier.

    recorded_at: string

    Time the seller committed or durably observed the change. Feed order is defined by the cursor, not by this timestamp.

    occurred_at?: string

    Upstream business time when the change occurred, only when the seller can establish it reliably.

    batch_id?: string

    Optional stable identifier grouping records produced by one committed operation or one external-source ingestion batch. Each independently repairable authoritative identity still receives its own record; batch_id does not change cursor ordering or notification identity.

    resource: {
        type: string;
        account_id: string;
        resource_id: string;
        parent_ids?: { [k: string]: string | undefined };
    }

    Stable identity of the changed resource. Resource types are open for forward compatibility. account_id is always present; resource_id identifies the changed entity and parent_ids supplies any IDs needed to disambiguate nested resources.

    Type Declaration

    • type: string

      Open resource-type name such as account, media_buy, package, creative, creative_assignment, delivery_report, audience, event_source, catalog, or account_financials.

    • account_id: string

      Seller-assigned account containing the resource.

    • resource_id: string

      Canonical identifier for the resource within its type. For an account change this equals account_id.

    • Optionalparent_ids?: { [k: string]: string | undefined }

      Additional canonical parent identifiers needed to repair a nested resource, for example media_buy_id and package_id for a creative assignment. Keys and values MUST NOT contain sensitive payload data.

    action: string

    Material change action. Standard values are created, discovered, updated, status_changed, linked, unlinked, deleted, and purged. Future standard or vendor-namespaced values are allowed; receivers MUST treat unknown values as generic invalidations.

    origin: {
        kind:
            | "unknown"
            | "adcp"
            | "seller_operator"
            | "seller_system"
            | "connected_platform";
        connection_id?: string;
    }

    Server-derived origin classification. The seller MUST NOT trust caller-supplied origin or actor claims.

    Type Declaration

    • kind: "unknown" | "adcp" | "seller_operator" | "seller_system" | "connected_platform"
    • Optionalconnection_id?: string

      Opaque, non-secret reference to the connected source when safe for this caller.

    resource_revision?: string | number

    Post-change revision exposed by the repair read, when that resource family defines one.

    changed_paths?: string[]

    Bounded set of RFC 6901 JSON Pointers naming material fields that changed. Values are intentionally omitted.

    64

    repair: {
        task:
            | "get_signals"
            | "get_account_financials"
            | "sync_event_sources"
            | "sync_audiences"
            | "sync_catalogs"
            | "list_accounts"
            | "get_media_buys"
            | "get_media_buy_delivery"
            | "list_creatives"
            | "list_products";
        available?: boolean;
        unavailable_reason?: | "other"
        | "deleted"
        | "legal_erasure"
        | "purged"
        | "access_revoked";
    }

    Authoritative AdCP read the receiver uses to reconcile current state. The buyer constructs safe request arguments from the structured resource identity. A deleted or legally purged resource may instead declare unavailable with a categorical reason.

    Type Declaration

    • task:
          | "get_signals"
          | "get_account_financials"
          | "sync_event_sources"
          | "sync_audiences"
          | "sync_catalogs"
          | "list_accounts"
          | "get_media_buys"
          | "get_media_buy_delivery"
          | "list_creatives"
          | "list_products"

      Allowlisted authoritative read task. This is a repair hint, never an instruction to dispatch dynamically. The buyer constructs and validates the request locally from the authenticated feed account and resource identity.

    • Optionalavailable?: boolean

      False when deletion or compelled erasure makes the resource unavailable on the repair read.

    • Optionalunavailable_reason?: "other" | "deleted" | "legal_erasure" | "purged" | "access_revoked"
    actor?: {
        type: "operator" | "platform" | "unknown" | "principal" | "system";
        id?: string;
    }

    Optional privacy-safe actor classification. Sellers MUST omit direct personal identifiers unless the authenticated caller is authorized for them.

    Type Declaration

    • type: "operator" | "platform" | "unknown" | "principal" | "system"
    • Optionalid?: string

      Opaque, redaction-safe actor reference.

    reason?: string

    Short machine-readable reason code, when available.

    summary?: string

    Optional brief, untrusted human-readable summary. MUST NOT contain secrets or sensitive payload data.

    Bounded vendor extensions. The entire encoded change record, including extensions, MUST NOT exceed 64 KiB and remains subject to the same secret/PII prohibitions.