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

    Interface SyncReportingReceiptsRequest

    Submit durable authenticated consumer reconciliation results for reporting materializations and post-official adjustments. This is a batched idempotent upsert, not an acknowledgement of mere webhook receipt. Identity comes from authenticated transport; the request MUST NOT assert a buyer or governance principal.

    interface SyncReportingReceiptsRequest {
        adcp_version?: string;
        adcp_major_version?: number;
        account: CanonicalAccountReference;
        idempotency_key: string;
        receipts?: {
            reporting_receipt_id: string;
            reporting_obligation_id: string;
            reporting_revision_id: string;
            reporting_materialization_id: string;
            supersedes_reporting_receipt_id?: string;
            status: "rejected" | "accepted";
            verification_profile: ReportingVerificationProfile;
            observed_row_count: number;
            observed_control_totals: ReportingControlTotal[];
            observed_canonical_content_digest?: ReportingCanonicalContentDigest;
            observed_manifest_sha256?: string;
            observed_native_version_ref?: string;
            consumer_commit_ref?: string;
            rejection_codes?: [string, ...string[]];
            observed_at: string;
            received_at?: string;
        }[];
        adjustment_receipts?: {
            reporting_receipt_id: string;
            reporting_adjustment_id: string;
            adjusts_reporting_revision_id: string;
            supersedes_reporting_receipt_id?: string;
            status: "rejected"
            | "accepted";
            observed_adjustment_sha256: string;
            rejection_codes?: [string, ...string[]];
            observed_at: string;
            received_at?: string;
        }[];
        context?: ContextObject;
        ext?: ExtensionObject;
    }
    Index
    adcp_version?: string

    Release-precision AdCP version (VERSION.RELEASE, e.g. "3.0", "3.1", "3.1-beta"). On a request: the buyer's release pin — the seller validates against its supported_versions and returns VERSION_UNSUPPORTED on cross-major mismatch, or downshifts to the highest supported release within the same major. On a response: the release the seller actually served — clients SHOULD validate the response against that release's schema, not against their pin. Patches are not negotiated; surface them as build_version on capabilities for operational visibility. When omitted, falls back to adcp_major_version (deprecated) or server default. Buyers SHOULD emit both adcp_version and adcp_major_version through 3.x to remain compatible with sellers that only read the legacy field. NORMALIZATION: SDKs that read full-semver values from bundle metadata (e.g. ComplianceIndex.published_version = "3.1.0-beta.1") MUST normalize to release-precision ("3.1-beta.1") before emitting on the wire — meta-field values are NOT valid wire values.

    adcp_major_version?: number

    DEPRECATED in favor of adcp_version (release-precision string). Servers MUST continue to honor this field through 3.x. Removed in 4.0. Original semantics: the AdCP major version the buyer's payloads conform to. Sellers validate against their supported major_versions and return VERSION_UNSUPPORTED if unsupported. When omitted, the seller assumes its highest supported version.

    account: CanonicalAccountReference
    idempotency_key: string

    Client-generated batch key. Exact retries reuse the key and body.

    16

    255

    ^[A-Za-z0-9_.:-]{16,255}$

    receipts?: {
        reporting_receipt_id: string;
        reporting_obligation_id: string;
        reporting_revision_id: string;
        reporting_materialization_id: string;
        supersedes_reporting_receipt_id?: string;
        status: "rejected" | "accepted";
        verification_profile: ReportingVerificationProfile;
        observed_row_count: number;
        observed_control_totals: ReportingControlTotal[];
        observed_canonical_content_digest?: ReportingCanonicalContentDigest;
        observed_manifest_sha256?: string;
        observed_native_version_ref?: string;
        consumer_commit_ref?: string;
        rejection_codes?: [string, ...string[]];
        observed_at: string;
        received_at?: string;
    }[]

    Type Declaration

    • reporting_receipt_id: string
    • reporting_obligation_id: string
    • reporting_revision_id: string
    • reporting_materialization_id: string
    • Optionalsupersedes_reporting_receipt_id?: string

      Optional immutable rejected receipt replaced by this new receipt. It MUST name the caller's current rejected receipt for this obligation and revision; accepted current receipts are terminal.

    • status: "rejected" | "accepted"
    • verification_profile: ReportingVerificationProfile
    • observed_row_count: number
    • observed_control_totals: ReportingControlTotal[]
    • Optionalobserved_canonical_content_digest?: ReportingCanonicalContentDigest
    • Optionalobserved_manifest_sha256?: string
    • Optionalobserved_native_version_ref?: string
    • Optionalconsumer_commit_ref?: string

      Optional non-secret consumer checkpoint, transaction, or load identifier. It is evidence for operations, not authorization or a credential.

    • Optionalrejection_codes?: [string, ...string[]]

      1

    • observed_at: string
    • Optionalreceived_at?: string

    100

    adjustment_receipts?: {
        reporting_receipt_id: string;
        reporting_adjustment_id: string;
        adjusts_reporting_revision_id: string;
        supersedes_reporting_receipt_id?: string;
        status: "rejected" | "accepted";
        observed_adjustment_sha256: string;
        rejection_codes?: [string, ...string[]];
        observed_at: string;
        received_at?: string;
    }[]

    Consumer acceptance or rejection of exact post-official adjustments.

    Type Declaration

    • reporting_receipt_id: string
    • reporting_adjustment_id: string
    • adjusts_reporting_revision_id: string
    • Optionalsupersedes_reporting_receipt_id?: string

      Optional immutable rejected receipt replaced by this new receipt for the same adjustment. Accepted current receipts are terminal.

    • status: "rejected" | "accepted"
    • observed_adjustment_sha256: string

      Digest recomputed from the adjustment using its canonical evidence rule.

    • Optionalrejection_codes?: [string, ...string[]]

      1

    • observed_at: string
    • Optionalreceived_at?: string

    100

    context?: ContextObject