@adcp/sdk API Reference - v10.0.1
    Preparing search index...

    Interface SITerminateSessionRequest

    Request to terminate an SI session. Naturally idempotent — session_id is the dedup boundary, and terminating an already-terminated session is a no-op that returns the same terminal state. No idempotency_key is needed on this request.

    interface SITerminateSessionRequest {
        adcp_version?: string;
        adcp_major_version?: number;
        session_id: string;
        reason:
            | "handoff_transaction"
            | "handoff_complete"
            | "user_exit"
            | "session_timeout"
            | "host_terminated";
        termination_context?: {
            summary?: string;
            transaction_intent?: { action?: "purchase"
            | "subscribe"; product?: {} };
            cause?: string;
        };
        context?: ContextObject;
        ext?: ExtensionObject;
    }
    Index

    Properties

    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.

    session_id: string

    Session identifier to terminate

    reason:
        | "handoff_transaction"
        | "handoff_complete"
        | "user_exit"
        | "session_timeout"
        | "host_terminated"

    Reason for termination

    termination_context?: {
        summary?: string;
        transaction_intent?: { action?: "purchase" | "subscribe"; product?: {} };
        cause?: string;
    }

    Context for the termination

    Type Declaration

    • Optionalsummary?: string

      Summary of the conversation

    • Optionaltransaction_intent?: { action?: "purchase" | "subscribe"; product?: {} }

      For handoff_transaction - what user wants to buy

      • Optionalaction?: "purchase" | "subscribe"
      • Optionalproduct?: {}

        Product/service details

    • Optionalcause?: string

      For host_terminated - why host ended session

    context?: ContextObject
    ext?: ExtensionObject