Module adcp.simple

Simplified API accessor for ADCPClient.

Provides an ergonomic API with: - Kwargs instead of request objects - Direct return values (no TaskResult unwrapping) - Raises exceptions on errors

Usage -----= client = ADCPClient(config)

Standard API: full control

result = await client.get_products(GetProductsRequest(brief="Coffee", buying_mode="brief")) if result.success: print(result.data.products)

Simple API: ergonomic

products = await client.simple.get_products(brief="Coffee", buying_mode="brief") print(products.products)

Classes

class SimpleAPI (client: ADCPClient)
Expand source code
class SimpleAPI:
    """Simplified API accessor for ergonomic usage.

    Provides kwargs-based methods that return unwrapped response data
    and raise exceptions on errors.

    This is intended for:
    - Quick prototyping and testing
    - Documentation and examples
    - Simple scripts and notebooks

    For production code with complex error handling, use the standard
    client API which returns TaskResult wrappers.
    """

    def __init__(self, client: ADCPClient):
        """Initialize simple API accessor.

        Args:
            client: The ADCPClient instance to wrap
        """
        self._client = client

    async def get_products(
        self,
        **kwargs: Any,
    ) -> GetProductsResponse:
        """Get advertising products (simplified).

        This is a convenience wrapper around client.get_products() that:
        - Accepts kwargs instead of GetProductsRequest
        - Returns unwrapped GetProductsResponse
        - Raises ADCPSimpleAPIError on failures

        For full control over error handling, use client.get_products() instead.

        Args:
            **kwargs: Arguments for GetProductsRequest (brief, brand, etc.)

        Returns:
            GetProductsResponse directly (no TaskResult wrapper)

        Raises:
            ADCPSimpleAPIError: If request fails. Use standard API for detailed error handling.

        Example:
            products = await client.simple.get_products(
                brief='Coffee subscription service',
                buying_mode='brief',
            )
            print(f"Found {len(products.products)} products")
        """
        request = _make_request(GetProductsRequest, kwargs)
        result = await self._client.get_products(request)
        if not result.success or not result.data:
            raise ADCPSimpleAPIError(
                operation="get_products",
                error_message=result.error,
                agent_id=self._client.agent_config.id,
            )
        return result.data

    async def list_creative_formats_legacy(
        self,
        **kwargs: Any,
    ) -> ListCreativeFormatsResponse:
        """List supported creative formats.

        Args:
            **kwargs: Arguments passed to ListCreativeFormatsRequest

        Returns:
            ListCreativeFormatsResponse with formats list

        Raises:
            Exception: If the request fails

        Example:
            formats = await client.simple.list_creative_formats_legacy()
            print(f"Found {len(formats.formats)} formats")
        """
        request = _make_request(ListCreativeFormatsRequest, kwargs)
        result = await self._client.list_creative_formats_legacy(request)
        if not result.success or not result.data:
            raise ADCPSimpleAPIError(
                operation="list_creative_formats",
                error_message=result.error,
                agent_id=self._client.agent_config.id,
            )
        return result.data

    async def preview_creative_legacy(
        self,
        **kwargs: Any,
    ) -> LegacyPreviewCreativeResponse:
        """Preview creative manifest.

        Args:
            **kwargs: Arguments passed to PreviewCreativeRequest

        Returns:
            PreviewCreativeResponse with preview data

        Raises:
            Exception: If the request fails

        Example:
            preview = await client.simple.preview_creative(
                manifest={'format_id': 'banner_300x250', 'assets': {...}}
            )
            print(f"Preview: {preview.previews[0]}")
        """
        request = _make_request(LegacyPreviewCreativeRequest, kwargs)
        result = await self._client.preview_creative_legacy(request)
        if not result.success or not result.data:
            raise ADCPSimpleAPIError(
                operation="preview_creative",
                error_message=result.error,
                agent_id=self._client.agent_config.id,
            )
        return result.data

    async def sync_creatives(
        self,
        **kwargs: Any,
    ) -> SyncCreativesResponse:
        """Sync creatives.

        Args:
            **kwargs: Arguments passed to SyncCreativesRequest

        Returns:
            SyncCreativesResponse

        Raises:
            Exception: If the request fails
        """
        request = _make_request(SyncCreativesRequest, kwargs)
        result = await self._client.sync_creatives(request)
        if not result.success or not result.data:
            raise ADCPSimpleAPIError(
                operation="sync_creatives",
                error_message=result.error,
                agent_id=self._client.agent_config.id,
            )
        return result.data

    async def list_creatives(
        self,
        **kwargs: Any,
    ) -> ListCreativesResponse:
        """List creatives.

        Args:
            **kwargs: Arguments passed to ListCreativesRequest

        Returns:
            ListCreativesResponse

        Raises:
            Exception: If the request fails
        """
        request = _make_request(ListCreativesRequest, kwargs)
        result = await self._client.list_creatives(request)
        if not result.success or not result.data:
            raise ADCPSimpleAPIError(
                operation="list_creatives",
                error_message=result.error,
                agent_id=self._client.agent_config.id,
            )
        return result.data

    async def get_media_buy_delivery(
        self,
        **kwargs: Any,
    ) -> GetMediaBuyDeliveryResponse:
        """Get media buy delivery.

        Args:
            **kwargs: Arguments passed to GetMediaBuyDeliveryRequest

        Returns:
            GetMediaBuyDeliveryResponse

        Raises:
            Exception: If the request fails
        """
        request = _make_request(GetMediaBuyDeliveryRequest, kwargs)
        result = await self._client.get_media_buy_delivery(request)
        if not result.success or not result.data:
            raise ADCPSimpleAPIError(
                operation="get_media_buy_delivery",
                error_message=result.error,
                agent_id=self._client.agent_config.id,
            )
        return result.data

    async def get_signals(
        self,
        **kwargs: Any,
    ) -> GetSignalsResponse:
        """Get signals.

        Args:
            **kwargs: Arguments passed to GetSignalsRequest

        Returns:
            GetSignalsResponse

        Raises:
            Exception: If the request fails
        """
        request: GetSignalsDiscoveryRequest | GetSignalsLookupRequest
        if "signal_ids" in kwargs:
            request = GetSignalsLookupRequest.model_validate(kwargs)
        else:
            request = GetSignalsDiscoveryRequest.model_validate(kwargs)
        result = await self._client.get_signals(request)
        if not result.success or not result.data:
            raise ADCPSimpleAPIError(
                operation="get_signals",
                error_message=result.error,
                agent_id=self._client.agent_config.id,
            )
        return result.data

    async def activate_signal(
        self,
        **kwargs: Any,
    ) -> ActivateSignalResponse:
        """Activate signal.

        Args:
            **kwargs: Arguments passed to ActivateSignalRequest

        Returns:
            ActivateSignalResponse

        Raises:
            Exception: If the request fails
        """
        request = _make_request(ActivateSignalRequest, kwargs)
        result = await self._client.activate_signal(request)
        if not result.success or not result.data:
            raise ADCPSimpleAPIError(
                operation="activate_signal",
                error_message=result.error,
                agent_id=self._client.agent_config.id,
            )
        return result.data

    async def provide_performance_feedback(
        self,
        **kwargs: Any,
    ) -> ProvidePerformanceFeedbackResponse:
        """Provide performance feedback.

        Args:
            **kwargs: Arguments passed to ProvidePerformanceFeedbackRequest

        Returns:
            ProvidePerformanceFeedbackResponse

        Raises:
            Exception: If the request fails
        """
        request = _make_request(ProvidePerformanceFeedbackRequest, kwargs)
        result = await self._client.provide_performance_feedback(request)
        if not result.success or not result.data:
            raise ADCPSimpleAPIError(
                operation="provide_performance_feedback",
                error_message=result.error,
                agent_id=self._client.agent_config.id,
            )
        return result.data

    async def create_media_buy(
        self,
        **kwargs: Any,
    ) -> CreateMediaBuyResponse:
        """Create media buy.

        Args:
            **kwargs: Arguments passed to CreateMediaBuyRequest

        Returns:
            CreateMediaBuyResponse

        Raises:
            Exception: If the request fails

        Example:
            media_buy = await client.simple.create_media_buy(
                brand=brand,
                packages=[package_request],
                publisher_properties=properties
            )
            print(f"Created media buy: {media_buy.media_buy_id}")
        """
        request = _make_request(CreateMediaBuyRequest, kwargs)
        result = await self._client.create_media_buy(request)
        if not result.success or not result.data:
            raise ADCPSimpleAPIError(
                operation="create_media_buy",
                error_message=result.error,
                agent_id=self._client.agent_config.id,
            )
        return result.data

    async def update_media_buy(
        self,
        **kwargs: Any,
    ) -> UpdateMediaBuyResponse:
        """Update media buy.

        Args:
            **kwargs: Arguments passed to UpdateMediaBuyRequest

        Returns:
            UpdateMediaBuyResponse

        Raises:
            Exception: If the request fails

        Example:
            updated = await client.simple.update_media_buy(
                media_buy_id="mb_123",
                packages=[updated_package]
            )
            print(f"Updated media buy: {updated.media_buy_id}")
        """
        request = _make_request(UpdateMediaBuyRequest, kwargs)
        result = await self._client.update_media_buy(request)
        if not result.success or not result.data:
            raise ADCPSimpleAPIError(
                operation="update_media_buy",
                error_message=result.error,
                agent_id=self._client.agent_config.id,
            )
        return result.data

    async def build_creative_legacy(
        self,
        **kwargs: Any,
    ) -> LegacyBuildCreativeResponse:
        """Build creative.

        Args:
            **kwargs: Arguments passed to BuildCreativeRequest

        Returns:
            BuildCreativeResponse

        Raises:
            Exception: If the request fails

        Example:
            creative = await client.simple.build_creative(
                manifest=creative_manifest,
                target_format_id="vast_2.0",
                inputs={"duration": 30}
            )
            print(f"Built creative: {creative.assets[0].url}")
        """
        request = _make_request(LegacyBuildCreativeRequest, kwargs)
        result = await self._client.build_creative_legacy(request)
        if not result.success or not result.data:
            raise ADCPSimpleAPIError(
                operation="build_creative",
                error_message=result.error,
                agent_id=self._client.agent_config.id,
            )
        return result.data

    async def list_accounts(
        self,
        **kwargs: Any,
    ) -> ListAccountsResponse:
        """List accounts.

        Args:
            **kwargs: Arguments passed to ListAccountsRequest

        Returns:
            ListAccountsResponse

        Raises:
            Exception: If the request fails
        """
        request = _make_request(ListAccountsRequest, kwargs)
        result = await self._client.list_accounts(request)
        if not result.success or not result.data:
            raise ADCPSimpleAPIError(
                operation="list_accounts",
                error_message=result.error,
                agent_id=self._client.agent_config.id,
            )
        return result.data

    async def sync_accounts(
        self,
        **kwargs: Any,
    ) -> SyncAccountsResponse:
        """Sync accounts.

        Args:
            **kwargs: Arguments passed to SyncAccountsRequest

        Returns:
            SyncAccountsResponse

        Raises:
            Exception: If the request fails
        """
        request = _make_request(SyncAccountsRequest, kwargs)
        result = await self._client.sync_accounts(request)
        if not result.success or not result.data:
            raise ADCPSimpleAPIError(
                operation="sync_accounts",
                error_message=result.error,
                agent_id=self._client.agent_config.id,
            )
        return result.data

    async def log_event(
        self,
        **kwargs: Any,
    ) -> LogEventResponse:
        """Log event.

        Args:
            **kwargs: Arguments passed to LogEventRequest

        Returns:
            LogEventResponse

        Raises:
            Exception: If the request fails
        """
        request = _make_request(LogEventRequest, kwargs)
        result = await self._client.log_event(request)
        if not result.success or not result.data:
            raise ADCPSimpleAPIError(
                operation="log_event",
                error_message=result.error,
                agent_id=self._client.agent_config.id,
            )
        return result.data

    async def sync_event_sources(
        self,
        **kwargs: Any,
    ) -> SyncEventSourcesResponse:
        """Sync event sources.

        Args:
            **kwargs: Arguments passed to SyncEventSourcesRequest

        Returns:
            SyncEventSourcesResponse

        Raises:
            Exception: If the request fails
        """
        request = _make_request(SyncEventSourcesRequest, kwargs)
        result = await self._client.sync_event_sources(request)
        if not result.success or not result.data:
            raise ADCPSimpleAPIError(
                operation="sync_event_sources",
                error_message=result.error,
                agent_id=self._client.agent_config.id,
            )
        return result.data

    async def get_creative_delivery(
        self,
        **kwargs: Any,
    ) -> GetCreativeDeliveryResponse:
        """Get creative delivery.

        Args:
            **kwargs: Arguments passed to GetCreativeDeliveryRequest

        Returns:
            GetCreativeDeliveryResponse

        Raises:
            Exception: If the request fails
        """
        request = _make_request(GetCreativeDeliveryRequest, kwargs)
        result = await self._client.get_creative_delivery(request)
        if not result.success or not result.data:
            raise ADCPSimpleAPIError(
                operation="get_creative_delivery",
                error_message=result.error,
                agent_id=self._client.agent_config.id,
            )
        return result.data

