OptionalpurchaseOptionalproposedOptionalconsultationOptionalproposalOptionalruntimeOptionallocator?: 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?: {Optionalinvoice
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.