Skip to main content

get_media_buy_artifacts

Retrieve content artifacts from a media buy for validation. This is separate from get_media_buy_delivery which returns performance metrics - artifacts contain the actual content (text, images, video) where ads were placed. Response time: < 5s (batch of 1,000 artifacts)

Data Flow

The buyer retrieves artifacts the seller has collected per the sampling configuration agreed at buy creation time. Sellers may also push artifacts via webhook — get_media_buy_artifacts is the pull-based alternative. The buyer forwards artifacts to the verification agent for validation.

Request

Schema: get-media-buy-artifacts-request.json
Sampling is configured at buy creation time, not at retrieval time. The sampling rate, method, and per-channel configuration are part of the media buy’s governance.content_standards agreement. get_media_buy_artifacts retrieves artifacts that the seller has already collected per that agreement. For push-based delivery, configure artifact_webhook in create_media_buy.

Pagination

Uses higher limits than standard pagination because artifact result sets can be very large.

Response

Schema: get-media-buy-artifacts-response.json

Success Response

Response Fields

Use Cases

Validate Collected Artifacts

Focus on Local Failures

failures_only and Unevaluated Records

When a seller does not run a local evaluation model, all records have local_verdict: "unevaluated". In this case, failures_only returns an empty result set — there are no failures to return. Governance agents receiving validation results where every local_verdict is "unevaluated" should treat this as no local enforcement. The validation still works — the verification agent evaluates the artifacts normally — but there is no drift comparison to perform. Buyers can check content_standards.supports_local_evaluation in get_adcp_capabilities to know whether failures_only will be useful before creating a buy.

Non-Web Artifact Examples

Podcast

CTV

AI-Generated Content

Note: The AI-generated content example has local_verdict: "unevaluated" because the content is ephemeral and the platform relies on post-delivery validation rather than a local model.

Delivery vs Artifacts