Simplified API accessor for ergonomic usage.

Provides kwargs-based methods that return unwrapped response data and raise exceptions on errors.

This is intended for: - Quick prototyping and testing - Documentation and examples - Simple scripts and notebooks

For production code with complex error handling, use the standard client API which returns TaskResult wrappers.

Initialize simple API accessor.

Args
-----=
client
The ADCPClient instance to wrap

Methods

async def activate_signal(self, **kwargs: Any) ‑> adcp.types.generated_poc.signals.activate_signal_response.ActivateSignalResponse1 | adcp.types.generated_poc.signals.activate_signal_response.ActivateSignalResponse2
Expand source code
async def activate_signal(
    self,
    **kwargs: Any,
) -> ActivateSignalResponse:
    """Activate signal.

    Args:
        **kwargs: Arguments passed to ActivateSignalRequest

    Returns:
        ActivateSignalResponse

    Raises:
        Exception: If the request fails
    """
    request = _make_request(ActivateSignalRequest, kwargs)
    result = await self._client.activate_signal(request)
    if not result.success or not result.data:
        raise ADCPSimpleAPIError(
            operation="activate_signal",
            error_message=result.error,
            agent_id=self._client.agent_config.id,
        )
    return result.data

Activate signal.

Args
-----=
**kwargs
Arguments passed to ActivateSignalRequest

