OptionalproposedOptionalproposalRequired for accept_proposal so governance can verify commercial terms.
Optionalparent_proposal_id?: stringImmediate predecessor this snapshot was forked from. Every proposal produced by refine_proposals carries it, equal to the request's source proposal_id, so negotiation lineage is reconstructible from proposals alone.
Optionalmedia_buy_id?: stringOptionalopportunity_id?: stringBuyer planning cycle associated with this proposal. Revisions inherit it; it does not participate in proposal identity.
Optionalbase_media_buy_revision?: numberOptionalaccepted_at?: stringOptionalexpires_at?: stringFor a draft, the indicative-terms freshness deadline. For a committed proposal, the inventory-hold deadline.
Optionaldescription?: stringOptionalbrief_alignment?: stringBase64url SHA-256 digest of the RFC 8785 JCS serialization of commercial_terms, prefixed with sha256:.
Optionalinsertion_order?: InsertionOrderOptionalpurchaseOverrides the task-derived purchase type when a future task needs one.
OptionalruntimeRuntime evidence used by signal-activation intent checks.
Open, absolute URI identifying the claim vocabulary. The URI is an identifier and need not be dereferenceable. AdCP does not maintain an enum of approved claims.
Optionallocator?: AttestationCredentialUriLocator | AttestationIssuerCredentialIdLocatorStable locator for resolving the credential. Credential URLs are permitted only when their canonical origin is allowlisted for the matched issuer. Issuer-scoped IDs name a resolver_id already published by the evaluator; the presentation cannot introduce a resolver URL.
Optionalembedded_credential?: { format: string; value: string | {}; ext?: ExtensionObject }Optional inline credential for private, authenticated, or offline delivery. It may accompany locator or be the only delivery path. Its format must be supported by the evaluator, and the evaluator MUST verify the credential exactly as it would a resolved credential.
Open, absolute URI identifying the credential/proof format. AdCP does not impose a universal issuer payload schema.
Credential encoded as a JSON object or a compact string, according to format.
Optionalext?: ExtensionObjectOptionalcontent_digest?: stringOptional SHA-256 digest pin for the exact credential bytes, formatted as sha256:
Optionalcredential_version?: stringOptional issuer-defined credential version hint. It is advisory; the resolved credential is authoritative.
Optionalvalidity_hint?: { not_before?: string; expires_at?: string }Optional planning-time validity hint copied from issuer metadata. Evaluators MUST use the resolved or embedded credential's signed validity and revocation state as authoritative.
Optionalverify_agent?: { agent_url: string }Optional presenter nomination of a verifier already published by the evaluator. This is a representation, not routing authority: agent_url MUST match an accepted_verifiers[] entry after canonicalization, and the evaluator may choose another accepted verifier or verify locally.
Optionalext?: ExtensionObjectOpen, absolute URI identifying the claim vocabulary. The URI is an identifier and need not be dereferenceable. AdCP does not maintain an enum of approved claims.
Optionallocator?: AttestationCredentialUriLocator | AttestationIssuerCredentialIdLocatorStable locator for resolving the credential. Credential URLs are permitted only when their canonical origin is allowlisted for the matched issuer. Issuer-scoped IDs name a resolver_id already published by the evaluator; the presentation cannot introduce a resolver URL.
Optionalembedded_credential?: { format: string; value: string | {}; ext?: ExtensionObject }Optional inline credential for private, authenticated, or offline delivery. It may accompany locator or be the only delivery path. Its format must be supported by the evaluator, and the evaluator MUST verify the credential exactly as it would a resolved credential.
Open, absolute URI identifying the credential/proof format. AdCP does not impose a universal issuer payload schema.
Credential encoded as a JSON object or a compact string, according to format.
Optionalext?: ExtensionObjectOptionalcontent_digest?: stringOptional SHA-256 digest pin for the exact credential bytes, formatted as sha256:
Optionalcredential_version?: stringOptional issuer-defined credential version hint. It is advisory; the resolved credential is authoritative.
Optionalvalidity_hint?: { not_before?: string; expires_at?: string }Optional planning-time validity hint copied from issuer metadata. Evaluators MUST use the resolved or embedded credential's signed validity and revocation state as authoritative.
Optionalverify_agent?: { agent_url: string }Optional presenter nomination of a verifier already published by the evaluator. This is a representation, not routing authority: agent_url MUST match an accepted_verifiers[] entry after canonicalization, and the evaluator may choose another accepted verifier or verify locally.
Optionalext?: ExtensionObjectOptionalsubject?: {OptionalinvoiceBilling override that governance must evaluate with the commitment.
Required for tasks whose commitment is not directly derivable from payload.