@adcp/sdk API Reference - v14.0.0-beta.6
    Preparing search index...

    Interface Account

    Account billed for this media buy. Includes advertiser, billing proxy (if any), and rate card applied.

    interface Account {
        account_id: string;
        name: string;
        advertiser?: string;
        billing_proxy?: string;
        status: AccountStatus;
        brand?: BrandReference;
        operator?: string;
        operator_unit?: OperatorUnit;
        revision?: number;
        identity_change?: AccountIdentityChange;
        currency?: string;
        timezone?: string;
        billing?: BillingParty;
        billing_entity?: BusinessEntity;
        destination_billing_entity?: {};
        rate_card?: string;
        payment_terms?: PaymentTerms;
        credit_limit?: { amount: number; currency: string };
        setup?: { url?: string; message: string; expires_at?: string };
        account_scope?: AccountScope;
        governance_agents?: [{ url: string }];
        reporting_bucket?: {
            protocol: CloudStorageProtocol;
            bucket: string;
            prefix?: string;
            region?: string;
            format?: "jsonl" | "csv" | "parquet" | "avro" | "orc";
            compression?: "none" | "gzip";
            file_retention_days: number;
            setup_instructions?: string;
        };
        sandbox?: boolean;
        notification_configs?: | []
        | [NotificationConfig]
        | [NotificationConfig, NotificationConfig]
        | [NotificationConfig, NotificationConfig, NotificationConfig]
        | [
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
        ]
        | [
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
        ]
        | [
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
        ]
        | [
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
        ]
        | [
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
        ]
        | [
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
        ]
        | [
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
        ]
        | [
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
        ]
        | [
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
        ]
        | [
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
        ]
        | [
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
        ]
        | [
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
        ]
        | [
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
        ];
        webhook_activity?: WebhookActivityRecord[];
        ext?: ExtensionObject;
    }
    Index

    Properties

    account_id: string

    Unique identifier for this account

    name: string

    Human-readable account name (e.g., 'Acme', 'Acme c/o Pinnacle')

    advertiser?: string

    The advertiser whose rates apply to this account

    billing_proxy?: string

    Optional intermediary who receives invoices on behalf of the advertiser (e.g., agency)

    operator?: string

    Domain of the entity operating this account. When the brand operates directly, this is the brand's domain.

    operator_unit?: OperatorUnit
    revision?: number

    Monotonically increasing optimistic-concurrency token for this account. Incremented on every persisted settings change, identity-change request, and identity-change disposition; reads, dry runs, validation failures, and exact idempotency replays do not increment it. Pass the latest observed value in a sync_accounts settings-update entry to prevent lost updates.

    identity_change?: AccountIdentityChange
    currency?: string

    Immutable transaction currency when the seller's advertiser object is currency-bound. Media buys on this account MUST use this currency. Omit when the account selects currency independently per media buy.

    timezone?: string

    Immutable operational timezone for this account, expressed as UTC or an IANA timezone identifier. AdCP 3.2 sellers return it on every account. It is the default calendar-day boundary for account-scoped behavior unless a feature explicitly declares another timezone basis. For buyer-selected account_fixed provisioning it participates in the natural account key.

    billing?: BillingParty
    billing_entity?: BusinessEntity
    destination_billing_entity?: {}

    Request-only staging field. It MUST NOT appear in account read models.

    rate_card?: string

    Identifier for the rate card applied to this account

    payment_terms?: PaymentTerms
    credit_limit?: { amount: number; currency: string }

    Maximum outstanding balance allowed

    setup?: { url?: string; message: string; expires_at?: string }

    Present when status is 'pending_approval'. Contains next steps for completing account activation.

    Type Declaration

    • Optionalurl?: string

      URL where the human can complete the required action (credit application, legal agreement, add funds).

    • message: string

      Human-readable description of what's needed.

    • Optionalexpires_at?: string

      When this setup link expires.

    account_scope?: AccountScope
    governance_agents?: [{ url: string }]

    Governance agent endpoint registered on this account. Exactly one entry per sync_governance's one-agent-per-account invariant. The array shape is preserved for wire compatibility with 3.0; maxItems: 1 is load-bearing and mirrors the singular governance_context on the protocol envelope. Authentication credentials are write-only and not included in responses — use sync_governance to set or update credentials.

    1

    1

    reporting_bucket?: {
        protocol: CloudStorageProtocol;
        bucket: string;
        prefix?: string;
        region?: string;
        format?: "jsonl" | "csv" | "parquet" | "avro" | "orc";
        compression?: "none" | "gzip";
        file_retention_days: number;
        setup_instructions?: string;
    }

    Cloud storage bucket where the seller delivers offline reporting files for this account. Seller provisions a dedicated bucket or a per-account prefix within a shared bucket, and grants the buyer read access out-of-band. Access MUST be scoped at the IAM layer so each account can only read its own prefix — bucket-wide grants are non-compliant even with per-account prefixes. Seller MUST revoke access when the account's status transitions to inactive, suspended, or closed. See security considerations for offline delivery in docs/media-buy/media-buys/optimization-reporting. Only present when the seller supports offline delivery (reporting_delivery_methods includes 'offline' in capabilities).

    Type Declaration

    • protocol: CloudStorageProtocol
    • bucket: string

      Bucket or container name

    • Optionalprefix?: string

      Path prefix within the bucket. Seller appends date-based partitioning beneath this prefix.

    • Optionalregion?: string

      Cloud region for the bucket

    • Optionalformat?: "jsonl" | "csv" | "parquet" | "avro" | "orc"

      File format for delivered files. Parquet, Avro, and ORC use internal compression (the top-level compression field is ignored for these formats).

    • Optionalcompression?: "none" | "gzip"

      Compression applied to delivered files

    • file_retention_days: number

      How long reporting files are retained in the bucket before deletion. Buyers must read files within this window. Minimum recommended: 14 days.

    • Optionalsetup_instructions?: string

      URL to documentation for configuring buyer read access to this bucket (IAM role, service account, etc.). Operator-facing documentation — buyer agents MUST NOT auto-fetch this URL; surface it to a human operator. If an implementation fetches it (for preview), apply webhook URL SSRF validation and do not pass the fetched content into an LLM context without indirect-prompt-injection guarding. See docs/media-buy/media-buys/optimization-reporting#security-considerations-for-offline-delivery.

    sandbox?: boolean

    When true, this is a sandbox account — no real platform calls, no real spend. For account-id namespaces, sandbox accounts are pre-existing test accounts on the platform discovered via list_accounts or supplied out-of-band. For buyer-declared accounts, sandbox is part of the natural key: the same brand/operator pair can have both a production and sandbox account.

    notification_configs?:
        | []
        | [NotificationConfig]
        | [NotificationConfig, NotificationConfig]
        | [NotificationConfig, NotificationConfig, NotificationConfig]
        | [
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
        ]
        | [
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
        ]
        | [
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
        ]
        | [
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
        ]
        | [
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
        ]
        | [
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
        ]
        | [
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
        ]
        | [
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
        ]
        | [
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
        ]
        | [
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
        ]
        | [
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
        ]
        | [
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
        ]
        | [
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
            NotificationConfig,
        ]

    Account-level webhook subscriptions for creative lifecycle/assignment changes, indicators.changed, account status, and wholesale feed changes. Buyers manage entries via sync_accounts and verify persisted state on list_accounts. Indicator and assignment payloads are invalidations repaired completely through get_media_buys; list_creatives may provide a bounded reverse projection. Distinct from per-resource push_notification_config. Entries are keyed by account-scoped subscriber_id; credentials are write-only.

    16

    webhook_activity?: WebhookActivityRecord[]

    Recent webhook delivery attempts scoped to this account when the caller requested webhook activity on list_accounts and the seller surfaces the log. Includes account-anchored notifications such as account.status_changed and MAY include other account-level fires relevant to this account. Three-state presence follows the shared webhook_activity[] contract: omitted means unsupported or not requested, [] means supported but no retained fires, non-empty lists recent attempts most-recent-first.

    200