Returns -----= ActivateSignalResponse

Raises
-----=
Exception
If the request fails
async def build_creative_legacy(self, **kwargs: Any) ‑> adcp.types.generated_poc.media_buy.build_creative_response.BuildCreativeResponse1 | adcp.types.generated_poc.media_buy.build_creative_response.BuildCreativeResponse2 | adcp.types.generated_poc.media_buy.build_creative_response.BuildCreativeResponse3 | adcp.types.generated_poc.media_buy.build_creative_response.BuildCreativeResponse4 | adcp.types.generated_poc.media_buy.build_creative_response.BuildCreativeResponse5 | adcp.types.generated_poc.media_buy.build_creative_response.BuildCreativeResponse6
Expand source code
async def build_creative_legacy(
    self,
    **kwargs: Any,
) -> LegacyBuildCreativeResponse:
    """Build creative.

    Args:
        **kwargs: Arguments passed to BuildCreativeRequest

    Returns:
        BuildCreativeResponse

    Raises:
        Exception: If the request fails

    Example:
        creative = await client.simple.build_creative(
            manifest=creative_manifest,
            target_format_id="vast_2.0",
            inputs={"duration": 30}
        )
        print(f"Built creative: {creative.assets[0].url}")
    """
    request = _make_request(LegacyBuildCreativeRequest, kwargs)
    result = await self._client.build_creative_legacy(request)
    if not result.success or not result.data:
        raise ADCPSimpleAPIError(
            operation="build_creative",
            error_message=result.error,
            agent_id=self._client.agent_config.id,
        )
    return result.data

Build creative.

Args
-----=
**kwargs
Arguments passed to BuildCreativeRequest

Returns -----= BuildCreativeResponse

Raises
-----=
Exception
If the request fails

Example -----= creative = await client.simple.build_creative( manifest=creative_manifest, target_format_id="vast_2.0", inputs={"duration": 30} ) print(f"Built creative: {creative.assets[0].url}")

async def create_media_buy(self, **kwargs: Any) ‑> CreateMediaBuyResponse1 | CreateMediaBuyResponse2 | CreateMediaBuyResponse3
Expand source code
async def create_media_buy(
    self,
    **kwargs: Any,
) -> CreateMediaBuyResponse:
    """Create media buy.

    Args:
        **kwargs: Arguments passed to CreateMediaBuyRequest

    Returns:
        CreateMediaBuyResponse

    Raises:
        Exception: If the request fails

    Example:
        media_buy = await client.simple.create_media_buy(
            brand=brand,
            packages=[package_request],
            publisher_properties=properties
        )
        print(f"Created media buy: {media_buy.media_buy_id}")
    """
    request = _make_request(CreateMediaBuyRequest, kwargs)
    result = await self._client.create_media_buy(request)
    if not result.success or not result.data:
        raise ADCPSimpleAPIError(
            operation="create_media_buy",
            error_message=result.error,
            agent_id=self._client.agent_config.id,
        )
    return result.data

Create media buy.

Args
-----=
**kwargs
Arguments passed to CreateMediaBuyRequest

Returns -----= CreateMediaBuyResponse

Raises
-----=
Exception
If the request fails

Example -----= media_buy = await client.simple.create_media_buy( brand=brand, packages=[package_request], publisher_properties=properties ) print(f"Created media buy: {media_buy.media_buy_id}")

async def get_creative_delivery(self, **kwargs: Any) ‑> GetCreativeDeliveryResponse
Expand source code
async def get_creative_delivery(
    self,
    **kwargs: Any,
) -> GetCreativeDeliveryResponse:
    """Get creative delivery.

    Args:
        **kwargs: Arguments passed to GetCreativeDeliveryRequest

    Returns:
        GetCreativeDeliveryResponse

    Raises:
        Exception: If the request fails
    """
    request = _make_request(GetCreativeDeliveryRequest, kwargs)
    result = await self._client.get_creative_delivery(request)
    if not result.success or not result.data:
        raise ADCPSimpleAPIError(
            operation="get_creative_delivery",
            error_message=result.error,
            agent_id=self._client.agent_config.id,
        )
    return result.data

Get creative delivery.

Args
-----=
**kwargs
Arguments passed to GetCreativeDeliveryRequest

Returns -----= GetCreativeDeliveryResponse

Raises
-----=
Exception
If the request fails
async def get_media_buy_delivery(self, **kwargs: Any) ‑> GetMediaBuyDeliveryResponse
Expand source code
async def get_media_buy_delivery(
    self,
    **kwargs: Any,
) -> GetMediaBuyDeliveryResponse:
    """Get media buy delivery.

    Args:
        **kwargs: Arguments passed to GetMediaBuyDeliveryRequest

    Returns:
        GetMediaBuyDeliveryResponse

    Raises:
        Exception: If the request fails
    """
    request = _make_request(GetMediaBuyDeliveryRequest, kwargs)
    result = await self._client.get_media_buy_delivery(request)
    if not result.success or not result.data:
        raise ADCPSimpleAPIError(
            operation="get_media_buy_delivery",
            error_message=result.error,
            agent_id=self._client.agent_config.id,
        )
    return result.data

Get media buy delivery.

Args
-----=
**kwargs
Arguments passed to GetMediaBuyDeliveryRequest

Returns -----= GetMediaBuyDeliveryResponse

Raises
-----=
Exception
If the request fails
async def get_products(self, **kwargs: Any) ‑> GetProductsResponse
Expand source code
async def get_products(
    self,
    **kwargs: Any,
) -> GetProductsResponse:
    """Get advertising products (simplified).

    This is a convenience wrapper around client.get_products() that:
    - Accepts kwargs instead of GetProductsRequest
    - Returns unwrapped GetProductsResponse
    - Raises ADCPSimpleAPIError on failures

    For full control over error handling, use client.get_products() instead.

    Args:
        **kwargs: Arguments for GetProductsRequest (brief, brand, etc.)

    Returns:
        GetProductsResponse directly (no TaskResult wrapper)

    Raises:
        ADCPSimpleAPIError: If request fails. Use standard API for detailed error handling.

    Example:
        products = await client.simple.get_products(
            brief='Coffee subscription service',
            buying_mode='brief',
        )
        print(f"Found {len(products.products)} products")
    """
    request = _make_request(GetProductsRequest, kwargs)
    result = await self._client.get_products(request)
    if not result.success or not result.data:
        raise ADCPSimpleAPIError(
            operation="get_products",
            error_message=result.error,
            agent_id=self._client.agent_config.id,
        )
    return result.data

Get advertising products (simplified).

This is a convenience wrapper around client.get_products() that: - Accepts kwargs instead of GetProductsRequest - Returns unwrapped GetProductsResponse - Raises ADCPSimpleAPIError on failures

For full control over error handling, use client.get_products() instead.

Args
-----=
**kwargs
Arguments for GetProductsRequest (brief, brand, etc.)

Returns -----= GetProductsResponse directly (no TaskResult wrapper)

Raises
-----=
ADCPSimpleAPIError
If request fails. Use standard API for detailed error handling.

Example -----= products = await client.simple.get_products( brief='Coffee subscription service', buying_mode='brief', ) print(f"Found {len(products.products)} products")

async def get_signals(self, **kwargs: Any) ‑> adcp.types.generated_poc.signals.get_signals_response.GetSignalsResponse
Expand source code
async def get_signals(
    self,
    **kwargs: Any,
) -> GetSignalsResponse:
    """Get signals.

    Args:
        **kwargs: Arguments passed to GetSignalsRequest

    Returns:
        GetSignalsResponse

    Raises:
        Exception: If the request fails
    """
    request: GetSignalsDiscoveryRequest | GetSignalsLookupRequest
    if "signal_ids" in kwargs:
        request = GetSignalsLookupRequest.model_validate(kwargs)
    else:
        request = GetSignalsDiscoveryRequest.model_validate(kwargs)
    result = await self._client.get_signals(request)
    if not result.success or not result.data:
        raise ADCPSimpleAPIError(
            operation="get_signals",
            error_message=result.error,
            agent_id=self._client.agent_config.id,
        )
    return result.data

Get signals.

Args
-----=
**kwargs
Arguments passed to GetSignalsRequest

Returns -----= GetSignalsResponse

Raises
-----=
Exception
If the request fails
async def list_accounts(self, **kwargs: Any) ‑> adcp.types.generated_poc.account.list_accounts_response.ListAccountsResponse
Expand source code
async def list_accounts(
    self,
    **kwargs: Any,
) -> ListAccountsResponse:
    """List accounts.

    Args:
        **kwargs: Arguments passed to ListAccountsRequest

    Returns:
        ListAccountsResponse

    Raises:
        Exception: If the request fails
    """
    request = _make_request(ListAccountsRequest, kwargs)
    result = await self._client.list_accounts(request)
    if not result.success or not result.data:
        raise ADCPSimpleAPIError(
            operation="list_accounts",
            error_message=result.error,
            agent_id=self._client.agent_config.id,
        )
    return result.data

List accounts.

Args
-----=
**kwargs
Arguments passed to ListAccountsRequest

Returns -----= ListAccountsResponse

Raises
-----=
Exception
If the request fails
async def list_creative_formats_legacy(self, **kwargs: Any) ‑> adcp.types.generated_poc.media_buy.list_creative_formats_response.ListCreativeFormatsResponse
Expand source code
async def list_creative_formats_legacy(
    self,
    **kwargs: Any,
) -> ListCreativeFormatsResponse:
    """List supported creative formats.

    Args:
        **kwargs: Arguments passed to ListCreativeFormatsRequest

    Returns:
        ListCreativeFormatsResponse with formats list

    Raises:
        Exception: If the request fails

    Example:
        formats = await client.simple.list_creative_formats_legacy()
        print(f"Found {len(formats.formats)} formats")
    """
    request = _make_request(ListCreativeFormatsRequest, kwargs)
    result = await self._client.list_creative_formats_legacy(request)
    if not result.success or not result.data:
        raise ADCPSimpleAPIError(
            operation="list_creative_formats",
            error_message=result.error,
            agent_id=self._client.agent_config.id,
        )
    return result.data

List supported creative formats.

Args
-----=
**kwargs
Arguments passed to ListCreativeFormatsRequest

Returns -----= ListCreativeFormatsResponse with formats list

Raises
-----=
Exception
If the request fails

Example -----= formats = await client.simple.list_creative_formats_legacy() print(f"Found {len(formats.formats)} formats")

async def list_creatives(self, **kwargs: Any) ‑> ListCreativesResponse
Expand source code
async def list_creatives(
    self,
    **kwargs: Any,
) -> ListCreativesResponse:
    """List creatives.

    Args:
        **kwargs: Arguments passed to ListCreativesRequest

    Returns:
        ListCreativesResponse

    Raises:
        Exception: If the request fails
    """
    request = _make_request(ListCreativesRequest, kwargs)
    result = await self._client.list_creatives(request)
    if not result.success or not result.data:
        raise ADCPSimpleAPIError(
            operation="list_creatives",
            error_message=result.error,
            agent_id=self._client.agent_config.id,
        )
    return result.data

List creatives.

Args
-----=
**kwargs
Arguments passed to ListCreativesRequest

Returns -----= ListCreativesResponse

Raises
-----=
Exception
If the request fails
async def log_event(self, **kwargs: Any) ‑> adcp.types.generated_poc.media_buy.log_event_response.LogEventResponse1 | adcp.types.generated_poc.media_buy.log_event_response.LogEventResponse2
Expand source code
async def log_event(
    self,
    **kwargs: Any,
) -> LogEventResponse:
    """Log event.

    Args:
        **kwargs: Arguments passed to LogEventRequest

    Returns:
        LogEventResponse

    Raises:
        Exception: If the request fails
    """
    request = _make_request(LogEventRequest, kwargs)
    result = await self._client.log_event(request)
    if not result.success or not result.data:
        raise ADCPSimpleAPIError(
            operation="log_event",
            error_message=result.error,
            agent_id=self._client.agent_config.id,
        )
    return result.data

Log event.

Args
-----=
**kwargs
Arguments passed to LogEventRequest

Returns -----= LogEventResponse

Raises
-----=
Exception
If the request fails
async def preview_creative_legacy(self, **kwargs: Any) ‑> adcp.types.generated_poc.creative.preview_creative_response.PreviewCreativeResponse1 | adcp.types.generated_poc.creative.preview_creative_response.PreviewCreativeResponse2 | adcp.types.generated_poc.creative.preview_creative_response.PreviewCreativeResponse3 | adcp.types.generated_poc.creative.preview_creative_response.PreviewCreativeResponse4
Expand source code
async def preview_creative_legacy(
    self,
    **kwargs: Any,
) -> LegacyPreviewCreativeResponse:
    """Preview creative manifest.

    Args:
        **kwargs: Arguments passed to PreviewCreativeRequest

    Returns:
        PreviewCreativeResponse with preview data

    Raises:
        Exception: If the request fails

    Example:
        preview = await client.simple.preview_creative(
            manifest={'format_id': 'banner_300x250', 'assets': {...}}
        )
        print(f"Preview: {preview.previews[0]}")
    """
    request = _make_request(LegacyPreviewCreativeRequest, kwargs)
    result = await self._client.preview_creative_legacy(request)
    if not result.success or not result.data:
        raise ADCPSimpleAPIError(
            operation="preview_creative",
            error_message=result.error,
            agent_id=self._client.agent_config.id,
        )
    return result.data

Preview creative manifest.

Args
-----=
**kwargs
Arguments passed to PreviewCreativeRequest

Returns -----= PreviewCreativeResponse with preview data

Raises
-----=
Exception
If the request fails

Example -----= preview = await client.simple.preview_creative( manifest={'format_id': 'banner_300x250', 'assets': {…}} ) print(f"Preview: {preview.previews[0]}")

async def provide_performance_feedback(self, **kwargs: Any) ‑> adcp.types.generated_poc.media_buy.provide_performance_feedback_response.ProvidePerformanceFeedbackResponse1 | adcp.types.generated_poc.media_buy.provide_performance_feedback_response.ProvidePerformanceFeedbackResponse2
Expand source code
async def provide_performance_feedback(
    self,
    **kwargs: Any,
) -> ProvidePerformanceFeedbackResponse:
    """Provide performance feedback.

    Args:
        **kwargs: Arguments passed to ProvidePerformanceFeedbackRequest

    Returns:
        ProvidePerformanceFeedbackResponse

    Raises:
        Exception: If the request fails
    """
    request = _make_request(ProvidePerformanceFeedbackRequest, kwargs)
    result = await self._client.provide_performance_feedback(request)
    if not result.success or not result.data:
        raise ADCPSimpleAPIError(
            operation="provide_performance_feedback",
            error_message=result.error,
            agent_id=self._client.agent_config.id,
        )
    return result.data

Provide performance feedback.

Args
-----=
**kwargs
Arguments passed to ProvidePerformanceFeedbackRequest

Returns -----= ProvidePerformanceFeedbackResponse

Raises
-----=
Exception
If the request fails
async def sync_accounts(self, **kwargs: Any) ‑> adcp.types.generated_poc.account.sync_accounts_response.SyncAccountsResponse1 | adcp.types.generated_poc.account.sync_accounts_response.SyncAccountsResponse2
Expand source code
async def sync_accounts(
    self,
    **kwargs: Any,
) -> SyncAccountsResponse:
    """Sync accounts.

    Args:
        **kwargs: Arguments passed to SyncAccountsRequest

    Returns:
        SyncAccountsResponse

    Raises:
        Exception: If the request fails
    """
    request = _make_request(SyncAccountsRequest, kwargs)
    result = await self._client.sync_accounts(request)
    if not result.success or not result.data:
        raise ADCPSimpleAPIError(
            operation="sync_accounts",
            error_message=result.error,
            agent_id=self._client.agent_config.id,
        )
    return result.data

Sync accounts.

Args
-----=
**kwargs
Arguments passed to SyncAccountsRequest

Returns -----= SyncAccountsResponse

Raises
-----=
Exception
If the request fails
async def sync_creatives(self, **kwargs: Any) ‑> adcp.types.generated_poc.creative.sync_creatives_response.SyncCreativesResponse1 | adcp.types.generated_poc.creative.sync_creatives_response.SyncCreativesResponse2 | adcp.types.generated_poc.creative.sync_creatives_response.SyncCreativesResponse3
Expand source code
async def sync_creatives(
    self,
    **kwargs: Any,
) -> SyncCreativesResponse:
    """Sync creatives.

    Args:
        **kwargs: Arguments passed to SyncCreativesRequest

    Returns:
        SyncCreativesResponse

    Raises:
        Exception: If the request fails
    """
    request = _make_request(SyncCreativesRequest, kwargs)
    result = await self._client.sync_creatives(request)
    if not result.success or not result.data:
        raise ADCPSimpleAPIError(
            operation="sync_creatives",
            error_message=result.error,
            agent_id=self._client.agent_config.id,
        )
    return result.data

Sync creatives.

Args
-----=
**kwargs
Arguments passed to SyncCreativesRequest

Returns -----= SyncCreativesResponse

Raises
-----=
Exception
If the request fails
async def sync_event_sources(self, **kwargs: Any) ‑> adcp.types.generated_poc.media_buy.sync_event_sources_response.SyncEventSourcesResponse1 | adcp.types.generated_poc.media_buy.sync_event_sources_response.SyncEventSourcesResponse2
Expand source code
async def sync_event_sources(
    self,
    **kwargs: Any,
) -> SyncEventSourcesResponse:
    """Sync event sources.

    Args:
        **kwargs: Arguments passed to SyncEventSourcesRequest

    Returns:
        SyncEventSourcesResponse

    Raises:
        Exception: If the request fails
    """
    request = _make_request(SyncEventSourcesRequest, kwargs)
    result = await self._client.sync_event_sources(request)
    if not result.success or not result.data:
        raise ADCPSimpleAPIError(
            operation="sync_event_sources",
            error_message=result.error,
            agent_id=self._client.agent_config.id,
        )
    return result.data

Sync event sources.

Args
-----=
**kwargs
Arguments passed to SyncEventSourcesRequest

Returns -----= SyncEventSourcesResponse

Raises
-----=
Exception
If the request fails
async def update_media_buy(self, **kwargs: Any) ‑> UpdateMediaBuyResponse1 | UpdateMediaBuyResponse2 | UpdateMediaBuyResponse3
Expand source code
async def update_media_buy(
    self,
    **kwargs: Any,
) -> UpdateMediaBuyResponse:
    """Update media buy.

    Args:
        **kwargs: Arguments passed to UpdateMediaBuyRequest

    Returns:
        UpdateMediaBuyResponse

    Raises:
        Exception: If the request fails

    Example:
        updated = await client.simple.update_media_buy(
            media_buy_id="mb_123",
            packages=[updated_package]
        )
        print(f"Updated media buy: {updated.media_buy_id}")
    """
    request = _make_request(UpdateMediaBuyRequest, kwargs)
    result = await self._client.update_media_buy(request)
    if not result.success or not result.data:
        raise ADCPSimpleAPIError(
            operation="update_media_buy",
            error_message=result.error,
            agent_id=self._client.agent_config.id,
        )
    return result.data

Update media buy.

Args
-----=
**kwargs
Arguments passed to UpdateMediaBuyRequest

Returns -----= UpdateMediaBuyResponse

Raises
-----=
Exception
If the request fails

Example -----= updated = await client.simple.update_media_buy( media_buy_id="mb_123", packages=[updated_package] ) print(f"Updated media buy: {updated.media_buy_id}")